com.hidano.magicacloth2-collider-setup
v0.1.0
Published
Automatically generates MagicaCloth2 colliders from Humanoid avatar bone structure and skinned mesh vertex weights using table-driven definitions and PCA axis detection.
Maintainers
Readme
MagicaCloth2 Collider Setup
HumanoidアバターのSkinnedMeshRenderer頂点ウェイトとボーン構造から、MagicaCloth2用のコライダー(Capsule / Sphere)を自動生成するUnity Editorツールです。
動作要件
- Unity 6000.0 以降
- MagicaCloth2 がプロジェクトに導入済みであること
インストール
Unity Package Manager の Add package from git URL で以下を指定してください:
https://github.com/Hidano/MagicaCloth2ColliderSetup.git?path=MagicaCloth2ColliderSetup/Packages/com.hidano.magicacloth2-collider-setupまたは Packages/manifest.json に直接追加:
"com.hidano.magicacloth2-collider-setup": "https://github.com/Hidano/MagicaCloth2ColliderSetup.git?path=MagicaCloth2ColliderSetup/Packages/com.hidano.magicacloth2-collider-setup"使い方
- Tools > Hidano > MagicaCloth2 Collider Setup からウィンドウを開く
- ターゲット にHumanoid Animatorを持つGameObjectを設定
- 「SMR一覧を取得」 を押し、身体を構成するメッシュにチェックを入れる(装飾・アクセサリは除外)
- Sceneビューからクリックで選択/解除も可能
- 必要に応じてパラメータを調整
- 「マルチコライダーを生成」 を実行
パラメータ
| パラメータ | 説明 | デフォルト | |---|---|---| | 半径スケール | 生成されるコライダー半径の倍率 | 1.0 | | 最小半径 | コライダー半径の下限値 | 0.005 | | ウェイト閾値 | この値未満のウェイトを持つ頂点を無視 | 0.1 | | 手 / 足 / 指 | 各部位のコライダー生成を切り替え | 手・足: ON, 指: OFF | | 既存のColliderを削除 | 生成前に既存の自動生成コライダーを削除 | ON | | MagicaClothに自動登録 | 生成したコライダーをMagicaClothコンポーネントに登録 | ON | | 最小頂点数 | この頂点数未満のボーンはバウンディングボックスにフォールバック | 20 | | 非表示メッシュも含める | 非アクティブなSkinnedMeshRendererも一覧に表示 | OFF |
形状近似の仕組み
- テーブル駆動: Humanoidボーン定義テーブルに基づき、各ボーンの形状(Capsule/Sphere)・テーパー有無などを決定
- PCA軸検出: Hips・Chest・UpperChestなど体幹ボーンでは主成分分析(PCA)で最大分散方向を検出し、カプセルの長軸とする
- パーセンタイルフィルタ: 外れ値頂点を除外して安定したサイズ推定を実現
- テーパーカプセル: 腕・脚のボーンでは始端/終端で異なる半径を設定
ライセンス
MIT License
