使用脚本在Maya中为选定对象切换xRay

时间:2017-12-15 09:35:04

标签: maya mel

我是mel脚本的新手。我知道我可以用代码手动切换X射线。

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

但是我想让它自动切换,比如

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

我知道我可以使用命令

打开或关闭xRay
displaySurface -query -xRay;

但我不能将此命令放入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");

2 个答案:

答案 0 :(得分:0)

看起来displaySurface -query -xRay正在返回一个数组。这对我有用:

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

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

答案 1 :(得分:0)

错误intCannot use data of type int[]之后的括号表示该函数返回一个整数数组。因此,您需要获取数组的第一个元素[0]

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

为什么它返回一个数组就是一个难题。它没有记录,该函数一次只能查询一个对象。