3DS MAX 批量导出文件脚本 MAXScript 带界面

一次开发过程中为了保持分布加载,需要对应的单体化模型资源,要能够把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后面的导出器并不存在的话,貌似也是可以导出成功的,导出格式是你上次选择导出过的格式。

猜你喜欢

转载自blog.csdn.net/wangmy1988/article/details/126252581
今日推荐