我通过在Blender中提取一个平面创建了这个T块:
之后,我使用official Three.js Blender Exporter导出它并使用下面的代码导入它。但不幸的是,面孔不见了。我已经读过可能需要使用THREE.GeometryUtils.triangulateQuads()
,但这没有帮助。有什么想法吗?
loader.load "/scripts/blocks/T.js", (geometry, materials) =>
THREE.GeometryUtils.triangulateQuads geometry
mesh = new THREE.Mesh(
geometry
materials[0]
)
mesh.position.y = 500
mesh.scale.set 50, 50, 50
@get("scene").add mesh
@render()
我的搅拌机是here。
答案 0 :(得分:0)
Blender的问题是某些网格操作需要法线重新计算。 实际上,例如,当您沿X轴镜像网格时,生成的镜像网格将具有反转法线。
如果您想深入检查网格,请尝试:MeshLab 这是一种高级网格编辑工具。它有很多过滤器,您可以检查并验证建模对象的面部方向:
在过滤器中有例如:
这样你就会有一个连贯的网格。
但是如果你不想做所有这些,你可以直接在你的three.js场景中将你的模型材质设置为双面。
@WestLangley已经指出了如何将材料设置为双面。这是:three.js how to make double sided object。
希望这有帮助
答案 1 :(得分:0)
你也可以简单地重新计算Blender中的法线。手册上写着http://wiki.blender.org/index.php/Doc:2.6/Manual/Modeling/Meshes/Editing/Faces#Recalculate_Normals:
重新计算法线
Mode: Edit mode Hotkey: Ctrl-N Menu: Mesh » Normals » Recalculate Outside
(注意:里面也有重新计算,但为了清楚起见,我在这里进行了编辑)
这些命令将重新计算所选面的法线,使它们指向面部所属的体积的外部(分别在内部)。
您还可以在3d视图中启用查看法线,以便检查是否有一些法线朝向内部。
双面工作也是如此,当然你需要从双方都需要一些面孔时需要它。