0
我有一個在攪拌器中創建UV映射的3D模型。我應用UV貼圖的方式是紋理僅應用於模型的一側。我輸出的模型爲obj
和mtl
。當我在three.js
上導入此模型時,它會按預期工作,並且加載程序會自動將mtl
文件中定義的圖像用作紋理。在three.js中更改obj模型材質
現在我想以編程方式在three.js
中更改此紋理。該模型有多種材質(我認爲這是因爲多面)。我如何重新應用維護UV貼圖的材質並更改所應用的紋理?我想申請map
和envMap
到模型。
var m = new THREE.MeshPhongMaterial({
envMap: cubemap,
reflectivity: 0.9
});
var m2 = new THREE.MeshPhongMaterial({
envMap: cubemap,
color: parseInt(material.color, 16),
reflectivity: 0.9,
map: THREE.ImageUtils.loadTexture('/textures/uv_checker large.png')
});
loadedMesh.material = [m,m,m,m,m,m2,m2,m2,m];
隨着一些試驗和錯誤後應用m
和m2
位置。紋理是應用的,但它不會像原始的一樣。 II有一些小的空白空間,甚至在我的UV貼圖上不應該有紋理的地方使用紋理。
我該如何解決這個問題?
我從來沒有使用OBJMTLLoader,因爲我以前有問題,我會用OBJLoader加載模型,然後單獨創建材質。 – 2pha