アーティストのための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入門 第13回「便利な処理を関数化しよう!」

    2020-10-12

  2. ウェイトを非破壊かつ半自動で付けるテクニック

    2024-04-20

  3. アーティストのためのMatrix(行列)講座

    2021-09-21

  4. MASHとCurveWarpで簡単チェーン

    2021-03-30

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

コメント

ABOUT

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

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

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

限定情報会員

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


免責事項

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

3DCGBOOK出版

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







スポンサー

ページ上部へ戻る