如何在2.5D透视图中渲染地形,例如在《不要挨饿》游戏中?


10

我在制作2D侧面滚动游戏(例如Terraria)方面有经验,但是现在我想挑战自己,制作一款具有2.5D视角的游戏。我要模仿的游戏是《不要挨饿》。现在,我的重点是弄清楚如何渲染地面。我很难弄清楚它们是如何生成地面,然后渲染地面的。我认为他们渲染地面的方式是,首先在某些绘画程序中对地面进行绘画,然后以某种方式处理该平面图像,使其看起来具有深度。

我对如何实际渲染这种类型的地形完全感到困惑。我希望地形具有以下特征:

任何提示和提示将不胜感激,在此先感谢您。

(我正在使用轻量级Java游戏库(LWJGL)在Java中工作。)

Answers:


34

我实际上是Do n't Starve开发人员之一(在我们的论坛上为Kevin)。我通常不处理渲染内容,但是我可以告诉您游戏是3D模式。地面只是带有特殊过渡件的常规2D瓷砖地图,以使拐角看起来更好。尽管过去我们曾讨论过这样做,但没有进行特殊的Deathspank式四舍五入。

游戏实体有两种类型:直立游戏和地面游戏。竖立的实体在广告牌的一半位置上,虽然并不完全,因为在摄影机角度下,这使它们看起来像是在放下。地面上的东西只是平地画在地面上。

这样产生的外观适用于较小的相机角度范围。如果过高,会直截了当地竖起东西。降低到更低的水平会更好一些,但是玩游戏太困难了,因为您看不到角色背后的事物或事物的任何东西。在这两个极端之间找到正确的权衡需要进行大量的试验。

无论如何,如果您对游戏背后的技术有任何其他疑问,请在klei论坛上对这些事情感到非常友好和热情:)



3

我不能肯定地说一个游戏是如何做到的,但是从视频来看,它看起来像是一个普通的3D游戏世界,它使用布告栏精灵作为游戏对象。类似的游戏包括一些Paper Mario游戏和Death Spank系列。

使用透视相机将地形渲染为3D。也许可以应用一些简单的顶点着色器来获得一些额外的“圆度”(Death Spank这样做的效果非常好,并且看起来“ Do n't Starve”可能具有非常柔和的相同效果;很难说)。

对于您的游戏对象,创建精灵,并将其渲染为始终面向相机(称为“广告牌”)。有很多关于如何在线实现广告牌的教程,例如http://www.lighthouse3d.com/opengl/billboarding/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.