언리얼엔진5/[Part2] 이득우의 언리얼 프로그래밍
[이득우의 언리얼 프로그래밍 Part2 필기] 기초 용어 정리
Rocketbabydolls
2024. 3. 16. 15:07
게임플레이 프레임웍
- 게임 제작을 위해 언리얼 엔진에서 자체적으로 설계한 프레임웍
월드
- 게임 콘텐츠를 담기 위해 존재하는 가상의 공간
- 월드는 시간, 트랜스폼, 틱을 서비스로 제공한다.
- 월드 세팅이라는 콘텐츠 제작을 위한 기본 환경 설정을 제공한다.
- 월드의 기본 단위는 액터(Actor)로 정의되며, 액터 클래스는 언제나 접두사 A를 사용한다.
게임모드
- 게임 규칙을 지정하고 게임을 판정하는 최고 관리자 액터. 형태가 없다.
- 언리얼 엔진에서 하나의 게임에는 반드시 하나의 게임 모드만 존재한다.
- 게임 모드에서 입장할 사용자의 규격을 지정할 수 있음.
- 멀티플레이어 게임에서 판정을 처리하는 절대적 권위의 심판
기믹
- 게임 진행을 위한 이벤트를 발생시키는 사물 액터
- 주로 이벤트 발생을 위한 충돌 영역을 설정하는데, 이를 트리거(Trigger)라고 한다.
- 트리거를 통해 캐릭터와 상호 작용하고, 월드에 액터를 스폰해 콘텐츠를 전개한다.
플레이어(Player)
- 게임에 입장한 사용자 액터. 형태가 없다.
- 게임 모드의 로그인을 통해 사용자가 게임 월드에 입장하면 플레이어가 생성된다.
- 싱글 플레이 게임에는 0번 플레이어가 설정된다.
- 사용자와의 최종 커뮤니케이션을 담당한다. ex) 입력 장치의 해석, 화면 장치로의 출력
폰(Pawn)
- 무형의 액터인 플레이어가 빙의해 조종하는 액터
- 길찾기를 사용할 수 있으며, 기믹 및 다른 폰과 상호작용한다.
- 폰 중에서 인간형 폰을 별도로 캐릭터라고 지칭한다.
C++ 액터에서 컴포넌트의 생성
- 컴포넌트는 언리얼 오브젝트이므로 UPROPERTY를 설정하고 TObjectPtr로 포인터를 선언한다. (언리얼 5부터 변경됌)
컴포넌트의 등록
- CDO에서 생성한 컴포넌트는 자동으로 월드에 등록된다.
- NewObject로 생성한 컴포넌트는 반드시 등록절차를 거쳐야 한다. ex) RegisterComponent
- 등록된 컴포넌트는 월드의 기능을 사용할 수 있으며, 물리와 렌더링 처리에 합류한다.
컴포넌트의 확장 설계
- 에디터 편집 및 블루프린트로의 승계를 위한 설정
- UPROPERTY에 지정자(specifier)를 설정할 수 있다.
컴포넌트 지정자
- Visible / Edit : 크게 객체타입과 값타입으로 사용
- Anywhere/ / DefaultsOnly / InstanceOnly : 에디터에서 편집 가능 영역
- BlueprintReadOnly / BlueprintReadWrite : 블루프린트로 확장시 읽기 혹은 읽기쓰기 권한을 부여
- Category : 에디터 편집 영역(Detail)에서의 카테고리 지정
폰의 기능과 설계
- 폰은 액터를 상속받은 특별한 액터이며, 플레이어가 빙의해 입출력을 처리하도록 설계되어 있음.
- 폰은 길찾기를 사용할 수 있으며, 일반적으로 세 가지 주요 컴포넌트로 구성된다.
기믹과 상호작용을 담당하는 충돌 컴포넌트 (루트컴포넌트)
시각적인 비주얼을 담당하는 메시 컴포넌트
움직임을 담당하는 컴포넌트 - 컴포넌트 중에서 트랜스폼이 없이 기능만 제공하는 컴포넌트를 액터컴포넌트라고 한다.