码迷,mamicode.com
首页 > 其他好文 > 详细

Maya中输出alembic文件的方法

时间:2016-01-12 10:04:05      阅读:2854      评论:0      收藏:0      [点我收藏+]

标签:

      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文件的方法

标签:

原文地址:http://www.cnblogs.com/hksac/p/5123307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!