人口几何系统:开始


10

我想和朋友一起开发类似Populous:The Beginning的游戏。但是我们无法确定他们在世界上使用了哪种类型的几何图形。

我们知道-所有瓷砖的尺寸都相同-所有瓷砖都是正方形

因此,它不能是二十面体,因为有三角形,也不能是标准球面几何体,因为不是所有的图块都具有相同的大小。

有人能帮我吗?


1
由于Uber的家伙现在正在创造我梦dream以求的游戏,即“行星歼灭”,因此他们也分享了解决问题的想法和技巧。Mavor的此博客文章确实很聪明:mavorsrants.com/2013/02/planetary-annihilation-engine.html
FlashFan 2013年

这是不是直接回答你的问题,但你可以在这里找到一些有用的信息:gamedev.stackexchange.com/questions/56231/...
DaleyPaley

我投票结束这个题为离题,因为这是关于特定游戏如何完成特定任务的。

Answers:


6

你看到的三角形很可能只是一个渲染系统的产品-一切,在最后,被分解成三角形的渲染。

我建议您这样做:在google(图片)中搜索“球体细分”。您将了解执行此操作的许多方法。您的游戏不需要按照与《 Populous:The Beginning》完全相同的方式进行细分(顺便说一句,这是我喜欢的一款很棒的游戏)。意味着,如果您不想的话,甚至不需要使用正方形瓷砖;您可以使用任何六边形,三角形,五边形,风筝之类的任意四边形,甚至是voronoi镶嵌(不规则的,非重复的多边形)。

在用于游戏逻辑的任何细分中,重要的是连通性,即,您的“网格”形成一个(有点)连接的图形以用于移动目的。

编辑:可能他们所做的有点像StarControl的混战-他们实际上有一个环绕的2D网格(x和y为模)。然后,当您查看球体时,一次只能看到一个半球,这样就可以绘制贴图而没有太多明显的变形。进一步放大,一切看起来都会很完美。


非正方形瓷砖的问题是纹理。创建纹理图像然后计算UV以将其映射到世界上真的很困难。如果我有正方形,那将尽可能简单。我知道,使用A *可以对每种类型的图块进行寻路。
FlashFan 2011年

球体的2D透视投影(在地球的世界地图上使用)的问题在于,当您获得正方形瓷砖时,也会变形:朝向极点的瓷砖越来越小。对您来说,更重要的是,轻松应对UV贴图的困难,或者确保您的图块出于游戏逻辑目的而分布均匀?如果您确实知道P:TB的用途,我很想知道。
工程师

我认为这两种方式对我来说都是不可能的...有一个P:TB的地图编辑器,您可以在其中启用网格。确实有一些正方形用作瓷砖。但是在P:TB上,奇怪的是,您可以看到整个星球,也可以看到一部分。之间没有任何关系。我认为他们可能会伪造它,因此最终它看起来只像Sphere。但是我不确定...
FlashFan 2011年

我只是在想。他们所做的可能大概有点像StarControl的混战-他们实际上有一个环绕的2D网格(x和y为模)。然后,当您查看球体时,一次只能看到一个半球,这样就可以绘制贴图而没有太多明显的变形。进一步放大,一切看起来都会很完美。
工程师

^^好吧,那我想这真是假货。观察整个行星时,行星完全是圆形的(没有丘陵),这一事实表明使用了正常的球体几何形状。我们可以看到它在这里:s.uvlist.net/l/y2008/09/53528.jpg
FlashFan

14

这里的问题是人口地图根本不是球体。它们是真实的投影平面,更类似于屏幕上操纵的扁平圆环,看起来像一个球体而不是实际球体。

例如:

  • 在人口引擎外部查看时,人口地图是正方形
  • 游戏中人口众多的地图明显发生扭曲,以通过从法线视图移至特写/顶视图来显示/隐藏曲率
  • 当查看高空地球仪时,地形会明显变形以确保球形外观
  • 一个人可以使用非欧几里得的几何图形在世界各地导航

在此处输入图片说明

该游戏是从3D第三人称视角进行操作的,摄像机的高度可变且能够旋转360°,从而使玩家能够快速穿越地球的地形,这实际上是真实的投影平面,而不是通常的球体;在没有战争迷雾的地图上,玩家可以随时查看对手在做什么。对3D加速的广泛支持使玩家能够以16位或32位颜色观看游戏。[10] 还显示了景观和实时结构的建立以及跟随者的运动。

另外,请注意此处:

在此处输入图片说明

如果总览是小行星的一半,那么为什么小地图显示的水要多得多?为什么水的纹理通过在边缘显示几乎侧面的视图而不能反映球体的真实比例?

另外,正如在其他问题的评论中所指出的那样,请注意此屏幕截图中的行星是完美的圆形:

在此处输入图片说明

如果它是一个真实的球体,我们将能够看到山丘和物体从行星边缘伸出来。例如,这是“行星歼灭”,看到树木和悬崖从地平线上伸出来:

在此处输入图片说明

相反,对于现代游戏,我建议对二十面体进行细分。您会在SO上发现许多有关如何使用自己选择的编程语言进行操作的问题

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.