在统一3d的地形流

时间:2014-07-26 17:56:37

标签: unity3d streaming terrain

我正在制作一个开放的世界游戏,我想知道是否有一种方法可以进行地形流式传输(仅在玩家接近地形时将地形加载到mamory中)而不使用LoadLevelAdditiveAsync函数。我正在使用免费版本,所以我无法使用此功能。

2 个答案:

答案 0 :(得分:0)

你可以做到,并且有不同的方法来做到这一点。我认为最简单的方法(但绝对不是最友好的)可以在一个场景中用多个小地形定义你的整个关卡,使用TerrainStitcher工具来处理接缝。然后,您可以将每个地形下的所有对象都设置为单个转换,并使用Instantiate在运行时(在另一个场景中)创建/销毁它们。有些工具可以进一步采用这种方法,例如this one

但请记住,一般来说Unity中的大地形不是内存友好的,会降低你的性能。当使用无尽的地形时,你不关心在运行之前定义地形,你可以重复使用一些地形物体并简单地重新定位它们,但是如果你先设计它们,那么你可以做的不仅仅是降低Pixel Error等地形设置,限制细节和草。

答案 1 :(得分:0)

只要您的地形很好地拼凑在一起,您就可以在运行时始终实例化地形预制件。

根据您的熟练程度,您还可以在运行时以程序方式创建地形。