アーティストのためのMaya Python入門 第17回「スキンウェイトのコピーをPythonで自動化してみよう!」

動画のトピックス

アーティスト向けのMayaでのPython入門、第17回目です。
※Mayaはバージョン2020を利用しています。

今回はかなり実践向けな内容です。
スキンクラスターのコピペをPythonで自動化しちゃおう!といった内容です。
Mayaのスキンのコピースキン、結構面倒くさいんだよなーって方は是非~。

サンプルコード

from maya import cmds

# low, highを選択してトランスフォームノードを取得
transforms = cmds.ls(selection=True, type="transform")

# トランスフォームのシェイプノードを取得
shapes = cmds.listRelatives(transforms, shapes=True, noIntermediate=True)

# lowのヒストリーを取得し、スキンクラスターのみ取得
histories = cmds.listHistory(shapes[0], pruneDagObjects=True, interestLevel=2)
low_skincluster = cmds.ls(histories, type="skinCluster")[0]

# lowのスキンクラスターで使っているインフルエンスを取得する
influences = cmds.skinCluster(low_skincluster, q=True, influence=True)

# influencesのリストの最後にhighのトランスフォームを追加する
influences.append(transforms[1])

# highをバインドする
high_skincluster = cmds.skinCluster(influences, toSelectedBones=True)
high_skincluster = high_skincluster[0]

# lowのスキンクラスターをhighのスキンクラスターへコピースキンウェイト
cmds.copySkinWeights(
    sourceSkin = low_skincluster,
    destinationSkin = high_skincluster,
    noMirror=True,
    influenceAssociation="oneToOne",
    surfaceAssociation="closestPoint"
)

関連記事

  1. GDC2018の講演から学ぶ『Horizon Zero Dawn』四足動物の後ろ足IK

    2021-01-04

  2. Substance PainterとMayaでの見た目を可能な限り近づけてみる!

    2021-03-24

  3. アーティストのためのMaya Python入門 第18回「例外処理の基本を抑えよう!try/except/else/finally」

    2022-01-24

  4. Auto Unwrap UVs ToolでサクッとUV展開しちゃおう!

    2021-07-29

コメント

ABOUT

テクニカルアーティストの為のまとめサイトです。

本サイトでは、『YouTube ✕ Blog』を中心に
情報発信をしていきます。

また、テクニカルアーティストとしての様々な
ライフハック記事も投稿予定です。

限定情報会員

PATREONでは、限定情報やサンプルファイルの配布も行っています。登録頂けると更新頑張れます。支援の方よろしくお願いします。


免責事項

本ウェブサイト内で公開している全ての情報の有用性や安全性については当方は一切の保証を与えるものではありません。
利用したことによって引き起こる直接および間接的な損害に対して当方は一切責任を負うものではありません。
全て自己責任でご使用ください。

3DCGBOOK出版

BOOTHで技術書を販売利しております。







スポンサー

ページ上部へ戻る