2016-09-21 3 views
1

次のコードを使用してX字型のキューブを配置しようとしています。最終的な製品がどのようなものになるかをよりよく理解するには、ピクセルを表す各キューブを想像してください。Forループステートメントを使用してX字形にキューブを配置する

これらは、階段状に積み重ねて、端だけに触れてください。各方向に200(1は1〜4の対角線方向あたりの各ブロックの中央キューブ、199であること。)ここで私はこれまで得たものです:私は上記の私の現在のスクリプトを実行しようとしました

// CENTRAL BASE CUBE 
polyCube -ch on -o on -w 1.5 -h 2 -d 2 ; 

int $i; 
for ($i = 0; $i < 199; i++) { 

    // CUBE BRANCH TOP LEFT 
    polyCube -ch on -o on -w 1.5 -h 2 -d 2 ; 
    move -r 0 -3.0 -3.1 ; 

    // CUBE BRANCH TOP RIGHT 
    polyCube -ch on -o on -w 1.5 -h 2 -d 2 ; 
    move -r 0 3.0 3.1 ; 

    // CUBE BRANCH BOTTOM LEFT 
    polyCube -ch on -o on -w 1.5 -h 2 -d 2 ; 
    move -r 0 0.3 0.04 ; 

    // CUBE BRANCH BOTTOM RIGHT 
    polyCube -ch on -o on -w 1.5 -h 2 -d 2 ; 
    move -r 0 -0.3 -0.04 ; 
} 

、それは勝ちました以下のエラーを返すため実行されません。これは私が知っているところから一見正しかったにもかかわらず、構文的なようです。私はそれが$iの最初のインスタンスが第二のハイライトにもかかわらず、Mayaのエディタで強調していないと何か持っているかもしれないと思う(エディタによって認識されないの?):

// Error: for ($i=0; $i<199; i++) 
// 
// Error: Line 4.22: Invalid use of Maya object "i". 
+0

言い訳沈黙の週は:ここ

は、次のようなコードが見えるものですインクリメントベース1: for($ i = 0; $ i <100; $ i ++){ \tポリキューブ-w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0; \t move -r($ i * 1)($ i * 1)0; \t} ($ i = 1; $ i <100; $ i ++){ \tポリキューブ-w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0; \t move -r($ i * -1)($ i * 1)0; \t} ($ i = 1; $ i <100; $ i ++){ \tポリキューブ-w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0; \t move -r($ i * 1)($ i * -1)0; \t} ($ i = 1; $ i <100; $ i ++){ \tポリキューブ-w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0; \t move -r($ i * -1)($ i * -1)0; \t} – Sarki241

答えて

1

を読みますコード内で間違いを犯しました。 $$i++にありません。

第2に、$i = 0$i < 200の場合、1/4側(199ではなく)ごとに200キューブが得られます。

第3に、すべての方向(4つのうち)で増分移動に(+/-2 * $i)を使用します。それぞれの動きはX&Yを乗算して調整コード0 @ベースを構築するための 使用される第一の仕事をする:

polyCube -ch on -o on -w 1.5 -h 2 -d 2 ; 

int $i ; 

for ($i = 0; $i < 200; $i++) { 

    polyCube -ch on -o on -w 1.5 -h 2 -d 2 ; 
    move -r 0 (2*$i) (2*$i) ; 

    polyCube -ch on -o on -w 1.5 -h 2 -d 2 ; 
    move -r 0 (-2*$i) (-2*$i) ; 

    polyCube -ch on -o on -w 1.5 -h 2 -d 2 ; 
    move -r 0 (2*$i) (-2*$i) ; 

    polyCube -ch on -o on -w 1.5 -h 2 -d 2 ; 
    move -r 0 (-2*$i) (2*$i) ; 
}; 

enter image description here

関連する問題