正確顯示導入COLLADA模型導入three.js所後,一些模型的面孔都只是從模型內從外部可見和不。COLLADA模型面臨不three.js所
我該如何解決有問題的面部問題?
是否可以從兩側看到模型的面部?
正確顯示導入COLLADA模型導入three.js所後,一些模型的面孔都只是從模型內從外部可見和不。COLLADA模型面臨不three.js所
我該如何解決有問題的面部問題?
是否可以從兩側看到模型的面部?
要解決的面取向不正確,載入模型到像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/
噢,謝謝! – user1565123 2012-08-04 01:56:02
顯然它已在r50中發生了變化:現在應該在材質上設置:material.side = THREE.DoubleSide; (花了我一會兒才知道!) – Damien 2012-08-23 12:11:45
它不能正常工作的原因是因爲你的文件有這個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的問題。
嗯,太好了,謝謝! – user1565123 2012-08-04 01:51:06
你可以把你的代碼放在jsfiddle而不是rar嗎? – jterrace 2012-08-02 02:08:29
@jterrace http://jsfiddle.net/cvj157/AdLc9/8/這是我的源代碼,但它不能運行,我不知道如何將資源添加到jsfiddle。原始模型圖像可以從http ://images.cnblogs.com/cnblogs_com/e-life/401048/r_original.JPG 和表示圖像的COLLADA是http://images.cnblogs.com/cnblogs_com/e-life/401048/r_showing.JPG – user1565123 2012-08-02 03:35:23
這看起來更像是一個正常問題。您是否檢查以確保該圓柱面上的法線不會翻轉? – Nimphious 2012-08-02 16:05:34