在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,False)except:pass

这样就把所有隐藏物体下面的物体隐藏了。
但是有时根据项目的需求会把层级key帧,这样这个方法就不能用了,然而,mayaApi中有判断是否在某属性上key帧的方法。

key_q =cmds.keyframe(i,at='visibility', q=1, kc=1)

于是修改代码如下:

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:key_q =cmds.keyframe(i,at='visibility', q=1, kc=1)if key_q==0:try:cmds.setAttr('%s.visibility'%i,False)except:pass

这样就可解决了。

解决maya导出alembic文件隐藏物体也导出的问题。相关推荐

  1. cad导出pdf_通过CAD导出的文件或者由CAD导出的PDF文件打印慢

    点击蓝色字关注我们吧!哈喽!小伙伴们大家好!今天我又带着知识点来了!今天和大家分享的是关于通过CAD导出的文件或者由CAD导出的PDF文件打印慢的问题分析以及解决方法! 不分机型 CAD直接打印或者导 ...

  2. oracle11g导出dmp文件 少表,Oracle11g导出dmp并导入Oracle10g的操作记录

    Oracle11g导出dmp并导入Oracle10g的操作记录. 操作环境说明: Oracle11g环境:Windows7,Oracle Database 11g Enterprise Edition ...

  3. html文件怎么导出stl文件,3D建模软件导出STL文件的小技巧(一)

    很多用户在提交3D模型文件的时候,常常有这样的困惑:什么是STL 格式文件,怎么获取STL 格式文件呢?STL 格式文件是在计算机图形应用系统中,用于表示三角形网格的一种文件格式.它也是3D打印机在执 ...

  4. vue项目导出word文件(根据word模板导出)

    一.安装依赖包 1.docxtemplater npm install docxtemplater pizzip -S 2.jszip-utils npm install jszip-utils -S ...

  5. php导出cvs文件英文自动分割,导出csv_php导出csv文件函数

    摘要 腾兴网为您分享:php导出csv文件函数,桌面日历,优美图,小学英语,仙乐等软件知识,以及sfc游戏合集,计划生育网上办理平台,outlookapp,虾米返利网,书链,聚米网,幼儿园带量食谱软件 ...

  6. java导出 elsx 文件,如何获取java导出的excel文件,发送请求导出excle文件

    如何获取java导出的excel文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 request.setCharacterEncoding("utf-8"); ...

  7. java控制cmd导出dmp文件_cmd的操作命令导出导入.dmp文件

    1:G:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN目录下有个tnsname.ora文件,内容如下: hz_rmdb = (DESCRIPTION = ( ...

  8. oracle数据泵导出csv文件,数据泵expdp导出遇到ORA-01555和ORA-22924问题的分析和处理...

    使用数据泵导出数据库数据时,发现如下错误提示: ORA-31693: Table data object "CAMS_CORE"."BP_EXCEPTION_LOG&qu ...

  9. dbeaver导出excel文件_vue将数据导出为excel文件就是如此简单

    前言: 在以前需要将数据导出为excel文件时,往往需要后端提供支持,后端导出后以文件流的形式进行下载.但也带了一些问题,如: 1. 代码量复杂,一般前端难以完成. 2. 实现数据导出往往会大量消耗服 ...

最新文章

  1. java 抽象类,接口,object类详解
  2. 【计算摄影】图像美学专栏上线,先从学点摄影知识开始
  3. linux php和java环境变量配置_Linux下Java环境变量的安装与配置
  4. 信息系统管理整体管理过程
  5. deepin部署python开发环境_deepin系统下部署Python3.5的开发及运行环境
  6. Java什么是重用_深度解析:java必须掌握的知识点——类的重用
  7. python数组中一列拆分,根据Python中的数组值拆分数组
  8. 学一学番茄风控独创的体系内容
  9. Learn UML with JUDE(中文版)
  10. vue 下载插件downloadjs
  11. thing JS笔记
  12. android常用adb命令大全,Android ADB常用命令总结
  13. 深入浅出TVS瞬态抑态二极管
  14. 第八届 CodeVita 国际编程大赛
  15. Android---简易Snackbar
  16. 找二叉树根节点到叶子结点最长路径
  17. 计算机辅助设计阀体,计算机辅助设计03565.doc
  18. 20150906全志a33上调通rtl8188eus的过程(sina33)
  19. 从Angular 转向VUE,再做一次菜鸟
  20. c语言大作业开题报告,C语言大作业报告.doc

热门文章

  1. RFS的web自动化验收测试——第5讲 工作区Run
  2. C语言——倒置的字母三角形
  3. Android Open Source:陌陌(momo)源代码及实现(大部分UI+功能)
  4. 2018 Multi-University Training Contest 1----hdu 6301 and hdu 6308
  5. educoder-警务大数据之精准布控
  6. oracle查询相同的值,oracle 查询两个字段值相同的记录,
  7. Unity记录——ITween、Dotween实现开关门、判断在门前门后、批量处理单开、双开门以及推拉门
  8. 罗马复兴各民族兵种详细参数——西台篇
  9. 通过脚本向AnimClip添加动画事件
  10. Android自定义姓名头像