16
我有一個與three.js相關的webgl問題。我想附加一個對象的信息。例如,當我點擊某個對象時,我想要檢索與該對象相關的一些信息,如URL,然後使用該信息運行一個函數。使用three.js,我可以將信息附加到對象,如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是如何工作還不夠了解,或者不知道如何將任何信息綁定到對象以便稍後可以調用。
完美的過程中初始化或運行時
消氣!正是我在找什麼。 – JVE999
這樣做和簡單說'Mesh.myObject = {key:value}'有什麼區別嗎?''我認爲它基本上是一樣的東西不是? –
只有想到的區別和重要的區別是,克隆Object3D將保留userData屬性。 –