[Unreal Skill] 2. Actor

scarleter99·2024년 12월 21일

[Unreal] Unreal Skill

목록 보기
3/4
post-thumbnail

Actor

  • 레벨에 배치할 수 있는 오브젝트이다.

주요 함수

오브젝트 생성

서브오브젝트 생성

// Actor
T SubObj = CreateDefaultSubobject<T>(TEXT("objectName"));
RootComponent = SubObj;
SubObj2->SetupAttachment(SubObj); // Obj2를 Obj의 부모 컴포넌트로 연결
  • 생성자에서만 호출해야 한다.

UStaticMesh 설정

// Actor
SubObj->SetStaticMesh(Mesh.Object);

SpawnActor/DestroyActor/SetLifeSpan

ActorObj = GetWorld()->SpawnActor(ActorClass);
GetWorld()->DestroyActor(ActorObj);
ActorObj->SetLifeSpan(time);

경로에서 에셋 로딩

ConstructorHelpers::FObjectFinder<T> Asset(TEXT("path"));
if (Asset.Succeeded()){}

오브젝트 Cast

T ActorObj2 = Cast<T>(ActorObj);

탐색

World에서 Actor 탐색

TArray<AActor*> Actors;
T ActorObj = UGameplayStatics::GetActorOfClass(GetWorld(), T::StaticClass());
T ActorObj = UGameplayStatics::FindNearestActor(GetActorLocation(), Actors, distance);
UGameplayStatics::GetAllActorsOfClass(GetWorld(), T::StaticClass(), Actors);
UGameplayStatics::GetAllActorsWithTag(GetWorld(), TEXT("tag"), Actors);

물리

Actor 위치 반환

FVector LocationVector = ActorObj->GetActorLocation();

FVector 정규화

DirectionVector.Normalize();

Actor Transform 변경

// Actor
SetActorLocation(LocationVector); // Location으로 이동
AddActorWorldOffset(DirectionVector); // 현재 위치에서 DirectionVector만큼 이동

0개의 댓글