学习UE4动画蓝图:使用Socket(插槽)

目标

在上一篇《学习UE4动画蓝图:使用AimOffset(瞄准偏移)》中,角色已经可以瞄准,这一篇的目标是使用骨骼的 Socket(插槽) 功能让角色可以手持一把枪。

0. 资源准备

我从下面的资源包中找到了想要的枪模型:
学习UE4动画蓝图:使用Socket(插槽)
我先把它添加到了其他的工程中,随后右键其中一把枪的StaticMesh资源,选择迁移,路径选择我的测试工程的Content目录,这将连带着材质和贴图一起导过去。
学习UE4动画蓝图:使用Socket(插槽)

1. 在骨骼资源中添加插槽

“插槽”是骨骼资源中的数据,因此要打开骨骼资源进行编辑:
选择插槽的目标,右键“添加插槽”:
学习UE4动画蓝图:使用Socket(插槽)
我将其命名为WeaponSocket
学习UE4动画蓝图:使用Socket(插槽)

2.在角色蓝图中添加枪模型

在角色蓝图中添加组件StaticMesh
学习UE4动画蓝图:使用Socket(插槽)
将新创建的StaticMesh组件命名为GunMesh并将其父设置为SkeletalMesh组件
学习UE4动画蓝图:使用Socket(插槽)
设定GunMesh的细节:

  • 先将插槽父项套接字(Socket) 设置为WeaponSocket
  • 将模型设置为枪的模型
  • 先将Transform归零,随后会详细设置。

学习UE4动画蓝图:使用Socket(插槽)
在视口中将GunMesh移动到合适的位置
学习UE4动画蓝图:使用Socket(插槽)

效果

学习UE4动画蓝图:使用Socket(插槽)

3*.附加:仅在射击时显示枪

我希望仅在角色进入射击状态时显示枪,则需要做:
1)GunMesh的初始Visibility设置为false。
2) 在角色蓝图中Shooting按键操作后加入如下逻辑:
学习UE4动画蓝图:使用Socket(插槽)