一次开发过程中为了保持分布加载,需要对应的单体化模型资源,要能够把3DS MAX中的物体全部单独导出到独立的文件,于是自己尝试编写了一下MAXScript。
上图是场景中的所有物体,希望以物体名称为导出文件名,导出到指定文件夹中。导出的脚本代码如下:
rollout exportDlg "批量导出" width:450 height:230
(
button 'btnExport' "导出" pos:[184,185] width:128 height:35 align:#left
button 'btnCancel' "取消" pos:[315,185] width:128 height:35 align:#left
label 'lbl1' "批量导出插件" pos:[16,16] width:192 height:24 align:#left
on btnExport pressed do
(
dialog = DotNetObject"System.Windows.Forms.FolderBrowserDialog"
dialog.Description = "请选择导出位置"
OpenFileResult = dialog.ShowDialog()
if OpenFileResult.Equals OpenFileResult.OK then (
print dialog.SelectedPath
max select all; -- 全选
Sel = Selection as array;
for i=1 to Sel.count do(
select Sel[i];
objName=Sel[i].name; -- 获取选择的名称,单独导出
exportPath=dialog.SelectedPath+"\\"+objName;
-- 下面开始导出文件,using:参数可以在MAXScriptListener 中输入 exporterPlugin.classes查看所有支持格式
exportfile exportPath #noPrompt selectedOnly:true using:OpenCOLLADAExporter
)
)
print "All export task completed!"
)
)
createDialog exportDlg 450 230
这个脚本是带界面操作的脚本,使用方法如下:
复制以上脚本,保存扩展名为“脚本.ms”,然后回到3DS MAX中,选择菜单中的Scripting→Run Script…,打开刚才保存的对应的.ms文件即可运行。
脚本运行之后的界面如下图所示:
点击导出按钮,即可选择对应的导出路径即可开始导出操作。
注意:导出的格式,脚本中写的是OpenCOLLADAExporter导出器的 .DAE格式文件,如果需要导出其他的格式,可以在MAXScriptListener窗口中输入:
exporterPlugin.classes
按小键盘的Enter即可运行,会输出对应支持的格式,如下图
最后挑选一个你想要导出的格式,例如FBXEXP是导出FBX文件的,然后替换代码中的using:后面的参数即可。
例如:
exportfile exportPath #noPrompt selectedOnly:true using:FBXEXP
如果using后面的导出器并不存在的话,貌似也是可以导出成功的,导出格式是你上次选择导出过的格式。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/35598.html