写在前面
本项目同步上传于coding上,国内读者可以通过在coding下载项目。
也欢迎你加入我的UE4学习交流QQ群:872537977。如果你喜欢我写的文章,也希望你点赞、收藏、转发。谢谢!
如果你喜欢我写的文章,也希望你点赞、收藏、转发。谢谢!
如果你想参与到这个项目的开发中来,唯一的要求是像我一样编写开发日志让更多的人看到并学习。
coding地址:https://git.dev.tencent.com/JeremyBrett/uRPG.git
上一期中,我们分享了之所以要制作体素地形游戏的心路历程,以及这中间的一些思考。这一期我们就来开始着手实现。今天来完成第一步,制作一个可以无限生成的地形。
需求分析
无限生成的地形,实现的原理就是根据玩家操纵的角色所在的位置,动态的对周围的chunk做增减。加载的过程就是把数据生成为对应的actor,而卸载的过程,就是反过来,将生成的actor 干掉的同时将数据缓存下来以便之后再生成。因此,游戏中的所有内容应该都是基于三维网格的(至少我目前是这么理解的)。
相关函数
我们将相关的代码先写在Bp_PlayerController中,这部分包括了四个函数,分别是Initialize、updatePosition、AddChunk和RemoveChunks,我们先介绍一下如何将这个四个函数添加在事件图标中。很好理解。Initialize函数负责初始化变量,所以只需要在BeiginPlay时候调用一次。而其他三个函数需要无时无刻不进行调用。所以放在tick事件中每帧调用。
事件图标<