LineTraceSingleByChannel()没有击中敌人

时间:2018-12-15 21:32:49

标签: c++ unreal-engine4 unreal-blueprint

我目前正在尝试使用 Unreal Engine 4.20 构建坦克游戏。我正在尝试使用方法 LineTraceSingleByChannel()将我的坦克炮塔和炮管对准玩家的指针。但是,当我将 FHitResult 登录到控制台时,即使指向指向从Pawn类继承的敌人坦克,我也只能看到风景。

这是我的代码:

FHitResult HitResult;
auto StartLocation = PlayerCameraManager->GetCameraLocation();
auto EndLocation = StartLocation + (LookDirection * LineTraceRange);
if (GetWorld()->LineTraceSingleByChannel(
    HitResult,
    StartLocation,
    EndLocation,
    ECollisionChannel::ECC_Visibility
)
    )
{
    UE_LOG(LogTemp, Warning, TEXT("Hit %s"), *HitResult.Actor->GetName())
    HitLocation = HitResult.Location;
    return true;
}

如果您知道我的问题的答案,请帮助我!

1 个答案:

答案 0 :(得分:0)

您需要在要播放的角色(胶囊成分)中屏蔽“可见性”频道。