UE4蓝图:自由控制Actor移动

之前一直是简单的输出,不免有些乏味,这篇开始就可以操作物体的移动.我们利用关卡蓝图让Box跟着我们的操作去动起来.首先我们创建好一个默认的关卡,然后拖动出一个Box.

这里写图片描述

然后我们在内容区域,右键点击Material,重命名后双击它.进入材质编辑器.

这里写图片描述

进入材质编辑器后,右键输入vector parameter,获得VectorParameter节点,进行如下设置用来改变Box的基础颜色.

这里写图片描述

白线连接后,保存.这就是所谓的材质编程.

这里写图片描述

我们可以在初学者内容找到材质文件夹,然后双击一个材质进去看看.
这里写图片描述

这里写图片描述

然后我们左键点击Box的一个面,然后点击Shift+B,用来选中所有的面.然后把刚刚通过材质编辑器编辑好的材质,拖动进去.

这里写图片描述

然后我们需要在这个Box的属性面板中去修改它.把它修改为静态网格物体.

这里写图片描述

还要把它设置为可移动的,因为默认是静态的话,还是不能被移动的.
这里写图片描述

然后我们就可以打开关卡蓝图去设置了.可以看到关卡蓝图中默认有两个事件节点,Event BeginPlay是指关卡运行起来的时候执行的节点,而Event Tick是指每帧调用的事件节点,一般来说每秒60帧是人眼最适合的帧数.Event Tick

这里写图片描述

我们可以利用Event Tick节点,定时每一秒输出一次.

这里写图片描述

编译后执行.

这里写图片描述

我们回到关卡中,左键选中Box,然后到关卡蓝图中右键,发现可以获得选中的Box的引用.

这里写图片描述

接下来从蓝点左键拖拽出去到空的地方释放,然后输出add actor local.获得AddActorLoaclRotation节点,它是根据当前的情况进行旋转.把X,Y,Z三个方向的数值设置为1,1,1.

这里写图片描述

可以看到这个Box在不停的旋转.

这里写图片描述

下面我们要自己按键去控制Box的移动.右键找到Input目录下,Keyboard Events,中找到Up,Down,Left,Right四个按键节点.分别对应键盘上的上下左右四个键.

这里写图片描述

然后四个方向键分别去连接一个移动Box的节点,修改好具体的偏移量.

这里写图片描述

编译后运行就可以发现每次按下一个方向键的时候,都会偏移一点距离,但是一直按住方向键,却不能一直移动,而只是移动一次.所以这样很麻烦,也很不友好.所以我们可以在帧事件中去判断,用户是否按下了某个键,然后去执行相应的节点.
关闭右上角的情景关联,输入is input key,获得Is Input Key Down节点,这个节点用于判断指定的键是否被按下.返回一个bool值.

这里写图片描述

然后我们输入get player control获得Get Player Control节点,用来获得控制器.然后连接节点.判断是否按下了Up键,如果按下了则向前移动.

这里写图片描述

然后我们可以复制这些节点.可以选中要复制的节点,然后把鼠标移动你要复制到的地方,按下Ctrl+W.就可以发现成功复制出来了.

完成四个节点,编译后执行,发现按下一个键后,可以一直执行某一个节点.

这里写图片描述

这里有个问题,当你通过Event Tick节点判断某个键是否被按下的时候,最好不要与已有的按键事件节点冲突.
当已经有按键N的事件时,再从Event Tick去执行按下N的节点.

这里写图片描述

可以发现先打印的是按键N的事件节点,然后才是Event Tick的帧事件节点.
这里写图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值