Maya中输出alembic文件是有现成api调用的,与maya中大部分api一样,这个功能参数的传入是非常类似mel的,本质上讲都是kwargs类型的参数,所以我们传入的参数就需要整理成类似于mel的命令行形式。

首先我们来看mel中如何导出ablembic文件,mel命令格式为:

AbcExport -j "-frameRange 1001 1148 -uvWrite -worldSpace -root |trk_track|trk_mesh|trk_ground -file D:/abc.abc“

"-frameRange 1001 1148 -uvWrite -worldSpace -root |trk_track|trk_mesh|trk_ground -file D:/abc.abc“等同于"-j"的参数,这一部分就是我们要传入到AlembicExporter的python api的参数。

所以我们首先需要构建一个函数来生成这段参数字符串,然后再将这个字符串传入maya.AbcExport(jobArg="")中。

甩个项目中的代码吧,仅供参考。

def getjobArg():
selectedGeos = maya.ls(sl=1)
selectedGeos_str = ""
path_abc_content = maya.textField(path_abc,q = 1,tx = 1)
if maya.ls(sl=1) != []:
if len(selectedGeos) == 1:
for i in selectedGeos:
selectedGeos_str = str(i)
else:
for i in selectedGeos:
selectedGeos_str += ("|" + str(i)) jobArgs = "-frameRange " \
+ maya.textField(first_abc,q = 1,tx = 1) \
+ " " \
+ maya.textField(last_abc,q = 1,tx = 1) \
+ " -uvWrite -worldSpace -root " \
+ selectedGeos_str \
+ " " + "-file" + " " + str(path_abc_content)
else:
jobArgs = "-frameRange " \
+ maya.textField(first_abc,q = 1,tx = 1) \
+ " " \
+ maya.textField(last_abc,q = 1,tx = 1) \
+ " -uvWrite -worldSpace " \
+ " " + "-file" + " " + str(path_abc_content)
print 'Please select objects before click export button'
return jobArgs maya.button(label="Create Alembic File!",w = 100,align = "center",command = "Argsstr = getjobArg();\
maya.AbcExport(jobArg = Argsstr)")

Maya中输出alembic文件的方法的更多相关文章

  1. Maya中输出nuke脚本的方法

    因项目需要,三维部门跟踪组动画组都需要一个能够快速输出nuke预合成工程的脚本.脚本已经写完,源码不便于放出来,写一个大致思路吧. 我首先分析了nuke工程,内部包含了哪些节点,这些节点有哪些属性需要 ...

  2. 在Centos中导入sql文件的方法

    在Centos中导入sql文件的方法 利用mysql -u root -p进入mysql数据库 对于文件的导入,在Centos下里面的是首先要新建一个和文件相同名字的数据库.例如:mysql>c ...

  3. python实现在目录中查找指定文件的方法

    python实现在目录中查找指定文件的方法 本文实例讲述了python实现在目录中查找指定文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 模糊查找 代码如下: import os from ...

  4. php中读取大文件实现方法详解

    php中读取大文件实现方法详解 来源:   时间:2013-09-05 19:27:01   阅读数:6186 分享到:0 [导读] 本文章来给各位同学介绍php中读取大文件实现方法详解吧,有需要了解 ...

  5. C++中输出变量类型的方法

    C++中输出变量类型的方法 在c++中输出变量或者数据类型,使用typeid().name()的方法.如下例子: #include <iostream> #include <stri ...

  6. Linux nohup不输出日志文件的方法

    引用:https://blog.csdn.net/guotao15285007494/article/details/84136234 最近在Linux上部署视频流推送应用时,由于网络不稳定等原因程序 ...

  7. 记录一种下载https网址中的mp4文件的方法

    需要下载一个网页中的视频, 页面中的视频播放器为 JW player, 通过搜索发现可以下载对应的视频. 1. 使用chrome浏览器分析 网页中的视频地址: F12或者右键-->检查, 在打开 ...

  8. 在VC中创建DLL文件的方法步骤

    一.Win32动态链接库 1.制作的步骤: (1)新建WIN32 Dynamic-link Library工程,工程名为MyDll,选择A simple DLL project类型. (2)MyDll ...

  9. qt中执行 sql文件的方法

    由于qt中没有原生的执行sql文件的方法.因此我们需要根据sql文件中的流的特点,将其分解成一个个语句单独执行. 1.首先通过Qfile读取sql文件 2.将sql文件中的内容通过“:”进行拆解 3. ...

随机推荐

  1. 【C/C++】Rotate Array

    实现数组旋转(循环右移) 如数组 [1, 2, 3, 4, 5, 6, 7],右移 3 位则为 [5, 6, 7, 1, 2, 3, 4] 首先使用泛型函数 void Rotate(void *fro ...

  2. css设置点击态样式

    .rightMenu:active { background-color: rgba(46, 103, 222, 0.13); }

  3. 依赖注入原理---IoC框架

    先来讲一讲,一个简单的依赖注入例子. 1. 依赖 如果在 Class A 中,有 Class B 的实例,则称 Class A 对 Class B 有一个依赖.例如下面类 Human 中用到一个 Fa ...

  4. 牛客练习赛23CD

    链接:https://www.nowcoder.com/acm/contest/156/C 来源:牛客网 题目描述 托米完成了1317的上一个任务,十分高兴,可是考验还没有结束 说话间1317给了托米 ...

  5. IIS SSL证书 指定的登录会话不存在,可能已被终止 HRESULT:0x80070520

    指定的登录会话不存在,可能已被终止 HRESULT:0x80070520 IIS导入证书时,选择”允许导出此证书” 服务器证书名称,在mmc控制台中个人证书中命名

  6. Android stdio 报错 error invoking main method

    打开Android stdio失败 报错:error invoking main method 想想前一天做了什么事?? 昨天把企图把Android Stdio文件包移盘,但是中途截止了,也就是说移动 ...

  7. linux——系统内核参数优化

    vim /etc/sysctl.conf net.ipv4.tcp_syncookies = 1 fs.file-max = 999999 net.ipv4.tcp_max_tw_buckets = ...

  8. ela的UNASSIGNED索引修复

    1.查找UNASSIGNED未分片的索引: #curl -s "http://localhost:9200/_cat/shards" -u username:passwd | gr ...

  9. 剑指Offer 11. 二进制中1的个数 (其他)

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 题目地址 https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040e ...

  10. Quartz动态修改数据库cronExpression(无须重启服务器即可更改定时时间)

    quartz通过动态设置配置文件确实可以实现与数据库的同步,但现实开发上线后我们基本是不会对配置文件等进行变动,因为重启一次服务器所需的成本太多. 这时,就需要我们仅仅修改数据库就能实现动态的更新定时 ...