728x90
AttachToComponent와 SetupAttachment 개요
UE5에서 액터를 다른 액터의 컴포넌트에 부착하기 위해 사용되는 두 가지 주요 함수입니다. 각 함수는 다음과 같은 특징을 가지고 있습니다.
- AttachToComponent:
- 직접 부착: 다른 액터의 특정 컴포넌트에 액터를 즉시 부착합니다.
- 동적 부착: 부착을 해제하거나 다른 컴포넌트에 다시 부착하는 등 동적으로 변경할 수 있습니다.
- 유연성: 복잡한 부착 시나리오에 더 유연하게 사용할 수 있습니다.
- SetupAttachment:
- 지연 부착: 다음 프레임까지 부착이 지연됩니다.
- 계층적 부착: 부모 액터의 계층 내에 있는 컴포넌트에 액터를 부착합니다.
- 정적 부착: 일반적으로 게임 플레이 중에 변경되지 않는 정적 부착에 사용됩니다.
- 효율성: 많은 부착을 처리할 때 더 효율적일 수 있습니다.
주요 차이점 비교
특징AttachToComponentSetupAttachment
부착 시점 | 즉시 | 지연 |
부착 유형 | 직접 | 계층적 |
부착 유연성 | 동적 | 정적 (일반적으로) |
효율성 | 많은 부착 시 비효율적일 수 있음 | 많은 부착 시 효율적일 수 있음 |
Sheets로 내보내기
어떤 함수를 사용해야 할까요?
- AttachToComponent: 즉각적이고 동적인 부착이 필요하거나 다른 액터의 특정 컴포넌트에 액터를 부착해야 할 때 사용합니다.
- SetupAttachment: 부모 액터의 계층에 액터를 부착하고 즉각적인 부착이 필요하지 않을 때 사용합니다. 스켈레탈 메시나 자식 액터와 같은 정적 부착에 주로 사용됩니다.
예시
C++
// AttachToComponent:
AActor* actorToAttach = GetWorld()->SpawnActor<AActor>(AActor::StaticClass());
actorToAttach->AttachToComponent(RootComponent, FAttachmentTransformRules::KeepWorldTransform);
// SetupAttachment:
AActor* childActor = GetWorld()->SpawnActor<AActor>(AActor::StaticClass(), GetActorLocation());
childActor->SetupAttachment(RootComponent);
코드를 사용할 때는 주의가 필요합니다.
첫 번째 예시에서 actorToAttach는 RootComponent에 즉시 직접 부착됩니다. 두 번째 예시에서 childActor는 다음 프레임에서 RootComponent에 부착되고 부모 액터의 자식이 됩니다.
요약
AttachToComponent와 SetupAttachment는 UE5에서 액터를 부착하는 데 사용되는 중요한 함수입니다. 각 함수는 고유한 특징과 사용 시나리오를 가지고 있으므로, 프로젝트의 요구 사항에 맞는 함수를 선택하는 것이 중요합니다.
728x90
'프로그래밍' 카테고리의 다른 글
Unreal Engine의 스마트 포인터 WeakObjectPtr, TSharedPtr, TObjectPtr 비교 (0) | 2024.09.26 |
---|---|
"DOREPLIFETIME_CONDITION"를 사용해서 생성 시 한번만 동기화 하기 (1) | 2024.09.25 |
EPhysicalSurface를 FString으로 변환하는 방법 (1) | 2024.09.23 |
UE5에서 GetLabelName 함수를 사용하지 않는 이유 (0) | 2024.09.22 |
UE5 에디터에서 "ParentClass" 키워드를 사용하여 에셋 찾기 (1) | 2024.09.21 |