유니티:애니메이션

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동

틀:유니티

  1. 유니티:개요
  2. 유니티:기본 조작
    1. 유니티:에셋스토어
  3. 유니티:카메라
  4. 유니티:오브젝트
    1. 유니티:데이터 입력받기
    2. 유니티:오브젝트 이동(오브젝트 조작)
    3. 유니티:힘으로 오브젝트 이동
    4. 유니티:충돌 이벤트
    5. 유니티:오브젝트 작성 tip
    6. 유니티:프리팹
  5. 유니티:코딩기초
    1. 유니티:C sharp 코딩 편의기능
    2. 유니티:MonoBehaviour
    3. 유니티:이벤트 메서드
    4. 유니티:컴포넌트 조작하기
  6. 유니티:UI
  7. 유니티:게임 내 화면
  8. 유니티:플레이어
    1. 유니티:모델
    2. 유니티:캐릭터 이동
    3. 유니티:애니메이션
    4. 유니티:주인공 시점
  9. 유니티:맵
    1. 유니티:투명한 벽 만들기
    2. 유니티:내비게이션
  10. 유니티:씬
  11. 유니티:몬스터
  12. 유니티:아이템
  13. 유니티:음향
    1. 유니티:배경음
    2. 유니티:효과음
  14. 유니티:빌드
  15. 유니티:VR
    1. 유니티:VR:UI
    2. 유니티:VR:VR로 변환
  16. 유니티:팁

개요


애니메이션 창

Ctrl + 6 으로 애니메이션 창을 볼 수 있다. 프레임 단위로 애니메이션을 조절할 수 있다. 혹은 애니메이터의 각 state를 선택해 스피드를 조절할 수 있다.

Loop Time 이걸 풀어주면 1회만 실행된다.

애니메이션 적용

window>animation>animator 에서 상황에 따라 어떤 애니메이션이 나오게 할지 정할 수 있다.

박스 하나하나는 state라고 부른다.

Entre는 맨 처음의 상태.

Make Transition을 통해 다음 상태로의 연결을 할 수 있다.

트렌지션 : 한 상태에서 다음 상태로 넘어가는 조건이다.

애니메이션 매개변수

애니메이터의 파라미터에서 추가하면 변수타입을 추가할 수 있다. 특정 상태에서 다른 상태로 변화를 주고자 할 때 변수가 특정 값을 가질 때 state가 변하게 할 수 있다.

트렌지션(화살표)를 선택하면 Conditions에 매개변수를 넣을 수 있다. 매개변수의 값에 따라 트렌지션이 발생한다.

Has Exit Time : 애니메이션이 끝날 때까지 다음 state로 넘기지 않는다는 옵션. 동작을 즉각 바꿔주어야 할 땐 체크를 해제한다.

변수를 bool형식이 아니라, int형식으로 바꾸면 다양한 상태로의 분기를 만들기 쉽다.

2차원의 경우 뒤집기를 활용해 방향을 지정하자.

spriteRenderer.flipX= (값==조건); //이런 형태로 지정도 가능하다.

스크립트에서 상태 바꾸기

클래스에서 전역변수를 정의한다.

Animator 변수명; //파라미터를 가져온다.

함수 내에서 변수명 = GetComponent<Animator>();

변수명.SetBool("애니메이터 안의 매개변수명", 지정할 값); //이 형태로 특정 상태가 발생했을 때 애니메이터 매개변수값을 바꿀 수 있다.

상태바꾸기를 통해 피격이나 공격이나 다양하게 변화가 가능할 것이다.


AnyState

어떤 상황에서든 특정 조건이 발생했을 때 바로 애니메이션이 작동하게 하려면.. 이것과 state, exit를 사용하면 된다.