Unity 6 Challenge - 3
Unity 6 Kimchi Run - 3

이번에는 Jump Sprite의 앞부분을 선택 후
Player에 드래그 해 Player_Jump라는
Animation을 만들어주겠습니다


Window / Animation / Animation에서
만든 Animation을 확인할 수 있고
Property 설정을 수정할 수 있습니다

Jump Sprite의 뒷부분은
착지 부분 이니 Player_Land라는
이름으로 만들어주겠습니다

Window / Animation / Animator에서
만든 Animation들을 확인할 수 있으며
Transition으로 Animation을 연결할 수 있습니다
https://docs.unity3d.com/Manual/class-Transition.html
Unity - Manual: Animation transitions
State Machine Transitions Animation transitions Use animation transitionsAllows a state machine to switch or blend from one animation state to another. Transitions define how long a blend between states should take, and the conditions that activate them. M
docs.unity3d.com


그 다음 Player_Land->Player_Run 제외
나머지의 Has Exit Time을 비활성화 해주고
Transition Duration을 0으로 설정 해주겠습니다
Has Exit Time | Transition Duration | |
역할 | 애니메이션 전환 타이밍을 결정 | 애니메이션 전환 시 블렌딩 시간을 결정 |
설명 | 현재 애니메이션이 얼마나 재생된 후 전환될지 제어(애니메이션의 종료 시점 제어) | 현재 애니메이션과 다음 애니메이션이 겹치는 시간(전환 시 끊김 없이 자연스러운 연결 제공) |
주요값 | true: 애니메이션 재생 후 전환 false: 조건 충족 시 즉시 전환 | 0: 블렌딩 없음 >0: 부드럽게 전환 |

그 다음 isJump, isLand라는
Trigger Parameter를 추가해주겠습니다
영상처럼 Int로 해도 돼요


Player_Run -> Player_Jump에는 isJump
Player_Jump -> Player_Land에는 isLand
Trigger를 연결해주겠습니다

일단 직접 Parameter를 확인해보니
Trigger대로 Animation이 잘 전환되고
있는 모습입니다!


점프, 착지는 한번만 할 수 있게
Animator에서 관련 Animation을 클릭 후
Loop Time을 해제해주겠습니다

전에 만든 Player Script를 수정해서
Animator가 들어갈 수 있게 해주겠습니다
Script는 Youtube 영상을 참고하세요!
playerAnimator.SetTrigger("isJump"); // 저는 Int 대신 Trigger를 썼으니 이 부분을 다르게 해줄게요
Type | 설명 | 메소드 |
Float | 실수 값을 설정 | SetFloat(string name, float value) |
Int | 정수 값을 설정 | SetInteger(string name, int value) |
Bool | true 또는 false 값을 설정 | SetBool(string name, bool value) |
Trigger | Trigger 상태를 활성화 (1회용 신호) | SetTrigger(string name) |

코드를 저장하고 실행해보니
달리기->점프->착지->다시 달리기
전환이 매끄럽게 이루어지고 있습니다