3DMAX 批量 场景 对象 导出 .X格式 脚本

一、首先你需要下载一个 Total Commader文件管理软件。利用这个软件你可以收集文件夹下包含子文件夹下的max文件(或完整路径)
打开TotalCMD后使用查找文件:(如图红框中的操作)
1.
1.jpg


2.
2.jpg


3.
3.jpg 


复制文件名和完整路径后粘贴到文本文件中并保存为如"maxFiles.txt"

二、脚本代码:
//使用导出.x文件前请先安装导出.x文件的插件,如:PandaDirectXMaxExporter
//使用脚本前先设置好导出.x文件的相关参数,具体设置在max文件里找到导出.x文件的UI配置中
-------------------------------------

  1. fn HandleMax obj=
  2. (
  3. --有必要可以优化一下材质
  4. --........
  5. obj_name=obj.name
  6. filepath = maxfilepath
  7. --输出这个文件成一个.x文件
  8. exportfile (filepath + obj_name+".x") #noprompt 
  9. )
  10. ---------------------------------------
  11. --main()
  12. global allmaxFileNames =#()
  13. --打开的是上一步新建的文本文件,里面是max完整路径
  14. allmaxFilename = openFile "maxFiles.txt"
  15. while not(eof allmaxFilename) do
  16. (
  17.     iline = readLine allmaxFilename
  18.     append allmaxFileNames iline
  19. )
  20. close allmaxFilename
  21. --开始遍历收集到的每一个max文件
  22. for maxfile in allmaxFileNames do
  23. (
  24.     loadmaxfile maxfile --打开max文件
  25.     max select all
  26.     ungroup $selection
  27.     for obj in objects do
  28.     (
  29.         HandleMax obj--导出每一个物体    )
  30.     resetMaxFile #noPrompt--重置max软件
  31. )
  32. quitMax #noPrompt--退出max程序
复制代码



(编辑了好多次,代码还是乱的。)
------------------------------
三、最后新建一个文本文件。
文本文件的内容为:echo 使用说明:构造maxFiles.txt,确保max文件执行路径正确
(含引号)"D:Program FilesAutodesk3ds Max 20103dsmax.exe“(空格)-U(空格)MAXScript aaa.ms
解释:以上为cmd命令,第一个参数为max的安装路径,第二个参数为执行的脚本命令,第三个参数为你保存的脚本插件的文件名。具体详细说明请参考max脚本帮助文档。
写好内容后并保存为***.bat。例如”expotXFile.bat“
----------------------
四、把以上一,二,三步那件的三个文件(*.ms、*.txt、*.bat)放在同一个目录下(一定)。然后直接双击***.bat文件。等待.x文件的导出,结果在max文件夹下可找到对应的.x文件。本人只是粗略的测试了一下代码,可以导出.x文件(批量)。具体使用得出的结果等待LZ的反馈。谢谢使用~!

五、以上内容非转摘。属于本人原创,阅读者可以复制粘贴使用。不能用于商业用途。谢谢!

                                                                                                                 --Yvi


----------------------------------------附件分隔线-----------------------------------
[attach]导出.x文件[/attach]

 

原文地址:https://www.cnblogs.com/moonvan/p/3175563.html