我正在使用three.js构建一个浏览器游戏,我想将Maya 2013中的模型加载到场景中。我已经将模型导出为obj文件。现在我需要知道如何将其转换为three.js-loader的JS文件。这是我的loader:
three.js
var jsonLoader = new THREE.JSONLoader(); jsonLoader.load( "models/model.js", addModelToScene );
先谢谢你了
fnx2tebb1#
如果你不想使用blender,mrdoob(made threejs)有一个简单的python脚本可以将obj转换为json。在终端中运行--this script--,如下所示:
python convert_obj_three.py -i infile.obj -o outfile.js
qnakjoqk2#
使用Blender。Blender 3D然后安装这个插件:Three.js exporter
v1l68za43#
这是一个相当晚的答复。我写了一个转换器来读取obj文件并转换为ThreeJS支持的JSON格式:https://github.com/theMaxscriptGuy/Windows_Programs/tree/master/Obj_To_ThreeJS下载所有的文件作为zip和运行converter.exe...
gj3fmq9x4#
注意:python转换器脚本已更新为基于js的工具https://github.com/mrdoob/three.js/tree/dev/utils/converters。用途:node obj2three.js model.obj
node obj2three.js model.obj
mxg2im7a5#
使用[convert_obj_three.py][1]脚本将3ds max模型导出到three.js时,可以使用cmd promt中的以下命令实现一定程度的自动化:
[convert_obj_three.py][1]
cd C:\Python27 & python convert_obj_three.py -i _obj\chromeBand.obj -o _json\chromeBand.js & python convert_obj_three.py -i _obj\controlPanelCover.obj -o _json\controlPanelCover.js
我写了一个3ds max脚本,它将打印多个模型的phyton脚本命令,还有一个带有模型相对url和坐标的json。JSON对于将多个模型放置在场景中的正确位置非常有用。
( local inputPath = "D:\Archive\Work\_Dev\_Convert\Obj\\" local outputPath = "C:\Server\htdocs\viewer\assets\models\my-project\\" local jsonPath = "assets/models/my-project/" local myListEntry = "\n" for o in selection do ( myListEntry += "\"" + o.name + "\": {\n" + "\t\"url\": \"" + jsonPath + o.name + ".js\",\n" + "\t\"position\": {\n" + "\t\t\"x\": \"" + o.position.x as string + "\",\n" + "\t\t\"y\": \"" + o.position.z as string + "\",\n" + "\t\t\"z\": \"" + (o.position.y * -1) as string + "\"\n" + "\t}\n" + "},\n" ) myListEntry += "\n\n\n=== Run this using cmd promt: ===\n" myListEntry += "cd C:\Python27 &\n" for o in selection do ( myListEntry += "python D:\Archive\Work\_Dev\_Convert\convert_obj_three.py -i " + inputPath + o.name + ".obj -o " + outputPath + o.name + ".js & \n" ) myListEntry += "exit \n" print myListEntry actionMan.executeAction 0 "40472" )
coordinates.mcr
在对脚本进行了一点实验后,我做了一个设置,允许我在1分钟内从3ds max导出我的模型(超过20个)到打开浏览器选项卡。当然,您可能需要根据自己的喜好调整JSON输出。希望你会发现这是有用的。
2guxujil6#
创建名为conversion.py的Python文件。Click here to find out how to。然后在终端中执行以下命令:
conversion.py
python conversion.py -i file.obj -o file.js
6条答案
按热度按时间fnx2tebb1#
如果你不想使用blender,mrdoob(made threejs)有一个简单的python脚本可以将obj转换为json。在终端中运行--this script--,如下所示:
qnakjoqk2#
使用Blender。
Blender 3D
然后安装这个插件:
Three.js exporter
v1l68za43#
这是一个相当晚的答复。我写了一个转换器来读取obj文件并转换为ThreeJS支持的JSON格式:https://github.com/theMaxscriptGuy/Windows_Programs/tree/master/Obj_To_ThreeJS
下载所有的文件作为zip和运行converter.exe...
gj3fmq9x4#
注意:python转换器脚本已更新为基于js的工具https://github.com/mrdoob/three.js/tree/dev/utils/converters。
用途:
node obj2three.js model.obj
mxg2im7a5#
使用
[convert_obj_three.py][1]
脚本将3ds max模型导出到three.js时,可以使用cmd promt中的以下命令实现一定程度的自动化:我写了一个3ds max脚本,它将打印多个模型的phyton脚本命令,还有一个带有模型相对url和坐标的json。JSON对于将多个模型放置在场景中的正确位置非常有用。
coordinates.mcr
,然后将该文件拖放到3ds max窗口中。它将自动打开MaxScript Listener窗口并打印结果。在cmd中复制粘贴python命令。使用打印的json批量加载项目中的模型。编辑:
在对脚本进行了一点实验后,我做了一个设置,允许我在1分钟内从3ds max导出我的模型(超过20个)到打开浏览器选项卡。当然,您可能需要根据自己的喜好调整JSON输出。希望你会发现这是有用的。
2guxujil6#
创建名为
conversion.py
的Python文件。Click here to find out how to。然后在终端中执行以下命令: