Unity 2D重复世界

用户名

在Unity中实现无限滚动的世界的最佳方法是什么?我目前有一张地图,该地图分为4个不同的预制件,随着玩家移动并到达其中一个预制件的边缘,接下来应该出现的那部分地图将会存在。而且,当玩家离地图块足够远时,该块会突然消失,以节省计算资源。

我还考虑过让玩家看起来好像在移动,而是实际上在玩家周围移动世界。因此,播放器将停留在0x和0y处,但地图是移动的,而播放器只是在执行动画。

我觉得有更好的方法可以做到这一点。如果有人可以允许我介绍一些游戏开发人员的机密,我将不胜感激。

卡沙帕克

我为此使用了重复的坐标

public MapChunk GetChunk (int x, int y)
{
    x = (int)Mathf.Repeat(x, WorldSizeX);
    y = (int)Mathf.Repeat(y, WorldSizeY);
    //Then using map chunk map[x, y]
    if (map[x, y] == null)
    {
        //For example, you can create chunks lazy (only when calls)
        GameObject block = Instantiate(ChunkPrefab);
    }
    return map[x, y];
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章