创建自定义 .OBJ / .MTL 文件并使用 three.js 进行渲染
Posted
技术标签:
【中文标题】创建自定义 .OBJ / .MTL 文件并使用 three.js 进行渲染【英文标题】:Create custom .OBJ / .MTL file and render it with three.js 【发布时间】:2013-11-30 22:17:39 【问题描述】:我尝试创建一个简单的搅拌机模型,将其导出为 .obj/.mtl 并使用 three.js 进行渲染。但是有些东西不起作用。我下载(并上传)了完整的官方three.js-demo。 objmtl-loader 工作正常。与原始模型。
但是如果我在搅拌机中创建一个新文件,导入原始的 obj 模型(来自演示),然后添加一个简单的锥体并将其再次导出到 obj,在我的演示页面上,除了我的锥体之外,所有内容都将显示。
我比较了每个简单的参数(圆锥 导入模型)- 没有区别。
My demo-page
My blender-file
我必须做什么才能从搅拌机中获得可渲染的 obj-model-export?
(我尝试了多种文件格式,但对于我的用例 Wavefront (obj) 是最好的)
【问题讨论】:
抱歉,我无法发布 .blend 文件的内容(可以吗?)。我的演示页面的代码只是加载了我的 .obj 的 default-threejs-javascript。 [链接] (webgl.pauly.io/webgl_loader_obj_mtl.html) 我认为问题出在我的搅拌机文件... 你的锥体不是三角形的(至少在底部),这是我的第一个想法。您可以选择锥体、切换编辑模式、全选,然后按 Ctrl + T 或 Mesh > Faces > Triangulate faces 来修复它。或者在 OBJ 导出中选择三角面 【参考方案1】:确实,它一定与您的 Blender 导出有关。
不确定它们是如何播放的,但在 Blender 中更改这些设置,我可以看到你的 Cone:
在导出 > 波前,检查Objects as OJB Groups
选择锥形,编辑模式,Make Normals Consistent
我了解第一个将Cone的类型从Object3D更改为Mesh,第二个让纹理放在上面。
希望对你有帮助
【讨论】:
难以置信——我完全按照你的要求做了。但是锥体仍然是看不见的。我使用以下教程创建了一个新文件,并使用您的参数导出了它 - 现在它可以工作了!所以,非常感谢!!! Tutorial以上是关于创建自定义 .OBJ / .MTL 文件并使用 three.js 进行渲染的主要内容,如果未能解决你的问题,请参考以下文章