球形terrain有很多实现方法。我使用的是由六个正方形扭曲出来的部分组成的球体,这样uv利用率比较平均,而且算法上比较好实现。

最简单的把box变成sphere的方法就是使劲光滑细分
因为获得的mesh顶点需要迭代,为了方便处理,我直接cache了一份 1024*1024 的扭曲后的segment点。大小是12mb。实时计算应该也是可以的,不过最近比较忙实在没时间细扣。


加入了四叉树管理的sphere terrain
然后地形高度也是跟其他地形系统一样用高度图控制。理论上只存一个维度的float坐标就可以了。 我为了省事直接用了 unity 的 Texture2D。 实际上自己存个Raw 文件就可以。


高度图