DynamicAnimation テンプレート定義一覧【RPGツクールMVプラグイン】

2020年02月22日

 このページはDynamicAnimationプラグインの解説の一部です。

 ここではテンプレートの定義情報をまとめています。
 使用方法ではなく、あくまで資料的な位置づけです。

 初期状態のテンプレート定義一覧は以下からダウンロードできます。単なるテキスト形式です。

 テンプレート定義一覧テキスト

更新履歴


2020/11/08(ver1.21)

  • 全体ダメージ(damageAll)のテンプレートを追加。
  • テンプレート一覧の表示情報を整理。テンプレートIDが収まるように調整。

2020/11/05(ver1.20)

  • 中央(center)、全体(whole)のテンプレートを追加。

2020/10/17(ver1.18)

  • 戦闘中(ifBattle)、マップ中(ifMap)のテンプレートを追加。

2020/10/04(ver1.14)

  • 頭上(head)、足元(foot)の各テンプレートを追加。

2020/05/18(ver1.09)

  • 参照先バトラー(a, b)の変更機能追加に伴い『水平(horizontal)』『貫通(pierce)』『魔法発動(spell)』型のテンプレートを修正。
    ※互換性があるため、反映しなくとも動作上の差は出ません。
  • また『貫通(pierce)』型で複数対象の際に複数アニメーションが表示される不具合を修正。
  • ダメージ(damage)型テンプレートの追加。

2020/05/09(ver1.08)

  • 継続(keep)型テンプレートの定義修正。
    delay値は最初のアニメーションの終点に合わせるようにした。

2020/04/20(ver1.06)

  • 画面(screen)型テンプレートの追加。

2020/04/10(ver1.05)

  • 回転(roll)型テンプレートの追加。
  • 『水平(horizontal)』『水平射撃(shotHorizontal)』『垂直(vertical)』テンプレートのアニメ表示位置の誤りを修正。

2020/03/28(ver1.04)

  • 進路を向く(lookCourse)型テンプレートの追加。
  • ↑に伴い貫通(pierce)型テンプレートの角度変更を削除。

2020/03/16(ver1.03)

  • ウェイト(wait)型, ディレイ(delay)型のテンプレートを追加
  • shot, shotRandom, arc, arcRandom, horizontal, shotHorizontal, vertical, pierce, spell, followの各テンプレートについて、アニメーションに設定された『位置』を参照するように修正。
  • follow型の定義再修正、自分(self)型のテンプレートを追加。(ver1.031)

2020/02/29(ver1.02)

  • 追従(follow)型の定義を追加。

2020/02/22(ver1.00)

  • 公開!

このページの目的


 バージョンアップなどで新しいテンプレートが追加された際は、プラグインを一度削除しないと設定が反映されません。ですが、既にユーザ独自で定義を追加・変更しているとそうもいかなくなります。
 そんなわけでここに定義を掲載し、ユーザがテンプレートを取り込めるようにしました。
「色々改造しているうちに元の設定が分からなくなっちゃったよ!」という場合にも役立つかもしれません。

貼付方法


 なお、定義は以下の手順でプラグインパラメータへ貼り付けられます。

  • プラグインの『テンプレート一覧』を開き、末尾の空欄を選択する。
    ※別に末尾でなくてもいいですが、最初はそのほうが安全です。
  • テキストタブを開く。
  • 上記の『テンプレート定義一覧』から定義をコピペする。{〜}が一つの定義です。
  • OKを押して一覧に反映されていれば成功です。

20200215_add_tenplate.JPG

今後の課題


 とりあえず現段階では一覧のテキストファイルだけ置きました。
 余裕があれば、各テンプレートの中身の定義を紹介&解説していきたいと考えています。

 >DynamicAnimationプラグインに戻る
 >RPGツクールMV目次に戻る
posted by 砂川赳 at 20:00 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

DynamicAnimation プラグインパラメータ一覧【RPGツクールMVプラグイン】

2020年02月20日

 このページはDynamicAnimationプラグインの解説の一部です。

 プラグインパラメータについて、まとめていきます。
 大量にあるので無理に一気に読むよりも、必要に応じて参照したほうがよいかもしれません。

 なお、ここで『テンプレートのパラメータ』以下に含まれるものは、全てメモ欄に行う記述と共通です。
 例えば『リピート回数(repeat)』ならば、以下のような記述となります。指定はアルファベットを使ってください。
<D-Animation>
repeat = 5
</D-Animation>


目次


全体のパラメータ


アニメーション位置(Animation Position)


フロントビュー用(For FrontView)


