我对通过点击它在画布上“挑选”(即选择)对象感兴趣。
更新
我有个主意。如果这个想法存在缺陷,请告诉我。 我有一个3D世界和一个相机对象 - 这意味着我有一个相机位置,外观矢量和向上矢量。
我的想法是:
通过3D世界“射击”矢量/射线(此向量基本上是摄像机的外观向量)。 然后我只是迭代我的所有3d对象并检查它是否与此光线/矢量相交并返回距离相机最近距离的对象。 我的碰撞检测暂时是一个简单的边界球体。 通过使用更复杂/准确的碰撞检测,我可以在以后变得更加复杂。
我看到的唯一差距是:
我不知道如何根据鼠标坐标创建光线/矢量。我可以在canvas元素上单击鼠标(X,Y)。但不确定如何将其转换为世界坐标中光线/矢量的起点。
对这种方法有何想法? 有关差距的任何想法都与我有关吗?