这周是ue4实习周,老师给我们的任务就是基于中学物理和化学实验的虚拟实验室,要有交互事件,后期可以链接vr手柄进行操作。
但是实习开始老师影都没了,全靠自己学习。感觉自己学习了不少东西,这里就来总结一下!顺便感叹一下,ue4好玩又强大!
以下主要介绍蓝图中的几种交互事件1.新建游戏角色并且进行角色行走旋转,2.如何控制物体移动旋转,3.如何控制物体材质动态变化
大家可以举一反三,作出更好的作品
1.新建游戏角色并且进行角色行走旋转
步骤
在刚刚新建的文件夹中鼠标右击新建蓝图类,然后分别创建以下:character,控制器,游戏模式。
在世界设置中,把GameMode··改成自己刚刚新建游戏模式的,Default Pawn··改成自己新建的character,Play Conroller 改成自己新建的控制器,如下:
接下来是对人物的行为做处理
首先打开,编辑->项目设置,如下:
然后进入输入的界面,对键盘添加事件,可以自定义,名字建议起的通俗易懂
接下来对这些键盘事件进行交互编程
双击进入人物,打开事件图表
先需要打开玩家人物,如图:选择玩家0(player0)
然后编辑如下事件:
最后别忘了把你的人物拖入场景中,不然是实现不了的 。
控制人物行走旋转部分就结束了,大家点击播放就可以用键盘控制了哦
2.如何控制物体移动和旋转
步骤:
在新建一个蓝图文件夹,在内容浏览器中点击鼠标右键,点击蓝图类,新建一个actor,如下:
actor可以绑定组件,通过对它进行移动旋转的控制
双击进入我们新建的actor,添加一个组件,通常是(static mash)静态网格体,选中要进行控制的静态网格体。比如我要控制这个镊子,然后在视口调整actor和镊子的相对位置,通常在中心。
然后打开事件图表设置事件:如图:觉得事件太多先往下看,我拆开讲解
单独讲一下,事件可以点击我们的物体,最右边编辑框下面直接添加:如图
对于时间轴,其实是控制事件执行的持续时间,比如:
首先点击左上角*f+*新建轨迹,然后加入关键帧。
这是一个从0-2s时间内,指从0-75的时间轴。
事件中的常用函数setRelativeLocation:设置点击后相对位置,setRelativeRotation:设置点击后相对旋转角度。
可以直接输入数值,也可以通过时间轴控制。
这里会遇到一个小问题,播放以后鼠标出不来,我们这时候需要更改一个设置,首先双击打开我们新建的控制器,然后勾选显示鼠标和允许鼠标点击事件。如图:
最后把这个新建的actor拖入场景进行播放观察,就如我的镊子就可以旋转位移到酒精灯的位置。
3.如何控制物体材质动态变化
如果我们要进行物体材质的动态改变,比如我们的木炭经过酒精灯的燃烧从黑色变为红色,只需要添加一个setMaterial函数
同样这里也可加时间轴控制材质在一定时间后变化。