대기 동작 표정 바꿔주세요!

1861 단어 Unity#VRM
Unity의 Avater Mask와 Animation을 통해 표정을 변하게 하는 방법.
이번에는 유닛 애니메이션을 통해 대기 동작의 표정을 바꾸고 싶다.
Animator 설정
먼저 Animatioar Window의 + 버튼을 누르고 Layer를 추가하여 이름을 Face Layer로 지정하십시오.
이제 기어 아이콘을 눌러 Face Layer의 weight를 1로 설정합니다.
다음엔 애니메이션 클립 두 개를 만들어 페이스 레이어에 Drag & Drop을 올려주세요.
이번에는 애니메이션 클립으로 펀과 조이의 두 표정이 달라졌다.
애니메이션 클립을 배치한 후 사진처럼 Translation을 붙여 넣습니다.

parameter에 Int형 Paramter를 설정하고 이름을 expression으로 설정합니다.
그런 다음 각 노드에 대한 Condition을 설정합니다.
루트 노드
이전 노드
Conditions
Waiting
Fun
expression Equals 1
Waiting
Joy
expression Equals 2
Fun
Waiting
expression Equals 0
Joy
Waiting
expression Equals 0
Fun
Joy
expression Equals 2
Joy
Fun
expression Equals 1
또한 모든 Translation에 대한 HasExitTime의 확인 표시를 해제합니다.
Avater Mask 설정
그런 다음 Avater Mask 를 설정합니다.
사진에서 보듯이 Project>온몸이 빨갛게 물든 Avater Mask를 마우스 오른쪽 버튼으로 클릭하면 됩니다.

Face Layer의 Avater Mask로 설정합니다.
Animation Clip 설정
기본적으로 본은 움직이지 않으니 표정만 바꾸는 애니메이션 클립을 준비하세요.
이번에는 애니메이션에서 계속 미소(Fun)를 짓거나 웃고(Joy) 있는 표정이다.
Script 설정
Waiting의 Add Behavior 키를 눌러 스크립트를 추가하십시오.
이번에는 ExpressionChange입니다.cs를 생성합니다.
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        var num = Random.Range(0, 3);
        animator.SetInteger("expression", num);
        Debug.Log(num);
    }
ExpressionChange.다음과 같이 cs의 OnStateEnter 를 덮어쓰십시오.
이상 설정이 완료되었습니다.
이렇게 하면 Avater Mask를 사용하여 표정을 동적으로 변화시킬 수 있습니다.

좋은 웹페이지 즐겨찾기