晓晓
2018-03-07
来源 :网络
阅读 3322
评论 0
摘要: Maya中输出alembic文件是有现成api调用的,与maya中大部分api一样,这个功能参数的传入是非常类似mel的,本质上讲都是kwargs类型的参数,所以我们传入的参数就需要整理成类似于mel的命令行形式。
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频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号