UC-武器系统刀

image

这是UC武器系统的类结构图,我不会每一种武器都讲,只会分析刀及CharGun实现,由于其它都是相似的。动画

UCWeapon是武器系统的根类,它不会作具体的事情,它只有两种行为,一种是BaseAction,另外一种是AltAction,要理解这两种Action,能够考虑枪。枪是一种既能够近战又能够远战的武器,射击就是BaseAction,用枪托砸人就是AltAction,这两种Action不可能同时出现,所以有blog

BaseActionInternal及AltActionInternal来控制,因此UCWeapon在Tick(Update)里就作一件事情,不断的检查玩家是否能够作出BaseAction及AltAction,事件

image

UCWeapon的BaseActionget

image

首先检查可否执行武器的BaseAction,若是能够获取武器的骨架系统播放Montage动画,而后执行PrivateBaseAction,设置BaseAction的时间长度,这里就着重谈一下为何要播放Montage,这时由于不一样的武器行动的时候,它们的动画是不一样的,刀攻击的时候得前进吧,枪攻击的时间得有一个枪口上仰的动画吧,但这些只有具体的子类才知道,UCWeapon是不会知道的it

对UCWeapon了解以后,就能够分析简单的武器刀了,io

image

当玩家左键刀攻击时,父类UCWeapon播放了刀的动画,有趣的事情就发生了,UCWeaonKinfe自己是不知道玩家攻击了这种事情的,但有趣的是刀在每一帧的Tick事件里去检查了刀的攻击动画是否有播放,bfc

image

若是有播放就说明攻击了,那这把刀真的能伤人吗?未必,刀伤人与刀没有半毛钱的关系,date

image

对着刀的模型图,就能看出来是从刀柄到BlageTop发处一条线,若是有碰到什么东西就认为是攻击到了,若是碰撞到了东西,且这个东西能转换为Bot怪,就通知Bot怪,你被攻击了,关于AI的之后会再讲;若是转换Bot怪失败就认为是碰到了墙,就会给它一个力,及一些毁坏,若是它支持物理效果就会看出来了im

image

刀的分析就结束了d3

相关文章
相关标签/搜索