Responsive Advertisement

유니티 Humanoid 애니메이션 블렌딩 본 어긋남 해결법: 보조 본 인식 오류와 상하체 분리 마스크 완벽 가이드

안녕하세요! 😊 오늘은 유니티로 3D 캐릭터 애니메이션 작업할 때, 정말 많은 분들이 골치 아파하는 문제 하나를 이야기하려고 해요. 바로 "유니티 Humanoid 캐릭터 애니메이션 블렌딩할 때 본(Bone)이 어긋나는 현상"이에요.

혹시 여러분도 이런 경험 있으세요? 열심히 모델링하고 리깅까지 끝냈는데, 막상 여러 애니메이션을 섞어 쓰려고 하면 캐릭터가 이상하게 꼬이거나 본의 위치가 갑자기 뒤틀리는 일! 정말 짜증 나죠. 저도 이 문제 때문에 한참을 헤맸었거든요. 그래서 오늘은 이 본 어긋남 현상이 왜 생기는지, 그리고 어떻게 해결하면 좋은지 딱 정리해드릴게요.

1. 문제 간단 요약

유니티에서 캐릭터 애니메이션을 만들다 보면, ‘걷기+달리기’, ‘상체 공격+하체 이동’처럼 여러 동작을 섞는 ‘애니메이션 블렌딩’은 거의 필수겠죠? 그런데 Humanoid 리깅을 사용할 때는 유독 대표적인 세 가지 오류가 자주 발생해요.

  • 보조 본이 사라지는 문제: 무기나 옷자락, 머리카락처럼 기본 뼈대 외에 추가로 세팅한 보조 본이 블렌딩 과정에서 아예 무시되거나, 엉뚱하게 움직여버릴 때가 있어요.
  • 상하체 분리 시 캐릭터가 꼬임: 허리가 기괴하게 꺾인다든가, 골반 위치가 허공에 붕 뜬다든가… 모델링이 갑자기 엉망이 될 수도 있습니다.
  • 본 어긋남: 애니메이션 전환 순간 특정 관절이 튀어나가거나 이상한 방향으로 움직이는 현상, 한 번쯤 보셨을 거예요.

이런 문제들은 의외로 유니티 Humanoid 시스템의 구조적인 한계, 그리고 아바타 마스크(Avatar Mask) 설정을 잘못 이해해서 생기는 경우가 많더라고요.

2. 왜 이런 문제가 생길까? 조금 더 파헤쳐보기

문제의 진짜 핵심은 유니티 Humanoid 시스템이 ‘정형화된 인간형 뼈대(필수 15개 본)’만을 표준으로 인식하도록 만든 데 있어요.

① Generic 방식과 Humanoid 방식의 차이

Generic 방식은 여러분이 세팅한 모든 뼈대를 그대로 읽어서 애니메이션을 적용해줘요. 근데 Humanoid는 유니티가 자체적으로 만든 ‘아바타 템플릿’이란 기준에 맞춰서 뼈대 매핑 과정을 거칩니다. 그래서 예를 들어 3ds Max에서 Biped에 보조 본을 자유롭게 추가했다가, 유니티에서 Humanoid로 불러오면 보조 본이 전혀 인식되지 않거나, 아예 애니메이션에 참여도 못 하는 되는 거에요.

② 아바타 마스크(Avatar Mask) 설정의 함정

상하체 애니메이션을 따로 짜서 섞으려면 꼭 ‘아바타 마스크’를 써야 하잖아요? 그런데 마스크 생성 후 보통은 상체/하체만 대충 토글해두고, 보조 본은 신경 쓰지 않으시죠? 그게 함정이에요. 기본 설정상 보조 본(Transform)은 애초에 마스크에서 체크가 빠져 있어서, 블렌딩 중엔 가만히 굳어 있거나 이상하게 튀게 됩니다.

③ 골반(Pelvis) 위치 문제

유니티에서 캐릭터 중심이 되는 골반(Pelvis) 뼈대가 있는데, 이게 상하체를 나누는 과정에서 내부적으로 상체 계열에 좀 더 가깝게 처리되는 경향이 있어요. 기준 축이 제대로 안 잡혀 있거나, 상하체 분리 마스크만 대충 씌우면 상체/하체 각각의 골반 값이 충돌하면서 허리가 과도하게 꺾이거나 본이 어긋나는 문제까지 겹쳐집니다.

