我有一个与three.js 相关的webgl 问题。我想将信息附加到一个对象。例如,当我单击一个对象时,我想检索一些与该对象相关的信息,例如 URL,然后使用该信息运行一个函数。
我用于查找对象的代码是:
var vector = new THREE.Vector3((event.clientX / window.innerWidth) * 2 - 1, -(event.clientY / window.innerHeight) * 2 + 1, 0.5);
projector.unprojectVector(vector, camera);
var raycaster = new THREE.Raycaster(camera.position, vector.sub(camera.position).normalize());
var intersects = raycaster.intersectObjects(objects);
intersects[0].object.material.color.setHex(Math.random() * 0xffffff);
最后一行是我当前操作对象的方式。数组objects
只是所有对象的数组。问题是我对 Raycaster 或 intersectObjects 的工作原理知之甚少,或者我对如何将任何信息与对象联系起来以便以后可以调用它的了解不够。