반응형
[Unreal/C++] AI Controller Class 가져오기
언리얼 엔진에서 적을 컨트롤하는 AIController
Pawn 클래스에서 정의되어 있으며 TSubclassOf<AController> 형식으로 정의되어 있다.
적에서 Ai Controller 클래스를 가져와 블랙보드(Blackboard)의 값을 수정하려 했는데 AIController 클래스를 가져오는데에 애를 썼다.
Pawn 클래스에서는 아래와 같이 정의되어 있는데 이 클래스를 그대로 사용하면 될 줄 알았다.
그래서 Cast<AIController>(AIControllerClass->GetDefaultObject())->Something() 형식으로 사용하려 했지만 실패했다.
그 이유는 CDO(Class Default Object)와 관련이 있는데 TSubclassOf는 그냥 기본 클래스만 지정해주고 사용하는 것은 따로 객체를 만들어서 사용하는 것 같았다.
결국 GetDefaultObject()로 가져오면 Default_Class 를 가져온다. 객체에서 사용하고 있는 Controller 클래스와는 다른 것이다.
AIController 를 사용하려면 단순히 GetController()를 사용하면 된다.
AI Controller도 Controller 클래스를 상속받고 있으니 잘 가져와 진다.
반응형
'Unreal > Manual' 카테고리의 다른 글
Unreal 아군, 적군 충돌 구별하기 Collision Channel (0) | 2024.01.08 |
---|---|
Unreal Apply Radial Damage 범위 공격 (0) | 2024.01.08 |
Unreal UDamageType 구현 (2) | 2024.01.02 |
Unreal 적 사망 상태 유지, Animation 상태 유지 (0) | 2023.12.28 |
Unreal 게임이 실행중인지 에디터에서 편집중인지 확인하기 (0) | 2023.12.28 |