3. 해결 방법(실전 가이드)

앞에서 말씀드린 원인을 토대로, 유니티에서 Humanoid 블렌딩을 할 때 본이 어긋나는 문제를 어떻게 해결하면 좋을지 실제 경험을 바탕으로 정리해봤어요.

방법 1: 보조 본이 많으면 Biped 피하기 + 구조 설계 바꾸기

혹시 캐릭터에 치마나 망토, 복잡한 악세사리 같은 보조 본이 잔뜩 달려 있나요? 이런 경우엔 3ds Max 기본 Biped 구조에 보조 본을 무작정 연결하는 건 피하시는 게 좋아요.

  • 보조 본 하나하나 세밀하게 제어해야 하거나, 리타겟팅 기능이 굳이 필요 없다면 리그 타입을 아예 Generic으로 바꿔버리는 게 속 편하더라고요.
  • 그래도 꼭 Humanoid 구조를 써야 한다면, 보조 본들을 Biped 하위에 두지 말고 Root 바로 아래에 별도 계층으로 설계하세요. 그리고 유니티에서 Constraints 같은 컴포넌트로 움직임을 제어해주면 우회적으로 해결할 수 있습니다.

방법 2: 아바타 마스크 Transform 체크 꼼꼼하게!

애니메이션 컨트롤러에서 Avatar Mask 쓸 때, 보조 본 키값이 누락되는 문제가 은근 자주 생기더라고요. 저도 처음엔 이거 놓쳐서 한참 삽질했었죠.

  1. 프로젝트 창에서 Avatar Mask 파일을 열고.
  2. 인스펙터 창에서 Humanoid 탭 말고 Transform 탭을 클릭하세요.
  3. 여기서 전체 본 계층이 보이는데, Import Skeleton이나 비슷한 버튼 눌러서 현재 캐릭터의 골격을 불러옵니다.
  4. 그리고 여러 보조 본(Extra Bones)이 제대로 체크되어 있는지 일일이 확인 꼭 해주세요! 이걸 안 하면 블렌딩 중에 보조 본이 제대로 반영되지 않아서 결과물이 이상해질 수 있거든요.

방법 3: 상하체 분리 땐 골반 본(Pelvis) 중심으로!

상체/하체 애니메이션을 각각 분리해서 블렌딩할 때, 골반(Pelvis/Hips) 축이 꼬여서 캐릭터가 비정상적으로 움직이는 경우가 종종 있어요.

  • 골반 기준 정렬: DCC 툴(3ds Max, Maya 등)에서부터 상하체 애니메이션의 골반 위치와 회전이 항상 똑같은 원점에 오도록 작업하세요.
  • 루트 모션(Root Motion) 확인: 유니티에서는 Root Transform Position(Y), XZ 설정을 Original이나 Center of Mass로 고정해서 골반이 덜컥거리지 않게 해주셔야 깔끔합니다.

4. 요약 및 결론

유니티 Humanoid 환경에서 애니메이션 블렌딩 시 본 어긋남 현상, 사실 리깅 설계에서부터 시작되는 경우가 많아요. 저처럼 쓸데없이 삽질하지 않으려면, 아래 세 가지만 기억하시면 정말 편합니다!

  1. 보조 본이 많으면 Biped+Humanoid 조합을 피하고, 구조부터 단순하게 바꾸거나 Generic으로 설계할 것.
  2. 상하체 분리용 Avatar Mask 쓸 땐 Transform 목록에서 보조 본 체크박스 하나하나 수동으로 꼭 활성화할 것.
  3. 골반(Pelvis) 본은 캐릭터 움직임의 기준이니, 블렌딩 전후 항상 정확하게 정렬·셋업할 것!

이 팁들을 적용하면 예전처럼 관절이 꼬이거나 비틀리는 황당한 현상은 훨씬 줄어듭니다. 직접 적용해서 더 부드럽고 자연스러운 애니메이션 연출해 보세요!

Post a Comment

다음 이전