언리얼엔진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)에서의 카테고리 지정

 

폰의 기능과 설계

  • 폰은 액터를 상속받은 특별한 액터이며, 플레이어가 빙의해 입출력을 처리하도록 설계되어 있음.
  • 폰은 길찾기를 사용할 수 있으며, 일반적으로 세 가지 주요 컴포넌트로 구성된다.
    기믹과 상호작용을 담당하는 충돌 컴포넌트 (루트컴포넌트)
    시각적인 비주얼을 담당하는 메시 컴포넌트
    움직임을 담당하는 컴포넌트
  • 컴포넌트 중에서 트랜스폼이 없이 기능만 제공하는 컴포넌트를 액터컴포넌트라고 한다.