unity开发记录-----Space Warrior(8)狙击枪的开镜

        上一期,我们为角色添加了一把狙击枪,而大多数fps游戏的狙击枪都是可以开镜的,所以这一期也要对角色的狙击枪添加开镜功能。

        在之前,我们对枪械武器添加了Gun脚本,这里将Gun脚本作为父类,派生出SniperRifle子类,作为我们将要为狙击步枪添加的脚本。

记得在派生类的Start()和Update()中为父类中的同名函数添加base.+函数名,防止其被子类函数中的同名函数覆盖。

在inputSystem中绑定开镜的inputAction,绑定为r键。

我们想要的效果是按一下开镜,再按一下关闭,所以新建一个布尔值,当inputAction触发之后,检查布尔值是否为true,若为false,执行开镜操作并将布尔值设为true,否则执行闭镜操作。

创建一段开镜动画,在动画末尾添加动画事件

开镜操作

添加一张瞄准镜内部的图片,命名为scope

在开镜时将图片的Active设置为True,并在摄像机的剔除遮罩中剔除weapon所在的层(我把狙击枪的layer设为了Weapon),并将视场角缩小以达到放大效果。

关镜动作时,触发动画的布尔值设为false,并关闭镜内贴图,还原摄像机的剔除遮罩以及视角

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值