inflearn logo
강의

Course

Instructor

Lee Deuk-woo's Unreal Programming Part 2 - Understanding the Unreal Game Framework

Understanding Behavior Tree Models, Lecture 11

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

Resolved

65

ppoppo9802

1 asked

0

image.png

11강에서 ABAIContoller.cpp를 작성할때 UBehaviorTreeComponent에 대해서 다룰때 UBehaviorTreeComponent에 대해서 헤더 파일 선언을 안해줬는데 사용가능한 이유가 궁금합니다

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

Answer 2

0

ideugu

안녕하세요. 답신이 늦었습니다.
간접적으로 UBehaviorTreeComponent.h가 include 되어서 그렇습니다.
ABAIController.cpp파일에서 BehaviorTree.h 파일 include
BehaviorTree.h 파일에서 BehaviorTree/BTCompositeNode.h 파일 include
BTCompositeNode.h 파일에서 BehaviorTree/BTNode.h 파일 include
BTNode.h 파일에서 BehaviorTree/BehaviorTreeComponent.h 파일 include

 

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. ppoppo9802님.

질문 주신 내용은 언리얼 엔진의 헤더 파일 선언과 관련된 것입니다. 아래는 이와 관련된 정보입니다.

언리얼 엔진에서 C++ 코딩을 할 때, 특정 클래스나 기능을 사용하기 위해서는 해당 클래스의 선언이 포함된 헤더 파일을 #include 문으로 명시적으로 포함해야 하는 것이 일반적입니다. 그러나 경우에 따라 어떤 클래스나 함수가 이미 다른 포함 파일에 의해 간접적으로 포함되었을 수도 있습니다.

가능한 이유들:

  1. 간접적 포함:
    필요한 헤더 파일이 직접적으로 선언되지 않았지만, 다른 기본 헤더 파일에 포함되어 있는 경우가 있습니다. 예를 들어, UBehaviorTreeComponent 같은 클래스는 게임 프레임워크의 핵심적인 구성 요소일 수 있으며, 이미 게임 모드나 AI 관련 중심 클래스의 헤더 파일에서 포함되고 있을 수 있습니다.

  2. Precompiled Headers (PCH):
    언리얼 엔진에서는 프리컴파일된 헤더 시스템을 사용하여, 대부분의 표준 라이브러리 및 엔진 내부 주요 라이브러리를 미리 포함하고 있습니다. 따라서 특정 클래스들이 이미 기본적으로 포함되어 사용할 수 있도록 설정되어 있을 수 있습니다.

  3. Project Settings 및 Build Configuration:
    특정 설정에서 자동으로 포함되는 헤더 파일들이 있으며, 프로젝트 설정이나 빌드 환경에 따라 이러한 헤더 파일이 일반적으로 포함될 수 있도록 관리하고 있습니다.

해결 방법 및 추가 정보:

불확실한 경우에는 직접 #include 문을 추가하는 것이 좋은 방법입니다. 이를 통해 명시적으로 해당 클래스를 사용하는 위치에 명확성을 높일 수 있습니다.

관련 질문 및 참고 링크

다음은 관련된 질문과 답변을 참조할 수 있는 링크입니다:
- 코드로 PlayerControllerClass 지정하는 과정에서 빌드 실패
- 헤더 파일 선언 없이 사용 가능한 경우

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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

0

41

2

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

0

51

1

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

0

81

3

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

0

93

3

VS 2026 의 문제일까요?

0

475

2

에셋참조 블루프린트질문

0

66

2

애님 몽타주 콤보 관련질문

0

70

2

ThirdPerson CDO 에러가 생깁니다.

0

95

3

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

0

176

4

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

0

62

2

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

0

93

2

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

0

77

2

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

0

73

2

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

0

70

2

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

0

83

2

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

0

64

2

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

0

78

2

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

0

63

2

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

0

64

1

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

0

72

2

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

0

113

2

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

0

82

2

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

0

42

1

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

2

84

2