以下は保存されていた過去原稿をもとにした操作記録です。
掲載画像やメニューは当時のもので、現行版での再現試験は行っていません。
同じ素体からモデリングした場合でも、頂点番号が変わってしまうと正常にブレンドシェイプを適用できなくなります。
頂点番号が変わった場合、Transfer Attributes(アトリビュートの転送)などの標準機能でターゲット化する方法もあります。
ただし、メッシュの状態によってはスクリプトを活用して頂点情報を転送したほうが作業効率を高められる場合があります。
Maya Mesh Reorder / Transfer vertex position Tool for Mayaの導入手順
- Highend3Dにログインして、スクリプトをダウンロード(geometryWalker)
- scriptsフォルダにgeometryWalkerをこのままコピー
- mayaを起動して、下記のpythonを打って、ウインドウを起動
import geometryWalker.QT.pickWalker_UI as pickWalker_UI
pickWalker_UI.pickWalkerUI()
正常に起動することを確認できたら、シェルフに登録しておくと便利です。
頂点番号が異なるメッシュをブレンドシェイプした場合の挙動
はじめに、頂点番号が不一致の状態で通常のブレンドシェイプを実行してみます。
頂点番号が一致していないオブジェクト同士でブレンドシェイプを適用します。
頂点の対応関係が崩れているため、形状が正しく変形せず崩れてしまいます。
Maya Mesh Reorder / Transfer vertex position Tool for Mayaの使い方
以下は当時の検証結果です。
使用するメッシュの接続関係によって結果が変わるため、元データを残したコピーで確認してください。
互いに対応するフェースと頂点をそれぞれ選択し、Pick Walkボタンを実行します。
頂点番号のみが異なり形状が同一のオブジェクト同士の場合
メッシュの破綻なくきれいに位置情報が転送されます。
頂点番号が異なりコピー元の一部の形状を削除している場合
問題なく転送処理が完了しました。
共通している部位のみを部分的に転送することも可能です。
注意点として、頂点同士をマージしているとエラーが発生して処理が停止します。
当時の例では、コピーしたメッシュでマージ箇所を取り除くと転送できました。
元のモデルを直接削除せず、転送後の形状と頂点の対応を確認してください。
頂点番号が異なりコピー元の一部の形状を押し出しで増やしている場合
形状を追加したケースでも正常に転送できました。
この検証用メッシュでは押し出しで増えた部分があっても転送できました。
すべての押し出し形状で成功することを保証するものではありません。
https://www.youtube.com/watch?v=M6V8nUGQSlw
3DCGに関するほかの関連記事は、まとめ一覧から確認できます。

Mayaのグラフエディタの基本操作と活用方法はこちらで解説しています。

配布版によってPythonやQtの対応が異なる可能性があります。
起動コードのQT部分は、入手したパッケージのフォルダ名と説明に合わせてください。
ImportErrorが出る場合は、対応バージョンと配置先を確認し、同名の別ツールを混在させないでください。
Mayaの記事は、ほかにもあります。




