Unity 2022+ Editor 用ツール。
異なるモデル間でシェイプキー(BlendShape)を転送するためのエディタ拡張です。
- モデルA(ソース)の衣装に含まれるシェイプキーを抽出
- モデルB(ターゲット)の衣装へ、KD-Treeベースで近傍頂点を対応付けて転送
- 複数のシェイプキーを選択して一括転送可能
- 元のターゲットメッシュは変更せず、複製メッシュを生成
- 本リポジトリをクローンまたはダウンロード
- Unityプロジェクトの
Assetsフォルダに配置
Assets/
└─ BlendshapeTransferTool/
└─ Editor/
└─ BlendshapeTransferWindow.cs
- Unityを起動すると、メニューに
Tools -> Blendshape Transferが追加されます。
- Unityメニューから
Tools -> Blendshape Transferを開く - Source にシェイプキーを持つモデルA衣装の
SkinnedMeshRendererを指定 - Target に転送先モデルB衣装の
SkinnedMeshRendererを指定 - 「転送するシェイプキー」リストから、転送したいものをチェック
- 「シェイプキー転送 実行」をクリック
- 出力結果は
Assets/BlendshapeTransfer_Output/に保存されます
- トポロジーが大きく異なる場合は誤差や破綻が発生します
- 法線やタンジェントの再計算は行いません
- BlendShapeフレームが複数ある場合、最後のフレームのみを使用します
- 出力メッシュは新規アセットとして保存され、元のアセットは変更されません
MIT License