unity 利用2d toolkit 实现按帧改变碰撞监测范围

自己在做动作类游戏的时候,碰到一个问题,在攻击的时候按帧播放,每一帧的攻击范围都是不同的,怎样才能实现每帧都能够检测图片对应的碰撞范围?

在网上找了很多资料,有好几种解决方案,其中包括射线检测等方法,虽然这些方法代码实现方便而且效率比较高,但是检测不够精确,而且局限性较大。


2d toolkit有很强大的功能,但是网上资料太少了,我也没找到这样的帖子来实现按帧改变碰撞监测范围。


创建一个Sprite With Animation,该物体包含Mesh Filter、Mesh Renderer、Mesh Collider、Tk 2d Sprite、Tk 2d Sprite Animator等组件。其中Mesh Collider是网格碰撞器,Tk 2d Sprite和Tk 2d Sprite Animator是2d toolkit的类,分别控制一个Clip(包含一定数量的图片)管理类和众多Clip组成的管理类。


控制一个动画的流程:

在Sprite Collection中为每帧图片绘制碰撞体积的后,然后添加到Sprite Animation中组成一个Clip,并在Tk 2d Sprite、Tk 2d Sprite Animator中选择它们。

用过2d toolkit的人应该都知道上面的流程,但是你会很奇怪在Inspector界面调节Tk 2d Sprite中的Sprite选项时Scene窗口的碰撞范围会改变,而在程序运行的时候并没有随着Sprite的切换而切换对应的碰撞范围,它只停留在初始Sprite的碰撞范围。


这个问题困扰了我很久,我也是刚接触unity,并不怎么搞。

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值