maya单独显示线框和带贴图物体 优化视窗操作流畅度

19 篇文章 0 订阅

maya有的时候需要在场景里切换物体显示效果,比如线框还是贴图之类

有时候在大量场景文件需要单独对一个物体进行贴图查看显示,而不需要显示其他的,因为加载贴图会很卡

一般方法是我们选中需要显示贴图的物体,然后孤立选择,再按6切换,但有的时候切回去的时候忘了关贴图就会直接卡死maya

max有这种方式可以单独对一个物体显示线框,但是maya没有很方便的方式(我用的2016)

所以这里给出一种方式可以单独切换,比如下面的效果

但不影响渲染结果,只是修改视口的显示效果



这里主要根据的是maya里物体对象显示的绘制覆盖属性

这个属性可以覆盖你在视口设置的物体显示模式,线框啊 实体带贴图啊(viewport 2也是这样)


所以可以根据这个对maya里面视口显示进行优化

比如先重置一遍覆盖显示,然后单独对某些物体显示需要的效果

于是写了下面的mel脚本

global proc setAll()
{
string $objects[] = `ls -dag -type mesh`; 
for($object in $objects)
{
setAttr ($object+".overrideEnabled") 1;
setAttr ($object+".overrideTexturing") 0;
} 

}
global proc setOneVisible()
{
string $objects[] = `ls -dag -type mesh -sl`;
for($object in $objects)
{
setAttr ($object+".overrideEnabled") 0;
} 
}
global proc setOneInvisible()
{
string $objects[] = `ls -dag -type mesh -sl`;
for($object in $objects)
{
setAttr ($object+".overrideEnabled") 1;
} 
}

global proc wjChangeViewportRender()
{
if(`window -ex myTestWin`)
deleteUI myTestWin;

window -t "材质显示切换" myTestWin;
columnLayout -adj 1;

button -l "初始化全部隐藏" -c "setAll"; 
button -l "显示材质" -c "setOneVisible";
button -l "隐藏材质" -c "setOneInvisible";
showWindow myTestWin;
}

wjChangeViewportRender();

使用方法是先初始化全部隐藏,然后按6键

另外测试表明一开始初始化后,单独再打开某一个带贴图的物体,那个物体的贴图是单独加载的

并不会加载全部贴图,其他物体因为都覆盖的了显示属性,所以可以优化maya里操作流程

当然这还只是一个原型,可以用其他方式去扩展,比如远处的不显示,或者只显示线框

可以在很大程度上使得maya操作更流畅



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值