1
Я хочу получить имя объекта, на который я нажал. Модель загружается в сцену с помощью ColladaLoader.js. Моя проблема: я просто получаю объект THREE.Mesh, но мне нужен объект THREE.Object3D, потому что Mesh не содержит имя.Three.js raycast THREE.Object3D
Если я использую следующий код:
scene.traverse (function (object){
console.log(object);
});
я получаю:
THREE.Object3D {uuid: "085928DC-5493-4C57-B142-51D2A95F27B6", name: "Schraube_M4x16_002", type: "Object3D", parent: THREE.Object3D, children: Array[1]…}
THREE.Mesh {uuid: "1AD3D989-CEB7-4B89-BE88-6D58C1C24AD6", name: "", type: "Mesh", parent: THREE.Object3D, children: Array[0]…}
Object3D имеет имя сетки нет. Но Raycast только возвращает сетки. Как это исправить?
Добавить имя в свою сетку. – gaitat
Но как назначить имена collada для каждой сетки. Моя модель Collada содержит много детей. – Servus7
Если вы пересечете дерево из своей сетки, вы попадете в Object3D. В противном случае вам придется изменить ColladaLoader. – gaitat