UC-武器系统刀

image

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

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

BaseActionInternal及AltActionInternal来控制,所以UCWeapon在Tick(Update)里就做一件事情,不断的检查玩家是否可以做出BaseAction及AltAction,

image

UCWeapon的BaseAction

image

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

对UCWeapon了解之后,就可以分析简单的武器刀了,

image

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

image

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

image

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

image

刀的分析就结束了

转载于:https://www.cnblogs.com/BlankEye/p/4248300.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值