unreal-教程-第四章:输入拦截与对象控制
输入拦截与对象控制1. 输入拦截
1.1 拦截配置1.2 指定对象拦截输入1.3 实现W,S键控制Cube沿Y轴的运动
2. 问题与分析
2.1 两个蓝图分别调用InputAxis MoveForward,只有一个有效2.2 如何动态的(在蓝图)允许对象接受输入2.3 怎么将Vector转化成三个float数据
1. 输入拦截
来自键盘的信号会被计算机程序拦截。UE的底层逻辑自动完成了这一操作,我们可以直接
获取到拦截的键盘输入。1.1 拦截配置
Unreal的有些地方是挺扯淡的,它是配置文件+代码,也就是说有的东西你需要手动的
添加,这点用起来比起Unity还是差异略大
这里默认提供了几种Axis的映射,包括MoveForward和MoveRight,我们展开来可以看见:
默认当前输入为0,当我们按下w时,该轴值会逐渐累加至1,按下s时会逐渐下降到-1.
1.2 指定对象拦截输入
在游戏中的所有GameObject并不都可以拦截输入,我们需要指定该GameObject支持
输入拦截:
此时我们的Move对象可以拦截到输入信号
此时的轴值:
1.3 实现W,S键控制Cube沿Y轴的运动
可以自行调试,我是成功了的,加油!
2. 问题与分析
2.1 两个蓝图分别调用InputAxis MoveForward,只有一个有效
在该版本中,我们存在一个ThirdPersonCharacter(tpc)的蓝图和Move对象的蓝图
在tpc中,接收来来自MoveForward的信号,同样在move对象中,我们也久守了MoveForward的信号
但是在场景运行中我们发现:
这是什么原因呢?
我们在TPC中打印来自MoveForawrd的信息
结果如下
至于为什么,这个我也不知道,有知道的同学可以在评论区解释下奥
2.2 如何动态的(在蓝图)允许对象接受输入
2.3 怎么将Vector转化成三个float数据
在这里插入图片描述
页:
[1]