競合対策(Conflict)


テンプレートのパラメータ

基本(Basic)


テンプレートのリピート系パラメータ

リピート(Repeat)


始点(Starting Point)


終点(End Point)


残像(Afterimage)


テンプレートのリアルタイム系パラメータ

リアルタイム(Real Time)


リアルタイム円(Real Time Circle)


全体のパラメータ


テンプレート一覧(templateList)

 アニメーションの設定をあらかじめ定義したテンプレートの一覧です。
 クリックするとテンプレートの一覧が表示されます。
 新しいテンプレートの追加も可能です。
 ある意味、このプラグインの中核といってもよいかもしれません。

 ちなみに、一覧の項目はマウスドラッグで並び替えられます。

省略タグ名(shortTagName) ver1.05

 タグ名を指定した文字列で省略できるようにします。
 例えば、『<D-Animation:shot/>』を『<da:shot/>』というように省略できるようになります。

参照先バトラー(a, b)(referenceBattler) ver1.09

 記述の参照先(a, b)として使用するバトラー情報の型です。
 『0:Sprite_Battler』『1:Game_Battler』が選択できます。

 ※ツクールMVの内部的な仕様では、戦闘時のキャラデータは「HPなどの情報を持つバトラー」と「座標などの情報を持つスプライト(画像)」の2つに分かれています。
 ver1.08までキャラデータの参照に使用する『a, b』という値はスプライトを指していました。そのため、バトラー情報を参照する際は『a._battler.atk』というような記述をする必要がありました。しかし、スキルの計算式では『a, b』はバトラー情報を参照しており、混同を招く結果となっていました。
 
 そこでこの情報を改善すべく導入されたのが、この機能です。
 設定を『1:Game_Battler』に変更すると『a, b』がバトラーを指すようになります。ver1.09より、座標・サイズなどスプライト側の必要情報もバトラーにコピーされるようになっています。
 つまり『a.x』『b.width』『a.atk』というように両方の情報を、区別なく直接取得できます。

 便利なので作者的には『1:Game_Battler』を押していきたいと思っています。
 現状、初期値は『0:Sprite_Battler』のままですが、いずれ『1:Game_Battler』に統合する方針です。
 →ver1.12より初期値を『1:Game_Battler』に変更しました!

 なお、設定を変えてもある程度の記述はそのまま動作します。例えば『1:Game_Battler』に設定されている場合、『a._battler.〜』という記述は本来エラーとなります。有効となるのは裏で互換機能が働いているためです。

アニメーション位置(Animation Position)

 アニメーションの表示位置に関連するパラメータです。

画面アニメの表示X座標(screenX)

画面アニメの表示Y座標(screenY)

 位置が『画面』のアニメーションを表示する際に標準となる座標です。
 要するに、全体対象のアニメを表示する際の中心位置です。
 対象がアクターの場合はX座標を左右反転します。

 サイドビューでもフロントビューでもいい感じになるよう、初期値を設定しています。

全体アニメのX座標範囲(allRangeX)

全体アニメのY座標範囲(allRangeY)

 全体系アニメを表示する範囲です。Xが横、Yが縦です。
 全体対象系のテンプレートが参照していますので、範囲を広げたり狭めたりしたい場合はこれらの値を変更してください。

 サイドビューでもフロントビューでもいい感じになるよう、初期値を設定しています。

X座標の反転後調整(mirrorAdjustX)

Y座標の反転後調整(mirrorAdjustY)

 対象がアクターのアニメーション位置を反転する際、さらにこの数値分だけずらします。

 例えば、多くのサイドビュー戦闘では、味方よりも敵のほうが配置領域が広いです。そのため、戦闘アニメの位置を単純に左右反転すると、敵にかぶさってしまう場合があります。そんな時はここの値で調整します。

20200218_mirrorAdjustX.JPG20200218_mirrorAdjustX.JPG

 他にもフロントビューでアクター対象のアニメを表示する場合、Y座標を下にずらすなどの使い方ができます。

バラマキ調整(randomAdjust)

 ランダム計算時の数値を作為的に分散させます。
 0.20なら20%以上、前回位置から離します。
 ランダム系アニメーションの表示位置が極端に偏らないよう、調整するための機能です。

 やや実験的な意味合いが強いため、初期状態では設定されていません。

対象の拡大率を考慮(considerTargetScale)ver1.22

 アニメーションの位置計算時に対象の拡大率を考慮します。外部プラグインなどによって、敵の表示サイズが変更されている場合などでも有効です。
 ※参照先バトラー(a, b)が『1:Game_Battler』の場合のみしか機能しません。

 この項目はDynamicMotionにも適用されます。

