SSUNBORI Archive

3d Generalist를 꿈꾸는 Modeler ssunbori 입니다. 생성형 ai, 모델링 툴, 게임 엔진을 주로 공부하고 있습니다.

Artstation 자세히보기

BLENDER/TUTORIAL

[Blender] 동물 캐릭터 리깅(꼬리, 귀, 코) ③ 블렌더에서 Weight Paint 수정하기

ssunbori 2023. 7. 6. 12:30

목차

     

    요약

    1. fbx로 내보내기
    2. mixamo를 이용해 기본적인 humanoid(손가락은 없는 버전)으로 리깅
    3. Blender에서 FBX를 가져와서 Weight Paint 수정
    4. Armature의 뼈를 편집해서 귀, 코, 꼬리 뼈 추가
    5. 추가한 꼬리, 귀, 코에 해당하는 메쉬의 vertex들을 각 뼈의 Vertex Group에 할당
    6. mixamo에서 가져온 애니메이션 클립들에 꼬리, 귀, 코 애니메이션 편집

    Weight란?

    한 뼈를 움직일 때 그 뼈에 연결된 메쉬의 버텍스들이 얼마만큼 그 뼈의 움직임을 따라갈 것인지 결정하는 값.

    빨간색 ~ 파란색까지 존재하고, 빨간색에 가까워질수록 뼈가 움직일 때 더 큰 영향을 받는다.

     

    [출처] 블렌더 공식 메뉴얼 https://docs.blender.org/manual/en/

    이 weight값은 weight paint 작업을 통해 수정할 수 있다.

    오늘의 포스팅에서도 간단하게 Weight Paint작업을 해서 부자연스러운 weight 값을 가진 부분을 수정해줄 것이다.

     

    블렌더에서 FBX 파일 불러오기

    블렌더를 열고, File > Import > FBX를 눌러 T자 포즈로 다운로드 해뒀던 캐릭터를 불러온다.

    *직접 뼈를 만들어 리깅한 Armature에 믹사모에서 불러온 애니메이션을 auto rig pro같은 애드온으로 리타겟 해도 되지만, 뼈 구성이 다르다보니 하나하나 리타겟 하는데 시간도 걸리고 번거로웠다. 그래서 마음 편하게 mixamo 에서 리깅 > weight paint만 수정 > mixamo 애니메이션을 바로 적용하는 방식으로 작업해 주었다.

    mixamo에서 T-pose로 다운로드 받은 캐릭터를 import한 모습

    Viewport Display 설정

    Armature을 작업하다 보면 뼈의 이름과 좌우(L,R)를 잘 구분해서 작업해야 하는 경우가 많다.

    Armature 편집이 수월해질 수 있도록 Armature 패널의 Viewport Display패널에서

    Show Names(각 뼈의 이름 표시)와 In Front(맨 앞에 표시)를 활성화해준다.

    활성화를 해주고 나면 각 뼈의 이름이 표시된다.

    Weight Paint 모드로 전환하기

    Armature 선택 > Shift를 누른 상태에서 캐릭터 선택 후 Ctrl+Tab을 누르면 편집 모드를 전환할 수 있다.

    원래의 Object Mode로 돌아가고 싶다면 다시 Ctrl+Tab을 눌러 Object Mode를 선택해주면 된다.

     

    Bone별로 Weight Paint 해주기

    3D 뷰포트 오른쪽에 보이는 패널 중 버텍스 패널을 클릭하면, 메쉬에 들어있는 버텍스 그룹들을 볼 수 있다.

    그룹 이름들을 자세히 보면 mixamo 리깅으로 생성된 armature의 뼈 하나하나와 동일한 이름으로 구성되어 있다.

    이제 이 그룹들을 하나하나 클릭해보고, weight paint가 필요한 부분(움직였을 때 심하게 일그러지는 부분)을 수정하면 된다.

     

    T-Pose인 상태에서는 어떤 부분을 수정해야 하는지 감이 오지 않는다면, mixamo에서 관절을 많이 움직이는 애니메이션 하나를 다운받고, 애니메이션의 움직임이 자연스러워지도록 수정하는 것도 좋은 방법이다.

     

    예를 들어 아래 이미지와 같은 경우 팔을 들어올리거나 자세를 낮췄을 때, 배 부분이 일그러지는 모습을 볼 수 있다.

    이 경우 weight paint 모드에서 보면 어깨 버텍스 그룹에 옆구리 부분까지 들어 있어 어깨를 들어올릴 때 옆구리 부분도 같이 움직이게 되는 것. 애니메이션을 재생해 보면서 이런 부분들을 고쳐 나가면 된다.

    믹사모로 리깅한 캐릭터 애니메이션 이지

    어떤 부분을 수정해야 하는지 확인했다면, 다시 Object Mode로 들어가서 armature을 선택한 뒤 pose Position에서 Rest Position으로 바꿔 주면 원래의 T 포즈로 돌아온다. 이 때 weight paint 모드로 들어가서 weight 값을 수정하면 편리하다.

     

    Weight Paint 도구 설명

    위에서부터 순서대로 1,2,3,4,5라고 한다면

    1. 브러쉬 : 일반 브러쉬처럼 사용하면 된다. 우클릭을 하면 브러쉬 강도와 크기를 조절할 수 있다.
    2. Blur : 원하는 부위를 흐리게 만들어준다. 우클릭을 하면 브러쉬 강도와 크기를 조절할 수 있다.
    3. Average : 획을 긋는 부분들의 weight를 평균치로 만들어준다.
    4. Snear : 손가락으로 문지르는 것처럼 weight를 문지를 수 있다.
    5. Gradient : 그라데이션 형태로 weight 값을 칠해준다. 상단의 Linear는 선형, Radial은 원형 그라데이션

    상단에 있는 weight 값은 0일 경우 weight 값을 지워 주는 것이고 1일 경우 weight 값을 칠해준다.

    Strength는 얼마나 강하게 그 값에 가까워질 것인지 결정.

    weight값을 0으로 설정하고 strength를 0.3으로 설정했을 경우 브러쉬로 획을 그으면 약하게 weight값이 지워진다.

     

    캐릭터에 어떻게 weight 값을 줘야 할지 감이 잡히지 않는다면 아래 강의 참고

    https://www.youtube.com/watch?v=4fICQmBEt4Y