Javascript 三.js“;无法读取属性';设置';“未定义”的定义;遍历由';o';标签
我试图在运行时更新对象的颜色。在我将对象文件替换为.obj文件中有“o”标记的文件之前,一切都很顺利 现在,我在控制台中收到这个 这是我的密码Javascript 三.js“;无法读取属性';设置';“未定义”的定义;遍历由';o';标签,javascript,three.js,Javascript,Three.js,我试图在运行时更新对象的颜色。在我将对象文件替换为.obj文件中有“o”标记的文件之前,一切都很顺利 现在,我在控制台中收到这个 这是我的密码 var mtlLoader = new THREE.MTLLoader(); mtlLoader.setPath( 'obj/Nissan/' ); mtlLoader.load( 'nissan-gt-r-nismo-1.mtl', function( materials ) { materials.preload(); var o
var mtlLoader = new THREE.MTLLoader();
mtlLoader.setPath( 'obj/Nissan/' );
mtlLoader.load( 'nissan-gt-r-nismo-1.mtl', function( materials ) {
materials.preload();
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials( materials );
objLoader.setPath( 'obj/test/' );
objLoader.load( 'lol.obj', function( object ) {
object.scale.set(100,100,100);
object.traverse( function( child ) {
if ( child instanceof THREE.Mesh ) {
child.material.color.set(0xffffff); //this.
console.log(child.material.color); // also, this is returning 'undefined'
}
} );
scene.add( object );
});
});
另外,console.log
返回“undefined”,好像找不到材质的颜色属性一样
我做错了什么?
如何遍历“o”标记并找到material.color属性
编辑:
我能找到的关于对象材质的所有信息如下:
不,颜色属性。我应该如何找到它或遍历“o”标记来找到它?您可以查看
console.log(child.material)代码>并查看材质类型和其他属性。没有颜色属性。这就是我要问的,如何遍历“o”对象的子节点,以便找到color
属性。您在控制台日志中得到的是什么类型的材质?刚才在问题中提到过。希望有帮助@Prisoner849使用for
或forEach()
循环将有助于在材料阵列中运行。