반응형
[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를 가지고 있으면 중립이다.
반응형
'Unreal > Manual' 카테고리의 다른 글
Unreal WidgetComponent ProgressBar 추가, 적 체력 UI (0) | 2023.12.27 |
---|---|
Unreal AnimMontage Slot 추가하기 (0) | 2023.12.21 |
Unreal C++ SpawnActor 무기 장착하기 (0) | 2023.12.17 |
Unreal C++ 코드 디버깅, 콜 스택(Call Stack) 로그 출력 (1) | 2023.12.16 |
Unreal C++ 버튼을 눌러 게임 종료 (QuitGame) (0) | 2023.12.16 |