hareqj   ♂  喵他  
 编程让人生更优雅

Godot3D简单FPS射击游戏入门8--倍镜1

作者:多能豆
3D  单机游戏  第三人称RPG 
作为一款FPS游戏,最令人振奋的时刻莫过于使用狙击枪打开倍镜拉栓的那一瞬间
这次,我们来试着做“倍镜”


根据“循序渐进”的道理,我们先来做“机瞄”
得益于Godot强大的动画系统,我们可以十分方便地完成这项工作:
首先,添加一个“倍镜”(ker),使其作为gun的父节点


这样做的原因是:在之后我们可以直接移动倍镜,子节点gun也会跟着移动
大致是这样:


然后有请我们的主角AnimationPlayer:


点击它,跳转到动画编辑器窗口:


点击 动画 -> 新建




然后确定


确认是否为1秒(因为后续需要。当然,你改成其它的也没问题)


添加一个3D变换轨道


选择ker


把时间轴(蓝色的线)拖到0,然后在下方右键,添加一个关键帧




然后把时间轴拖到最后,然后在编辑器中移动ker的位置,将其移动到相机前面




插入关键帧




这样编辑器就可以自动补全两个关键帧之间的动画,来回拖动时间轴看一下效果吧


我们来添加代码控制这段动画:
打开player的脚本,转到_input()函数下,添加如下代码(我将鼠标右键命名为off)


这段代码首先检测off是否被按下(使用just的原因是:我们不希望这段动画持续触发)
如果按下,获取AnimationPlayer节点,然后用play()方法播放动画,参数如下:
(1)你要播放的动画的名称
(2)custom_blend意义暂未明确,暂时不用管
(3)播放速度
(4)是否可以倒放
(如果可以倒放,并且速度为负,则倒着播放动画)
所以这是以5倍速播放“新建动画”
接下来就会判断,off是否抬起,如果是,就以5倍速倒着播放“新建动画”


这样,一个简单地机瞄就完成了

[举报]  赞↑ [0 踩↓ [0
暂无评论
[声明]

初衷和宗旨:共同努力,推动Godot游戏引擎在国内的普及和发展.
1.本站所有内容皆为用户发布,如有涉嫌侵权请联系hareqj#163.com,告知内容右上角所在编号以及侵权证据.
2.禁止发布色情/暴恐/时政/商广/带网址或二维码水印/涉嫌隐私或未经授权的私人图片.
3.举报和投稿:hareqj#163.com

Godot中文社区QQ群
Copyright Godot中文社区 Godott.com All Rights Reserved.
京ICP备13032831号