Stack O Bot 프로젝트 애셋을 이용해 3인칭 캐릭터 게임의 기본기를 익힌다.
캐릭터 블루프린트 클래스
ㄴ 어떤 skeletal mesh를 사용할 것인지
애니메이션 블루프린트 클래스
ㄴ 애니메이션 상태 머신
캐릭터 블루프린트에 spring arm과 카메라 컴포넌트 추가하기
캐릭터 auto possess player 속성을 player 0으로 지정하면 게임 시작할때 자동으로 attach 됨
ㄴ 어떤 playerController가 해당 캐릭터(폰)을 possess 할 것인지를 지정하는 옵션
Input Action & Input Mapping Context
1. 카메라 구성 방법 - Over the shoulder Camera
ㄴ 3인칭 게임 fps 게임 등에서 기울이기를 하면 카메라 시점이 좌우로 이동하는 기능을 구현할 때 사용
action value type - digital (기울이기 키를 토글식으로 사용할 경우)
2. 카메라 구성 방법 - Freely Rotating Camera
캐릭터 블루프린트 -> Use Controller Rotation Yaw 끄고
character movement 컴포넌트의 OrientRotationtoMovement 키기
spring arm의 Use Pawn Control Rotation 키기
애니메이션을 위한 블렌드 스페이스
2D 블렌드 스페이스는 파라미터 두 개, 1D 블렌드 스페이스는 파라미터 한 개
아래 예제는 Idle 애니메이션과 Run 애니메이션을 Horizontal Axis Value에 기반해 섞는다. (0 ~ 500)
애니메이션 블루프린트에서는 애니메이션 클립 대신에 블랜드 스페이스를 사용할 수 있다.
애니메이션 블루프린트
애니메이션 블루프린트는 이벤트 그래프나 애니메이션 그래프를 사용할 수 있다.
ㄴ 블렌드 스페이스를 애니메이션 그래프에서 추가한다. 블렌드 스페이스를 제어할 값을 변수로 승격시킨다.
ㄴ 이벤트 그래프에서 이 변수를 제어하여 값을 update 해주기만 하면 된다.
ㄴ 매 틱마다 Pawn의 movement 컴포넌트의 velocity의 xy값만으로 벡터의 크기를 구하고 이 값을 변수에 저장
break 노드는 여러 속성을 가진 객체를 분리시킨다.
캐릭터의 최대 이동 속도를 블렌드 스페이스에 맞추는 작업도 필요
ㄴ 캐릭터 블루프린트 -> 캐릭터 무브먼트 -> max walk speed 속성
ㄴ 블렌드 스페이스 값의 단위가 cm/s 인 듯하다..
블렌드 스페이스와 상태 머신, 기울이기 구현
노드의 return value 부분을 우클릭하여 split 할 수 있다.
Jump 추가, Jump 느낌 수정하기
ㄴ 캐릭터의 Jump를 사용하되 캐릭터 블루프린트 -> Character Movement 컴포넌트 -> Jump 관련 속성들을 수정하여 점프의 느낌을 다르게 만들 수 있다.
Jump 애니메이션, 캐시 포즈
캐시 포즈를 사용하여 땅에 붙어있을때의 state machine과 점프했을 때의 state machine을 분리 시킬 수 있고, 트랜지션이 간단해진다.
Conduit
ㄴ 한개의 상태에서 여러 개의 상태 중 하나로 선택하여 전이함
ㄴ 트랜지션 조건에 따라 정해짐
제트팩 추가하기
Jump 이벤트의 트리거가 아닌 Started에 연결함으로써 캐릭터의 MovementMode에 따라 Jump를 할 수도 있고 Jetpack을 토글할 수도 있다.
FX, SFX, 메타사운드 트리거
오디오 컴포넌트의 Execute Trigger Parameter 노드를 사용하면 메타사운드에서 트리거를 호출할 수 있다.
'언리얼 5 > 에픽 게임즈 공식 강의' 카테고리의 다른 글
루멘 핵심 개념 (0) | 2023.02.14 |
---|---|
나나이트 핵심 개념 (0) | 2023.02.14 |
렌더링 시작하기 (0) | 2023.02.14 |
Multiplayer Programming Quick Start Guide (0) | 2022.10.23 |
Welcome to Game Development - 2 (Your First Game In Unreal Engine 5) (0) | 2022.10.06 |