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

コードのおさらい

from maya import cmds

# lsのtypeフラグを使わないフィルタリング
nodes = cmds.ls(selection=True, dag=True, type="transform")
joints = []
meshes = []
for node in nodes:
    if cmds.nodeType(node) == "joint":
        joints.append(node)
    if cmds.nodeType(node) == "mesh":
        meshes.append(node)
cmds.select(joints) # ジョイントのみ選択
cmds.select(meshes) # メッシュのみ選択
        
# 選択したtransformノードのスケールが1.0を超えるものを抽出し、1.0に修正する
nodes = cmds.ls(selection=True, dag=True, type="transform")
for node in nodes:
    scaleX = cmds.getAttr(node + ".scaleX")
    if 1.0 < scaleX:
        cmds.setAttr(node + ".scaleX", 1.0)

Pythonのおすすめ書籍

関連記事

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

    2020-10-01

  2. Blend Shapeが壊れる?Transfer Vertex Orderで解決だ!

    2021-09-13

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

    2021-01-09

  4. MASH × CurveWarp × ShrinkWrap で時計バンドをサクッと作る方法

    2020-10-30

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

コメント

ABOUT

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

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

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

限定情報会員

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


免責事項

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

3DCGBOOK出版

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







スポンサー

ページ上部へ戻る