Bone Springのセットアップ
BoneSpringはボーン(Transform)単体をスプリングにより揺らすことができます。
ここではCubeモデルを使用してBoneSpringのセットアップ方法を説明して行きます。
Bone Springの導入
BoneSpringを追加します。
Hierarchyウインドウで「右クリック」し、メニューから以下のように「Magica Bone Spring」を選択してください。
BoneSpringオブジェクトが生成されます。
インスペクタからBoneSpringの設定が行えます。
現在はデータが設定されていないためエラーとなっています。
まず揺らす対象のTransformを登録します。
CubeのTransformをRootListに登録してください。
同じパラメータ制御を行うのであれば、Transformは複数登録しても問題ありません。
スプリングの振る舞いを制御するパラメータの設定を行います。
ただBoneClothと同様に、まずはプリセットを読み込み、簡単にセットアップしてみましょう。
[Parameters]の右にある[Preset]ボタンを押します。
リストの中から[Breast]を選択して読み込んでください。
Presetボタンはv1.8.4から実装されたため、もしPresetボタンが無い場合は右にある[Load]ボタンを押し、MagicaCloth/Presetフォルダから[BoneSpring_Breast.json]を読み込んでください。
これでボーンスプリングの大体のパラメータが設定されました。
(※実際にはここから利用するシーンに合わせて調整が必要です)
以上で一連の設定が完了したので[Create]ボタンを押してデータを作成します。
BoneSpringのステータスアイコンが「白」に変われば設定完了です。
Transformの構成について
BoneSpringのRoot Transformと実際にアニメーションなどで移動するTransformは別である必要があります。
これはRoot TransformはBoneSpringで移動制御されるため外部の移動効果が無視されてしまうためです。
従ってTransformの構成としては次のようになることが望ましいです。
- ①はアニメーションなどで移動するTranfromです。このTransformは自由に動かせます。
- ②はBoneSpringで制御するRoot Transformです。このTransformはBoneSpringが制御するため動かすことができません。
Bone Springのテスト
構築が完了したら実際にUnityを実行してテストしてみましょう。
実行後にシーンビューで上記のMove Transformを移動することでCubeが揺れることが確認できるはずです。
以上でBoneSpringの基本的なセットアップは完了です。
Bone Springの調整ガイド
移動範囲の制限
[Clamp Position]パラメータを設定することで移動する限界範囲を指定することが可能です。
XYZ軸それぞれに対して移動制限を行えます。
移動に伴う回転制御
[Adjust Rotation]を設定することで、スプリングによる移動距離に応じてRoot Transformに回転を加えることが可能となります。
(※初期値ではオフ(Fixed)となっています)
モード | 説明 |
Fixed | 回転制御は行いません。 |
XY Move | 移動に伴いX軸Y軸を回転させます |
XZ Move | 移動に伴いX軸Z軸を回転させます |
YZ Move | 移動に伴いY軸Z軸を回転させます |
具体的には次のようにZ軸を正面とするCubeを動かす場合に、XY Moveを設定し、Adjust Rotation Powerを5程度に設定すると、次のように移動に伴いCubeを傾かせることが可能となります。