为什么两张脸在 ThreeJs 中是看不见的?
Why do two faces appear invisible in ThreeJs?
我在 Blender 中有一个对象。因为我想使用 ThreeJS 进行一些 UV 展开(请参阅 ),所以我确定我需要合并两个边才能正确展开。
因此,在将 .blend
导出为 .obj
对象之前,我选择了 Tris to Quads
面选项来为两侧创建一个方形面,而不是由两个面组成三角形。这是它在 Blender 中的样子:
但是当我将 .obj
和 .mtl
文件导入 ThreeJs 时,我得到了这个:
这是我没有更新添加到新对象的 material 的问题吗?
出现白色的手柄让我觉得是这种情况。如果是这样,我该如何解决?
当我看到这样的东西时,我通常做的第一件事就是将 material 设置为 side: THREE.DoubleSide
。如果这有帮助,问题与 normal-directions 有关(所以脸实际上在那里但没有渲染,因为它背对着你)。
要解决此问题,您应该尝试以下操作:
- 在 Blender 中,您可以在 right-hand 菜单中启用 normal-directions 的显示(select "Face normals in section "Mesh Display")。
- 您现在应该看看是否有任何法线指向 inwards/in 错误的方向。
- 有一个自动修复程序适用于正确构建的网格:
- select 对象并切换到 edit-mode (
)
- select所有顶点(快捷键<A>)
- 通过菜单 "Mesh" > "Normals" > "Recalculate Outside"(快捷键
+)。
我在 Blender 中有一个对象。因为我想使用 ThreeJS 进行一些 UV 展开(请参阅
因此,在将 .blend
导出为 .obj
对象之前,我选择了 Tris to Quads
面选项来为两侧创建一个方形面,而不是由两个面组成三角形。这是它在 Blender 中的样子:
但是当我将 .obj
和 .mtl
文件导入 ThreeJs 时,我得到了这个:
这是我没有更新添加到新对象的 material 的问题吗? 出现白色的手柄让我觉得是这种情况。如果是这样,我该如何解决?
当我看到这样的东西时,我通常做的第一件事就是将 material 设置为 side: THREE.DoubleSide
。如果这有帮助,问题与 normal-directions 有关(所以脸实际上在那里但没有渲染,因为它背对着你)。
要解决此问题,您应该尝试以下操作:
- 在 Blender 中,您可以在 right-hand 菜单中启用 normal-directions 的显示(select "Face normals in section "Mesh Display")。
- 您现在应该看看是否有任何法线指向 inwards/in 错误的方向。
- 有一个自动修复程序适用于正确构建的网格:
- select 对象并切换到 edit-mode (
) - select所有顶点(快捷键<A>)
- 通过菜单 "Mesh" > "Normals" > "Recalculate Outside"(快捷键
+ )。
- select 对象并切换到 edit-mode (