「关键词」:
感应 TriggerBox
自动门
碰撞 Collision
关卡蓝图 blueprint
事件
Prerequisite
- 添加碰撞-阻挡角色
编辑门模型 - 添加盒体简化碰撞 - 阻挡 - 添加感应装置 - 盒体触发器
「练习」自动开关门互动实现
- 核心知识点:
- “关卡蓝图”
- 编辑场景中的互动逻辑的“场所”
- 事件(开关门的时机)
- “关卡蓝图”
1. ThirdPerson 关卡地图 + 添加门
- 编辑门,添加碰撞
- props文件夹中双击 SM_Door 进入编辑界面,“Collision” → “添加盒体简化碰撞”
- 作用:使门真的是门,角色不会穿门而过,碰到门会被阻挡通行。
2. 添加感应盒子触发器
- 添加方法:直接拖拽 “模式-基本-盒体触发器”
- 作用:在感应范围内触发自动门开门,离开区域则自动关门。
3. 修改门 mobility 属性
- “静态” 改为 “可移动”
4. 编辑关卡蓝图,添加感应事件
- 选中 感应盒子,在关卡蓝图界面,添加
开 / 关
门事件 - 操作:右击 -> “为Trigger Box xxx 添加事件” -> “Collision” -> “添加 On Actor
Begin
/End
Overlap”
5. 加入操作实体,创建旋转动作
- 感应之后,开关的对象是门,动效的实体是门,
- 具体:右击 -> “创建一个到 SM_Door 的引用”
- 给 target 门创建 setActorRotation 动作
- 具体:3D中,Z轴进行变动 85
- 「小试牛刀」连接开门事件与设置好的旋转动作,体验开门效果。
6. 添加时间轴,增加 开 / 关 动作真实度
- 右击 -> 搜索 "添加时间轴"
- 双击时间轴窗体,打开设置界面,“添加浮点型轨迹”(函数的图标)
- 添加关键帧,例如 2s内开门,0s时添加一个,数值为0,2s时添加一个,数值为85,
- 要点:上方的length,默认为 5.00,需要改为你设置的开门时间,例如 2.00
- 原因:关门时是使用这个时间轴的 reverse
- 要点:上方的length,默认为 5.00,需要改为你设置的开门时间,例如 2.00
- 右击添加的关键帧,选中 “Auto 自动切线”
- 作用:曲线过渡更平滑,使开关门动作更加流畅。
- 添加关键帧,例如 2s内开门,0s时添加一个,数值为0,2s时添加一个,数值为85,