使用RayCasting进行2D游戏

时间:2011-07-25 20:06:43

标签: android opengl-es 2d ontouchevent raycasting

在我的一个earlier questions中,我询问了OpenGL中的onTouchEvents。我的想法是创建一个简单的应用程序,在您按下屏幕时绘制一个正方形。过了一会儿,我推出了一个应用程序,按照应有的方式完成所有操作,但是方块没有重绘,它只是从屏幕上消失了。

我被告知要解决这个问题,我需要从2D视角将光线发送到OpenGL的3D环境中,但对于我的生活,我无法理解为什么,因为当我读到光线投影时,它似乎主要用于照明效果。什么是光线投射?当我需要在正方形位置改变时,为什么我需要z轴才是x轴和y轴,无论触摸的深度是什么,都能从中找到坐标?

1 个答案:

答案 0 :(得分:1)

您需要将光线从视图发送到屏幕,以了解世界在哪里绘制您的方块。虽然这涉及投射光线,但它不是光线投射作为渲染技术。除非你正在使用ortho,甚至在某种程度上,需要完成从屏幕转换到世界或世界到屏幕的数学运算,以便为原语找到正确的点。