关于3d:Blender-Three.js-导出/导入网格看起来很丑

Blender - Three.js - export/import mesh looks ugly

从Blender获取一些3D对象以正确呈现到Three.js中,我遇到一些问题。

这是Blender中的对象:
enter image description here
(我认为这些对象看起来不错)

这是Three.js中的对象(使用THREE.SceneLoader()加载):
enter image description here

(请注意孔周围有奇怪的表面)。

此外,放大时,我可以看到面向相机的正面后面的物体的一部分。
enter image description here

有人可以让我知道一个很好的工作流程,以便从Three.js中正确呈现的Blender中获取对象吗?

是因为着色器还是网格导入/导出问题?

我正在使用样本中的场景(地面,天空,阴影),并使用Blender导出的JSON文件中的sceneLoader加载网格。

如果我要导出与.obj相同的对象,并使用OBJLoader将其加载到Three.js中,则看起来还不错。
enter image description here

问题是我需要创建一个更复杂的场景,并且需要使对象具有交互性/可单击性。如果将场景另存为.OBJ,是否有可能?


使用Flat-Shading,例如material.shading = THREE.FlatShading;
请参阅以下示例以了解材料特性:
http://mrdoob.github.io/three.js/examples/webgl_materials.html
您正在寻找多面球。 在three.js中,它看起来很丑陋,因为它可以平滑顶点/面法线。

关于第二点。 检查导入对象的大小和场景的大小。 如果您的对象在放大时被"裁剪",则必须将相机靠近平面更改为较小的值。 与缩小时对象消失的情况相同,您必须将相机的远平面更改为更远(增加值)。
希望这有帮助,祝你好运 :)