我有一个或多或少2D的游戏,但是用3D渲染。相机在2D游戏区域上方盘旋,从完全垂直方向倾斜约20度,为其提供一点3D视角。
我有一些需要渲染完美正方形的精灵,因为它们代表球形物体。我的第一种方法是在2D场上渲染四边形,使它们正确定位,但是精灵受到透视变形的影响并且它看起来并不总是圆形。
我目前的方法是渲染精灵时,我将摄像机移动到垂直于游戏区域(和精灵),这样可以保证四边形不会被视角扭曲。缺点是精灵的位置与相机倾斜时的位置略有不同。
那么,我怎样才能渲染出精灵:
答案 0 :(得分:10)
您可以使用始终面向相机的多边形来实现您想要的效果。这被称为“广告牌”。 Here is一个很好的教程,似乎解释了所涉及的数学以及如何使用OpenGL实现它
答案 1 :(得分:0)
按照建议垂直于相机绘制四边形,但将它们放置在场地上方稍微一点。上面的距离应该是球体的半径。
答案 2 :(得分:0)
你仍然可以使用点精灵...使用glPointParameter()你可以给它深度衰减。我目前正在使用0.00025来深度衰减我正在开发的粒子系统。在第一代机器(我假设你正在为iphone或ipod触摸这样做),你将被困在64x64像素的最大精灵尺寸