본문 바로가기
Unreal/Manual

Unreal GenericTeamID 설정하기

by Dev_카페인 2023. 12. 18.
반응형

[Unreal/C++] GenericTeamID 설정하기

 

Unreal에서 AI를 구현하거나 아군, 적군, 중립을 설정하기 위해 TeamID라는 것이 필요하다.

AIController를 상속받는 클래스라면 크게 신경쓰지 않아도 되지만 상속받지 않는 클래스는 인터페이스를 상속받고 구현해야한다.

 

 

#include "GenericTeamAgentInterface.h" 헤더를 추가하고

IGenericTeamAgentInterface 인터페이스를 상속받는다.

일반 클래스는 다중 상속이 불가능하지만 인터페이스는 다중상속이 가능하다.

 

 

#include "CoreMinimal.h"
#include "GameFramework/Character.h"
#include "GenericTeamAgentInterface.h"			// generated.h 위에 헤더 추가
#include "Character_TwinBlast.generated.h"

UCLASS()
class MAINPROJECT_API ACharacter_TwinBlast : public ACharacter, public IGenericTeamAgentInterface	// 인터페이스 상속
{
	GENERATED_BODY()

 

 

IGenericTeamAgentInterface 클래스를 확인해보면 override 가능한 함수들이 있다.

 

이 중 SetGenericTeamId 를 통해 설정을 해도 되지만

GetGenericTeamId 함수를 통해 설정한 TeamID(uint8) 값만 던져주면 된다.

 

함수를 오버라이드 해주고

팀 아이디를 정해 놓는다.

오버라이드 한 함수를 정의하는데 TeamID를 FgenericTeamId로 설정해준 뒤  return 해준다.

 

TeamID는 0~255까지 설정 가능하다.

- 같은 TeamID를 가지고 있으면 아군

- 다른 TeamID를 가지고 있으면 적군

- 예외로 255의 TeamID를 가지고 있으면 중립이다.

 

 

 

 

 

IGenericTeamAgentInterface

 

docs.unrealengine.com

 

 

IGenericTeamAgentInterface::SetGenericTeamId

Assigns Team Agent to given TeamID

docs.unrealengine.com

 

 

IGenericTeamAgentInterface::GetGenericTeamId

Retrieve team identifier in form of [FGenericTeamId](API\Runtime\AIModule\FGenericTeamId)

docs.unrealengine.com

 

반응형