将collada模型导入three.js后,模型的某些面只能从模型内部看到,而不是从外部看到。
如何解决相关面孔的问题?
是否可以从两侧看到模型的面部?
答案 0 :(得分:2)
它无法正常工作的原因是因为您的文件设置了double_sided标志:
<effect id="material_3_4_0-effect" name="material_3_4_0-effect">
<profile_COMMON>
...
<extra>
<technique profile="GOOGLEEARTH">
<double_sided>1</double_sided>
</technique>
</extra>
</profile_COMMON>
</effect>
three.js ColladaLoader不会查找此标志并在材质上设置doubleSided。我已经filed a bug了解了这个问题。
答案 1 :(得分:1)
要修正面向不正确的面,请将模型加载到像Blender这样的3D建模程序中,并翻转未正确显示的面的法线。
Three.js网格物体具有您可以设置的双重属性,通常允许您显示两侧可见面部的模型。
以下是如何加载collada网格并启用双面渲染的简短示例。
var loader = new THREE.ColladaLoader();
loader.load('path/to/mesh.dae', loadModel);
function loadModel(geom) {
var mesh = new THREE.Mesh(geom, new THREE.MeshBasicMaterial());
mesh.doublesided = true;
scene.add(mesh);
}