Blender - Three.js - 导出/导入网格看起来很难看

时间:2013-08-30 09:53:41

标签: 3d three.js blender

从Blender获取一些3D对象以正确渲染到Three.js中我遇到了一些问题。

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

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

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

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

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

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

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

如果我导出与.obj相同的对象并使用OBJLoader将它加载到Three.js中,那么它看起来很好。 enter image description here

问题是我需要创建一个更复杂的场景,我需要对象是交互/可点击的。如果我将场景保存为.OBJ,这是否可行?

1 个答案:

答案 0 :(得分:2)

使用平面着色,例如material.shading = THREE.FlatShading; 有关材料属性,请参阅此示例: http://mrdoob.github.io/three.js/examples/webgl_materials.html 您正在寻找一个刻面球体。它在three.js中看起来很难看,因为它平滑了顶点/面法线。

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