如何動態更改我的.obj模型上的材質?我的每個模型都包含帶紋理的.obj,.mtl和.jpg文件。我應該改變.mtl文件嗎?動態更改.obj的.obj OBJMTLLoader
在下面的代碼中心我的.obj的每個子網格的幾何圖形,然後我嘗試給它紋理,但既沒有評論代碼也沒有loader.load不給它紋理。
var loader = new THREE.OBJMTLLoader();
loader.addEventListener('load', function (event) {
object = event.content;
for (var i = 0; i < object.children.length; i++) {
THREE.GeometryUtils.merge(geometry, object.children[i].geometry);
}
THREE.GeometryUtils.center(geometry);
//var materials = new THREE.ImageUtils.loadTexture("/obj/stol.mtl");
//mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(material));
var material = new THREE.MeshBasicMaterial({ color: 0xff0000 });
mesh = new THREE.Mesh(geometry, material);
mesh.scale.x = 0.25;
mesh.scale.y = 0.25;
mesh.scale.z = 0.25;
mesh.castShadow = true;
scene.add(mesh);
animate();
});
loader.load('/obj/stol.obj', '/obj/stol.mtl');
我希望有我的網頁上的onclick觸發質地改變一些按鈕,e.g
$(function(){
$('#txt_01').click(function(){
mesh.textureLoad("/obj/txt_01.mtl");
}
});
工作演示:http://www.edar.com.pl/test-3d-2/
我正在尋找一個提示沒有準備好的代碼,真的no1可以幫助我嗎? –