반응형

Advanced Skeleton은 기본적으로 인간형을 기본으로 Picker가 제작되어 4족 리깅중 많은 문제에 부딪히게 된다.

1. 발의 네이밍이 달라서 생기는 문제

인간은 손과 발이지만, 4족은 모두가 발이라 네이밍이 Arm / Leg가 아니라 FrontLeg / BackLeg로 설정되어 피커사용이 제대로 되지 않는다. 해당 문제를 해결하기 위해 오브젝트 이름을 필수로 바꿔줘야 한다.

IKLeg_L <-> IKLegBack_L
IKLeg_R <-> IKLegBack_R
FKIKLeg_L <-> FKIKLegBack_L
FKIKLeg_R <-> FKIKLegBack_R
RollHeel_L <-> RollbackToes2_L
RollToes_L <-> RollbackToes1_L
RollToesEnd_L <-> RollbackToesEnd_L
RollHeel_R <-> RollbackToes1_R
RollToes_R <-> RollbackToes2_R
RollToesEnd_R <-> RollbackToesEnd_R
PoleLeg_L <-> PoleLegBack_L
PoleLeg_R <-> PoleLegBack_R
IKArm_L <-> IKLegFront_L
IKArm_R <-> IKLegFront_R
PoleArm_R <-> PoleLegFront_R
PoleArm_L <-> PoleLegFront_L
FKHip_R <-> FKbackHip_R
FKHip_L <-> FKbackHip_L
FKKnee_L <-> FKbackKnee_L
FKKnee_R <-> FKbackKnee_R
FKAnkle_R <-> FKbackAnkle_R
FKAnkle_L <-> FKbackAnkle_L
FKToes_L <-> FKbackToes1_L
FKToes_R <-> FKbackToes1_R


2. 인간과 관절수가 달라서 생기는 문제

인간형은 발가락 선택이 따로 없지만, 동물형은 발가락들이 세분화 되어 있어 많은 부분이 구조가 다르다.

동물전용 픽커를 하나 만들어 보려함.


3. PoleVector 문제

무릎과 팔꿈치가 아닌 양발의 Polevector을 설정해야 하는데, 잘 못 설정될 경우 여러문제가 수반되므로 Polevector 정리가 반드시 필요하다. 샘플데이터인 cody는 그림처럼 되어 있다.


4. FKIK 변환중 Mel 스크립트 에러

앞발의 Fk 2 ik 혹은 ik 2 fk를 진행하면 IKLegLegAimReverse_R 파일이 없다는 에러가 발생한다.

\AdvancedSkeleton5\AdvancedSkeleton5Files\Selector\biped.mel 

파일의 1134줄을 주석처리 하면 문제가 해결된다.

//$tempString=`listConnections -s 0 -d 1 IKLegLegAimReverse_R ($nameSpace+"IK"+$IK+"LegAimReverse"+$side)`;

반응형

'MAYA > 삽질중' 카테고리의 다른 글

Maya - NameSpace를 활용하여 긴 이름 정리하기  (0) 2018.12.04
반응형

리깅후 그냥 Export를 하게 되면 Crash가 발생하므로 게임용 데이터로 가공후에 익스포트를 진행해야만 합니다.

규약과 순서를 맞추지 않으면 여러번 재작업해야하는 문제가 발생하므로 작업순서도 맞춰주는 게 좋습니다.


Export 작업순서

1. 바디리깅

2. 바디리깅에서 Game Skeleton -> Unreal 본 생성

* 바디 제작 후 - Game Skeleton → Unreal선택 → Transfer Skinning


3. 각 메쉬들 생성된 Unreal 본에 스킨

* 여기까지 진행이 되면 바디부분은 이상없이 Export 됩니다.

  • Body Export

익스포트시 모델과 언리얼 Joint 선택후 Export Selection을 진행하면 됩니다.



***** 여기부터는 페이셜 익스포트를 위한 부분입니다.*******

****** 아래 사항중 한가지라도 맞지 않으면 정상적으로 Export 되지 않습니다 *****



4. 페이셜 메쉬연결 부분에서 advanced 를 체크하여 Choose Head Joint를 언리얼의 head로 설정하고 Skin Cluster도 Face의 SkinCluster로 연결해 줍니다.


5. 그 상태에서 아래 페이셜 조인트 전체 설정 후..

6. Build~

7. 빌드 후 Convert FaceSetup 실행

  • Convert FaceSetup을 반드시 진행해야만 언리얼로 익스포트가 됩니다.

