2012年1月26日木曜日

MAXScript ノードの列挙


g_tabnum = 0    -- タブ数

-- タブ文字列を取得する num: タブ数
fn GetTab num = 
(
 t = ""
 for i = 1 to num do
 (
  t += "\t"
 )
 return t
)

-- 再帰関数でノードを列挙する
fn EnumNode n =
(
 t = GetTab g_tabnum
 g_tabnum += 1
 
 for n in n.children do
 (
  -- クラス名の取得
  cname = getClassName n
--  format "%className: %\n" t cname
  if cname == "Bone" then
  (
   -- ボーン名を出力する
   format "%boneName: %\n" t n.name
  )
  
  EnumNode n  -- 再帰処理
 )
 g_tabnum -= 1
)

-- ノードの列挙
EnumNode rootNode

0 件のコメント:

コメントを投稿