使用脚本在 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 数组是个谜。它没有记录,并且该函数一次只能查询一个对象。
我是梅尔脚本的新手。我知道我可以使用代码手动切换 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 数组是个谜。它没有记录,并且该函数一次只能查询一个对象。