アーティストのためのMaya Python入門 第7回「connectAttrコマンドを使って、ノード同士を接続しよう!」

コードのおさらい

from maya import cmds

# 選択したノードをリネームする
nodes = cmds.ls(selection=True)
for node in nodes:
    cmds.rename(node, "{}_baseJoint".format(node))

# 子供の名前をユニークにする複製
cmds.duplicate(renameChildren=True)

# 複製したユニークネームの階層をreplaceを使ってリネームする
nodes = cmds.ls(selection=True)
for node in nodes:
    new_name = node.replace("baseJoint1", "targetJoint")
    cmds.rename(node, new_name)

# ジョイントのradiusを変更する
radius = 1.0
nodes = cmds.ls(selection=True)
for node in nodes:
    cmds.setAttr("{}.radius".format(node), radius)
    
# baseJoint階層でtargetJoint階層をコネクトする
base_joints = cmds.ls(selection=True)
for base_joint in base_joints:
    target_joint = base_joint.replace("baseJoint", "targetJoint")
    cmds.connectAttr("{}.translateX".format(base_joint),"{}.translateX".format(target_joint))
    cmds.connectAttr("{}.translateY".format(base_joint),"{}.translateY".format(target_joint))
    cmds.connectAttr("{}.translateZ".format(base_joint),"{}.translateZ".format(target_joint))
    cmds.connectAttr("{}.rotateX".format(base_joint),"{}.rotateX".format(target_joint))
    cmds.connectAttr("{}.rotateY".format(base_joint),"{}.rotateY".format(target_joint))
    cmds.connectAttr("{}.rotateZ".format(base_joint),"{}.rotateZ".format(target_joint))

Pythonのおすすめ書籍

Pythonのおすすめ書籍

関連記事

  1. アーティストのためのMaya Python入門 第5回「listRelativesコマンドを使って、親や子ノードを取得しよう!」

    2020-10-02

  2. アーティストのためのMaya Python入門 第8回「constraint系コマンドを使って、ノード同士の位置合わせ!」

    2020-10-03

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

    2020-11-13

  4. 処理の前後に別の処理を挟む?デコレータとWith文

    2021-01-09

コメントをお待ちしています。

コメント

ABOUT

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

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

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

限定情報会員

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


免責事項

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

3DCGBOOK出版

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







スポンサー

ページ上部へ戻る