기존 원본 데이터는 거의 영상용이라 생각하면 되고, 영상용으로 된것을 게임용으로 변경시켜 준다고 생각하면 됩니다. 전체 블렌드 쉐잎으로 되어 있던 데이터가 간단한 BlendShape 정보와 간략화된 본으로 변환 구성됩니다.


8. 스킨에 이상없는지 체크

변환 후에는 스킨에 이상이 없는지 반드시 체크가 필요합니다. 입이 벌어지지 않는다든지.. 눈이 깜빡이지 않는다든지.. 그런 경우는 스킨이 제대로 안되어 있는 경우 이므로 아래 그림처럼 스킨을 다시 설정해 줍니다. 입이 벌어지지 않을 경우는 JawJoint_M의 스킨이 제대로 되어 있지 않은 경우입니다. 굉장히 빈번히 발생하므로 반드시 체크가 필요합니다.


9. 각종 연결사항에 이상이 없는지 체크

위 4번에서 확인한 헤드본과 스킨 클러스트등의 정보와 더불어 Faceup 실행 후에는 언리얼 Export의 head 본 하위에 Face_M이라는 페이셜 용 본이 생성이 되어야 정상 익스포트됩니다.



10. 그 다음 익스포트할 메쉬와 언리얼본과 Group -> Main -> DeformationSystem 선택후 익스포트!

여기서 체크사항! 익스포트할 메시는 반드시 최상위로 해줘야 언리얼 임포트시 문제가 발생하지 않습니다.



11. 익스포트할때 반드시 Blend Shape을 포함해서 익스포트해야 합니다.



12. 언리얼로 임포트할 때도 Morph Target을 반드시 체크합니다.


언리얼에 모핑 정보가 담겨서 임포트됩니다.


- 위 과정중 한가지라도 잘못될 경우 데이터가 제대로 넘어오지 않습니다. 확인! 또 확인!



반응형
반응형


메타 데이터의 끝으로 건너뛰기

  • 기본 메뉴 간단 구성
    (1) FitSkeletons : 뼈대 구성 설정. 인간형인지, 4족인지 몬스터인지 종류별로 사용이 가능합니다

(2) Create : 기본 Fit에 추가로 Joint를 만들수 있고, Joint 사이의 갯수를 수정할 수 있습니다.

(3) Label : 네이밍과 구조 관련. ?를 눌러 이미지 참고

(4) Attribute : 뼈의 트위스트 특성을 정합니다. ?를 눌러 이미지 참고
(5) Display:  뼈의 크기와 실제 뼈 모양을 디스플레이 할 수 있고, 무릎 방향과 각 조인트의 방향을 설정할 수 있습니다.
(6) Placement : 뼈를 중아으로 정렬합니다. ?를 눌러 이미지 참고
(7) Auto-Orient : 뼈의 축을 부모에 맞게 자동 정렬 하며 업데이트 해줍니다.

  • 위 과정을 거친후 빌드를 하게 되고, 스킨을 맞추게 됩니다.





  • FitSkeleton 세부 설명

    - 주인공의 체형에 맞는 바이패드를 불러올 수 있습니다. Advanced 에서 기본 제공하는 체형을 사용하면 체형 구성이나 트위스트 블렌드 등이 쉽게 구성됩니다.

    - 기본 제공하는 뼈대에는 인간, 4족, 몬스터, 새, 드래곤, 물고기등 게임에서 주로 사용되는 모든 뼈들이 제공됩니다.

    - import를 누르면 자동으로 불러지고, 위치를 이동하여 몸에 맞게 조인트를 구성해 주면 됩니다.




  • Create 상세 설명

    아이콘을 누르면 그림처럼 Joint를 만들수 있습니다.

    Resample을 사용하여 씬에 있는 뼈들을 선택하여 중간 조인트 수를 조절할 수 있습니다. 이때 반드시 중간에서 다른 트리 구조가 없어야만 합니다.

    다른 트리구조가 껴 있을경우 전부 Remove 됩니다. 가령 가슴에서 목본을 조절할 때 중간에 어깨 본이 껴있으면 전부 삭제 됩니다.


아래 그림처럼 중간본의 갯수가 달라집니다.

 ->



  • Display 상세설명

조인트를 시각화 하여 좀더 직관적으로 셋업하도록 도와 줍니다.

 


