리깅 - 신발/표현
신발 리깅의 경우, creatorBaseSet이 씬에서 가져와졌으며 신발 모델링이 완료되었다고 가정합니다. 이때 신발이 의도치 않게 마스크와 교차하는지와 같은 모델링 오류를 다시 확인하는 것이 좋습니다.
또한 가이드의 리깅 섹션에서 다룬 대로 ZEPETO용 Blender의 리깅 기본 개념을 이해하고 있다고 가정합니다. 몸통을 리깅하는 작업과는 달리, 신발은 A-포즈로 변경할 필요가 없습니다. 그러나 굽이 있는 신발이나 플랫폼 신발처럼 신발의 기본 발 위치가 다른 경우 신발을 적절한 자세의 뼈대에 연결하면 더 자연스러움을 제공할 수 있습니다. 신발은 T-포즈 세트 모델과 함께 내보내야 합니다.
굽이 있는 신발이나 아바타의 자세를 변경하는 신발의 경우 복제된 뼈대/마스크를 사용하여 대체 포즈를 적용하는 것이 더 좋습니다. 이 복제된 리그를 사용하면 모델이 일반 자세에 있는 동안 골격에 웨이트를 적용할 수 있습니다. 리깅에서 A-포즈 또는 대체 포즈를 적용하는 것과 마찬가지로 이 과정은 아래 몇 차례의 단계를 따릅니다.
- 신발에 맞게 골격의 포즈를 설정하세요. a. 골반 뼈를 움직여 발목이 있어야 할 일반적인 위치를 배치한 다음 이를 기반으로 나머지 발 요소의 회전을 변경합니다.
2. 뼈대와 마스크 요소를 복제합니다.
- 조직의 명확성을 위해 중복 요소의 이름을 바꿉니다.
3. 복제된 마스크 요소에 뼈대 수정자를 적용합니다.
4. 변경된 포즈를 복제된 뼈대에 휴식 포즈로 적용합니다.
5. 복제된 마스크에 뼈대 수정자를 다시 추가하고 복제된 뼈대를 가리키게 합니다.
이렇게 대체 포즈 설정은 완료되었으며 이제 신발 리깅 단계로 이동할 수 있습니다.
신발의 리깅 공정은 일반적인 리깅 공정과 매우 유사합니다. 설정이 완료되면 항목이 오른쪽 뼈대에 parent 바인딩됩니다.
마스크의 웨이트 데이터를 사용하여 웨이트 전송 작업을 활용한 초기 바인딩 데이터 과정을 단순화합니다. 그런 다음 웨이트 페인트 모드에서 웨이트 수정을 시작합니다.
웨이트 페인팅을 위한 웨이트 페인트 도구 옵션에서 "자동 정규화"를 활성화해야 합니다. 그렇지 않으면 웨이트가 메쉬 전체에 고르게 분배되지 않을 수 있습니다.
웨이트 페인팅의 보정은 포즈 모드에서 뼈의 위치를 변경하여 골격의 무게를 테스트하고 메시가 이상하게 구부러질 경우 보정하는 업무를 포함합니다. 오류가 최소화될 때까지 이 과정을 반복합니다.
- 피부 웨이트 영향이 Blender의 기본 설정인 4로 올바르게 설정되어 있는지 확인하세요.
- 변형되는 동안 마스크가 신발 아이템을 관통하지 않도록 하세요.
T-포즈로 돌아가기
웨이트 페인팅이 완료되면 아이템을 T-포즈 뼈대로 다시 옮기세요. 아이템은 T-포즈 뼈대와 함께 내보내지 않으면 오류가 발생합니다. T-포즈가 아닌 뼈대의 포즈 모드에서 뼈를 T-포즈의 위치로 다시 돌리고 T-포즈 뼈대를 사용하여 골반 위치를 제자리로 되돌립니다. 신발에 뼈대 수정자를 적용합니다. 그런 다음 신발에 뼈대 수정자를 다시 추가하고 T-포즈 뼈대를 가리키도록 합니다. 이제 뼈대 전송에서 발생할 수 있는 오류에 대해 메쉬와 웨이트를 수정합니다. 이러한 오류를 포착하기 위해 T-포즈 뼈대를 힐 형태로 재설정하는 것이 도움이 될 수 있습니다.
SH_Guide에 제공된 가이드 개체로 신발 볼륨 무결성을 확인하려면 가이드 메쉬에 대한 빠른 리깅이 필요합니다. 좋은 결과는 일반적으로 추가 수정없이 마스크에서 SH_Guide 개체로 간단한 웨이트 전달을 수행하면 얻을 수 있습니다.
키프레임
뼈대의 대체 포즈를 T-포즈 뼈대에 저장하는 것이 유용할 수 있습니다. 이것은 Blender의 일부 애니메이션 도구로 수행 할 수 있습니다.
- 3D 뷰포트 아래의 타임라인에서 프레임 2로 시간을 앞당깁니다.
- 포즈 모드에서 포즈를 취한 자세에 T-포즈 뼈대를 설정한 상태에서 모든 뼈들을 선택하고 'i'로 키프레임을 설정합니다.
- 키프레임 유형을 "위치, 회전 및 스케일"로 설정합니다.
- 타임라인의 프레임 1로 돌아갑니다.
- 모든 뼈를 선택하고 변형을 리셋합니다.
- 모든 뼈가 선택된 상태에서 프레임 1에 키프레임을 하나 더 설정합니다.
이러한 키프레임을 사용하면 변형 입력을 수동으로 변경하지 않고도 참조 또는 오류 수정을 위해 원본 포즈와 대체 포즈 간에 전환할 수 있습니다.
리그 변경 사항이 앱에 적용되도록 하기 위해 "expressions"라는 도구를 사용하여 회전 변경 사항을 기록합니다. Expressions는 아바타의 골격에 있는 뼈의 회전 또는 변환 변화를 기록하는 빈 개체입니다. 이러한 값은 Unity와 앱에서 아이템이 추가될 때 기본 몸체에 적용됩니다.
- 익스프레션은 "expressions"이라는 라벨이 지정된 빈 개체 아래에 그룹화됩니다. 이 이름으로 빈 공간을 만듭니다.
2. 루트부터 시작하여 빈 개체를 만들고 이름을 ""_hips""로 지정합니다.
- "_hips"표현은 ZEPETO 골격의 골반 루트를 변경하여 전역 공간에서 일정량 움직입니다.
- "_hips" 빈 변환에서 Blender의 전역 공간에서 골반 뼈 위치의 변화를 입력합니다.
ℹ️ 이는 뼈가 로컬 공간에서 작동하므로 골반 뼈를 위치에 맞게 변환하는 것과는 다릅니다. 이동이 단순한 수직 이동이었다면 변경해야 하는 유일한 변환 값은 Z 위치뿐일 가능성이 큽니다. 골반의 전역 공간 변화는 도우미 빈 개체 및 스냅 도구를 사용하여 확인할 수 있습니다.
3. 다음으로, 빈 개체를 만들고 회전을 변경해야 하는 개체의 이름을 뼈 이름 앞에 "_" 밑줄 표시와 함께 변경합니다.
- 예: “_foot_L, _foot_R, _toes_L, _toes_R”
- 각 빈 공간에 해당하는 뼈의 회전을 입력하세요
4. Blender에서 Unity로의 공간 방향 문제를 해결하기 위해 빈 공간의 델타 변환을 일부 변경해야 합니다.
- 델타 변환 값을 사용하면 Blender에서 사람이 읽을 수 있는 상태로 유지하면서 일반 수정 변환을 적용할 수 있습니다.
- 모든 expressions 빈 공간을 선택하고 개체 탭으로 이동합니다.
- 변환에서 "델타 변환" 라벨 표시가 된 탭을 클릭합니다.
- Expressions델타 변환의 회전 X를 90으로 설정합니다.
- Expressions의 델타 변환의 소수 자릿수 값을 0.01로 설정합니다.
5. 이제 뼈대 expressions를 비어있는 expressions에 parent로 지정합니다.
6. 골반 뼈에 비어있는 expressions을 parent로 만듭니다.
- Expressions개체가 골반 뼈에 대해 parent 되지 않으면 ZEPETO 스타일로 변환하는 과정에서 프리팹에서 expressions가 생성되지 않습니다.