HB의 개발 블로그

[Unity] Mixamo를 활용한 캐릭터 생성하기(.fbx) 본문

Unity

[Unity] Mixamo를 활용한 캐릭터 생성하기(.fbx)

빈형임 2025. 2. 26. 23:29

 

대부분의 게임들에서는 다양한 '캐릭터'를 필요로 합니다.

하지만 우리는 캐릭터로 게임을 플레이하기만 해봤지 만들고, 디자인 해 본 경험은 없을 겁니다.

게다가 캐릭터를 게임에서 활용하기 위해서는 캐릭터 컨셉 뿐만 아니라 리깅, 머터리얼, 애니메이션 등 다양한 요소들이 필요합니다.

 

나약한(?) 개발자인 우리가 이 모든걸, 다 혼자 해내기에는 쉽지 않죠.

유니티(Unity)에서 캐릭터 애니메이션을 빠르게 적용할 수 있는 방법 중 하나가 Mixamo를 활용하는 것입니다.

Mixamo는 무료로 사용 가능한 3D 캐릭터 및 애니메이션 라이브러리로, 애니메이션을 손쉽게 다운로드하여 Unity에서 적용할 수 있습니다. 이번 글에서는 Mixamo를 이용하여 캐릭터를 다운로드하고 Unity에서 애니메이션을 추가하는 방법을 단계별로 설명하겠습니다.

 


1. Mixamo에서 캐릭터와 애니메이션 다운로드

1.1 Mixamo 사이트 접속 및 로그인

  1. Mixamo 공식 웹사이트에 접속합니다.
  2. Adobe 계정으로 로그인합니다. (Adobe 계정이 없다면 회원가입 후 무료로 사용 가능)

 

1.2 캐릭터 선택 및 다운로드

  1. Characters 탭에서 원하는 3D 캐릭터를 선택합니다.
  2. T-Pose 상태의 캐릭터를 사용하기 위해 "T-Pose"을 선택합니다.
  3. Download 버튼을 클릭하고 아래 설정을 적용합니다:
    • Format: FBX for Unity (.fbx)
    • Skin: With Skin
  4. Download 버튼을 눌러 캐릭터 모델을 다운로드합니다.

 

1.3 애니메이션 선택 및 다운로드

  1. Animations 탭에서 원하는 애니메이션(예: 걷기, 달리기, 점프 등)을 선택합니다.
  2. 캐릭터가 선택한 애니메이션을 미리보기로 실행하는지 확인합니다.
  3. Download 버튼을 클릭하고 아래 설정을 적용합니다:
    • Format: FBX for Unity (.fbx)
    • Skin: Without Skin (캐릭터 모델 없이 애니메이션 데이터만 다운로드)
    • 주의사항: 애니메이션을 적용할 캐릭터의 움직임 형태에 따라서 In Place 여부를 선택합니다.
      • In Place 선택 시: 걷는 애니메이션이라도 앞으로 이동하지 않고 제자리에서 걷는 모션만 적용(스크립트를 통해 따로 움직임 조정)
      • In Place 미선택 시: 걷는 애니메이션과 함께 캐릭터가 이동
  4. Download 버튼을 눌러 애니메이션 파일을 저장합니다.

 

2. Unity에서 Mixamo 캐릭터 및 애니메이션 적용

2.1 FBX 파일 가져오기

  1. 캐릭터를 활용할 프로젝트 파일을 엽니다.
  2. 원하는 폴더에서 우클릭 → Import New Asset을 선택하여 다운로드한 FBX 파일을 가져옵니다.(혹은 드래그)
    *저라면 캐릭터 폴더를 따로 관리할 것 같습니다.
  3. 가져온 캐릭터 모델을 Hierarchy 창으로 드래그하여 배치합니다.

 

2.2 캐릭터 리깅 설정 (Humanoid로 변경)

  1. Project에서 가져온 캐릭터의 FBX 파일을 선택합니다.
  2. Inspector에서 Rig을 선택합니다.
  3. Animation TypeHumanoid로 변경하고 Apply 버튼을 클릭합니다.
  4. Configure 버튼을 눌러 Unity의 인체 뼈대와 Mixamo 모델의 매칭이 올바른지 확인 후 저장합니다.

 

2.3 애니메이션 클립 적용

  1. 다운로드한 애니메이션 FBX 파일Assets 폴더로 가져옵니다.
    *위에서 가져온 캐릭터 FBX 파일과 다른 파일입니다.

  2. 애니메이션 FBX 파일을 선택하고 Rig 설정을 Humanoid로 변경 후 Apply를 클릭합니다.
    *위에서 설정한 캐릭터와 동일한 내용입니다.
  3. 필요에 따라 Animation 탭에서 Loop Time을 체크하여 애니메이션이 반복되도록 설정할 수 있습니다.
  4. 캐릭터에 Animator Controller를 추가하여 애니메이션을 적용합니다.
    • Assets 창에서 우클릭 → Create → Animator Controller를 선택하여 새로운 애니메이터 컨트롤러를 생성합니다.
    • 캐릭터의 Animator 컴포넌트에 생성한 애니메이터 컨트롤러를 할당합니다.
    • 애니메이터 컨트롤러를 열고 Base Layer에서 애니메이션 클립을 추가하여 연결합니다.

 

2.4 애니메이션 전환 및 제어

  • Blend Tree를 활용하여 걷기/달리기 애니메이션을 부드럽게 전환할 수 있습니다.
  • Animator에서 Parameters를 설정하고 Transitions을 추가하여 애니메이션 전환을 제어할 수 있습니다.

  • 스크립트를 사용하여 애니메이션을 변경하는 방법:
using UnityEngine;

public class CharacterController : MonoBehaviour
{
    public Animator animator;
    
    void Update()
    {
        if (Input.GetKey(KeyCode.W))
        {
            animator.SetBool("isWalking", true);
        }
        else
        {
            animator.SetBool("isWalking", false);
        }
    }
}
  • 위 코드는 W 키를 누르면 isWalking 파라미터가 활성화되어 걷기 애니메이션이 실행되도록 합니다.
    *Position Update는 따로 추가해주어야 합니다.


  • 캐릭터의 애니메이션이 땅속에 묻히거나 위치가 이상하면 불러온 FBX Inspector창 - Animation 옵션에서
    Root Transform Position(Y)의 Based Upon을 Feet로 설정해주세요.


3. 최적화 및 마무리

  • 애니메이션 압축: Inspector에서 Animation Compression 설정을 통해 파일 크기를 최적화할 수 있습니다.
  • 루트 모션 사용: 애니메이션이 이동을 포함하는 경우 Apply Root Motion을 활성화할지 결정해야 합니다.
  • 캐릭터 크기 조정: Mixamo에서 다운로드한 캐릭터 모델의 크기가 크거나 작을 수 있으므로, Transform 스케일 값을 조정하여 맞춰줍니다.
 

4. 마치며

 

Mixamo를 활용하면 프로그래머나 아티스트가 직접 캐릭터 애니메이션을 제작하지 않아도 간편하게 애니메이션을 적용할 수 있습니다.

위 과정을 따라 하면 Unity에서 Mixamo 캐릭터와 애니메이션을 쉽게 적용할 수 있으며, 이를 기반으로 다양한 게임 프로젝트를 제작할 수 있습니다.

 

캐릭터에 색(머터리얼)이 적용되지 않는 문제가 발생했다면! 다음 글을 참고해주세요.