gpt4 book ai didi

three.js - 检测与 Sprite 相交的光线

转载 作者:行者123 更新时间:2023-12-04 15:46:44 24 4
gpt4 key购买 nike

在单击鼠标时,我会转换一条射线以查看单击与哪些对象相交。我有一堆可以使用的 Mesh 对象。但是,当我将 Sprite 添加到对象列表时,从未检测到该 Sprite。

1)应该检测 Sprite 吗?有什么东西使它们无法检测到吗?我需要做些什么才能使它们看起来“坚固”?
2)如果无法检测到 Sprite ,那么使它们可点击的最佳方法是什么?在它们周围添加隐形圆柱体?

这是一些适用于 Mesh 的部分代码。

var containerPosition = $container.position();
var vector = new THREE.Vector3(((event.clientX - containerPosition.left) / scene.WIDTH) * 2 - 1, - ((event.clientY - containerPosition.top) / scene.HEIGHT) * 2 + 1, 0.5);
new THREE.Projector().unprojectVector(vector, scene.camera);
var ray = new THREE.Ray(scene.camera.position, vector.subSelf(scene.camera.position).normalize());
var intersects = ray.intersectObjects(scene.solidObjects);
if (intersects.length > 0) {

最佳答案

好像intersectObject Raycaster 类中的方法仅配置为查找与 THREE.Particle 和 THREE.Mesh 的碰撞。查看当前的源代码:

https://github.com/mrdoob/three.js/blob/master/src/core/Raycaster.js

关于three.js - 检测与 Sprite 相交的光线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11511787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com