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

Toggle xRay for selected object in Maya with script

我是梅尔脚本的新手。我知道我可以使用代码手动切换 xray。

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");

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

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

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

错误int后的括号Cannot use data of type int[]表示函数returns是一个整型数组。所以你需要取数组的第一个元素[0]

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

为什么 returns 数组是个谜。它没有记录,并且该函数一次只能查询一个对象。