有没有办法从intersectObjects函数返回的数组中访问加载期间定义的对象模型的名称?由于某种原因,下面的代码是未定义的。
var objLoader = new THREE.OBJLoader();
objLoader.setPath('obj/');
objLoader.load('deadpool.obj', function(object){
objModel = object;
objModel.name = 'ObjectModel3D';
modelHasLoaded = true;
scene.add(objModel);
});
window.addEventListener('mousemove', function(eventTarget){
var intersects = checkIntersection(eventTarget);
if(intersects.length){
console.log(intersects[0].name);
}
}, false);
答案 0 :(得分:1)
找到解决方案。您必须使用 objModel.userData.name 属性设置名称。要在悬停时访问它,请使用 intersects [0] .object.parent.name 。希望这有助于未来的查询。