Maya 如何使用mel脚本打开游戏导出器?

Maya 如何使用mel脚本打开游戏导出器?,maya,mel,Maya,Mel,我经常导出我的动画。但我厌倦了从主菜单中选择文件>游戏导出器 我可以使用mel脚本打开游戏导出器吗?或者更好,我可以使用mel脚本自动生成游戏导出器的输入(例如:自动输入导出路径、动画名称、仅导出选择等) 我可以使用mel脚本打开游戏导出器吗 开放式游戏出口商 gameFbxExporter; 或者更好,我可以使用mel脚本自动生成 游戏导出器的输入(例如:自动输入导出路径, 动画名称,仅导出选定内容,…) 导出路径 (设置为“E:/aaa”) 动画名称 (设置为“aaa”) 但这并不是真正有

我经常导出我的动画。但我厌倦了从主菜单中选择文件>游戏导出器

我可以使用mel脚本打开游戏导出器吗?或者更好,我可以使用mel脚本自动生成游戏导出器的输入(例如:自动输入导出路径、动画名称、仅导出选择等)

我可以使用mel脚本打开游戏导出器吗

开放式游戏出口商

gameFbxExporter;
或者更好,我可以使用mel脚本自动生成 游戏导出器的输入(例如:自动输入导出路径, 动画名称,仅导出选定内容,…)

导出路径

(设置为“E:/aaa”)

动画名称

(设置为“aaa”)

但这并不是真正有效的,因为有硬代码:
formLayout344 |
formLayout345 | textField20
。必须找到一种方法让它充满活力

所以用这个代替

setAttr -type "string" gameExporterPreset2.exportFilename "aaa";
仅导出选择

setAttr("gameExporterPreset2.exportSetIndex") 2;
gameExp_CreateExportTypeUIComponents;

我是这样想的:我检查一下

我可以使用mel脚本打开游戏导出器吗

开放式游戏出口商

gameFbxExporter;
或者更好,我可以使用mel脚本自动生成 游戏导出器的输入(例如:自动输入导出路径, 动画名称,仅导出选定内容,…)

导出路径

(设置为“E:/aaa”)

动画名称

(设置为“aaa”)

但这并不是真正有效的,因为有硬代码:
formLayout344 |
formLayout345 | textField20
。必须找到一种方法让它充满活力

所以用这个代替

setAttr -type "string" gameExporterPreset2.exportFilename "aaa";
仅导出选择

setAttr("gameExporterPreset2.exportSetIndex") 2;
gameExp_CreateExportTypeUIComponents;


下面是我的计算方法:我检查。

刷新以更新动画剪辑名称

from maya import cmds
from maya import mel as mm

# setting the animation clip name, this is 0 indexed    
cmds.setAttr('gameExporterPreset2.animClips[0].animClipName', 'clipNameHere', type='string')

# For changes to Animation clip Name only we need to close and reopen the window
if cmds.window("gameExporterWindow", exists=True):
    print 'exists'
    cmds.deleteUI("gameExporterWindow")

else:
    pass

mm.eval('gameFbxExporter;')

刷新以获取要更新的动画片段名称的步骤

from maya import cmds
from maya import mel as mm

# setting the animation clip name, this is 0 indexed    
cmds.setAttr('gameExporterPreset2.animClips[0].animClipName', 'clipNameHere', type='string')

# For changes to Animation clip Name only we need to close and reopen the window
if cmds.window("gameExporterWindow", exists=True):
    print 'exists'
    cmds.deleteUI("gameExporterWindow")

else:
    pass

mm.eval('gameFbxExporter;')

如果这对您有效,您应该将答案标记为正确,以便以后的人可以知道它解决了issueThank@theodox,但StackOverflow至少需要2天时间,我才能接受自我回答。关于动态动画剪辑名称-我正在深入研究-使用
setAttr-键入“string”gameExporterPreset2.animClips[0]。animClipName“”这是第一个剪辑“
实际上设置了剪辑名称,但没有刷新UI。切换选项卡之类的操作会按预期刷新UI,因此底层数据看起来确实会按预期更新。如果这对您有效,您应该将答案标记为正确,以便稍后出现的人可以知道它解决了issueThank@theodox,但是StackOverflow至少需要2天才能接受自我回答。关于动态动画剪辑名称-我正在深入研究-使用
setAttr-type“string”gameExporterPreset2.animClips[0]。animclipsname“ThisIsTheFirstClip”
实际上设置了剪辑名称,但没有刷新UI。执行诸如切换选项卡之类的操作会按预期刷新UI,因此底层数据看起来确实会按预期更新。