如何检测触摸了哪个3d对象?

时间:2011-02-18 10:47:32

标签: android opengl-es

假设我在视口中可见的3个随机位置/旋转立方体。我希望能够检测在触摸(或点击模拟器)特定立方体时是否触摸了哪个立方体。如果我只是触摸空白而不是立方体,也应该正确检测到它。我知道有一个onTouchEvent回调你覆盖了View,但这只给出了触摸发生位置的x,y坐标。我正在寻找基于OpenGL-ES的解决方案,更具体地说是基于Java的Android应用程序。

2 个答案:

答案 0 :(得分:2)

这可能是x / y坐标上的几个对象(或没有对象)。您应该找到所有这些,然后如果有的话,检查z坐标以查看哪一个最接近视口(以及那个被触摸的那个)。

答案 1 :(得分:0)

经常想知道没有glSelect()的最佳方法...这个答案看起来不错:iPhone OpenGL ES - How to Pick

(你可以忽略这是一个iOS问题......两个平台AFAIK上的OpenGL ES API是相同的。)