加载场景丢失设置
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 修复了它
所以我有这个非常简单的代码,它应该加载一个场景。它一定是其他东西的一部分,但目前它工作不正常。我已经保存了很多设置更改的场景。当我从 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 修复了它