플레이어 캐릭터와 나만의 레벨 디자인
1. Player Character
- Mesh & Camera setting
- Character mesh를 선택하면, 디테일 창에 skeletal mesh를 선택할 수 있다.
- Camera는 Spring Arm을 먼저 만든 후 자식 컴포넌트로 Camera를 넣어주어야 한다.


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


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

- 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)을 적용하는데, 이 모디파이어의 의미는 입력값의 축을 교체해주는 역할을 한다.


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

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



- 추가적인 세팅
- pawn 의 controller 회전 세팅
- Character Movement 회전 세팅
- 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 |