【发布时间】:2015-06-02 18:47:37
【问题描述】:
我有一组圆形几何元素,它们位于二十面体元素的顶点上。我想使用 jQuery 在每个单独的圆形元素上执行单击事件。那么如何在这些元素上实现jQuery点击事件..
建议我做一些好的参考。
【问题讨论】:
标签: javascript three.js
我有一组圆形几何元素,它们位于二十面体元素的顶点上。我想使用 jQuery 在每个单独的圆形元素上执行单击事件。那么如何在这些元素上实现jQuery点击事件..
建议我做一些好的参考。
【问题讨论】:
标签: javascript three.js
使用光线投射方法。基本机制是这样的: (三个修订版 70 和 javascript vanila)
1) 设置目标
var targets = [],
// When defining your 3d objects, use the push method
// to select the meshes you want to intersect.
// targets.push(objectMesh);
2) 设置光线投射器
var raycaster = new THREE.Raycaster(),
mouse = new THREE.Vector2(),
intersects;
3) 相交目标
searchTarget(event){
mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
mouse.y = - (event.clientY / window.innerHeight) * 2 + 1;
raycaster.setFromCamera(mouse, camera);
intersects = raycaster.intersectObjects(targets);
if (intersects.length > 0){
// Use the intersected objects:
// intersects[0] represents the foremost object that was hovered
}
}
4) 设置监听器
renderer.domElement.addEventListener('mousemove', searchTarget, false);
你也可以使用 jQuery:$( "#canvas" ).mousemove( searchTarget );
【讨论】: