将 collada 模型导入到 three.js 后,模型的某些面只能从模型内部可见,而不能从外部可见。
如何解决相关面孔的问题?
是否可以从两侧看到模型的脸?
将 collada 模型导入到 three.js 后,模型的某些面只能从模型内部可见,而不能从外部可见。
如何解决相关面孔的问题?
是否可以从两侧看到模型的脸?
它无法正常工作的原因是因为您的文件设置了这个双面标志:
<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。我已经为这个问题提交了一个错误。
要修复方向不正确的面,请将模型加载到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);
}
还有一个活生生的例子:http: //jsfiddle.net/r7Yq2/