我的理解是触摸事件导致一条线,我必须找到它与之相交的第一个“东西”.
有没有关于如何做到这一点的教程?
解决方法 如果您正在进行2D到3D拾取,则需要稍微调整矩阵和向量. OpenGL ES 1.1不存在glunproject,所以你必须自己做一些数学运算.射线 – 物体交叉是一种可行的方式.蒂姆斯姆斯的回答已经涵盖了其中的一部分,但还有更多.想法是从2D坐标创建射线到3D.为此需要视图矩阵和投影矩阵的逆.一旦你有射线,你可以使用你选择的射线相交测试,当然你需要选择最接近的对象,如Timmmm的点4.边界球和边界框很容易实现,互联网上有很多交叉测试教程.
This picking tutorial适用于DirectX,但您可能会理解.射线构造部分是最重要的.
编辑
AndroID实现了它自己的gluUnproject版本.它可用于创建射线,通过调用近距离和远距离平面(0和1)并从远距离平面结果中减去近平面结果来获得射线的方向. Ray起源是视图位置.更多here.
以上是内存溢出为你收集整理的android – 如何从屏幕确定3D空间中的触摸内容?全部内容,希望文章能够帮你解决android – 如何从屏幕确定3D空间中的触摸内容?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)