애니메이터 뷰
처음 열린 애니메이터 뷰에는 3개의 스테이트(State)가 생성되어 있습니다. 각 스테이트의 역할은 다음과 같습니다.
스테이트 종류 | 역할 |
Entry | 시작 스테이트로 최초의 진입점이다. |
Exit | 종료 스테이트로 모든 스테이트가 종료되는 마지막 스테이트다. |
Any State | 현재 어느 스테이트를 실행하고 있더라도 조건에 만족하면 분기시켜야 하는 스테이트가 있을 경우 사용한다. |
Has Exit Time 속성은 수행중인 애니메이션이 다 끝난 후 전이가 되도록 하는 속성입니다. 바로 전이를 발생시키고자 할 때는 Has Exit Time 속성을 언체크합니다.
유니티 메카님에서는 트랜지션이 일어나는 도중에 다른 트랜지션에 의해서 해당 트랜지션을 중단시킬 수 있는 기능이 있습니다. 이것은 4.x 버전에서는 atomic 설정의 on/off 를 통해서 트랜지션 중단의 가능 여부를 지정할 수 있었습니다. 유니티 5에서는 이 기능을 더 확장하여 더욱 상세한 설정이 가능한 Transition interruption source 옵션 항목이 추가되었습니다. (atomic 설정방식은 5 버전에서는 제거되었습니다.)
트랜지션의 인스펙터 창을 열어봅니다:
[Settings] 설정 안에 [Interruption Source] 옵션이 있는 것을 볼 수 있습니다. 이 옵션을 통해서 사용자는 해당 트랜지션이 어떤 스테이트의 트랜지션들에 의해서 중단될 수 있는 지를 설정할 수 있습니다.
그럼 어떠한 옵션항목이 있는지 드롭다운 메뉴를 열어보겠습니다:
위 그림에서와 같이 5가지 interruption source 옵션 항목이 있습니다. 그러면 각 항목들이 의미하는 것은 무엇인지 알아보겠습니다. 조금 더 이해를 쉽게 하기 위해서 아래 그림와 같은 상황을 가정한 상태에서 설명할까 합니다:
그림에서 파란색으로 표시된 트랜지션 t 의 Interruption Source를 설정한다고 했을 때 각 옵션 항목들을 아래와 같이 설명할 수 있습니다.
1) None: 트랜지션 t는 어떠한 상황에서도 간섭 받지 않습니다. 4.x 버전에서 atomic을 켰을 때와 동일합니다.
2) Current State: 트랜지션 t는 A 스테이트에서의 다른 트랜지션들에 의해 중단될 수 있습니다.
그림 상에서 볼 때, 만약 해당 트랜지션이 일어나고 있는 도중에 A->B 또는 A->C의 트랜지션이 일어나는 조건이 만족하게 된다면 트랜지션 t는 중단되고 조건을 충족한 새로운 트랜지션이 일어나게 됩니다.
3) Next State: 트랜지션 t는 X 스테이트에서의 다른 트랜지션들에 의해 중단될 수 있습니다.
그림 상에서 볼 때, 만약 해당 트랜지션이 일어나고 있는 도중에 X->Y 또는 X->Z의 트랜지션이 일어나는 조건이 만족하게 된다면 해당 트랜지션은 중단되어 버리고 조건을 충족한 새로운 트랜지션이 일어나게 됩니다.
4) Current State Then Next State: 트랜지션 t는 A와 X 스테이트의 다른 트렌지션들에 의해 중단될 수 있습니다. 단, A 스테이트가 우선순위가 높으므로, 양쪽 스테이트의 트랜지션들이 서로 동시에 발생할 수 있는 조건일 경우 A 스테이트에 속한 트랜지션이 먼저 선정됩니다.
5) Next State Then Current State: 트랜지션 t는 A와 X 스테이트의 다른 트렌지션들에 의해 중단될 수 있습니다. Current State Then Next State 와는 반대로 X 스테이트가 우선순위가 높습니다. 따라서 X 스테이트에 속한 트랜지션이 먼저 선정됩니다.
ref : https://blog.naver.com/sasayakki/221357530573
ref : https://jinhomang.tistory.com/116
'게임엔진(GameEngine) > Unity3D' 카테고리의 다른 글
[ExecuteInEditMode] 는 실행된 값이 저장되어 있는다 (0) | 2019.04.13 |
---|---|
애니메이터 오버라이드 컨트롤러 (0) | 2019.03.13 |
TextMesh Pro & Unity 2018.1 (Migration to Package Manager releases) (0) | 2019.01.25 |
Physics.BoxCastAll 충돌 범위와 Point is zero? [BoxCast 분석] (0) | 2018.10.13 |
unity3D Help Shortcut setting + visual studio (0) | 2018.10.13 |