UE4 角色拾取武器

2019-06-15  本文已影响0人  Sirius_lwq

角色设置

为了使角色能够“抓取”武器,需要在骨骼中添加功能---socket,即插槽。
找到放置武器的位置,右键添加插槽即可(项目不同可能示例截图不一致,但做法相同)


添加武器插槽.png

放置后,直接绑定会发现武器位置和想象中不太一样;这里我们右键为socket添加预览,通过预览调整武器。


武器位置调整.png

蓝图实现

武器拿到手中主要通过AttachToComponent方法,既可以在武器蓝图脚本实现也可以在角色脚本中实现,原理相同。

代码实现

void AChilikoCollectActor::NotifyActorBeginOverlap(AActor* OtherActor)
{
  Super::NotifyActorBeginOverlap(OtherActor);

  //碰撞后提示、特效等处理

  if (Role == ROLE_Authority)
  {
    AChilikoCharacter* MyCharacter = Cast<AChilikoCharacter>(OtherActor);
    if (MyCharacter)
    {
        
        // 拾取前的处理,如播放动画/按键提示等。
        AttachToComponent(MyCharacter->GetRootComponent(), FAttachmentTransformRules::SnapToTargetNotIncludingScale, FName(TEXT("hand_rSocket")));
        // 拾取后的处理
    }
  }
}

当然,也可以通过其它碰撞处理方法实现。

上一篇 下一篇

猜你喜欢

热点阅读