如何使用2d引擎创建3d效果 - AndEngine
我想创造像“扔纸”一样将球扔到远处的效果, 我明白球应该根据距离而变小, 但是有没有什么东西可以达到这种效果,或者它的名字是什么,所以我将搜索有关它的更多信息。
谢谢。
I want create the effect of throwing ball to distance like "paper toss",
I understand that the ball should be smaller according to the distance,
but is there something that do this effect or what is the name of this so i will search more info about it.
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
透视。在 3D 引擎中,这通常是通过称为投影的东西来实现的。
看起来很容易适应 AndEngine 来做到这一点: 3D Perspective教程。
Perspective. In a 3D engine this is typically achieved with something called a projection.
It looks like it's pretty easy to adapt AndEngine to do this: 3D Perspective Tutorial.
一种简单的方法是在精灵向后移动距离时对其进行缩放。只需将缩放属性视为 Z 深度即可。但要注意 Z 排序(当深度上的项目重叠时)。在像扔纸这样的简单游戏中,这不会成为问题。但例如,如果你的物体穿过一个环,你会发现它很难管理。
A simple approach is to scale the Sprite as it moves back in distance. Just treat the scale property as a Z depth. But beware of Z-sorting (when items in depth overlap). In a simple game like paper toss this will not be a problem. But for example, if your object passes through a hoop, you will find it gets hard to manage.
查看 OpenGL ES 中的 glTranslatef()、glScalef() 和 glRotatef() 函数,因为您将使用所有这些函数来获得您想要的效果。
您可能会在 gamedev.stackexchange.com 上获得更多答案。
Look into the glTranslatef(), glScalef() and glRotatef() functions in OpenGL ES as you'll be using all of these to get the effect you're looking for.
You may get more answers on gamedev.stackexchange.com.