UE4 将演员(或其组件)附加到另一个演员(或其组件)

UE4 Attach actor (or his component) to another actor (or his component)

所以,我的设置很简单。我正在制作一个 VR 飞镖游戏,sortof,使用默认的 VR 模板,我有一个 DartActor,带有一个附加的 ConeMesh (StaticMeshComponent) 用于飞镖,以及一个带有附加的 CylinderMesh (StaticMeshComponent) 的 TableActor 用于飞镖板,以及 RotatingMovementComponent。

当我检测到两者之间有重叠时,我会关闭飞镖上的物理功能(否则它只会反弹)并尝试将它附加到 table 演员。我尝试了以下方法:

这些都不适合我。

但忽略这一点,当成功检测到叠加层时关闭 DartActor 上的物理会伪造飞镖粘在 table 中。有一个小警告 - 当飞镖看似卡在棋盘中时,棋盘仍在飞镖下方旋转。

我对位置和旋转都使用了“捕捉到目标”,并在“附加”蓝图节点上保持“保持相对”缩放。

我想要的是,飞镖实际上粘在table上,焊接,并在旋转的同时与table(飞镖板)一起旋转。

那么,我该怎么做呢?

我用的是UE4.27.2,如果需要蓝图截图请告诉我。

好的,我修好了。

原来是其他杂项的组合...

  1. StaticMeshComponent 需要作为根组件而不是默认的 RootComponent - 对于 DartActor 和 TableActor
  2. 我在 DartActor 的蓝图中使用了 AttachActorToComponent,使用 DartActor 的 self 并附加到 TableActor 的 StaticMeshComponent
  3. 在实际的AttachActorToComponentBP节点中,三样东西我都用了“Keep World”(location/rotation/scale)
  4. 在附加之前,我将 DartActor 本身的“设置模拟物理”设置为关闭。

就是这样,飞镖现在粘在板上并随着旋转板一起旋转。