2017-12-15 4 views
0

저는 mel 스크립트를 처음 사용합니다. 수동으로 xray 코드로 토글 할 수 있다는 것을 알고 있습니다.스크립트를 사용하여 Maya에서 선택한 객체의 xRay를 토글합니다.

displaySurface -xRay true; //Xray on 
displaySurface -xRay false; //Xray off 

하지만 내가 명령

displaySurface -query -xRay; 

와 함께 또는 해제 엑스레이를 확인할 수 있습니다하지만 난 그냥 넣지 수 있다는 사실을 알고는

if(xRay on) 
set xRay off 
else 
set xRay on 

처럼 자동으로 전환 할 이 명령을 if block에 입력하십시오. 나는 아래의 코드와 같은 많은 것을 시도했지만 아무것도 작동하지 않는다.

if(`displaySurface -query -xRay` == 1) // Error: line 1: Cannot use data of type int[] in a scalar operation. // 
print("To be or not to be"); 

답변

0

모양이 displaySurface -query -xRay 인 것처럼 보입니다. 배열을 반환합니다. 이것은 나를 위해 일한 : 오류 Cannot use data of type int[]에서 int

int $y[] = `displaySurface -query -xRay`; 

if($y[0] == 1) 
print("To be or not to be"); 
0

괄호는 함수가 정수 배열을 반환 함을 나타냅니다. 따라서 배열의 첫 번째 요소 [0]을 가져와야합니다.

$xRayOnArray = `displaySurface -q -xRay`; 
if ($xRayOnArray[0] == 0) { 
    print("X-Ray is enabled"); 
} else { 
    print("X-Ray is disabled"); 
} 

왜 배열을 반환합니까? 퍼즐입니다. 문서화되지 않았으므로 함수는 한 번에 하나의 객체 만 쿼리 할 수 ​​있습니다.

관련 문제