Unity 中使用 Gizmos 编辑数组地图的一点思路

       现在在做战棋类游戏,用的是四边形格子,我们的美术喜欢捣鼓一些稀奇古怪的形状的场景物件,所以物件所占用的格子数量也得稀奇古怪。为了方便把格子数据和对应模型绑定,花了两天通过 Gizmos 写了两个工具类。

       其中一个,把物件所占格子数据以 Vector2int 的列表形式保存在模型对应的prefab上,在模型临时建立子物体挂载其中一个工具类,用作铺设参考格子,并且拖拽子物体调整格子信息。

       另一个也是把工具类挂载在地图的子节点下,这个地图只是我在场景中创建的一个空节点,把地图以 int 的二维数组形式保存在文本当中,然后同样是拖拽子物体调整格子信息,目前我只在这里保存格子的高度。另外,之前制作的物件的 prefab 要使用的话也拖动到这个节点之下,就可以看到物件在地图中对应的占用格子了。

       然后,今天遇到问题。因为我的场景物件可能随戏进程进行移动,所以我希望把物件对应的数组坐标以 Vector2Int 的形式保存在物件当中,当我还想场景中,用 OnGizmosDraw 中把这个信息保存在物体上是发现是不可以的。是的,这个行为真的非常愚蠢,等于是一个自杀行为。和之前的物件占用格子信息对比后发现,之前的列表能保存是因为编辑的是 prefab ,现在编辑的是场景,把地图空节点拖拽成一个 prefab 之后就正常保存下 数组坐标了。

      另外路过的大佬能不能解个惑,Gizmos 编辑 Prefab 的这种方式可不可取,是不是有什么其他更合理的方法对照模型编辑地图,c某不才只能想到这个办法。虽然是个小问题,还望有路过的大佬不吝赐教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值