PoleVector를 시각화하여 무릎의 방향을 맞춰주는 작업은 반드시 필요함.

이 부분이 잘못 셋팅 될 경우 무릎의 방향이 잘못되어 셋팅을 다시해야 하는 경우가 발생합니다.


Joint Axis를 활성화하게 되면 각 관절의 축을 시각화 해줍니다.



  • Auto Orient 상세설명

    FitMode를 키고 조인트 구조를 맞추면 자동으로 축정렬을 해주면서 스켈레톤을 맞추게 됩니다.



  • FitMode를 안하고 Update Now를 누르면 수동으로 축정을 진행하게 됩니다. 최종 빌드전에 반드시 해주어야 합니다.



  • Build Skeleton

    Pre 과정을 모두 마치고 나면 Build Skeleton을 통해 애니메이션 가능한 조인트 셋팅이 이루어집니다.

    기본적으로 IK/FK 하이브리드 조인트 세팅으로 제작되어 집니다.


Build가 끝나고 나면 Advanced Skeleton에서 제공하는 Picker를 사용할 수 있게 됩니다.

Picker에 대한 상세 내용은 Animation 가이드에서 설명됩니다.

*** 4족이나 다른 것 들은 네이밍이 달라 Picker에서 정상 작동하지 않는 문제가 있습니다.***


  • Deform 작업(Skin Weight)

    빌드가 된 조인트를 캐릭터에 스키닝 하는 작업으로 최종 마무리됩니다.
    스킨 작업은 4가지의 옵션으로 이루어 지며 각 옵션별 특징을 설명하자면


(1) Deform (option1) : 마야에서 제공하는 기본 스킨 웨이트 작업입니다. 

(2) Deform (option2) : 캐릭터 몸에 맞게 박스 영역을 설정하여 스킨을 진행하도록 도와 줍니다. 오브젝트는 모두 Unbind인채로 진행해야 합니다.

Create로 만들고..


네모 컨트롤러로 사이즈를 조절하여 캐릭터사이즈와 맞춰 줍니다.


스킨웨이트를 입힐 오브젝트를 선택후 Copy Weight를 눌러주면 스킨이 입혀 집니다.


(3) Deform(option3) : Option2를 좀더 정교하게 스킨할 수 있도록 Sub Wrab을 생성하며 좀더 Smooth한 스킨 작업을 도와주게 됩니다. 작업 방식은 Option2와 비슷하며 Option2에서 생성된 컬리더가 있어야 실행됩니다.

원본 스키닝에 포장지를 하나 더 씌워 좀더 매끄러운 결과를 얻기 위한 추가 작업이라 보시면 됩니다. Option2와 3는 셋트로 움직입니다. Copy등이 모두 한 셋트로 움직입니다.


인박스와 아웃박스에 존재하는데 인박스는 사람몸안에 최대한 들어가도록 하고 아웃박스는 포장지같은 느낌으로 감싸주면 좋습니다.



(4) Deform(Option4) : 옵션2,4과는 별개로 작동하는 옵션이며, 오브젝트의 Edge와 FK 컨트롤러를 같이 선택하여 스킨 영역을 설정해 주는 방식입니다. 최초설정이 오래 걸리는 대신 좋은 결과물을 얻는데 좋은 방식입니다.

엣지와 FK 컨트롤러를 선택후 Create New SkinLoop를 눌러주면 새 그룹이 생기며 영역을 설정하게 됩니다.


FK 콘트롤러를 화면에 나오게 하기 위해서는 파란색 버튼을 눌러 FKIKBlend를 0으로 해주면 화면에 나오게 됩니다.


오브젝트 선택후 바인드 버튼을 누르면 스킨이 진행됩니다.

** 이 방식은 FK와 wire 위치가 절묘하게 잘 맞아 떨어질 경우에는 상당히 좋은 결과를 보지만, 아닐경우는 오히려 더 안 좋을수도 있습니다. 


(5) Deform (Delth Mesh) : 후처리 스킨같은 요소로서 좀더 부드러운 스킨을 진행하게 도와줍니다.




스킨 테스트를 위해 Tools의 애니메이션 테스트 기능을 사용하면 도움받기 좋습니다.


!!최종 스킨작업이 끝나면 Game Skeleton을 실행하여 언리얼 본으로 변환하는 과정을 반드시 거칩니다. 이 과정을 거쳐야 엔진에 정상적으로 적용됩니다.!!





최종 완료!



