Blender - Three.js - export/import mesh looks ugly
从Blender获取一些3D对象以正确呈现到Three.js中,我遇到一些问题。
这是Blender中的对象:
(我认为这些对象看起来不错)
这是Three.js中的对象(使用THREE.SceneLoader()加载):
(请注意孔周围有奇怪的表面)。
此外,放大时,我可以看到面向相机的正面后面的物体的一部分。
有人可以让我知道一个很好的工作流程,以便从Three.js中正确呈现的Blender中获取对象吗?
是因为着色器还是网格导入/导出问题?
我正在使用样本中的场景(地面,天空,阴影),并使用Blender导出的JSON文件中的sceneLoader加载网格。
如果我要导出与.obj相同的对象,并使用OBJLoader将其加载到Three.js中,则看起来还不错。
问题是我需要创建一个更复杂的场景,并且需要使对象具有交互性/可单击性。如果将场景另存为.OBJ,是否有可能?
使用Flat-Shading,例如material.shading = THREE.FlatShading;
请参阅以下示例以了解材料特性:
http://mrdoob.github.io/three.js/examples/webgl_materials.html
您正在寻找多面球。 在three.js中,它看起来很丑陋,因为它可以平滑顶点/面法线。
关于第二点。 检查导入对象的大小和场景的大小。 如果您的对象在放大时被"裁剪",则必须将相机靠近平面更改为较小的值。 与缩小时对象消失的情况相同,您必须将相机的远平面更改为更远(增加值)。
希望这有帮助,祝你好运 :)