SumireHina Ri0n72Y Code Farmer, Idea/Trash Creator

UE5 学习笔记 - 尝试让角色做出一个可以触发其他实体事件的动作

» 开发

引语

选择UE5的原因:想玩。

在一份工作中基本克服了自己的3D恐惧症,为了尝试把自己逼到极限,决定直接去挑战一个大的,也顺便测试自己能不能挑战困难。

尽管一直以来给自己定超额的目标然后放弃已经成为了一种习惯,但这次仍然选择了超额的目标。真实死性不改。把这个作为自己最后一次对于生活的挑战,如果失败就老老实实搬砖,给自己设定了这样的死线。

这次有幸请到了很厉害的一个艺术家,所以尽量不想弃坑。

正片

使用UE5,选择了第三人称模板项目,慢慢摸索蓝图结合C++的开发模式。

目标定义

[ ] 让默认的角色做出一个新的动作 [x] 通过Interact键触发 [ ] 动作是一个trigger,可以触发所有实现了Interactable接口(挂载了Interactable组件)的Entity上面对应的事件(目标) [ ]Interactable 组件的蓝图 [ ]对应的trigger方法

模板的角色蓝图加载了基础的一些操作。参考对应的文档,在项目设置 -> 引擎 -> 输入选项卡中可以轻松新建一个操作映射,起名为Interact,添加了鼠标左键/F两种触发方法。这样就可以在蓝图里面找到 InputAction 操作 对应的红色块:触发操作后发生的事件。

物理与碰撞

一个基础的目标是,实现一个Pickable组件,挂载到任意有模型的实体上,可以让其被Picker拿起来。

当设置Pickable的对象浮空时,意外报错:无法设置碰撞,与物理模拟冲突。

解决方案:先关闭物理模拟,再去考虑设置碰撞方式即可,调换顺序的问题。