フロントビュー用(For FrontView)

 フロントビュー関連の項目です。

アクターX座標(フロントビュー)(fvActorHomeX)

アクターY座標(フロントビュー)(fvActorHomeY)

 フロントビュー時、アクターの座標位置を設定します。
 通常、アクターは透明ですが、アニメの始点に関わります。
 他のプラグインで配置をするならこの項目は不要です。邪魔になるなら空にしてください。

 X座標の初期値『Graphics.boxWidth / 2』は画面中央を指しています。『Graphics.boxWidth』が画面全体の横幅ですね。

 パーティ人数によって、配置を左右に広げたいという場合は
Graphics.boxWidth * (index + 1) / ($gameParty.battleMembers().length + 1)

 なんかがオススメです。
 この式だと戦闘参加人数($gameParty.battleMembers().length)で画面横幅を等分して配置してくれます。


 こんな感じで横並びのレイアウトと合わせると楽しいかもです。

競合対策(Conflict)

 プラグインの競合対策関連の項目です。

競合対策モード(conflictMode)

 競合対策用に処理の呼び出し方を変更します。
 0が標準ですが、1に変えると動くプラグインもあるかもしれません。

 1なら『YEP_BattleEngineCore』も一応は動きます。……が、強く保証はできかねます。

除外条件(ignoreCondition)

 配列に設定された条件を満たす場合、当プラグインの処理を実行しません。
 初期状態では『YEP_BattleEngineCore』用の設定が入っています。

テンプレートのパラメータ


 テンプレート一覧の中身として定義するアニメーションの呼び出し情報です。
 ほぼ全ての項目がJavaScript計算式に対応しています。

基本(Basic)

 基本項目です。
 アニメーション実行時、リピート前に値が設定されます。

名前(name)

 識別用のメモです。分かりやすい名前をおつけください。
 実はこれをスキル・アイテムのメモ欄で指定しても使えます。

テンプレートID(templateId)

 テンプレートの呼び出しに使う識別子です。
 このIDをスキル・アイテムのメモ欄で指定します。

遅延(delay)

 アニメーション表示前の時間差フレームです。
 値はアニメーションの1フレームに対応します。
 『auto』と指定すると前アニメーションの終了を待ちます。

ウェイト(wait)

 アニメーションを表示後の待機フレームです。
 値はアニメーションの1フレームに対応します。
 『auto』と指定するとこのアニメーションの終了を待ちます。

リピート回数(repeat)

 アニメーションの繰り返し回数です。

フラッシュ制限(limitFlash)

 設定した数値によってフラッシュ処理を制限します。
 『対象のフラッシュ』『画面のフラッシュ』両方が対象です。
 値が2なら、フラッシュ回数が1/2になります。

 特に『対象のフラッシュ』は極めて重いので、動作の軽量化に有効です。

効果音制限(limitSound)

 設定した数値によって効果音を制限します。
 値が2なら、演奏回数が1/2になります。

対象変更(target)

 アニメーションの表示を指定した対象へ変更します。
 バトラーまたはその配列を指定可能です。

 例えば、『a._battler』を指定すると行動主体が対象となります。魔法発動演出などに使う想定です。
 ※『a』だけでは駄目なので注意です。『a』でも『a._battler』でも有効となるように改善しました!

テンプレートのリピート系パラメータ


 リピートごとに処理される項目です。
 現在のリピート回数は『r』で参照できます。0始まりであることに注意です。

 以降、全ての項目はリピートごとに処理されます。

リピート(Repeat)

 リピートごとに処理される基本設定項目です。

アニメーションID(id)

 呼び出すアニメーションのIDです。
 空ならばスキルに設定されたものを使用します。

実行条件(condition)

 実行条件(JavaScript計算式)です。
 この条件を満たさない場合、アニメーションを実行しません。

 記述例:行動主体がアクターの場合。
condition = a.isActor()

 ※ver1.13より、リピート項目に変更されました。

アニメーション位置(position)

 アニメーションの位置です。0:頭上, 1:中心, 2:足元, 3:画面。
 画面以外は対象の人数分表示します。

間隔(interval)

 アニメーションを繰り返す間隔です。
 値はアニメーションの1フレームに対応します。

描画レート(rate)

 アニメーション1フレームの表示時間です。
 初期値は4。つまり4/60秒単位で描画を更新します。

