@Vaspingui2002

Unreal engine 5 c++ как определить тип обьекта?

Привет, изучаю unreal engine и в процессе дошло до того что бы при наводке игрока на объект он должен определять его тип как в unity если это дверь то он открывает ее , если это кнопка наживает ее , если это какойто предмет ложит ее в инвентарь. не могу понять как определить тип обьект и вызвать вызвать какую либо операцию?
код который я использую что бы создать луч и получить actor на который наведен игрок
FHitResult* HitResult = new FHitResult();
	FVector StartTrace = Camera->GetComponentLocation();
	FVector ForwardVector = Camera->GetForwardVector();
	FVector EndTrace = (ForwardVector * 50000.0f) + StartTrace;
	FCollisionQueryParams* CQP = new FCollisionQueryParams();
	if (GetWorld()->LineTraceSingleByChannel(*HitResult, StartTrace, EndTrace, ECC_Visibility, *CQP)) {
		DrawDebugLine(GetWorld(), StartTrace, EndTrace, FColor(255, 0, 0), true);

	}
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Alien202
Ну FHitResult - это структура и у неё можно поинтересоваться, на какого актера она указывает.
Типа:
if (HitResult.Actor != NULL)
{
   // здесь уже конкретно узнаём, что это за актер, например с помощью каста
  MyActor* MyAc = Cast<MyActor>(HitResult.Actor);
  if (MyAc != NULL)
  {
     //делаем что-то с нашим актером
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы