如何使用 mel 脚本打开 Game Exporter?
How to open Game Exporter with mel script?
我经常使用 Game Exporter 来导出我的动画。但是我厌倦了从主菜单中选择文件 > 游戏导出器。
我可以使用mel脚本打开Game Exporter吗?或者更好的是,我可以使用 mel 脚本为 Game Exporter 自动生成输入(例如:自动输入导出路径、动画名称、仅导出选择...)?
Can I use mel script to open Game Exporter?
打开游戏导出器
gameFbxExporter;
Or even better, can I use the mel script to automatically generate the
input for Game Exporter (For example: automatically input Export path,
Animation name, Export selection only,...)?
导出路径
(设为"E:/aaa")
setAttr -type "string" gameExporterPreset2.exportPath "E:/aaa";
动画名称
(设为"aaa")
gameExp_SetUniqueAnimationClipName 0"aaa"gameExporterWindow|gameExporterTabFormLayout|gameExporterTabLayout|gameExporterAnimationTab|anim_gameExporterMainFormLayout|anim_gameExporterExportTypeFormLayout|formLayout344|anim_gameFbxExporterAnimClipFrameLayout|anim_gameFbxExporterAnimClipFormLayout|anim_gameFbxExporterScrollLayout|formLayout345|textField20;
但这并不是真正有效,因为硬编码:formLayout344|
、formLayout345|textField20
。必须想办法让它变得动态。
所以改用这个
setAttr -type "string" gameExporterPreset2.exportFilename "aaa";
仅导出选择
setAttr("gameExporterPreset2.exportSetIndex") 2;
gameExp_CreateExportTypeUIComponents;
这是我的计算方法:我检查 all the records of Mel。
刷新以获取要更新的动画剪辑名称
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;')
我经常使用 Game Exporter 来导出我的动画。但是我厌倦了从主菜单中选择文件 > 游戏导出器。
我可以使用mel脚本打开Game Exporter吗?或者更好的是,我可以使用 mel 脚本为 Game Exporter 自动生成输入(例如:自动输入导出路径、动画名称、仅导出选择...)?
Can I use mel script to open Game Exporter?
打开游戏导出器
gameFbxExporter;
Or even better, can I use the mel script to automatically generate the input for Game Exporter (For example: automatically input Export path, Animation name, Export selection only,...)?
导出路径
(设为"E:/aaa")
setAttr -type "string" gameExporterPreset2.exportPath "E:/aaa";
动画名称
(设为"aaa")
gameExp_SetUniqueAnimationClipName 0"aaa"gameExporterWindow|gameExporterTabFormLayout|gameExporterTabLayout|gameExporterAnimationTab|anim_gameExporterMainFormLayout|anim_gameExporterExportTypeFormLayout|formLayout344|anim_gameFbxExporterAnimClipFrameLayout|anim_gameFbxExporterAnimClipFormLayout|anim_gameFbxExporterScrollLayout|formLayout345|textField20;
但这并不是真正有效,因为硬编码:formLayout344|
、formLayout345|textField20
。必须想办法让它变得动态。
所以改用这个
setAttr -type "string" gameExporterPreset2.exportFilename "aaa";
仅导出选择
setAttr("gameExporterPreset2.exportSetIndex") 2;
gameExp_CreateExportTypeUIComponents;
这是我的计算方法:我检查 all the records of Mel。
刷新以获取要更新的动画剪辑名称
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;')