拾取枪功能
-
当角色碰撞到枪后,会触发
事件Actor开始重叠事件,在事件中可以拿到与当前对象发生碰撞的那个Actor -
OtherActor只是Actor这个类型,我们要拿到Player_BP这个类型就需要强制转换,要通过类型转换为Player_BP这个节点转换 -
在通过
Actor附加到组件中
实现
进入 Gun_BP 也就是枪支蓝图中,右键空白处添加 事件Actor开始重叠 事件节点

从 Other Actor 拖线到空白处,添加 类型转换为Player_BP 节点

从 As Player BP 拖线到空白处,检索添加 获取骨骼网格体

应当搜索获取的骨骼网格体命名,例如我的玩家 骨骼网格体 命名为 Skeletal Mesh 所以检索 获取 Skeletal Mesh
右键空白处添加 将Actor附加到组件 ,将 获取 Skeletal Mesh 输出连接到 Parent

在 内容浏览器 中查找手臂的骨骼,并双击进入

找到 GripPoint ,并复制命名

返回 Gun_BP 蓝图,将复制的命名粘贴到 Socket Name 后的 None 中 ,将下方的 位移 、旋转 、缩放 均设置为 对齐到目标

编译后运行

发现枪支在手中依然会旋转,则需要在枪支旋转的逻辑上加判断
新建一个布尔类型变量,并连接到 将Actor附加到组件 之后,设置为 true

将旋转逻辑的线分开,在中间添加 分支 节点,并判断 isCoolison 变量

编译后运行
