본문 바로가기
Unreal/Manual

Unreal AI Controller Class 가져오기

by Dev_카페인 2024. 1. 5.
반응형

[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 클래스를 상속받고 있으니 잘 가져와 진다.

 

반응형