Starcraft 2使用什么技术绘制地图?


9

我有一个在运行时按程序生成的地图,目前正在研究渲染该地图的方法。我对星际争霸2的外观很感兴趣,我想就它采用什么方法来实现它提出一些建议。其次,如果可能的话,我想看任何教程,文章甚至源代码示例。

我想提供一些主要建议,但也请提出其他可能对我有所帮助的建议。

  1. 可捕捉的图块-一张典型的星际飞船地图似乎由一组模型图块组成,人们可以将它们组合在一起以创建悬崖,坡道和其他高地地形。他们采用什么方法使它们看起来如此自然?我的意思是,很难发现重复。

  2. 地形纹理-地形纹理是如此变化,甚至是动态的(虫族蠕变)。用什么方法做到这一点?

谢谢。


关于#2,研究“纹理喷溅”。
乔治·达基特

Answers:


23

我认为部分原因可能是暴雪拥有大量惊人的纹理艺术家。但是,让我们稍微改一下这个问题:

我的预算有限,想制作一款实时战略游戏而又不明显叠加纹理。我该怎么做?

好问题!这是我要使用的一些大工具:

1)相当大的一组可互换瓷砖。假设您要在网格上使用64x64的纹理大小:制作八个64x64的纹理,其中任何一个都可以与其他任何纹理平铺,并且您有一个外观精美且具有多种变化的基于图块的游戏!

2)贴花或超大纹理。使用重复的纹理和少量的“污迹”或“污垢”或“磨损”覆盖纹理。在您的纹理上喷涂一些覆盖层。这些可以实时渲染,在这种情况下它们是贴花的,或者烤成巨大的纹理,在这种情况下,它称为巨型纹理。在这两种情况下,您都可以半随机地进行操作,并且仅需应用几个叠加层即可获得很多变化。

3)蝉瓷砖。请查看此内容,以详细了解其工作原理。总而言之,这是一种获取少量部分透明的平铺背景并使用它生成远不太明显的平铺背景的方法。

4)纹理喷溅。我将其保存为最后一个,因为它并不是要避免对单个纹理进行平铺,而是要无缝地组合多个纹理。但是,如果您可以设法在预算中获得一些额外的纹理,则这可能是至关重要的工具-实际上,我想说的是,如果您使用此纹理,则可能是您做错了什么。这对单个纹理类型的大块明显平铺的部分无济于事,但这是您要用来使各种纹理彼此看起来很好的方式。


对于那些感兴趣的人,星际争霸1使用此列表中的#1,星际争霸2使用#4。在两种情况下,这都是针对基本地形的。就SC1中的“古怪”而言,它们是#2(贴花,而不是大型纹理),而在SC2中,它们都是3D模型。-顺便说一句,使SC2地图看起来如此出色的原因是,大多数位置都具有两个相互不同程度喷溅的纹理,这为什么最终看起来更像蝉瓷砖。(直到现在我还不知道并计划使用它。)
DampeS8N 2012年

@ DampeS8N:实际上,SC1本身并没有做到#1。取而代之的是,它们只有一小块相互连接的图块,以及某些仅与某些其他图块组成的图块。地图编辑器具有一张表,其中包含哪些内容与哪些内容相匹配,因此,当您放置不与附近的内容相匹配的内容时,它会遍历其表格并将这些内容替换为与您所放置的内容相同的内容。递归地。
Nicol Bolas'4

@NicolBolas从技术上讲是正确的,但最基本的哲学是对接可互换的瓷砖。与此相关的是,我和我的朋友们过去经常看到我们可能在SC1编辑器中引起多少连锁翻转,这是连锁反应。
DampeS8N 2012年
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.