유니티:애니메이션: 두 판 사이의 차이
잔글 (→개요) |
잔글 (→애니메이션 매개변수) |
||
20번째 줄: | 20번째 줄: | ||
트렌지션 : 한 상태에서 다음 상태로 넘어가는 조건이다. | 트렌지션 : 한 상태에서 다음 상태로 넘어가는 조건이다. | ||
=== 애니메이션 매개변수 === | ===애니메이션 매개변수=== | ||
애니메이터의 파라미터에서 추가하면 변수타입을 추가할 수 있다. 특정 상태에서 다른 상태로 변화를 주고자 할 때 변수가 특정 값을 가질 때 state가 변하게 할 수 있다. | 애니메이터의 파라미터에서 추가하면 변수타입을 추가할 수 있다. 특정 상태에서 다른 상태로 변화를 주고자 할 때 변수가 특정 값을 가질 때 state가 변하게 할 수 있다. | ||
26번째 줄: | 26번째 줄: | ||
Has Exit Time : 애니메이션이 끝날 때까지 다음 state로 넘기지 않는다는 옵션. 동작을 즉각 바꿔주어야 할 땐 체크를 해제한다. | Has Exit Time : 애니메이션이 끝날 때까지 다음 state로 넘기지 않는다는 옵션. 동작을 즉각 바꿔주어야 할 땐 체크를 해제한다. | ||
=== 스크립트에서 상태 바꾸기 === | 변수를 bool형식이 아니라, int형식으로 바꾸면 다양한 상태로의 분기를 만들기 쉽다. | ||
2차원의 경우 뒤집기를 활용해 방향을 지정하자. | |||
spriteRenderer.flipX= (값==조건); //이런 형태로 지정도 가능하다.<br /> | |||
===스크립트에서 상태 바꾸기=== | |||
클래스에서 전역변수를 정의한다. | 클래스에서 전역변수를 정의한다. | ||
35번째 줄: | 40번째 줄: | ||
함수 내에서 변수명 = GetComponent<Animator>(); | 함수 내에서 변수명 = GetComponent<Animator>(); | ||
변수명.SetBool("애니메이터 안의 매개변수명", 지정할 값); //이 형태로 특정 상태가 발생했을 때 애니메이터 매개변수값을 바꿀 수 있다. | 변수명.SetBool("애니메이터 안의 매개변수명", 지정할 값); //이 형태로 특정 상태가 발생했을 때 애니메이터 매개변수값을 바꿀 수 있다.<br /> | ||
<br /> |
2020년 9월 9일 (수) 17:32 판
- 유니티:개요
- 유니티:기본 조작
- 유니티:카메라
- 유니티:오브젝트
- 유니티:코딩기초
- 유니티:UI
- 유니티:게임 내 화면
- 유니티:플레이어
- 유니티:맵
- 유니티:씬
- 유니티:몬스터
- 유니티:아이템
- 유니티:음향
- 유니티:빌드
- 유니티:VR
- 유니티:팁
개요
애니메이션 창
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("애니메이터 안의 매개변수명", 지정할 값); //이 형태로 특정 상태가 발생했을 때 애니메이터 매개변수값을 바꿀 수 있다.