1.蓝图制作
1)创建蓝图项目
项目打开后会打开默认场景,可以使用默认的,也可以自己新建场景。
2)找到初学者资源包打开Content/StartConent/Props文件夹找到我们需要的门SM_Door
3) 添加碰撞体
作用是阻挡角色直接闯过门
最新版本的引擎自带的有碰撞,所以如果使用的是最新版此步跳过即可
4) 添加盒体触发器(Sphere Trigger)
调整适当大小
5) 设置移动性
选择门,把细节面板(Details)----变换(Transform)----移动性(Mobility)----改为,可移动(Moveable)
6)打开关卡蓝图
选择触发盒子,选择 蓝图(Blueprints)----打开关卡蓝图(Open Level Blueprint)
7)编写触发事件
打开关卡蓝图,写触发事件。
添加两个事件:
右键----触发盒子添加事件(Add Event for Trigger Box)----碰撞(Collision)----添加角色开始触发事件(Add On Actor Begin Overlap)、添加角色结束触发事件(Add On Actor End Overlap)
8) 给门添加旋转
到场景选中门,然后到关卡蓝图中给门添加旋转引用(Create a Reference to SM_Door)
9) 引出旋转节点(SetActorRotation)
通过这个旋转引用,引出旋转节点(SetActorRotation)。门的旋转是Z轴旋转,所以需要把旋转节点的Z轴数值修改为需要的数值,如:90度。
10) 添加时间轴(Timeline)
时间轴是让开门的过程更加自然。
双击打开时间轴,新建一个浮点型的轨迹(float)----右键添加两个关键帧(Add Key to CurveFloat)----分别设置关键帧的 时间、值,如:(0,0),(2,90)。
适当以缩放适合水平和竖直方向尺寸,来适应我们的视觉窗口。
点击第一个关键帧,添加一个自动曲线(Auto),作用是让开门过程由慢而快。
把时间轴的长度,设置为最后一个关键帧的时间长度。
11) 最后回到关卡蓝图把对应节点连接好即可
2.C++制作
1)首先创建一个C++项目,创建步骤类似蓝图,只是在选择的时候选择C++即可
2)代码
TE.H
// Fill out your copyrigh