欢迎光临散文网 会员登陆 & 注册

六边形网格地形系统(下)

2022-12-14 15:51 作者:独立游戏人-老雷  | 我要投稿

前言

今天给大家分享的是六边形网格地形系统的原理和技术实现。大家如果听过我们前面课程的话,会知道之前我还讲过一个四边形的网格地形系统。今天的六边形网格地形系统属于另外一种网格地形系统,是很多策略或战旗类游戏当中非常常用的一种

版权声明

  • 本文为“优梦创客”原创文章,您可以自由转载,但必须加入完整的版权声明

  • 更多学习资源请加QQ:1517069595或WX:alice17173获取(企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)

  • 点赞、关注、分享可免费获得配套学习资源

  • 点击观看完整视频

Step 4:让鼠标位置和选中的格子匹配


  • 由于六边形网格在横向和纵向上都进行了偏移,因此无法像四边形网格一样简单的计算鼠标坐标(3D World)和格子坐标的对应关系

  • 这也是网格系统的难点所在

原理图


代码实现


  • 首先通过前面这段代码,取得鼠标的位置

  • x坐标和z坐标构成一个roughXZ的一个变量,然后再去判断当前是奇数行还是偶数



  • roughXZ是鼠标当前所在的那个格子,然后通过下面这段代码去遍历所有的周围的六个格子,取得周围六个格子在世界空间当中的一个中心点坐标

  • 计算鼠标位置跟六个格子的中心点的距离。如果它的距离是小于当前我记录的,鼠标中心点靠某个格子的最小距离,那就说明我的格子是在六边形上面的

完整代码

  • 如果你有基础,想要去完整的体验六边形网格系统,大家可以加一下文末Alice老师,然后加入到干货训练营里面的六边形网格系统课程

  • 如果你想要开发一款游戏,但是没有基础或者想要系统的学习一个大型的网络游戏的制作,那么你可以去参考,我们的Unity全栈开发课程

  • 策略类游戏、回合制游戏怎样实现联机对战的联机游玩呢?老师都会在主层进阶课程里面教给大家


如何开发一款4X类型的游

  • 关于网格系统的实践部分我们就讲完了,但是并不代表我们已经完整的去实现了六边形网格系统

  • 后续还有一些需要去完善的内容:

  • 六边形网格的自动寻路

  • 回合制游戏的战斗系统

  • 策略游戏的游戏框架设计(数据/逻辑/UI)

  • 资源管理、热更新、输入控制、性能优化


写在最后

  • 本文为“优梦创客”原创文章,您可以自由转载,但必须加入完整的版权声明

  • 更多学习资源请加QQ:1517069595或WX:alice17173获取(企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)

  • 点赞、关注、分享可免费获得配套学习资源


六边形网格地形系统(下)的评论 (共 条)

分享到微博请遵守国家法律