LineTraceSingleByChannel () не поражает врагов - PullRequest
0 голосов
/ 16 декабря 2018

В настоящее время я пытаюсь построить игру-танк в Unreal Engine 4.20 .Я пытаюсь нацелить свою танковую башню и ствол на указатель игрока, используя метод LineTraceSingleByChannel () .Однако, когда я регистрирую свой FHitResult на консоли, я получаю только ландшафт, даже когда указываю на вражеские танки, которые наследуются от Pawn Class.

Вот мой код:

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 голосов
/ 22 июля 2019

Вам необходимо заблокировать канал: «Видимость» в персонаже (компонент капсулы), которого вы хотите поразить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...