本文主要是介绍类Minecraft方块游戏unity开发笔记5-天气系统(昼夜交替、天气),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
昼夜交替
实现白天、黑夜的交替,太阳、月亮的移动,主要通过skybox的旋转,skybox的交替。或者采用unistorm等插件实现。
天气系统(雨雪)
由于需要遮挡关系(树下淋不到雨),所以采用一种动态面片生成算法。
主要根据玩家所处的block,设定一个范围(xz)和高度(16),范围内的block根据heightmap判断最顶面开始玩上生成一个面片。
每个面片是一个贴图uv动画,方向朝向玩家,如图所示。
uv动画
每个block一个面片,一个单独uv动画,玩家移动到不同block,需重新计算所有面片。
每个block需单独记录其当前的uv起点,以便在玩家移动(包括上下)时,保持每个block的uv动画和之前的一致(没有突变)。此步骤注意根据高度计算uv值。面片朝向
采用固定值朝向,加快刷新速度。根据俯视图可以开出每个面片的朝向,只有两种:一种中间垂直,一种对角线。采用这样的简单的方式,可以快速计算面片顶点坐标。
这篇关于类Minecraft方块游戏unity开发笔记5-天气系统(昼夜交替、天气)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!