Mixamo를 사용하여 Unity에서 3D 모델에 애니메이션 추가(유모 수준 튜토리얼)

Mixamo를 사용하여 Unity에서 3D 모델에 애니메이션 추가(유모 수준 튜토리얼)

최근에는 유니티의 3D 캐릭터에 애니메이션을 추가하고 있는데, 조작방법을 간략하게 기록해보겠습니다.

1단계: Unity Hub에서 새 프로젝트를 만듭니다.

Unity Hub를 열고 새 프로젝트를 클릭한 후 아래 단계를 따르세요.
여기에 이미지 설명을 삽입하세요.

2단계: 캐릭터 배치용 패널 만들기

프로젝트——>GameObject——>3D Object——>Plane을 엽니다.이 단계는 필요하지 않습니다.이미 3D 장면이 있는 경우 이 단계를 무시할 수 있습니다.
여기에 이미지 설명을 삽입하세요.

3단계: Mixamo에 기존 캐릭터 모델 업로드

Mixamo를 열려면 여기를 클릭하세요.
Mixamo를 열면 다음 인터페이스로 들어가게 됩니다. 일부 3D 캐릭터와 애니메이션을 무료로 사용할 수 있습니다.
여기에 이미지 설명을 삽입하세요.
자신만의 3D 캐릭터를 업로드하고 업로드 형식에 주의한 후
여기에 이미지 설명을 삽입하세요.
아래 그림에 표시된 단계를 따르세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.

4단계: 역할 가져오기

다운로드한 fbx 파일을 유니티 씬의 Assets 디렉터리로 드래그하여 씬에 드래그하면 해당 씬에서 캐릭터 T-pose 모델을 볼 수 있습니다.
여기에 이미지 설명을 삽입하세요.
불러온 캐릭터 소재가 분실된 경우 아래 단계를 따라 진행해 주셔야 하며, 건너뛸 수 있는 사항은 없습니다.
여기에 이미지 설명을 삽입하세요.

5단계: 캐릭터 골격 설정

여기에 이미지 설명을 삽입하세요.

6단계: 캐릭터 애니메이션 다운로드

Mixamo로 돌아가서 다운로드할 애니메이션을 선택하고 자산으로 드래그하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.

7단계: 애니메이션 뼈대 설정

모든 애니메이션을 설정해야 합니다.
여기에 이미지 설명을 삽입하세요.

8단계: 애니메이션 상태 머신 설정

애니메이션 상태 머신 추가, Assets——>Create——>Animation Controller, 그림과 같이 성공적으로 생성되었습니다.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
애니메이션을 제어하기 위한 bool 유형 매개변수를 추가하려면 매개변수 아래의 + 기호를 클릭합니다
여기에 이미지 설명을 삽입하세요.
. 다른 애니메이션에 연결하기 위한 전환 만들기 및 바인딩 다양한 애니메이션 간의 전환 논리를 설정하고
여기에 이미지 설명을 삽입하세요.
컨트롤러에 바인딩 해야 합니다 .
여기에 이미지 설명을 삽입하세요.

9단계: 애니메이션을 제어하는 ​​스크립트 작성

자산 ——>만들기——>C# 스크립트, 스크립트를 열어 코드 작성

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class boycontrol : MonoBehaviour
{
    
    
    //动画组件
    private Animator m_Anim;
    //动画现在状态
    private AnimatorStateInfo m_CurrentBaseState;
    // Use this for initialization
    void Start()
    {
    
    
        m_Anim = GetComponent<Animator>();
    }

    // Update is called once per frame
    void Update()
    {
    
    
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
    
    
            sit();
        }
        else if (Input.GetKeyDown(KeyCode.DownArrow))
        {
    
    
            stand();
        }
        else if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
    
    
            point();
        }
        else if (Input.GetKeyDown(KeyCode.RightArrow))
        {
    
    
            ask();
        }

    }
    void sit()
    {
    
    
        m_Anim.SetBool("sit", true);
        m_Anim.SetBool("stand", false);
        m_Anim.SetBool("ask", false);
        m_Anim.SetBool("point", false);
    }

    void stand()
    {
    
    
        m_Anim.SetBool("stand", true);
        m_Anim.SetBool("sit", false);
        m_Anim.SetBool("ask", false);
        m_Anim.SetBool("point", false);
    }
    void ask()
    {
    
    

        m_Anim.SetBool("ask", true);
        m_Anim.SetBool("sit", false);
        m_Anim.SetBool("stand", false);
        m_Anim.SetBool("point", false);
    }
    void point()
    {
    
    
        m_Anim.SetBool("point", true);
        m_Anim.SetBool("sit", false);
        m_Anim.SetBool("ask", false);
        m_Anim.SetBool("stand", false);
    }
}

10단계: 제어 스크립트 바인딩

제어 스크립트를 저장하고 계층 패널의 캐릭터로 드래그합니다.

알아채다:

나의 예는 키보드의 위, 아래, 왼쪽, 오른쪽 키를 사용하여 애니메이션 실행을 제어하는 ​​것인데, 이는 실제 상황에 따라 수정될 수 있습니다. 이 예제는 기존 3D 캐릭터 모델의 간단한 애니메이션 바인딩에만 적합합니다.

추천

출처blog.csdn.net/qq_49149394/article/details/131349235