当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
キャラクターにモーションを設定 - AWY_MotionMaker.js
シェア用テキスト:
▼キャラクターにモーションを設定(あわやまたな様作) - AWY_MotionMaker.js
https://plugin-mz.fungamemake.com/archives/6420
移動ルートの設定とは別に独自モーションを作れる機能を提供します。
ふりがな:きゃらくたーにもーしょんをせってい
機能概要: 移動ルートの設定とは別に独自モーションを作れる機能を提供します。
利用規約(ライセンス): MITライセンス
作者:あわやまたな
作者サイト:https://awaya3ji.seesaa.net/
解説ページ:https://awaya3ji.seesaa.net/article/500579516.html
ファイル名:AWY_MotionMaker.js
プラグインのヘルプ:
/*:ja * @target MZ * @orderAfter FesSpin * @plugindesc 移動ルートの設定とは別に独自モーションを作れる機能を提供します。 * @author あわやまたな (Awaya_Matana) * @url https://awaya3ji.seesaa.net/article/500579516.html * @help * 【使い方】 * プラグインコマンド「モーションの設定」直下の移動ルートの設定を * モーションに変換します。 * 分かりやすく言えば「もう一つの移動ルート」です。 * 好きなタイミングでキャラクターに動きを付けることが出来ます。 * * 【仕様】 * モーションは移動ルートと仕様が異なる為、注意が必要です。 * ・ウェイトを入れない限りコマンドは1フレーム内で全て実行される * ・キャラクターの移動中にも進行する * * よって、ウェイトを入れつつ動きを作っていくのが基本となります。 * * 【スクリプト(移動ルート)】 * this.pauseMotion(); //モーションの一時停止をします。 * this.replayMotion(); //モーションの再開をします。 * this.clearMotion(); //モーションを消去します。 * this.lockPattern(true/false/0~2の整数); * //アニメーションパターンが勝手に変わらないように固定します。 * 有効である間は、足踏みアニメ、歩行アニメの有無に関わらずパターンの更新を一切行いません。 * trueまたは未入力で有効化、falseで無効化。 * 数字の場合はそのパターンを即時反映してからロック。 * this.setAppDir(0/2/4/6/8); * //見かけ上の向きを変更します。 * このスクリプトで向きを変更した後「一歩前進」を行うと有用性が分かると思います。 * 未入力で現在の向き。0で解除。 * * 【スクリプト(モーション)】 * 「移動ルートの設定」で使用可能なものが全て使えます。 * * ※以下のコマンドは必須ではありませんが、場合によっては便利です。 * //LoopStart //ループの開始地点となります。 * //LoopEnd //ループの終了地点となります。最後の一回のみそれ以降のコマンドが実行されます。 * //Pause //一時停止をします。プラグインコマンドから再開しない限り進みません。 * * コマンドの前に必ずダブルスラッシュを入れる事。 * * [更新履歴] * 2023/09/01:Ver.0.9.0b ベータ版公開。 * 2023/09/03:Ver.1.0.0 公開。コードはベータ版のままです。 * 2023/09/09:Ver.1.0.1 モーションが無い時に「モーションの再開」を行うとエラーが起こる不具合を修正。 * 2023/09/10:Ver.2.0.0 アニメーションパターンを固定する機能を追加。 * 2023/09/12:Ver.2.0.1 パターン固定時にsetPatternを無効化するように変更。 * 2023/10/07:Ver.2.0.2 パターン固定時にstraightenを無効化するように変更。 * 2023/10/24:Ver.3.0.0 モーション終了・中断時にスクリプトを実行可能にしました。 * 2023/10/28:Ver.3.1.0 ウェイトが入力値より1フレーム多くなる不具合を修正。 * 2023/11/10:Ver.4.0.0 モーションの速度を変更可能にしました。 * 2023/12/07:Ver.4.1.0 見かけ上の向きを設定可能にしました。 * * @param replaceDirCommands * @text 方向コマンド置き換え * @desc 「モーションの設定」の向きコマンドを「見かけの方向」として使用します。(「向き固定ON/OFF」も含む) * @type boolean * @default true * * @param loopStart * @text ループ開始地点コマンド * @desc ダブルスラッシュの後に設定値を入力するとループ開始地点となります。 * @default LoopStart * * @param loopEnd * @text ループ終了地点コマンド * @desc ダブルスラッシュの後に設定値を入力するとループ終了地点となります。 * @default LoopEnd * * @param pause * @text 一時停止コマンド * @desc ダブルスラッシュの後に設定値を入力すると一時停止になります。 * @default Pause * * @command setMotion * @text モーションの設定 * @desc 直下の移動ルートの設定をモーションに変換します。 * * @arg characterId * @text キャラクターID * @desc 未記入だと移動ルートの設定に従います。 * * @arg loop * @text ループ回数 * @desc 未記入だと移動ルートのオプションに従います。 * 無限、infinity、-1のいずれかで無限ループ * @type combo * @option 無限 * * @arg speed * @text 再生速度 * @desc 百分率で指定します。100が等倍。 * @default 100 * * @arg script * @text スクリプト * @desc モーションが終了・中断された時に必ず実行するスクリプトです。 * @type multiline_string * * @command clearMotion * @text モーションの消去 * @desc モーションを消去します。 * * @arg characterId * @text キャラクターID * @desc 未記入だと最後の対象になります。 * * @command pauseMotion * @text モーションの一時停止 * @desc モーションを一時停止します。 * モーションは消去されません。 * * @arg characterId * @text キャラクターID * @desc 未記入だと最後の対象になります。 * * @command replayMotion * @text モーションの再開 * @desc 一時停止したモーションを再開します。 * * @arg characterId * @text キャラクターID * @desc 未記入だと最後の対象になります。 * * @command setMotionLoop * @text ループの設定 * @desc ループ設定を上書きします。 * * @arg characterId * @text キャラクターID * @desc 未記入だと最後の対象になります。 * * @arg loop * @text ループ回数 * @desc 無限、infinity、-1のいずれかで無限ループ * @type combo * @option 無限 * @default 1 * * @command setMotionSpeed * @text 再生速度の設定 * @desc 再生速度を変更します。 * モーション個別の再生速度です。 * * @arg characterId * @text キャラクターID * @desc 未記入だと最後の対象になります。 * * @arg speed * @text 再生速度 * @desc 百分率で指定します。100が等倍。 * @default 100 * * @command setMotionMasterSpeed * @text マスター速度の設定 * @desc マスター速度を変更します。 * 全モーション共通の再生速度です。 * * @arg characterId * @text キャラクターID * @desc 未記入だと最後の対象になります。 * * @arg speed * @text 再生速度 * @desc 百分率で指定します。100が等倍。 * @default 100 * * @command setMotionScript * @text スクリプトの設定 * @desc スクリプトを上書きします。 * * @arg characterId * @text キャラクターID * @desc 未記入だと最後の対象になります。 * * @arg script * @text スクリプト * @desc モーションが終了・中断された時に必ず実行するスクリプトです。 * @type multiline_string * * @command waitForCompletion * @text 完了までウェイト * @desc モーションが終了するまで待ちます。 * * @arg characterId * @text キャラクターID * @desc 未記入だと最後の対象になります。 * */