** ReBuild 기능을 활용하여 언제든 뼈구조를 다시 바꿀수 있습니다. 바꾸면 스킨 데이터는 변한다는 사실 기억해주세요!

Toogle Fit/Adv를 활성화 Delete 하게 되면 기존 셋업이 사라지고 새로 셋팅할 수 있습니다. 새로 셋팅 ReBuild를 실행하면 새로운 구조로 셋팅됩니다.


** 컨트롤러 크기를 조절하고 싶을때는 원하는 컨토르롤러 선택후 Control Curves를 이용해 사이즈를 조절할 수 있습니다.


** Control Mesh를 활용하면 3D화 된 컨트롤러를 이용할 수 있어 Pick하기에 더 좋아집니다.



 리깅 완료 동영상


반응형
반응형


메타 데이터의 끝으로 건너뛰기

Model 설정이 잘못되었을경우 기초 공사 실패로 뒤에서 연이어 문제가 터집니다. Model 설정의 모든 과정을 반드시 맞춰줘야 합니다.

 

 

  • 먼저 게임의 파츠 구조에 맞게 모델을 맞춥니다 - Body / Hair / Shoes/ Head (프로젝트에 맞게 셋팅)

 

  • 모델 클린 
    : 각 파츠의 모델을 Model Clean을 실행하여 그룹을 만들어 줍니다. - 모델외에 모든 파일은 제거되며 모델의 피봇이나 구조등을 리셋해 줍니다.

클린후 페이셜모델과 바디모델을 구분지어 정리해 줍니다.


 

  • 모델 체크 
    : 클린 후에는 각각 모델을 체크해 줍니다.

 

 

체크 후 문제가 있는 모델일 경우 코멘트와 함께 이상한 부위의 버텍스가 선택되어 나타나게 됩니다.


위 모델은 시메트리가 안되었다고 하며 해당 버텍스들을 보여줍니다.

웨이트가 원링크로 들어갈 모델들은 굳이 시메트리가 안되도 되지만, 블렌드 쉐잎이나 4링크등이 들어가는 모델들은 시메트리를 맞춰주도록 한다.

 

**시메트리하는 방법

(1) 메쉬 선택 -> Poly 선택 모드에서 한쪽 메쉬를 전체 선택후 삭제.

(2) 버텍스 선택후 x축 0으로 정렬

 

 

(3) Edit -> Duplicate Special을 이용하여 미러 카피를 해주고 두 오브젝트를 Combine 해줍니다.

 

 

(4) 미러카피후 두 오브젝트 선택하여 Combine 을 실행해주고, vertex들을 선택하여 Editmesh -> merge를 진행해 줍니다.

 

(5 )여기까지 실행후에는 모든 히스토리를 삭제하여 정보를 리셋해 줍니다.

 

  • 모델 체크시 추가 발생하는 메시지 - Pivot 정렬

 

 피봇 정렬은 굉장히 중요한 이슈로 반드시 0,0,0으로 맞춰준 상태에서 진행을 해야 정상적인 리깅이 가능합니다.

 

  • 피봇 정렬 방법

문제있는 오브젝트를 선택하고 Attribute Editor의 Pivots의 Local Space와 World Space를 0,0,0으로 맞춰줍니다.

 

 

이렇게 문제가 없어질때까지 계속 check를 진행하여 기초공사에 문제가 없도록 진행합니다.

 

** 주의사항 : 모델 수정후 에는 Outliner에서 부모자식 구조를 다시 한번 정렬해주는 작업도 진행해 줍니다. 그리고 History 클리어도 꼭 실행해 줍니다.

** 모델이 너무 복잡하거나 연결되지 않은 메쉬가 많을경우 Check 시 다운되는 경우가 많으니 참고 바랍니다. 찝찝하긴 하지만 일단 Symmetry가 잘되어 있고, Pivot이 0,0,0이라면 일단 진행하도록 합니다. 

 

  • 위의 모든 모델 체크가 끝난 후 완료된 버전을 새롭게 저장해 주고, 을 실행하여 초기화 해줍니다.
  • 그 다음 Reference를 눌러 방금 저장한 모델링 파일을 지정해 주면, 모델링 체크가 끝난 방금 전 모델이 Reference 모델로 등록이 됩니다.

  • 최종 Refrence가 완료된 상태.
     - 모델링은 자동으로 리깅하기 좋은 모드로 Freezing 되어 레이어에 등록됩니다.

 


반응형

+ Recent posts