【发布时间】:2019-12-05 12:54:54
【问题描述】:
我在 Blender 中创建了一个带有孔的块的模型:
我将其导出为 .obj 文件,然后使用 OBJLoader 插件将其导入 ThreeJS。
当我在我的应用程序中使用它时,它似乎在孔的两侧绘制了一张脸:
有没有我需要在 ThreeJS 中使用的设置来避免像这样关闭间隙?或者是我如何创建模型的问题?我完全迷路了,感谢任何指导。
编辑:我通过反复试验发现问题在于具有不规则形状的面,例如与孔相邻的面。我通过对模型进行三角测量“解决了”我的问题;虽然这会稍微改变它的形状,但它可以确保孔中的每个顶点都是三角形面的一部分,这似乎是一个神奇的答案。
我仍然很好奇为什么会这样,特别是因为三角测量使盒子的角落有点奇怪。
编辑 2:抱歉耽搁了。这是搅拌机文件:https://gofile.io/?c=EoxH1r
【问题讨论】:
-
你能在这个帖子中分享
blend文件吗? -
当然!我现在不在家,但我会在几个小时后上传。很抱歉最初没有包含它!
-
@Mugen87 我添加了 .blend 文件。抱歉耽搁了!
-
我已将资产导出到
glTF而不是OBJ,并通过以下基于three.js的查看器对其进行了验证:gltf-viewer.donmccurdy.com。结果看起来是正确的。glTF其实是three.js推荐的3D格式。所以使用glTF可能是最简单的解决方案。 -
谢谢@Mugen87!感谢您抽出宝贵时间:) 我将尝试 glTF 格式