Clolent

3D 애니메이션에 대해 배운다.


Rig

유니티짱으로 실험흘해보자, 인간형 이기때문에 일단 애니메이션 타입은 Humanoid


아바타에서 아바타를 설정이 가능하다. 

숨쉬는 모션을 각 NPC 마다 모두다 따로만든다? 미친짓이다.

이를 해결하기 위해 애니메이션 리타겟팅을 사용한다.

철권에서 모쿠진을 생각해보자 ! 가장 좋은 예시라고 할수 있다. 


애니메이션 데이터 - 중간자 - 제작자가 제작한 모델 


뼈에 대한 링크만 제대로 설정해준다면 애니메이션 재활용이 가능하게 한다. 

이것이 아바타에 대한 개념

아바타 - 씬 화면에서 초록색으로 다 되어있다면 이것은 링킹이 정상적으로 되어있다는것


아바타 밑부분 Mapping 이 있다. 여기서 Clear 해보면 다 빨개진다.  

여기서 하나하나 링킹을 해줘야 하는것


그냥 동그라미 : 필수

점선 동그라미 : 선택사항


Muscles & Settings

여기서 실험이 가능하다. 이것저것 해보자 샘플애니메이션들을 가지고 실험을 할수 있다. 


그런데 애니메이션에 대해 어느정도 재한을 줄수있다.

PerMuscle setting 에서 그 제한을 줄수있다. 

예를 들면 접히는 정도 같은걸 설정해줄수있음 


이것 까지 확인하면 매카님을 사용할수 있다는 것을 의미함 .


Machanim

애니메이션 어떻게 넣어 ? 클립 가져다가 계층구조에 넣어라. 

클립에 모델을 넣는 순간 컨트롤러가 링크되는것 

컨트롤러를 더블클릭하면 애니메이터 창으로 넘어갈수있음 [ 메카님 ]

메카님의 단점 : 그래픽이라서 좋다고 생각하지만...상태들 조금만 많이자민 지랄이 나기시작한다. 2D 에서는 무조건 메카님이라고한다.

Root Transform 어쩌고 있으면 그건 매카님이다. 

< 다른사람이 만든 애니메이션을 가져다 레거시로 사용하긴 하실상 힘듬 > 


애니메이터 창에 클립을 드래그 해서 넣는 것으로 새로운 상태를 추가할수 있다.

상태 오른쪽에서 Make Transaction 으로, 화살표 를 만들수 있다.


Layer :FPS 생각하자 앞으로 달려가며 여에보고 총쏠수있다. 상체,하체가 레이어가 구분되어있는것

Parameter : 변수 이다. 어떤 상태를 변경하기위한 조건 변수들 + 를 통해 파라미터 추가 가능.

( Trigger : 할때만 트루 아닐땐 False )


Transaction : Has Exit Time 현재 플레이가 끝나면 무조건 다음 상태로 이동한다. 

이게 켜져있다면 일단 실행된 애니메이션은 끝까지 수행이 되고 나서 다음 상태로 넘어간다.

꺼져있다면 실행중 언제라도 조건이 바뀌면 다른 애니메이션으로 넘어 갈수 있다. 

켜져잇는데 연결된게 여러개면 어디로....? 이런 문제해결을 위해, 파라미터를 통해 잘 컨트롤 해줘야한다. 


애니메이션의 Loop Time 이 켜져있으면 계속 재생해버리기 때문에 한번만 실행될녀석은 루프타임을 꺼줘야 한다. 


애니메이터에서 왓다갓다 하려면 Alt 누르고 움직임


캐릭터 움직임 + 애니메이션 

Animator.Set어쩌고 ( "파라미터" , Value ) 

애니메이터 눌러보면 Inspector 에 Motion 부분에 클립 갈아끼우면 그 클립으로 작동한다.  

재밌는건 거지같은건 이벤트 추가 등은 애니메이션 탭에서 해야한다는 것....


지금 추가된 걸로 꼭 트랜잭션을 따라가지 않더라도, CrossFade 와 Play를 통해서 강제 클립 이동이 가능 하다 !! Animator.Play(" 클립명 ") // Animator.CrossFade("클립명" )                           


애니메이터에서 우클릭 - Create State - Create Blend Tree 를 통해 블랜딩 애니메이션을 만들수있다. 더블클릭하면 글로넘어감

-> Add Motion 을 통해 여러 모션들을 추가하고

0~1 로 조절함으로서 두 애니메이션을 섞어줄수가 있다. 

※ Threshold 로 0~1이 아닌 더큰범위로 사용할수있다. AutomataThreshold 체크해제하고


Blend 는 무조건 Float 값 

                                                                                                                            

Blend Tree 안에 Blend Tree 를 넣어서 관리도 가능하다


언제든 일어날수있는 것에 대한 것은 Any State 를 사용한다. ex) 피격

Exit 을 통해서 어떤 애니메이션 도중에 빼나갈수도 있고,  Add Behaviour 을 추가해서 어떤 상태로 들어갈때마다, 어떤 일이 일어나게 할수도 있다.

OnState Enter / Update / Exit 등등이 있다.  


댓글 로드 중…

블로그 정보

Clolent - 커피물조절달인

최근에 게시된 글