728x90
반응형
모든 언리얼 오브젝트는 다음과 같이, const FObjectInitializer&를 인자로 받는 생성자를 사용할 수 있다.
ATest(const FObjectInitializer& ObjectInitializer);
가령, ACharacter를 상속받아 캐릭터 클래스를 만든다.
기본적으로 ACharacter는 무브먼트 클래스로, UCharacterMovementComponent 클래스를 사용한다.
이는 엔진 소스 코드이므로, 임의대로 수정하기도 번거롭다.
이렇게, 기존 클래스 내부에 정의된 클래스를 변경하기 위해 사용된다.
사용 예
// .h
public:
ATest(const FObjectInitializer& ObjectInitializer);
SetDefaultSubobjectClass의 템플릿으로는 새로 변경할 클래스를 넣는다.
생성자 매개변수로는 변경하려는 클래스 내부에 정의된 포인터 변수를 넣는다.
(ex. class UCharacterMovementComponent* CharacterMovementComponentName)
// .cpp
ATest::ATest(const FObjectInitializer& ObjectInitializer)
:Super(ObjectInitializer.SetDefaultSubobjectClass<UTestCharacterMovementComponent>(ACharacter::CharacterMovementComponentName))
{
}
728x90
반응형
'📘Unreal Engine > 📝Unreal Engine' 카테고리의 다른 글
| [Unreal Engine] C++ 블루프린트 함수 열거형 반환 핀 설정 (0) | 2025.02.01 |
|---|---|
| [Unreal engine] C++ 블루프린트 함수 반환 핀 설정 (0) | 2025.02.01 |
| [Unreal Engine] Transient 키워드 (0) | 2025.01.17 |
| [Unreal Engine] AnimNotify가 제대로 트리거 되지 않는 경우 (0) | 2025.01.14 |
| [Unreal Engine] 범위 액터 순회 (TActorRange) (0) | 2025.01.10 |