対象ごとの時間差(nextDelay)

 対象が複数の場合にアニメーションを表示する時間差です。
 アニメーション位置が画面の場合には意味がありません。

反転無効化(noMirror)

 trueを指定すると、対象がアクターの際にアニメの表示反転を無効化します。
 左右反転による表示崩れが起こる場合に。

ダメージ処理(damage) ver1.094更新

 trueにすると、アニメーションの終了に合わせてダメージ処理を行います。
 また、数値を指定(例:damage = 10)すると、そのフレーム数に合わせてダメージ処理を行います。(ver1.094)
 DynamicMotionのものよりも、こちらのほうが便利です。

 なお、全体複数回攻撃と組み合わせると、ダメージが表示されなかったりで挙動が怪しいです。また、全体時はダメージ処理を対象分同時に行うので表示HPが同時に変化します。
 ダメージタイミングの調整プラグインで一括表示すれば安定するのでオススメ。


全体ダメージ処理(damageAll) ver1.19

 trueにすると、アニメーションの終了に合わせてダメージ処理を行います。
 こちらは1回指定するだけで全ての処理を行います。
 同じく、数値を指定(例:damageAll = 10)すると、そのフレーム数に合わせてダメージ処理を行います。
 通常のダメージ処理を早めるだけなので、上の『ダメージ処理』よりも安定していると思います。

コモンイベント(commonEvent) ver1.09

 指定した番号のコモンイベントを実行します。
 挙動としては、並列処理を一度だけ呼び出したような感じになります。

 画面の色調変更、シェイク、ピクチャーの表示、BGMの変更など自由自在です。
 ただし、メッセージ表示やウェイトをかけても進行は止まりませんのでご注意ください。

スクリプト(script) ver1.09

 指定したスクリプトを実行します。

プラグインコマンド(plugin) ver1.10

 指定したプラグインコマンドを実行します。

 記述例
plugin = hoge a.x 200

 通常のプラグインコマンドとは異なり、数式も有効です。ただし、空白は区切り扱いとなるので注意です。

始点(Starting Point)

 始点関連のパラメータです。
 終点の始点がない場合、アニメーションは始点だけで完結します。

始点X座標(sx)

始点Y座標(sy)

 始点のX座標、Y座標です。

始点X座標の分散値(sxRandom)

始点Y座標の分散値(syRandom)

 始点の座標を左右または上下に分散させます。
 値が100なら-100〜100の200ピクセル分散します。

終点(End Point)

 終点関連のパラメータです。

終点X座標(ex)

終点Y座標(ey)

 終点のX座標、Y座標です。
 これを入力すれば始点から終点へとアニメが移動します。

終点X座標の分散値(exRandom)

終点Y座標の分散値(eyRandom)

 終点の座標を分散させます。Xが横、Yが縦です。
 値が100なら-100〜100の200ピクセル分散します。

到達フレーム(arrival)

 終点に到達するフレームです。
 着弾して爆発するアニメーションなどに使います。

放物線の横幅(arcX)

放物線の縦幅(arcY)

 放物線の横幅・縦幅です。
 縦幅はマイナスが上方向になるので注意!

残像(Afterimage)

 残像関連の項目です。

残像数(afterimage)

 設定した数値分の残像を作成します。
 数が多いほど重くなるので注意です。

残像の間隔(afterimageInterval)

 残像を作成する間隔を数値で指定します。

テンプレートのリアルタイム系パラメータ


 1/60秒ごとに演算される項目です。
 上級向けの項目が多めです。

 以降の項目では経過時間を『t』、終了時間を『et』として参照できます。
 また。終点への到達時間を『arrival』で参照可能です。前述の『到達フレーム』とは異なり、1/60秒単位です。

リアルタイム(Real Time)

 リアルタイムの基本項目です。

動的X座標【上級】(dx)

動的Y座標【上級】(dy)

 1/60秒ごとのX・Y座標を定める数式を設定します。

 通常、この項目が未設定の場合は始点から終点へと向かう数式で座標が計算されます。この項目を設定した場合、それを無視して独自の数式で計算を行うようになります。
 理論上、いくらでも複雑な動作を作れますが、あくまでも上級者向けです。

X座標補正(addX)

Y座標補正(addY)

 X座標、Y座標に加算する値です。
 全ての位置計算が終わった後で、最後に補正をかけます。

拡大率(全体)(scale) ver1.17

 全体の拡大率です。1.0が標準となります。

拡大率X(scaleX)

拡大率Y(scaleY)

 横幅・縦幅の拡大率です。1.0が標準となります。
 アニメーションの編集画面とは異なり、縦と横を別々に設定可能です。

