アーティストのための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. 処理の前後に別の処理を挟む?デコレータとWith文

    2021-01-09

  2. アーティストのためのMaya Python入門 第3回「getAttrコマンドを使って、値をゲットしよう!」

    2020-10-01

  3. アーティストのためのMaya Python入門 第12回「if文を使ってみよう」

    2020-10-11

  4. アーティストのためのMaya Python入門 番外編「可変長引数の基本とMayaでの使い方について」

    2020-11-17

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

コメント

ABOUT

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

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

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

限定情報会員

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


免責事項

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

3DCGBOOK出版

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







スポンサー

ページ上部へ戻る