实现六边形网格

本文介绍如何在Unity中实现六边形网格的绘制。内容包括使用顶点数绘制六边形到Mesh上,仅用一个网格和材质。当点击地图上的六边形时,该六边形会变为红色。主要涉及三个类:SixangleDatas提供六边形的行列数据,Sixangle存储六边形坐标、半径和状态,Demo根据数据创建并更新六边形的顶点和颜色。文章提供源码下载和详细步骤,分为三部分讲解。
摘要由CSDN通过智能技术生成

打开1场景,运行就可以看到效果。
这里写图片描述

所有的六边行都都是通过顶点数绘制到Mesh上的。只用了一个网格,一个材质。点击地图上的某个六边形时,将这个六边形的颜色设置为红色,之后再重写根据所有六边行的顶点数和颜色绘制Mesh网格。

代码比较简单,三个文件
SixangleDatas :提供六边形行列的数据
Sixangle :传入六边形坐标,外半径,状态。 vertices 存储六边形的顶点数,colors存储六边行的颜色。
Demo:根据 SixangleDatas的数据,创建所有的Sixangle,然后添加每个Sixangle的顶点数,颜色。最后把添加好的顶点数,颜色赋给Mesh网格的vertices(顶点数)、colors(颜色)。

Demo中有update一直检测玩家屏幕的点击。点击网格上的某个点时,判断点击的是某个六边形,之后将六边行状态设置为选中状态。这个六边形就会变成红色。

源码地址 :链接: https://pan.baidu.com/s/1ciuM4I 密码: c6fj

原文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值