在cg制作过程中,我们经常会使用maya导出alembic文件,但是我发现有些情况下我们不需要把场景中的隐藏物体也导出,于是我们会使用maya导出面板中的一个命令,把这个命令给勾选上之后我们就可以把隐藏的物体不进行导出了。
这样就可以解决大部分的隐藏物体不导出,同时也能够减少数据量的产生和内存空间的使用在这个大数据时代内存的减少使用就意味着金钱的节约(少扯没用的)。但是有时候即使把这个writeVisibility给勾上了,但是也会把隐藏的数据全部输出,我曾经就遇到过这种情况(客户说把隐藏的物体不用输出),之后无论如何都还是会把隐藏的输出,也可能是maya2017的一个bug,于是我发现如果把隐藏层级下面的物体包括层级都给隐藏了,这样会解决这个问题。于是代码撸起,
import maya.cmds as cmds
Not_hide = cmds.ls(dag = 1,v=1,type = 'transform')
obj = cmds.ls(dag = 1,type = 'transform')
hides = [i for i in obj if i not in Not_hide]
defult = ['persp','top','front','side']
hide = [i for i in hides if i not in defult]
for i in hide:
try:
cmds.setAttr('%s.visibility'%i,Fals