回転率(rotation)

 回転率です。度数ではなくラジアンを指定します。
 『Math.PI * 2』が360度に相当します。

不透明度(opacity)

 不透明度です
 255で不透明、0で透明です。

色調(color) ver1.05

 指定した配列で色調を変更します。
 例:[255, 255, 255, 255] (赤, 緑, 青, 強さの順)

 この処理は重いので、大量のアニメーションを表示させる場合などはご注意ください。

Z座標(表示優先度)(z) ver1.07

 アニメーションのZ座標(表示優先度)を変更します。
 初期値は8です。2以下(標準の場合)でバトラーより下にアニメーションが表示されます。

 ※この機能はDynamicMotionにて『表示優先度の有効化』をオンにしないと機能しません。(あるいは外部のプラグインで同等の処理をする方法もあります。)

リアルタイム円(Real Time Circle)

 リアルタイムの円運動関連の項目です。

X方向の半径(radiusX)

Y方向の半径(radiusY)

 X方向、Y方向の円運動半径です。

 両方を同じ値にすれば円、片方だけを大きくすれば楕円になります。
 これに加えて、下の円運動角度を設定すれば、アニメーションが円運動をします

X方向の角度(radX)

Y方向の角度(radY)

 X方向、Y方向の円運動角度です。
 2πが一周期となります。

 >DynamicAnimationプラグインに戻る
 >RPGツクールMV目次に戻る
posted by 砂川赳 at 21:13 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

DynamicAnimation その他機能など【RPGツクールMVプラグイン】

 このページはDynamicAnimationプラグインの解説の一部です。

 補足的な機能解説です。

目次



ミラーリング


 例えば、以下のような定義があるとします。
<D-Animation:shot>
sx = a.x - 48 // 始点X座標
sy = a.y - a.height - 48 // 始点Y座標
arrival = 7 // 到達フレーム
</D-Animation>

 行動主体の左48ピクセルから発射されたアニメーションが、対象に到達するというものです。
 ところが一つ問題があります。

 アクターが使用した場合は左側――前方から発射されます。……が、これを敵が使うと今度は背中側から発射されてしまいます。
 となると、味方なら『a.x - 48』、敵なら『a.x + 48』に定義を切り替えたい。
 そこで、以下の機能を用意しました。
<D-Animation:shot>
sx = a.x - 48 * mirroring // 始点X座標
sy = a.y - a.height - 48 // 始点Y座標
arrival = 7 // 到達フレーム
</D-Animation>

 この『mirroring』という変数は対象がアクターの場合に値が-1になります。これをかけることで必要な部分だけを左右反転させられます。
 また、フロントビューなどで上下座標を反転させたいなら、Y座標側に同様の操作をしてください。


 この通り、敵の頭上右寄りから発射されました。

直接演算


 以下のように指定すれば、テンプレートの設定値に対して直接演算できます。元の値が分からなくとも設定できるので便利です。
<D-Animation:shot>
sx += 100 // テンプレートの設定値 + 100
sy -= 100 // テンプレートの設定値 - 100
repeat *= 2 // テンプレートの設定値 * 2
exRandom /= 2 // テンプレートの設定値 / 2
</D-Animation>

 なお、これらの演算はJavaScriptの式に対して、『文字列連結』しているだけであることにご注意ください。

 どういうことかというと、テンプレートの設定値が「sx = a.x + 100」だったとします。
 メモ欄の入力が以下の通りだった場合……
<D-Animation:shot>
sx *= 2
</D-Animation>

 連結後の内容は「sx = a.x + 100 * 2」となります。
 つまり、かけ算がかかるのは末尾の100の部分だけってことです。
 全体にかけるにはプラグインの設定値を「sx = (a.x + 100)」のようにしておけばOKです。
 足し算、引き算なら支障ありませんが、かけ算、わり算の場合はご注意を。

&融合(ver1.02)


 ver1.02より、テンプレートの融合が可能になりました。
 例えば……
<D-Animation:shot&circle/>

 と、shot型とcircle型のテンプレートを『&』でつなげることで定義を融合します。円軌道に再生しながら対象に向かって飛ぶようなアニメーションができあがります。

 実際には、プラグインに登録されたテンプレート定義のパラメータを融合しています。パラメータが競合する場合、後ろに記入された定義のほうが優先されます。

 なお、融合できる数に制限はなく、3つ以上も可能です。

 >DynamicAnimationプラグインに戻る
 >RPGツクールMV目次に戻る
posted by 砂川赳 at 21:13 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする