2016-09-21 9 views
1

다음 코드를 사용하여 X 모양의 큐브를 정렬하려고 시도했습니다. 최종 제품이 무엇을 닮아야하는지 더 잘 이해하려면 픽셀을 나타내는 각 큐브를 상상해보십시오.For 루프 문을 통해 X 모양에 큐브 배열

그들은 계단 모양으로 만져 져야하며 가장자리는 만져야합니다. 각 방향에 대한 200 (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 두 번째 강조에도 불구하고 마야의 편집기에서 강조하지의 첫 번째 인스턴스 함께 할 수있는 뭔가가 있다고 생각 (편집자에 의해 인식되지를?) :

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

변명 침묵의 주 : 각 이동은 X & Y를 곱하여 0 @ 기반을 구축하기위한 사용 1 일을하는 조정 코드 증분 된베이스 1 : for ($ i = 0; $ i <100; $ i ++) { \t polyCube -w1 -h1 -d1 -sx1 -sy1 -sz1 -ax010; \t move -r ($ i * 1) ($ i * 1) 0; \t} for ($ i = 1; $ i <100; $ i ++) { \t polyCube -w1 -h1 -d1 -sx1 -sy1 -sz1 -ax010; \t 이동 -r ($ i * -1) ($ i * 1) 0; \t} for ($ i = 1; $ i <100; $ i ++) { \t polyCube -w1 -h1 -d1 -sx1 -sy1 -sz1 -ax010; \t move -r ($ i * 1) ($ i * -1) 0; \t} for ($ i = 1; $ i <100; $ i ++) { \t polyCube -w1 -h1 -d1 -sx1 -sy1 -sz1 -ax010; \t move -r ($ i * -1) ($ i * -1) 0; \t} – Sarki241

답변

1

읽기 코드에서 실수를 범했습니다. $이 누락되었습니다. $i++

두 번째로, $i = 0$i < 200이면 모든 1/4면 (199 개가 아님)에 200 개의 입방체가 생성됩니다.

세 번째로 모든 방향 (4 개 중)에서 증분 이동을 위해 (+/-2 * $i)을 사용하십시오. 여기

는 코드가 어떻게 표시되는지를 보여줍니다 같은 :

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