六边形地图生成(1)——基础地形

看了大佬的六边形地图教程,跟着原教程敲了一遍代码,使用的引擎是unity,想把六边形地形的生成思路记录下来。

1.基础六边形网格

  基础网格很容易绘制,六个边缘点,一个中心点,如何在引擎中绘制动态网格网上一搜一大把,这里就不介绍了。
在这里插入图片描述

2.边缘扰动

  方方正正的网格看起来太拘束,利用一张噪声图或者其他方式给六边形的边缘点加一些微扰。
在这里插入图片描述

2.网格与网格的连接

  我们需要给每个六边形网格赋以不同的高度,如果直接对上面的六边形加上高度的会得到下图的结果。
在这里插入图片描述
  是不是很丑,所以,我们需要在不同的网格之间加上一个桥梁,如下。
在这里插入图片描述

2.网格的高度

  有了桥梁后,就可以对在这个基础上添加高度了。两个相邻网格之间高度如果相差不大,应该是可以通过的,所以可以把连接处变成一个阶梯。如下。
在这里插入图片描述
  两个相邻网格之间高度如果相差较大,只需简单的连接两个网格就可以了,如下。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pygame是一个开源的Python游戏开发库,它提供了丰富的功能和工具,使开发者能够创建各种类型的游戏。其中六边形地图是Pygame中非常常见的一种地图类型。 六边形地图是由一系列六边形组成的二维平面。每个六边形都有六个相邻的六边形,使得地图的连接具有很好的连续性和平滑性。因此,六边形地图常用于策略类游戏、角色扮演游戏以及地图展示等领域。 在Pygame中创建六边形地图可以通过一系列的计算和绘制操作来实现。首先,我们需要确定地图的大小以及六边形的尺寸和边长。然后,可以通过循环嵌套的方式来创建每个六边形,并为其设置合适的位置和颜色。 在绘制六边形地图时,我们可以使用Pygame的图形绘制函数,如pygame.draw.polygon()来绘制每个六边形的边框。同时,我们也可以使用pygame.draw.circle()函数来绘制六边形的中心点,以及pygame.draw.line()函数来绘制连接相邻六边形的边界线。 除了绘制地图,我们还可以为每个六边形赋予特定的属性,如地形类型、可通行性、资源等。这样,在游戏中我们可以根据六边形的属性来进行路径规划、单位移动以及资源采集等操作。 总的来说,Pygame提供了丰富的图形绘制和计算功能,可以很方便地创建和操作六边形地图。通过合理的设计和开发,我们可以实现各种各样的游戏场景,给玩家带来更加丰富多样的游戏体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值