zoukankan      html  css  js  c++  java
  • Maya中输出alembic文件的方法

          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)")
  • 相关阅读:
    Unicode与JavaScript详解 [很好的文章转]
    4种方法生成二维码 (js 控制canvas 画出 二维码)
    JQuery-Dialog(弹出窗口,遮蔽窗口)
    JQuery实现可编辑的表格
    7个提高效率的JavaScript调试工具
    jQuery中的编程范式
    10款CSS3按钮
    jQuery(function(){})与(function(){})(jQuery)的区别
    JQuery之ContextMenu(右键菜单)
    糟糕的css用法 1
  • 原文地址:https://www.cnblogs.com/hksac/p/5123307.html
Copyright © 2011-2022 走看看