開発日誌

テクニック

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 戦闘アニメの位置を敵ごとにずらす

2024-04-14 12:28:20

戦闘アニメーションの表示位置(オフセット)を敵キャラごとに変えられるようにするプラグインを作成しました。

RPGツクールMZのEffekseerによるMZ標準アニメーションにのみ対応しており、MVやMV互換アニメーションには非対応です。

RPGツクールMZのアニメーションは、表示タイプが「対象ごと」の場合、対象キャラクター画像の中央に表示されるようになっています。

しかし、空中を飛んでいて本体が上にある敵や、武器を持っていて身体が左右に寄っている敵キャラ画像の場合、戦闘アニメーションが敵キャラ本体の中心からズレて表示されてしまいます。

▲ 本体が右に寄っているため矢が当たっていないように見える

▲ 空中を飛んでいて本体が上にあるため刺さっていないように見える

実際には、MZのアニメーションは大きめに作られており、また表示されるのも一瞬なので、そこまで気になるものではありません。

そうは言っても気になり出したら止まらないのが世の常。できることなら、こういう細かい部分にもこだわっていきたいところです。

RPGツクールMZ標準のEffekseer仕様によるアニメーションには、「オフセット」という縦横方向に表示位置を調整できる設定が存在します。しかし、これはアニメーションを常にずらして表示させるための機能で、これを敵ごとに変えることはできません。

そこで、このオフセット値を敵ごとに変更できるようにするプラグインを作成しました。

このプラグインを導入して、敵キャラのメモ欄に、例えば <animationOffsetX29:70> と記述すると、この敵キャラに対してID29番のアニメーションは、横方向に+70ドット、すなわち右に70ドットずれて表示されるようになります。

メモ欄への記述は以下のようなメタタグが使用できます。

<animationOffsetX:n>
対象となりうる全てのアニメーションを横方向にnドットずらします
<animationOffsetY:n>
対象となりうる全てのアニメーションを縦方向にnドットずらします
<animationOffsetXm:n>
IDがm番のアニメーションを横方向にnドットずらします
<animationOffsetYm:n>
IDがm番のアニメーションを縦方向にnドットずらします

▲ 本体の中心に矢が当たるようになった

対象となりうるアニメーションは、表示タイプが「対象ごと」のもののみで、表示タイプが「全対象の中央」や「画面の中央」となっているアニメーションは指定が無視されます。右クリックの「MV互換データの作成」で作成できるMV互換アニメーションも対象外です。

アニメーション自体にオフセットが設定されている場合、そこにさらに設定したオフセット値が加算されます。すなわち、例えばアニメーション自体のオフセットが100で、そこに本プラグインで200と指定した場合、加算されて300のオフセットが適用されます。-150と指定した場合は差し引き-50のオフセットとなります。

IDで個別にオフセット値が指定された場合は、対象となりうる全てのアニメーションへのオフセット値は無視されます。すなわち、例えば <animationOffsetY:50> <animationOffsetY66:100> が指定されていた場合、66番のアニメーションのオフセットYは、両者を足して150とはならずに、個別指定の方の値のみが適用されて100となります。

本体が敵キャラ画像の中心になかったり、「秘孔を突く」みたいなスキル(例えが古い)で特定部位にアニメーションさせたい場合などには役に立つかと思います。

質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

コメント
お名前
コメント
※ 確認画面はありません。