加载场景丢失设置

load scene loses settings

所以我有这个非常简单的代码,它应该加载一个场景。它一定是其他东西的一部分,但目前它工作不正常。我已经保存了很多设置更改的场景。当我从 UI 加载它时,一切都按预期进行。但是当我使用此代码或按源 script.py 加载时,设置就不一样了。就像它们被重置为默认值或未加载。

我已经阅读了关于文件的文档,并尝试了一些其他的东西,但没有任何效果。 Maya 是 2016 ext 1 sp5。我尝试使用 maya 2017 并没有出现此类问题,但与动画相关的其他错误阻止我使用 2017。

是否有某种额外的参数来读取设置或我缺少的其他东西?

import maya.cmds as cmds

file_path = somefile.ma'
cmds.file( new = True, force = True )
cmds.file(file_path, o=True,type='mayaAscii', options='v=0;p=17;f=0', ignoreVersion=True)

这里有一些关于文件命令的文档...它适用于 Maya 2015,但在 2016 中应该不会有太大的不同

https://help.autodesk.com/cloudhelp/2015/ENU/Maya-Tech-Docs/Commands/file.html

看起来您可能需要结合使用 buildLoadSettings (bls) 标志和 loadSettings (ls) 标志

我自己还没有尝试过,但如果我没看错的话,看起来你可以使用带有 buildLoadSettings 标志的文件命令从中生成 'implicitLoadSettings',然后 运行 带有指定 'implicitLoadSettings' 的 loadSettings 标志的文件命令,因此它看起来像这样:

cmds.file(new=True, force=True)
cmds.file(file_path, open=True, buildLoadSettings=True)
cmds.file(file_path, open=True, loadSettings='implicitLoadSettings')

我遗漏了很多其他标志 - 只是说明了这个例子的重要标志......

加载脚本时哪些设置不完全相同?

我是 运行 Maya 2016 Extension2 SP1。这是 Mac 版本:

import maya.cmds as mc

file_path = '/Users/swift/Desktop/somefile.ma'

mc.file(new=True, force=True, bls=True)

mc.file(file_path, 
        o = True, 
        type = 'mayaAscii', 
        op = 'v = 0; precision = 20; f = 0', 
        ignoreVersion = True)

这段代码工作正常。我查过了。我的设置是相同的(使用 UI 或使用此代码)。

您的代码也有错误。您在 file_path 行中遗漏了 ' 个单引号。

我通过安装 SP6 修复了它