1

我想写一个战略游戏,它的地图将被 3D 平铺。我已经阅读了一些关于 gamedev 的文章,但其中大多数都试图在 2D 空间中实现 3D。我想知道现在它是如何使用 3D 卡实现的。我想知道使用 Irrlich 是否会有点过头了(它有一个很好的高度图场景节点)。

在此先感谢,

4

2 回答 2

2

Kylotan 已经回答了大多数问题,我同意。

添加到它:

使用像 Irrlicht 这样的引擎并不过分,它实际上会让你的工作更轻松,因为它可以让你从关于 direct3d/opengl 使用的无聊和容易出错的标准任务中解脱出来。

区分游戏的内部世界表示和它的可视化通常很重要。仅仅因为游戏使用 3d 模型和 3d 地形并不意味着它使用相同的数据来表示游戏世界的内部表示。大多数情况下,简化模型位于下方。Kylotan 以一种方式排列,但您也可以拥有基于高度图的地形,其下方具有更简单的模型。一个 2d 数组,其中每个元素代表场景的一个瓦片及其游戏特定属性(哪种类型的单位可以进入该瓦片的矩阵、移动成本、可以建造建筑物等)。视觉地形可以完全脱离这些数据。

关于地形特征,OGRE 在灵活性、性能和视觉质量方面提供了比 Irrlicht 更好的地形实现。我不知道它是否与您的游戏相关。见http://www.ogre3d.org/forums/viewtopic.php?f=11&t=50674

于 2009-06-23T23:46:03.087 回答
1

3D 卡片与世界表示无关。“2D 空间中的 3D”观察是正确的,因为这基本上是大多数游戏正在做的事情。瓦片仍然可以像往常一样以相同的方式存储(即某种 2D 数组,可能细分为更易于管理的块),所有需要更改的只是每个瓦片的图形表示。它们可能不是位图,而是指 3D 模型,或者在地形的情况下是一种或多种材料。渲染与以往一样 - 对于屏幕上的每个图块,在给定位置绘制该图块的表示(无论它是什么)。3D 渲染将以 3 维而不是 2 维渲染图块,并且需要从模型空间到世界空间和相机空间的整个转换,但这适用于所有游戏,无论是否平铺。

对于这样的游戏来说,Irrlicht 肯定不是矫枉过正,尤其是如果您希望能够在您的瓷砖上渲染 3D 模型。编写自己的简单 3D 引擎并不难,但与免费提供的引擎相比,它付出了很多努力,但几乎没有好处。很难说它是否完全符合您的要求,因为您没有详细介绍任何细节,但一般来说,如果您打算使用 C++ 来制作游戏,像 Irrlicht 和 OGRE 这样的免费库是不错的选择。

于 2009-06-23T13:31:07.020 回答