最後の旅を始めよう

-黒の英雄譚・零-

MAYA Python どっ基礎講座‗08 『リスト』

2023年01月08日 | MAYA_Pyhon...
ここでは、
前項で出てきた「リスト」について詳しく解説していこうと思います。



リストとは

繰り返しの項では「イテラブルオブジェクト」の一つとして紹介させて頂きましたが
「リスト」とは、イテラブルオブジェクトとしても使える
「オブジェクト群」と認識して貰う方が正しいでしょう。

表記方法は、複数のオブジェクトを [] で囲み , で区切る事で表します。
また、以下の様にリスト自体を変数に代入して扱う事も出来ます。
#---------------------------------------------
lChildren = [ "Rei", "Shinji", "Asuka", "Touji" ]
print( lChildren )
#---------------------------------------------

リストに格納された個々のオブジェクトは「要素」と呼ばれます。
要素には格納順に「インデックス番号」が振られており、
その番号を指定する事で個別で要素を取得出来ます。
#---------------------------------------------
print( lChildren[1] )
print( lChildren[2] )
#---------------------------------------------



リストの使用方法

MayaPythonでのリストの使い処は、
イテラブルオブジェクトとして繰り返し処理に使うのが殆どの場合となるでしょう。

リストはむしろ、取得方法の方が大事な項目と言えるでしょう。
特に良く使うのが選択オブジェクトをリスト化するものです。
任意のオブジェクトを複数選択した状態で、以下のコードを走らせると
lSelectObj変数に選択したオブジェクトのリストを作成します。
#---------------------------------------------
import maya.cmds as cmds
lSelectObj = cmds.ls( selection = True )
print( lSelectObj )
#---------------------------------------------

(一応、ペイントで中身をログに吐く様にしておりますが
ペイントは必ずしも必要なものではありません)

また、ノードタイプでリスト化するのも使い勝手は良いと思います。
以下のコードでは、タイプをジョイントに設定する事で、
シーン内の骨を全てリストとして取得します。
#---------------------------------------------
import maya.cmds as cmds
lAllJoint = cmds.ls( type = "joint" )
print( lAllJoint )
#---------------------------------------------


ちなみに、ノードタイプを調べるには
対象のノードを選択して以下のコードを実行します。
#---------------------------------------------
import maya.cmds as cmds
lSelectObj = cmds.ls( selection = True )
print( cmds.nodeType( lSelectObj[0] ) )
#--------------------------------------------




次項 → 09_関数
一覧へ

関連-------------------------------------
Python_MAYA機能メモ
編集
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« MAYA Python どっ基礎講座‗07... | トップ | MAYA Python どっ基礎講座‗09... »
最新の画像もっと見る

コメントを投稿

MAYA_Pyhon...」カテゴリの最新記事