Unreal Engine 5 TIL day 4

2024. 12. 19. 17:01·Unreal Engine
목차
  1. 1. Player Character
  2. 2. Enhanced Input System
  3. 3. Level Design
  4. 4. 참고 자료
플레이어 캐릭터와 나만의 레벨 디자인

1. Player Character

  • Mesh & Camera setting
    • Character mesh를 선택하면, 디테일 창에 skeletal mesh를 선택할 수 있다.
    • Camera는 Spring Arm을 먼저 만든 후 자식 컴포넌트로 Camera를 넣어주어야 한다.

 

  • 아래 사진을 예시로 보면
    • spring arm이 없다면, 캐릭터가(왼쪽 사진의 경우) 조금 왼쪽으로 이동한 경우 트럭에 캐릭터가 가려서 보이지 않을 것이다.
    • 그러나 spring arm이 있으면, camera가 spring arm을 따라서 이동하기 때문에 캐릭터가 가려질 것 같다면, camera가 spring arm을 줄여서 가리지 않도록 해준다. (오른쪽 사진)

오른쪽 사진이 spring arm을 따라서 camera가 움직여서, 캐릭터가 가리지 않도록 해준 모습

 

  • Move
    • 기본적으로 Character라는 클래스는 캐릭터 무브먼트 컴포넌트를 가지고있다. 
      • 캐릭터 무브먼트 컴포넌트를 이용해서 다양한 움직임에 관련된 세팅을 할 수 있다.
      • 속도, 넘어갈 수 있는 높이, 점프, 수영 등

character movement 컴포넌트의 디테일 창 모습

  • enhanced input system
    • 언리얼 5 이후로는 해당 시스템이 생겨서 더욱 유연하고 강력한 처리를 할 수 있게 되었다.
    • 또한 플레이어 컨트롤과 애니메이션, 카메라 조작 등의 입력을 쉽게 관리할 수 있다.

2. Enhanced Input System

1. 개념

  • 입력 매핑 컨텍스트와 입력 액션 두가지를 만들면 된다.
  • 입력 액션(input action)은 특정 입력 이벤트를 정의하는 객체이다.
    • 우리가 필요로 하는 액션 하나마다 하나씩 만들어 주어야 한다.
    • move, look, jump 등
  • 입력 매핑 컨텍스트(input mapping context)는 여러 입력 액션을 실제 키, 버튼, 축 등에 매핑하는 객체이다.

2. 세팅 방법

  • Input Action 만들기
    • 입력 액션(input action)을 만들면, 값 타입을 먼저 설정 해 주어야 한다
    • move 나 look과 같은 input action은 축이 두개(x, y)가 필요하기 때문에 값 타입을 Vector2D로 설정해야 한다.
    • jump나 attack과 같은 경우는 digital(bool)로 설정해야 한다.

값 타입의 모습

  • Input Mapping Context 만들기
    • 입력 매핑 컨텍스트에서는 키보드 값과 어떻게 값을 입력할 것인지 세팅하면 된다.
    • 모디파이어 : 모디파이어는 입력값을 변형하거나 조정하는 기능을 한다.
    • Move를 예시로 들면
      • S의 경우는 정면 값의 반대이므로, 부정(Negate)라는 모디파이어를 적용한다.
      • D의 경우는 스위즐 입력축 값(Swizzle Input Axis Values)을 적용하는데, 이 모디파이어의 의미는 입력값의 축을 교체해주는 역할을 한다.

move 세팅
look 세팅

  • 우리에게 익숙한 움직임을 위해서 look 세팅에서 y축의 값만 부정으로 바꿔준 것이다.

jump 세팅

  • 블루프린트 세팅
    1. enhanced input system을 사용하기 위한 세팅
    2. 각 input action에 대한 세팅

1번에 대한 세팅
2번 세팅
2번 세팅

  • 추가적인 세팅
    1. pawn 의 controller 회전 세팅
    2. Character Movement 회전 세팅
    3. Spring Arm 회전 세팅

1번 세팅 (BP_Character를 선택 후 세팅)
2번 세팅 (Character Movement 컴포넌트 선택 후 세팅)
3번 세팅 (Spring Arm 컴포넌트 선택 후 세팅)

3. Level Design

간단한 플랫포머 장애물 게임의 모습을 생각해 보았다.

 

  • 오늘 구현 내용
    • 문이 위아래로 움직이는 장애물
      • Timeline 이용 (Set Relative Location)
    • 물 머티리얼
    • 물 위에 떠있는것 같은 발판
      • Timeline 이용 (Random Integer 생성 한 후 다양한 Timeline중 한개를 골라서 실행, Set Relative Location)
    • 회전하는 장애물
      • RotatingMovement 컴포넌트 이용 (아직 사용법은 잘 모르겠음)
    • 떨어지면 다시 시작 위치로 리셋 시키기
      • Box Collision에 overlap 하면, Reset Level 과 Restart Player 를 실행
    • 움직이는 발판
      • 내일 움직이는 것 마무리 한 후 부서지는 것 구현 필요
      • InterpToMovement 컴포넌트 이용
현재까지 구현한 내용에 대한 영상

 

내일부터는 새롭게 알게 된 것이나, 처음 사용해 본 노드 등에 대해서 맨 마지막에 정리하는 것을 추가할 예정입니다.

 

4. 참고 자료

움직이는 발판: https://www.youtube.com/watch?v=WznFdYWM2c8

 

물 머티리얼: https://www.youtube.com/watch?v=o6f7n4UhYq0

 

타임라인: https://www.youtube.com/watch?v=VozwZ2kU6J4

 

'Unreal Engine' 카테고리의 다른 글

Unreal Engine 간단한 로그 찍기  (2) 2025.01.06
Unreal Engine 5 TIL day 5  (4) 2024.12.20
Unreal Engine 5 TIL day 3  (1) 2024.12.19
Unreal Engine 5 TIL day2  (2) 2024.12.17
Unreal Engine 5 TIL day1  (0) 2024.12.16
  1. 1. Player Character
  2. 2. Enhanced Input System
  3. 3. Level Design
  4. 4. 참고 자료
'Unreal Engine' 카테고리의 다른 글
  • Unreal Engine 간단한 로그 찍기
  • Unreal Engine 5 TIL day 5
  • Unreal Engine 5 TIL day 3
  • Unreal Engine 5 TIL day2
gbleem
gbleem
gbleem 님의 블로그 입니다.
gbleem 님의 블로그gbleem 님의 블로그 입니다.
  • gbleem
    gbleem 님의 블로그
    gbleem
  • 전체
    오늘
    어제
    • 분류 전체보기 (184)
      • Unreal Engine (73)
      • C++ (19)
      • 알고리즘(코딩테스트) (27)
      • TIL (60)
      • CS (4)
      • 툴 (1)
  • 블로그 메뉴

    • 홈
    • 카테고리
  • 링크

    • 과제용 깃허브
    • 깃허브
    • velog
  • 공지사항

  • 인기 글

  • 태그

    enhanced input system
    applydamage
    motion matching
    템플릿
    DP
    character animation
    addonscreendebugmessage
    blend pose
    C++
    매크로 지정자
    cin함수
    map을 vector로 복사
    BFS
    gamestate
    싱글턴
    상속
    additive animation
    Vector
    const
    actor 클래스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gbleem
Unreal Engine 5 TIL day 4

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.