複数選択しているすべてのオブジェクトに同じ処理を行なう方法を紹介します。
サンプルスクリプト Create_DirLight6.vbs
をご覧ください。
---------------------------------------------------------------------------
'選択したもの全ての子にヌルを追加する
Set oSelList = GetValue("SelectionList")
For i = 0 to (oSelList.Count -1)
Set oDL = oSelList(i)
logmessage oDL.name
set oNull = GetPrim("Null", oDL+"null",oDL)
SetValue oNull & ".null.size", 0.02
SetValue oNull & ".kine.local.posx", 0
SetValue oNull & ".kine.local.posy", 0
SetValue oNull & ".kine.local.posz", 0
Next
---------------------------------------------------------------------------
<処理内容>
Next
※ 開始番号が 0 になっているので N 回の処理を行なうためには終了番号は N-1 になります。
■ 選択オブジェクトリストの値を取得する
Set oSelList = GetValue("SelectionList")
GetValue コマンドは 指定したパラメータの値を返すコマンドです。
SelectionList は選択しているオブジェクトのリストを返します。
※ oSelList.Count でリスト内のオブジェクトの数を返します。
■ For ~ Next による繰り返し処理のステートメント
ある処理を N 回行なう場合、以下のような For ~ Next ステートメントを使用します。
For i = 0 to N-1
5個のライトを選択して0を3にすると3、4番目に選択されたライトのみに実行される。