Unity 六边形地图系列(一) 【笔记】: 创建一个六边形网格

本文深入探讨了在Unity中创建六边形地图的过程,包括内径与外径的关系、坐标的隔行偏移、坐标生成的逻辑以及为何采用三维坐标系统。通过分析,解释了二维与三维坐标在表示六边形方向上的差异,并介绍了世界坐标到格子坐标的转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文 https://catlikecoding.com/unity/tutorials/hex-map/part-1/

中文 http://gad.qq.com/program/translateview/7173811

请先阅读原文或者中文。


1.内径=外径 * 0.866025404f

根据勾股定理和六边形的特点,x= r * cos(30)

cos(30)应该是个除不尽的数,多个六边形拼接会产生裂缝吗?


2.x坐标的隔行偏移

  position.x = (x + z * 0.5f - z / 2) * (HexMetrics.innerRadius * 2f);

属于代码上的小技巧:

当z是偶数时, (x + z * 0.5f - z / 2) = x, 

当z是奇数时, (x + z * 0.5f - z / 2) = x + 0.5


3.坐标的生成

关键是如何理解

	public static HexCoordinates FromOffsetCoordinates (int x, int 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值