[Unreal_블루프린트]#1_Character Movement
Unreal 블루프린트 개발 중 "Chracter Movement"에 대해 알아보겠습니다.
"블루 프린트" 활용에 대한 내용입니다.
Character Movement
1. Action Mapping + Axis Mapping 설정
1. 프로젝트 세팅 -> 입력
2. Action Mapping 혹은 Axis Mapping 추가 -> 키 설정 -> Scale 설정
2. "Character 클래스"를 Blueprint 클래스로 생성
3. 축 이벤트 생성
1. Character 블루프린트 클래스 에디터 창 열기 -> Event Graph 창
2. 우 클릭 -> MoveForward 혹은 MoveRight 등 축 매핑 노드 생성
* 주의 : 축 값이 아닌, 축 이벤트를 생성합니다.
Move Forward 구현, 전진 구현
1. Add Movement Input 함수 생성
1. Execution 핀 연결 혹은 실행 핀 연결
2. 첫 번째 입력으로 World 기준 혹은 Global 기준의 Direction Vector가 필요합니다.
3. 두 번째 입력으로 Scale 값이 필요합니다. 0 기준으로 양수 값은 정방향 음수 값은 역방향입니다.
2. Control 기준의 회전 벡터
1. Get Control Rotation을 통해 타깃 Pawn을 소유하는 Controller의 회전 벡터를 얻어옵니다.
2. Make Rotator 함수는 생략해도 문제 없이 구현되긴 합니다...ㅎㅎ
3. "Forward Vector" 함수를 통해 전진 방향의 벡터를 얻어옵니다.
4. "Get Right Vector" 함수는 "MoveRight" 구현에서 다루겠습니다.
5. Normalize를 통해 연산량을 줄입니다.
6. 최종적으로 정규화된 전진 방향 벡터를 "Add Movement Input"의 "World" 핀으로 연결합니다.
* Character의 회전은 보통 "Z축 회전"으로 "Yaw" 값으로 핸들링합니다.
MoveRight 혹은 MoveLeft 구현
1. 위에서 구한 "Get Right Vector"를 정규화 하여 Add Movement Input에 연결합니다.
시야 회전
1. 축 이벤트 생성 및 Add Controller Input 함수 연결
1. Horizontal Look ( 좌, 우 시야 회전 ) 이벤트를 생성하고 "Add Controller Yaw Input"에 연결합니다.
2. Vertical Look ( 상, 하 시야 회전 ) 이벤트를 생성하고 "Add Controller Pitch Input"에 연결합니다.
2. Roll(X-축 회전), Pitch(Y-축 회전), and Yaw(Z-축 회전)
1. X-축 회전은 "Roll"이며, Unreal에서 X-축은 앞, 뒤 방향의 입니다.
2. Y-축 회전은 "Pitch"이며, Unreal에서 Y-축은 좌, 우 방향의 축입니다.
3. Z-축 회전은 "Yaw"이며, Unreal에서 Z-축은 위, 아래 방향 혹은 수직 방향의 축입니다.
Zoom
1. Zoom Speed 조절
* 시야 확대 및 축소는 "Spring Arm"의 길이를 조절함으로써 구현할 수 있습니다.
1. 미리 설정한 Axis Value와 개별적으로 생성한 "Zoom Speed" 변수를 곱해줍니다.
2. "Spring Arm"의 길이는 "Target Arm length"로 앞서 계산한 결과에 더해줍니다.
3. 결과적으로 Zoom(확대 혹은 축소)의 "속도 값"을 구합니다.
2. Zoom의 최소 혹은 최대 길이 설정
* Target Arm Length의 증가 혹은 감소 값에 *Clamping을 적용합니다.
* Clamp : 결과 값의 상한 과 하한을 적용합니다.
'게임개발 > Unreal 블루프린트' 카테고리의 다른 글
[Unreal_블루프린트]#7_무기 장착, Armor (0) | 2022.09.06 |
---|---|
[Unreal_블루프린트]#6_Orient Rotation To Movement, 가속 방향에 회전 맞추기 (0) | 2022.09.06 |
[Unreal_블루프린트]#5_Armed Character 추가 세팅 (0) | 2022.09.06 |
[Unreal_블루프린트]#4_Armed Character Animation (0) | 2022.09.03 |
[Unreal_블루프린트]#3_Anim Asset 변환, Anim Asset 리타겟팅 (0) | 2022.09.02 |