类Minecraft方块游戏unity开发笔记5-天气系统(昼夜交替、天气)

昼夜交替

实现白天、黑夜的交替,太阳、月亮的移动,主要通过skybox的旋转,skybox的交替。或者采用unistorm等插件实现。

天气系统(雨雪)

由于需要遮挡关系(树下淋不到雨),所以采用一种动态面片生成算法。
主要根据玩家所处的block,设定一个范围(xz)和高度(16),范围内的block根据heightmap判断最顶面开始玩上生成一个面片。
每个面片是一个贴图uv动画,方向朝向玩家,如图所示。
这里写图片描述
这里写图片描述

  • uv动画
    每个block一个面片,一个单独uv动画,玩家移动到不同block,需重新计算所有面片。
    每个block需单独记录其当前的uv起点,以便在玩家移动(包括上下)时,保持每个block的uv动画和之前的一致(没有突变)。此步骤注意根据高度计算uv值。

  • 面片朝向
    采用固定值朝向,加快刷新速度。根据俯视图可以开出每个面片的朝向,只有两种:一种中间垂直,一种对角线。采用这样的简单的方式,可以快速计算面片顶点坐标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值