Javascript 如何使用OBJ/MTL加载器在运行时更改材质
我无法在运行时更改材质我可以在MTLLoader加载网格/材质时更改材质Javascript 如何使用OBJ/MTL加载器在运行时更改材质,javascript,Javascript,我无法在运行时更改材质我可以在MTLLoader加载网格/材质时更改材质 objLoader.load( settings.OBJName + '.obj', function ( object ) { geodesic = object; // reference doesnt work outside the function object.traverse(function(node) {
objLoader.load( settings.OBJName + '.obj', function ( object ) {
geodesic = object; // reference doesnt work outside the function
object.traverse(function(node) {
//node.geometry.computeVertexNormals();
if(node.material !== undefined) { // przebieg po wszystkich obiektach MeshPhongMaterial
node.material.side = THREE.DoubleSide;
//console.log(node.material);
if(node.material.name == 'tubes') {
node.material.shading = THREE.FlatShading;
node.material.shininess = 20;
node.material.reflectivity = 0.5;
node.material.specular = new THREE.Color(0xffffff);
}
else if(node.material instanceof Array) // przebieg po tablicach obiektow MeshPhongMaterial
{
var arrayLen = node.material.length;
for(var i=0; i<arrayLen; i++) {
node.material[i].side = THREE.DoubleSide;
}
}
}
});
objLoader.load(settings.OBJName+'.obj',函数(对象){
测地线=对象;//引用在函数外不起作用
遍历对象(函数(节点){
//node.geometry.computeVertexNormals();
如果(node.material!==未定义){//przebieg po wszystkich obiektach MeshPhongMaterial
node.material.side=3.DoubleSide;
//console.log(节点.物料);
如果(node.material.name=='tubes'){
node.material.shading=3.FlatShading;
node.material.shinness=20;
node.material.reflective=0.5;
node.material.specular=新的三种颜色(0xffffff);
}
else if(node.material instanceof Array)//przebieg po tablicach obiektow MeshPhongMaterial
{
var arrayLen=node.material.length;
对于(var i=0;i