首页 > 解决方案 > 为什么使用具有无限世界创建的块(统一 C# 2d 自上而下)

问题描述

我正在制作一个 2D 顶级生存游戏,我有 Perlin-Noise 工作(我根据 Perlin-Noise 值加载不同的精灵)但现在我要在相机视图中生成“地板”并删除相机视图之外的“地板”。当我 google 或查看 YouTube 时,我只看到他们使用块的教程。

我的“地板”是由精灵组成的,我使用碰撞(例如,你不能在山上行走)

现在我想知道使用块是否有好处,因为在每个块中我都必须制作精灵。我的意思是我必须以任何一种方式制作/加载精灵。

所以,我可以:

1)我用例如 3x3 sprites 制作块并加载它们

2)我只是加载需要的精灵(你可以称它为 1x1 块)

我找不到 1) 的任何好处,但所有教程都使用块。所以也许我错过了什么

感谢您的时间 :)

标签: c#unity3dchunksperlin-noisetopdown

解决方案


我使用有限地图,但想法是相似的。我有一张地图,其中每个单元格的大小为 100*100 米。对于这些单元格中的每一个,我都存储了诸如土地形态(例如丘陵、高山、海洋)、生物群落(沙漠、雪地、森林)和天气之类的高级内容。

对于这些单元中的每一个,我可以使用插值和额外的噪声生成许多较小单元的地图。这些单元包含在同一块中从一个单元到另一个单元变化的信息。

使用大块还可以帮助提高地形的渲染性能,因为它们都可以共享相同的 3d 网格。高度编码在纹理中,着色器访问它。


推荐阅读