BoneClothの使い方

 

BoneClothとは?


BoneClothはUnityのTransform構造を元にクロスシミュレーションを行う仕組みです。
予めメッシュにボーンが組み込まれた髪やアクセサリーを揺らすのに最適です。

  • Transformを操作することで揺れを表現します
  • 処理負荷が低いため大量に利用することが可能です

 

BoneClothの導入


ここではサンプルにあるUnityChanKAGURAの腰帯を例にセットアップを解説します。

まずキャラクターにMagicaClothコンポーネントを追加します。
キャラクターを選択しHierarchyウインドウで右クリックメニューを開きます。
次のようにメニューからCreate Other/Magica Cloth2/Magica Clothを選択してください。

これでMagicaClothゲームオブジェクトが生成されます。

 

インスペクター概要


MagicaClothのインスペクターは次のように4つのブロックから構成されています。
…情報ウインドウ
…シミュレーション対象の設定
…動作パラメーター設定
…SceneViewへのギズモ表示設定

数は多いですが設定に関係するのは青と緑の部分だけです。
まず青の部分でシミュレーション対象に関する設定を行い、緑の部分で揺れの動作に関するパラメーターの調整を行う流れになります。

 

BoneClothの利用設定


最初に行うことはコンポーネントのタイプをBoneClothに変更することです。
次のようにCloth Typeを[Bone Cloth]に変更してください。

これでインスペクターがBoneCloth用に切り替わります。

 

Transformの設定


BoneClothにシミュレーションの対象となるTransformを登録する必要があります。KAGURAでは次のように腰帯用に10個のTransformが存在しています。

BoneClothではこのうち階層の起点となるTransformのみを登録します。
腰帯では[DB_Wing_01_L]と[DB_Wing_01_R]の2つのTransformになります。

この2つのTransformをRoot Bonesのリストに追加してください。

この時点でSceneビューには次のように赤と白の球と水色のラインでTransform構造が可視化されます。

この赤と白の球はパーティクル(Transform)の属性を表しています。

 

頂点属性とペイント


MagicaClothではパーティクルは3つの行動属性に分かれます。

固定 オリジナル位置から移動しないパーティクル
移動 白 or 自由に移動するパーティクル
視認性のためペイント中は緑で表されます
無視

シミュレーションから完全に無視されるパーティクル

BoneClothではRoot Bonesに追加されたルートTransformを固定属性に設定し、それ以外を移動属性に自動的に設定します。
しかし、この設定を変更したい場合はパーティクル属性を手動で書き換えることも可能です。
その場合は次のようにペンマークをクリックして頂点ペイントモードを立ち上げます。

シーンビューにペイントウインドウが表示されパーティクル属性を変更することができます。

このガイドでは頂点ペイントについて詳しく説明しません。
頂点ペイントについては次のドキュメントを参照してください。

頂点ペイント方法

 

パラメータ設定


Transformと属性の設定が終われば後は動きを制御するパラメータを調整するだけです。
このパラメータ設定が理想の動きを実現するために欠かせない重要な調整項目となります。
パラメータは主に8つの要素から組み立てられています。

  1. Force (重力や空気抵抗など)
  2. Angle Restoration (回転の復元、動きに関する最も重要なパラメータ)
  3. Angle Limit (回転角度の制限)
  4. Shape Restoration (伸縮など形状維持の力)
  5. Inertia (慣性、キャラクターの移動や回転にともなう力の影響)
  6. Movement Limit (パーティクルの移動範囲制限)
  7. Collider Collision (コライダーによる衝突判定)
  8. Self Collision (自己衝突と他のクロスとの相互衝突)

しかしインスペクターを見てわかるようにパラメータは数が多く全体を把握するにはある程度の経験と慣れが必要となります。
そのため、最初は予め用意されたプリセットを使い簡単にセットアップするのが良いでしょう。
これはインスペクターの[Preset]メニューから簡単に選択可能です。

Presetボタンを押し[tail]プリセットを選んでください。

これでtailのプリセット内容がパラメータに展開されました。

 

動作確認


後はUnityエディタのPlayボタンを押すだけです。
それでは実行してみましょう!
実行中にキャラクターを動かして腰帯が揺れていれば成功です!

 

この次は?


今回は簡単にBoneClothの実行まで行いましたが、理想の動きに近づけるにはまだ多くの作業が必要です。
このマニュアルにある他のセットアップ項目についても読み進めてください。

 

end.