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

问题描述 投票:0回答:2

我是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");
maya mel
2个回答
0
投票

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.