1. 가고일에 태그달기
2. 문-Trigger파일 수정
해당태그 액터만 반환하도록
// Fill out your copyright notice in the Description page of Project Settings.
#include "TriggerComponent.h"
UTriggerComponent::UTriggerComponent()
{
//문제 : 컴포넌트는 틱 작동안하게 되어잇음 (성능문제)
//해결 : tick 함수 활성화
PrimaryComponentTick.bCanEverTick = true;
}
// Called when the game starts
void UTriggerComponent::BeginPlay()
{
Super::BeginPlay();
}
void UTriggerComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
{
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
AActor* Actor = GetAcceptableActor();
if (Actor != nullptr) {
UE_LOG(LogTemp, Display, TEXT("unlocking"));
}
else {
UE_LOG(LogTemp, Display, TEXT("locking"));
}
}
/*
* 태그에 해당하는 액터포인터 반환
*/
AActor* UTriggerComponent::GetAcceptableActor() const
{
//액터들 포인터 저장하는 벡터
TArray<AActor*> Actors;
GetOverlappingActors(Actors); //오버랩된 액터들을 포인터로 Actors에 담아줌.
for (auto Actor : Actors) {
//태그가 언락일때만 반응하도록
if (Actor->ActorHasTag(AcceptableActorTag)) {
return Actor;
}
}
return nullptr;
}
'UE5' 카테고리의 다른 글
[UE5] 가고일 물리반응 끄기, trigger에 붙여서 같이 내려가도록 구현 (0) | 2023.09.18 |
---|---|
[UE5] 의존성 주입, mover-trigger간 통신하는 방법, 가고일올리면 문 내려가도록 구현 (0) | 2023.09.18 |
[UE5] 오버랩 이벤트 발생시키는 방법 (0) | 2023.09.17 |
[UE5] 충돌위치 찾기 location vs impactpoint (0) | 2023.09.17 |
Grabber 콜리전 기본값 무시 설정방법 (0) | 2023.09.17 |