サイバーグノーシス - Unity:Magica Cloth
目次
Unityアセット「Magica Cloth」について
「Magica Cloth」の種類
BoneCloth(ボーンクロス)(緑色の四角形が3つ組み合わさったアイコン)
BoneSpring(ボーンスプリング)(肌色?の四角形が3つ組み合わさったアイコン)
MeshCloth(メッシュクロス)(青色の四角形が4つ組み合わさったアイコン)
MeshSpring(メッシュスプリング)(肌色?の四角形が4つ組み合わさったアイコン)
デフォーマ(メッシュを変形するさせる機能)の種類
RenderDeformer(レンダーデフォーマー)
VirtualDeformer(バーチャルデフォーマ)
「Magica Cloth」のサンプル
サンプル「WindSample」
サンプル「UnityChanClothSample」
サンプル「MeshSpringSample」
サンプル「MeshClothSample」
サンプル「DressUpSample」
サンプル「BoneSpringSample」
サンプル「BoneClothSample」
「Magica Cloth」のスタートガイド
BoneCloth(ボーンクロス)のセットアップ
BoneSpring(ボーンスプリング)のセットアップ
MeshSpring(メッシュスプリング)のセットアップ
MeshCloth(メッシュクロス)のセットアップ
「Magica Cloth」のコライダー設定
パーティクルのコライダー設定
突き抜け防止用のコライダー設定
着せ替えシステムのセットアップ
コンポーネント「MagicaAvatar」
コンポーネント「MagicaAvatarParts」
「Magica Cloth」のプリセット
「Magica Cloth」のモニタリング
Unityアセット「Magica Cloth」について
公式ドキュメント
パッケージマネージャ→「Unity Registry」から「Burst」と「Jobs」をインポートする
Unityを再起動する場合もある
MagicaPhysicsManager(ピンクの星型のアイコンが付いている)
システム全体をコントロールするマネージャ
物理演算の更新方法を制御する
シーンに必ず1つ必要
「Magica Cloth」の種類
物理制御を行う次の4つのクロスコンポーネントを「クロスチーム」と呼ぶ
MagicaBoneCloth(ボーンクロス)
MagicaBoneSpring(ボーンスプリング)
MagicaMeshCloth(メッシュクロス)
MagicaMeshSpring(メッシュスプリング)
MagicaClothでは物理演算はクロスチームごとに独立して実行される
また各クロスチームはお互いに干渉しない
BoneCloth(ボーンクロス)(緑色の四角形が3つ組み合わさったアイコン)
ボーン(Transform)を制御してクロスシミュレーションを行う
すでにボーン入りの髪の毛などを揺らす場合に最適
負荷は軽い
BoneSpring(ボーンスプリング)(肌色?の四角形が3つ組み合わさったアイコン)
ボーン(Transform)を制御してスプリングシミュレーションを行う
ボーンによる胸揺れなどに最適
負荷はとても軽い
MeshCloth(メッシュクロス)(青色の四角形が4つ組み合わさったアイコン)
メッシュ頂点に対してクロスシミュレーションを行う
頂点単位となるためボーンクロスには出来ない細かなクロス制御が可能
スカートなどの制御に最適です。
バーチャルデフォーマーと連動
負荷は重いです。
MeshSpring(メッシュスプリング)(肌色?の四角形が4つ組み合わさったアイコン)
メッシュ頂点に対してスプリングシミュレーションを行う
ボーンが入っていないメッシュの胸揺れなどに最適
バーチャルデフォーマーと連動する
負荷は中程度
デフォーマ(メッシュを変形するさせる機能)の種類
MagicaClothではこのデフォーマをレンダラーに装着し、メッシュの頂点変形を実行する
デフォーマはMeshCloth / MeshSpring では必須のコンポーネントとなる
RenderDeformer(レンダーデフォーマー)
モデルのメッシュを変形させるためのコンポーネント
MeshCloth/MeshSpring使用時には必須
負荷は重い
VirtualDeformer(バーチャルデフォーマ)
複数のレンダーデフォーマーを結合し頂点削減(リダクション)を行い、1つの仮想的なメッシュとして再構成されたもの
MeshCloth/MeshSpringではこのバーチャルデフォーマーに対して変形処理を行い、その結果を各レンダーデフォーマーに反映することでメッシュの変形を行う
MeshCloth/MeshSpring使用時には必須
負荷は重い
「Magica Cloth」のサンプル
サンプル「WindSample」
Windコンポーネントはクロスコンポーネントに「風」の効果を与える
ヒエラルキーに「Magica Directional Wind」を追加する
「Magica Directional Wind」にある緑色の矢印が風向きで、Transformの回転で変更できる
サンプル「UnityChanClothSample」
ユニティちゃんのモデルを使って、どの様な箇所にどんなコンポーネントを設定するかのサンプル
サンプル「MeshSpringSample」
メッシュスプリングのサンプル。メッシュスプリングのセットアップと一緒に読むこと
サンプル「MeshClothSample」
メッシュクロスのサンプル
サンプル「DressUpSample」
着せ替えシステムのデモ
サンプル「BoneSpringSample」
ボーンスプリングのサンプル
サンプル「BoneClothSample」
ボーンクロスのサンプル
「Magica Cloth」のスタートガイド
BoneCloth(ボーンクロス)のセットアップ
公式ドキュメント:
BoneClothスタートガイド
BoneSpring(ボーンスプリング)のセットアップ
公式ドキュメント:
BoneSpringスタートガイド
MeshSpring(メッシュスプリング)のセットアップ
公式ドキュメント:
MeshSpringスタートガイド
先に「
MeshClothスタートガイド
」を読むこと
MeshCloth(メッシュクロス)のセットアップ
公式ドキュメント:
MeshClothスタートガイド
メインで使う機能?
Blender+Catsプラグインで対象モデルを整える
後で揺らしたい所だけ選択するのが面倒なので、「モデル修正」の設定で「同じマテリアルを組み合わせる」のチェックを外す
ヒエラルキーに「Assets」→「MagicaCloth」→「Res」→「Prefab」にある「MagicaPhysicsManager」を配置する
Unityに対象のモデルをインポートし、いつもの読み書きの許可、ヒューマノイドリグへの変更、マテリアルの再設定を行う。
-対象モデルをヒエラルキーに配置し、エディタ拡張ツール「MeshSplitter」でマテリアル毎にメッシュを分割する
--2Byte文字は怖いのでアルファベットの名称に変更する
→この方法でメッシュ分割してしまうと、後のパーティクルエディタで表示がバグるので、Blenderでメッシュ分割を行うこと!
参考:
Blenderで3Dモデルを1オブジェクト毎に1マテリアルが割り当てられたモデルに修正する
適用したいモデルの「Skinned Mesh Renderer」ある箇所に「Magica Render Deformer」コンポーネントを取り付ける
モデルのメッシュを変形させるためのコンポーネント
ヒエラルキーウィンドウで右クリックし、「Magica Virtual Deformer」オブジェクトを作成する
複数のRender Deformerを1つの仮想メッシュとして制御する
「Magica Virtual Deformer」の「Render Deformer List」に先程「Magica Render Deformer」を設定したオブジェクトを指定する
「Create」を押すと、仮想メッシュが作成される
「Open Cloth Monitor」を押すとシーン上で仮想メッシュを確認できる
そのままだとポリゴン数が高く負荷がかかるので、下の2項目の値を調整する
「Merge Vertex Distance」→メッシュの連結を無視してこの距離に設定された範囲内の頂点を結合する
「Merge Triangle Distance」→メッシュの連結を考慮してこの距離に設定された範囲内の頂点を結合する。メッシュの形状をあまり変えたくない場合に有効です。
Merge Vertex Distanceは「0.018〜0.028」
Merge Triangle Distanceは「0〜0.05」
値を設定したらもう一度「Create」を押し、メッシュの見た目やポリゴン数を確認する
ヒエラルキー上で右クリックし「Magica Mesh Cloth」オブジェクトを作成する
先程作成した「Magica Virtual Deformer」を項目「Virtual Deformer」に指定する
「Start Point Selection」を押し、「パーティクル・エディットモード」に入る
パーティクル(丸い球)を動く箇所は緑色、固定する箇所は赤色、計算を無視する箇所は灰色に塗っていく
今回は「Move Point」→「Fill」で緑色で塗りつぶし、「Fixed Point」でスカートの上部を赤く塗っていく
塗り終わったら「End Point Selection」でエディットモードを終了する
緑色のアイコン「Preset」からスカートやロングヘアー等近い挙動のもの選ぶ。
全ての設定が終わったら「Create」ボタンを押す
「Magica Cloth」のコライダー設定
パーティクルのコライダー設定
パーティクル(丸い球)≒移動する頂点?
シーンビューに表示される黄色の球=固定、白色=動く
パーティクルのコライダーのサイズを調整する場合、「Parameter」→「Radius」タブを開く
ギズモが多すぎて見にくい場合「Open Cloth Monitor」→「Cloth Team Gizmos」で表示させるギズモを絞る事ができる
突き抜け防止用のコライダー設定
スカート等をうでや足が貫通するの防ぐ為に
「Magica Cloth」用のコライダー
を設定する
ここで設定するコライダーはMagica Cloth用のコライダーなので、当たり判定には注意すること
「Magica Capsule Collider」(黄色の円の中にばつ印があるアイコン)オブジェクトをうでや足のアーマチュア(ボーン)に取り付けていく
「Magica Capsule Collider」の位置や回転や大きさは、コンポーネント「Transform」ではなく、「Magica Capsule Collider」側で調整したほうがいい?
シーンビューの描画モードを「Wireframe」にすると、作業がしやすくなる
突き抜け防止のコライダーの設定が終わった「Magica Capsule Collider」を、MeshClothオブジェクトの「Collider List」全てドロップする
「Collider Collision」にチャックを入れ、「Create」ボタンを押し、データを更新する
着せ替えシステムのセットアップ
公式ドキュメント:
Dress Up スタートガイド
API:
MagicaAvatarAPI
着せ替えを行うには「Avatar」と「AvatarParts」の2つのコンポーネントが必要
コンポーネント「MagicaAvatar」
キャラクタの本体を管理する
着せ替え元のキャラクタにはこのコンポーネントをアタッチしておく必要がある
着せ替え以外にも利用される
シーン(ヒエラルキー)に配置する
コンポーネント「MagicaAvatarParts」
着せ替えパーツを管理する
着せ替え用に分離したアセットにはこのコンポーネントをアタッチしておく必要がある
「Magica Cloth」のプリセット
「Magica Cloth」のモニタリング