日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年3月18日水曜日

練習 (5) for文

<状況>
前回のfollicleへシリンダをコンストレインするスクリプトは、ちゃんと動いてくれた。

しかし、シリンダの位置を微調整できるようにしたいので、
1)シリンダをロケーターへコンストレインし、
2)そのロケーターをfollicileへコンストレインする
ことにした。


<練習>
手順としては、ロケーターAとポリゴンシリンダを、原点(0 0 0)に作成し、すぐにペアレントする。
そして次にロケーターをfollicleへコンストレイン。

前回の物に、ロケーターを作成する行と、ペアレントの手順を付け加えるだけでうまくいくはず。

{
for ($i=1; $i<48;>
string $lName = ("loc" + $i)
string $fName = ("follicle" + $i);
string $cName = ("collision" + $i);

spaceLocator -name $lName;
polyCylinder -name $cName;

select -clear;

select -add $cName;
select -add $lName;
parent;

select -clear;
select -add $fName;
select -add $lName;

pointConstraint -offset 0 0 0 -weight 1;

}}

これを実行したところ以下のエラー。
// Error: string $fName = ("follicle" + $i); //
// Error: Line 4.6: Syntax error //
// Error: select -add $fName; //
// Error: Line 17.19: "$fName" is an undeclared variable. //


特に間違っているようには見えなかったが$lNameの行の最後に「;」を忘れていた。

string $lName = ("loc" + $i);

これでちゃんと動いてくれた。


 

0 件のコメント:

コメントを投稿