Çalışmakta olan bir nesne dosyasında OBJLoader ile yüklenen her nesneye harita atamaya çalışıyorum. Sorun şu ki, başka bir haritayı o dosyadan sadece bir nesneye atamaya ve geri kalanını bir önceki haritayla tutmaya çalışıyorum. Her nesne için haritayı değiştirir. ben sadece object.children için travers koşmak bileThree.js Haritası atama object.children [0] tüm nesnenin haritasını değiştirir
function loadOBJ(geometry, name) {
loader.load(geometry, function(object){
object.traverse(function (child) {
if (child instanceof THREE.Mesh) {
child.material.map = map;
child.material.envMap = textureCube;
child.castShadow = true;
child.receiveShadow = true;
child.material.needsUpdate = true;
}
});
object.children[0].material.map = new THREE.TextureLoader().load("img/ground.jpg");
object.name = name;
scene.add(object);
console.log(object.name);
}); }
[0] ve orada haritayı atamak, sonuç aynıdır. Neyi yanlış yapıyorum?
sayesinde. Sadece kendi neslimin kendi malzemesine sahip olduğunu düşündüm ve malzemeye sahip olduğumu ve onu nesneye atadığımı düşünmedim. – Ryder