inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Lập trình không thực tế của Lee Deuk-Woo Phần 2 - Tìm hiểu về khung trò chơi không thực tế

Chương 7. Chỉ số nhân vật và Widget

7강에 나오는 생성자에 대해서 궁금합니다.

Đã giải quyết

78

devyh87

17 câu hỏi đã được viết

0

일단 찾아본 모든 Actor 등은 위젯과 동일하게 const FObjectInitializer& 를 파라미터를 받는 생성자를 가지고 있습니다.

 

그러나 왜 위젯만 const FObjectInitializer& 를 파라미터로 가지고 있는 생성자로만 사용해야 하는지 궁금합니다.

 

모든 객체가 동일한게 const FObjectInitializer& 를 인자로 갖고 있는 생성자로 생성해야 하는 것 같은데. 왜 그런 것일까요?

unreal-engine ue-blueprint 언리얼-c++

Câu trả lời 2

0

ideugu

원래 언리얼 엔진 4 초창기 버전에는 모든 생성자에 인자가 있었습니다. 다만 이후 버전부터는 좀 더 편하게 사용할 수 있도록 대부분의 언리얼 오브젝트에 인자 없는 생성자를 추가했는데, 위젯은 아직 관련 기능이 추가되지 않았다로 이해해주시면 될 것 같습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 충실한 전복님.

언리얼 엔진에서 객체 생성 시 사용하는 FObjectInitializer는 객체의 특성에 따라 생성 및 초기화의 다양한 요구 사항을 처리할 수 있게 해주는 중요한 역할을 합니다. 이를 통해 엔진은 다양한 종류의 UObject를 일관된 방식으로 생성하고 초기화할 수 있습니다.

위젯 객체(UUserWidget)는 특히 UI 관련 특수한 초기화 과정을 필요로 하기 때문에 FObjectInitializer를 강제로 사용하도록 되어 있습니다. 이런 이유로 위젯을 생성할 때에는 const FObjectInitializer&를 반드시 생성자에 포함시켜야 하며, 이는 위젯이 복잡한 내부 상태나 서브 컴포넌트들이 초기화되는 과정을 지원하기 위한 것입니다.

반면에, 다른 UObject나 액터(Actor)들은 기본 생성자도 사용할 수 있지만, 상황에 따라 FObjectInitializer를 사용하는 것이 객체의 초기화나 커스터마이징에 더 유리할 수 있습니다. 기본적으로 언리얼 엔진4 이후부터는 스스로 생성 및 초기화를 관리할 수 있도록 다양한 구조체와 헬퍼 기능을 갖추고 있으므로, 선택적으로 초기화를 수행할 수 있지만, UI와 같이 특수 요구 사항이 있는 클래스는 이를 적극 활용하는 것이 좋습니다.

이 내용과 관련하여 더 깊이 있는 정보를 원하신다면 아래 링크에서 유사한 주제의 질문 및 답변을 통해 더 많은 정보를 얻으실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

무한맵 제작과정중에 GetWorld 가 Nullptr 을 반환합니다.

0

46

2

12강 행동트리에서 질문이 있습니다.

0

52

1

위젯 사이즈랑 위치 질문드려요.

0

81

3

행동트리의 데코레이션 관련하여 질문이 있습니다.

0

94

3

VS 2026 의 문제일까요?

0

488

2

에셋참조 블루프린트질문

0

67

2

애님 몽타주 콤보 관련질문

0

70

2

ThirdPerson CDO 에러가 생깁니다.

0

95

3

캐릭터가 움직이지 않습니다.

0

182

4

쿠킹 폴더 지정시 , Item 이외에는 지정하지 않는지 궁금합니다.

0

62

2

TSoftObjectPtr 를 사용했음에도, 메모리에 로드 됩니다.

0

94

2

6강을 마무리하며 트레이스 채널 을 이해하지 못했습니다.

0

73

2

3강을 마무리 하며, 카메라가 움직이지 않습니다.

0

71

2

Use Controller Rotation 옵션값이 궁금합니다.

0

84

2

3강 입력 시스템 적용 중, 5.6 버전은 입력 매팅이 2개 입니다.

0

65

2

PlayerController 에 대헤 제가 잘못 이해한 것 같습니다.

0

78

2

13강 UpdateStat 부분에서 문제를 겪고 있습니다.

0

63

2

BP_PlayerController의 CustomEvent노드 이유가 궁금합니다.

0

64

1

콤포넌트 포인터 선언시 TObjectPtr<>과 UStaticMeshComponent* 차이점

0

72

2

CharacterMovementComponent의 RotationRate관련해서 질문이 있습니다.

0

115

2

언리얼 공부방법에 대해 질문드립니다.

0

87

2

4강 에서 이상한 그림자가 남습니다.

0

46

1

2강에서 카메라 회전안되시는분 참고

2

91

2

헤더 파일 추가에 대해서 질문있습니다

0

69

2