0

我有一个带有动画角色的 Maya 场景。我正在尝试在不打开 Maya 的情况下将此动画导出到 alembic 文件。为此,我选择使用 Maya Standalone。

我用来导出的命令行是这样的:

import maya.standalone
maya.standalone.initialize()
cmds.file('C:\tmp\fred_scene.ma', open=True, force=True)
cmds.AbcExport(jobArg=r'-frameRange 0 30 -stripNamespaces -uvWrite -worldSpace -writeVisibility -wholeFrameGeo -worldSpace -dataFormat ogawa -root fred:geo_fred -file C:\tmp\animated_fred.abc')

如果我进入与 mayapy.exe 解释器的交互会话,这工作正常。

但是我正在尝试从另一个 python 解释器中使用 Maya Standalone,但这不起作用。在这个 python 解释器中,我在前面的代码之前执行以下操作以正确初始化解释器:

maya_location = os.path.normpath('C:/Program Files/Autodesk/Maya2018')
python_maya_location = os.path.normpath("C:/Program Files/Autodesk/Maya2018/Python")
maya_bin_location = os.path.normpath('C:/Program Files/Autodesk/Maya2018/bin')

os.environ['MAYA_LOCATION'] = maya_location  # add maya location as a environment variable
os.environ["PYTHONHOME"] = python_maya_location
os.environ["PATH"] = maya_bin_location + ';' + os.environ["PATH"]

# Others
sys.path.append("C:\Program Files\Autodesk\Maya2018\Python\lib\site-packages\setuptools-0.6c9-py2.6.egg")
sys.path.append("C:\Program Files\Autodesk\Maya2018\Python\lib\site-packages\pymel-1.0.0-py2.6.egg")
sys.path.append("C:\Program Files\Autodesk\Maya2018\Python\lib\site-packages\ipython-0.10.1-py2.6.egg")
sys.path.append("C:\Program Files\Autodesk\Maya2018\Python\lib\site-packages\ply-3.3-py2.6.egg")
sys.path.append("C:\Program Files\Autodesk\Maya2018\\bin\python26.zip")
sys.path.append("C:\Program Files\Autodesk\Maya2018\Python\DLLs")
sys.path.append("C:\Program Files\Autodesk\Maya2018\Python\lib")
sys.path.append("C:\Program Files\Autodesk\Maya2018\Python\lib\plat-win")
sys.path.append("C:\Program Files\Autodesk\Maya2018\Python\lib\lib-tk")
sys.path.append("C:\Program Files\Autodesk\Maya2018\\bin")
sys.path.append("C:\Program Files\Autodesk\Maya2018\Python")
sys.path.append("C:\Program Files\Autodesk\Maya2018\Python\lib\site-packages")

mayapy.exe 中的结果是这样的:正确的结果

而在另一个 python 解释器中的结果是这样的:不正确的结果

在两个 alembic 文件中,动画看起来是正确的,但几何图形被破坏了。任何人都可以帮我解决这个问题吗?

4

0 回答 0