언리얼 엔진5 Basic - 언리얼 엔진 게임 제작 기초

타입·2024년 3월 28일
0

언리얼 강의

목록 보기
8/47

언리얼 게임 프레임워크

게임 콘텐츠의 구조

게임 제작을 위해 언리얼 엔진은 자체적으로 설계한 프레임웍을 제공함 (Gameplay Framework)
언리얼 게임 프레임워크의 각 구성 요소를 확인하고, 이를 확장하면서 게임을 제작하는 것을 권장

샘플 프로젝트
https://github.com/ideugu/UnrealProgrammingPart2/

강의 별로 나누어진 브랜치에서 완성 단계 확인
https://github.com/ideugu/UnrealProgrammingPart2/tree/1_1

월드 (World)

게임 콘텐츠를 담기 위해 제공되는 가상의 공간
월드는 시간, 트랜스폼, 틱을 서비스로 제공
월드 세팅이라는 콘텐츠 제작을 위한 기본 환경 설정 제공
월드의 기본 단위는 액터(Actor)로 정의되며, 액터 클래스는 언제나 접두사 A를 사용

  • 월드의 역할
    Transform - 게임 콘텐츠를 담는 공간
    Tick - 게임 콘텐츠의 진행
    Time - 게임 흐름을 위한 시간
    World Setting - 기본 환경 설정
    Actor - 월드의 단위 구성 요소

게임 모드 (Game Mode)

게임 규칙을 지정하고 게임을 판정하는 최고 관리자 액터, 형태가 없음
언리얼 엔진에서 하나의 게임에는 반드시 하나의 게임 모드만 존재
게임 모드에서 입장할 사용자의 규격을 지정할 수 있음
멀티플레이어 게임에서 판정을 처리하는 절대적 권위의 심판

  • 게임 모드의 역할
    플레이어 입장 관리
    게임의 최종 승패 관리
    게임의 규칙 관리
    게임 데이터 검증 (멀티플레이 게임)

기믹 (Gimmick)

게임 진행을 위한 이벤트를 발생시키는 사물 액터
주로 이벤트 발생을 위한 충돌 영역을 설정하는데, 이를 트리거(Trigger)라 함
트리거를 통해 캐릭터와 상호 작용하고, 월드에 액터를 스폰해 콘텐츠를 전개

  • 기믹의 역할
    월드 내 사물과 상호 작용을 수행
    지정된 조건을 만족하면 이벤트를 발생
    월드에 물체를 스폰(Spawn)시킬 수 있음

플레이어 (Player)

게임에 입장한 사용자 액터, 형태가 없음
게임 모드의 로그인을 통해 사용자가 게임 월드에 입장하면 플레이어가 생성됨
싱글 플레이 게임에는 0번 플레이어가 설정
사용자와의 최종 커뮤니케이션을 담당

  • 플레이어의 역할
    게임에 입장한 사용자와의 1:1 대응
    사용자의 현재 상태 및 데이터를 관리
    사용자 입력의 1차 처리 (필요 시)
    사용자 화면에 대응하는 카메라 관리
    사용자 화면에 나타나는 HUD UI 관리

폰 (Pawn)

무형의 액터인 플레이어가 빙의해 조종하는 액터
길찾기를 사용할 수 있으며, 기믹 및 다른 폰과 상호작용
폰 중에서 인간형 폰을 별도로 캐릭터라고 지칭

  • 폰의 역할
    빙의(Possess)를 통해 플레이어와 연결
    사용자 입력의 실제 처리
    사용자 화면에 대응되는 카메라 설정
    기믹과의 상호작용
    현재 상태에 적합한 애니메이션 재생

헤더 경로를 찾기 쉽도록 '모듈.Build.cs' 파일에 모듈의 폴더를 인클루드 경로에 설정

PublicIncludePaths.AddRange(new string[]{"모듈이름"});

가급적이면 다른 폴더의 헤더를 직접 참조하지 않도록 구성하는 것이 바람직


실습코드

https://github.com/dnjfs/ArenaBattle/commit/cef71a2683e24c1f161225f8eedee9796edf7b9f

  • InputMode
    APlayerController::SetInputMode()로 설정 가능
    • FInputModeGameOnly
      게임에만 입력 전달
    • FInputModeUIOnly
      UI에만 입력 전달
    • FInputModeGameAndUI
      게임과 UI 모두 입력 전달
profile
주니어 언리얼 프로그래머

0개의 댓글