---
title: 3D 리깅하기 - 의상
slug: studio-guide-kr/6BSJ-3d
docTags: 
createdAt: 2024-09-02T08:34:13.133Z
---

## STEP 1 : 리깅 시 주의사항 확인하기​

:::hint{type="danger"}
**❗️ 주의사항**

- 스킨의 최대 영향 수는 4로 고정해야 합니다. (Unity의 최적 가중치 값은 4입니다)
- 모든 옷은 하나의 몸을 공유하기 때문에 baseBody 웨이트 수치를 기본으로 합니다.
- 한 벌 의상(DR)의 경우에만 웨이트를 자유롭게 칠하며, 상의(TOP), 아우터(OTR), 하의(BTM)와 같이 의상이 조합되는 경우 합쳐졌을 경우를 생각하여 웨이트 작업을 합니다.
- bindskin 시 hips, hips\_scale 조인트는 반드시 포함시켜 작업합니다.
- 피부가 연결되는 부분은 mask 웨이트 값과 동일하게 고정시켜줍니다.
- creatorBaseSet이 옷을 뚫고 나오지 않도록 웨이트 작업을 합니다. (mask로 숨기지 못하는 부분)
- mask에 Vertex color가 칠해져있어야 정상적으로 작동합니다.
- 조인트나 mask에 key가 들어갔는지 확인하고 만약 있다면 지우고 저장합니다.
- fbx 파일로 저장할 때 옷(cloth), 조인트(hips), mask(mask)를 선택한 상태로 저장해야 합니다.
- 움직였을 때 몸의 형태가 너무 무너지지 않도록 웨이트 작업을 합니다.
:::



## STEP 2 : 리깅 준비하기

BaseBody와 모델링 한 의상 오브젝트를 불러옵니다.

:::hint{type="success"}
**👍&#x20;**&#x46;ile > CreateReference로 creatorBaseSet\_ZEPETO.fbx를 열어 BaseBody를 세팅하면 마무리 단계에서 간편하게 파일을 정리할 수 있습니다.
:::

![1760](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-oMoeZg1O2xbsRjuHit47k-20240904-102327.png)



![1759](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-7t4dWNq_Qg626d8PlxGAm-20240904-102327.png)



:::hint{type="danger"}
**❗️ 주의사항**
의상 아이템이 A 포즈로 제작된 경우, creatorBaseSet 조인트 중 Shoulder\_L, Shoulder\_R의 RotateZ 값을 -7.5, upperArm\_L, upperArm\_R의 RotateZ 값을 -40으로 설정해서 A 포즈로 만들어줍니다.
:::

![2880](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-FU1DPEA80JuQCG33pQkLX-20240904-102327.jpg)



옷에 맞춰서 3D 마스킹 작업을 해줍니다.

- mask를 선택한 후 Paint Vertex Tool을 이용하여 옷에 가려지는 부분은 검은색(0)으로, 보이는 부분은 흰색(1)으로 칠해줍니다.

![2880](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-EEoeK5j4iMSJXYZSsbbVG-20240904-102328.jpg)



bindSkin을 하기 위해 조인트(hips) 그룹을 열어 필요한 조인트들 선택합니다. 이때 hips는 반드시 선택에 포함되어야 합니다.

:::hint{type="danger"}
**❗️ 주의사항**
hips 조인트는 웨이트 값이 0이 되어야 합니다.
:::

![2880](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-c6MnYAt7tYIIyUJ6FzqpY-20240904-102327.jpg)



3번에서 선택한 조인트에 아이템 오브젝트도 추가하여 Skin > Bind Skin을 눌러 옵션 창을 열어줍니다. 옵션에서 Bind to를 Selected joints로 설정합니다.

- bindSkin 시 lowerArm(Leg) Twist, lowerArm(Leg) Twist\_scale을 포함해서 종아리와 팔목이 부드럽게 디폼 되게 합니다.

:::hint{type="success"}
**👍&#x20;**&#xC804;체 조인트를 선택하는 것이 아닌 필요한 조인트만 선택하여 작업 효율성을 높이는 것이 중요합니다.
:::

![2880](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-Fo2NlL47SrewxHaF-H_wB-20240904-102328.jpg)



:::hint{type="success"}
**👍&#x20;**&#xB9CC;약 몸의 형태로 인해 baseBody가 의상 오브젝트에 추가되어 있는 경우 body 끝부분 웨이트 값을 mask 웨이트 값과 동일하게 넣어야 합니다.
:::

![1388](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-2GG-4Mc2L--y71QKpBgUz-20240904-102327.jpg)




STEP 3 : 웨이트 작업하기
-----------------

mask에 있는 웨이트 값을 복사해 의상 오브젝트 웨이트 값에 붙여줍니다. (pelvis, lowerArmTwist\_L\_scale, lowerArmTwist\_R\_scale, lowerLegTwist\_L\_scale, lowerLegTwist\_R\_scale)

- 웨이트 값 복사 시 creatorBaseSet 조인트와 리깅 조인트의 TransZ 값을 0.001로 주고 복사합니다.

![1758](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-VdMgLnjzoOCvMjqAYuZdf-20240904-102327.png)



조인트들을 하나씩 움직여보며 형태가 무너지는 부분들을 수정합니다.

- scale 조인트들의 값을 변화시켜서 디폼 시 문제가 없는지 확인합니다.



## STEP 4 : 마무리하기

웨이트 작업이 끝나면 T 포즈가 될 수 있도록 조인트 rotate 값을 모두 0으로 만들어줍니다.

![1726](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-B_-yO1jcHwxank8sWsycc-20240904-102327.png)



mask(mask)를 unBindSkin 해줍니다.

![1725](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-3dMWANujAp781rwPYiyFG-20240904-102328.png)



의상 오브젝트, 조인트(hips), mask(mask)를 선택 후 Export Selection를 눌러 fbx 파일로 저장합니다.

![1732](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-ZhJ6LlSjcjErDSmEsZkHc-20240904-102327.png)



:::hint{type="danger"}
**❗️ 주의사항**
형태가 비정상적으로 무너지는 경우 웨이트 작업을 다시 진행합니다.
:::

![2880](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-v5L5C_9RaytYM-XNQ5g_5-20240904-102328.jpg)



:::hint{type="danger"}
**❗️ 주의사항**
baseBody와 연결되는 부분이 정상적으로 움직이는지 확인해야 합니다. 안쪽 메시가 밖으로 나오지 않도록 주의합니다.
:::

![2543](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-RlUnxkCqQLAKiJtAjsLJV-20240904-102328.jpg)



:::hint{type="danger"}
**❗️ 주의사항**
다음 단계를 수행하기 전에 Unity에 애니메이션 키를 삽입하고 문제가 없는지 확인합니다.
:::

