相关疑难解决方法(0)

检测与精灵相交的光线

在鼠标单击时,我投影光线以查看哪些对象与点击相交.我有一堆Mesh对象可以使用.但是,当我将Sprite添加到对象列表时,从未检测到Sprite.

1)应该检测精灵吗?有什么东西让它们无法被发现吗?我需要做些什么来使它们看起来"稳固"吗?2)如果无法检测到Sprites,那么使它们可点击的最佳方法是什么?在他们周围添加隐形圆筒?

这是一些适用于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) {
Run Code Online (Sandbox Code Playgroud)

three.js

6
推荐指数
1
解决办法
1418
查看次数

标签 统计

three.js ×1