2DAnimationでの利用

はじめに

MagicaClothは2Dゲームで利用することも可能です。
ここではUnity標準の2DAnimationでの利用方法について解説します。
なお、正式に対応しているのは2DAnimationのみとなりますが、他の2Dシステムでも同様の設定で利用できると思われます。

更新モードの変更

最初にMagicaClothのシミュレーション更新場所を変更する必要があります。
通常はLateUpdateの後に更新されますが、2DAnimation利用時にはこれをLateUpdateの前に変更する必要があります。
これは2DAnimationの形状変更がLateUpdateで行われるためです。
Unityのイベント実行順序についてはライフサイクルを参照してください。

シミュレーション更新場所を変更するにはAPIを利用するか、もしくは次のようにMagicaSettingsコンポーネントをシーンに配置します。

UpdateLocationを”Before Late Update“に変更することで準備は完了です。

MagicaClothの設定

準備が整えば後は3Dと同じ要領でMagicaClothが利用可能です。
2DAnimationでの特別な設定などはありません。
次の動画は2DAnimationのモンスターの頭部にBoneClothを適用した例となります。

Transformの方向

2DAnimationでBoneClothを利用する場合は、各Transformを最終的にどの方向に向けるかが非常に重要になります。
これはRotationControlと呼ばれインスペクターの次の箇所で変更が可能です。

初期設定では親子関係を見てその平均角度に調整するようになっています。
2DAnimationでは各ボーンの影響ウエイトに合わせてこの値を適切に設定する必要があります。
詳しくはRotationControlを参照してください。

キャラクターの反転

2DシステムでMagicaClothを利用する場合はキャラクターの反転に注意する必要があります。
一般的に2Dキャラクターを反転させるには2つの方法があります。

(1) キャラクターの向きを180度回転させる
(2) キャラクターのスケールをマイナスに設定して反転させる

MagicaClothはマイナススケールに対応していないため(2)の方法は利用できないことに注意してください。
キャラクターを反転させる場合は(1)の180度回転させる方法を利用する必要があります。