有没有办法从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);
最佳答案
找到了解决方案。您必须使用objModel.userData.name属性设置名称。要在悬停时访问它,请使用intersects [0] .object.parent.name。希望这对以后的查询有所帮助。
关于javascript - 获取悬停时通过OBJLoader加载的对象模型的名称-Three.js,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39391017/