반응형

꼬리 다이내믹을 열심히 연구중입니다.

자연스러운 다이내믹을 찾기 위해 여러가지 연구 끝에 가장 자연스러운 설정이 나름 발견되어 기억하고자 정리합니다.

Tail 조인트는 7개로 설정되었으며


RootM과 Tail0_M의 설정값.

Simulation Space를 World로 설정하고 Bound Bone을 Root본으로 설정합니다.


2~4번째 조인트 설정값

Box Extend는 3가지 모두 15로 설정하고, Simulation Space는 Actor로


5~7 번째 조인트 설정값

2~4랑 다 똑같고, Planar Limit값을 설정하여 바닥 충돌을 처리한다.

위치 : y가 바닥 충돌면 위치 설정, 5번째 20, 6번째 40, 7번째 50으로 설정. 나머지는 모두 0. 아래 Z는 무시

회전 : x:120, 나머지는 무시


바디 값 설정 - 부모의 움직임에 의해 자식이 움직이기 위한 설정.



Dynamic Value를 변수로 전환하여 FInterp To 함수를 활용해 Idle 상태(속도0)에서는 다이내믹이 돌지 않도록 막는다.

반응형
반응형

프로젝트를 진행하다 보니 각각의 페이셜을 가진 두개의 스켈레톤을 하나로 만들어야 하는 일이 발생했습니다.

의외로 간단하게 해결됩습니다.

먼저 두 오브젝트를 머지그룹으로 불러옵니다.

그리고 하위 오브젝트 전체 그룹을 상위 오브젝트에서 자식으로 지정할  FK Joint 의 자식으로 연결해 줍니다.

부모 그룹의 FKChest_M의 자식으로 자식 그룹의 Motion System 그룹을 넣어줍니다.



한마디로 요약해서 컨트롤러 그룹끼리, 부모 자식 관계를 만들어주고 작업하면 되고, Export할때는 두 그룹 메시와 Deformation 그룹을 각각 선택하여 Export하면 정상적으로 데이터가 뽑히게 됩니다.





반응형

반응형

Windows -> Settings/Preferences -> Plug-in Manager 로 들어가신후~


텍스트 창에 'game'을 치시면 관련된 플러그인 목록이 뜹니다. 여기서 gameFbxExporter의 Loaded와 Auto load를 체크 해주시면 메뉴가 항상 떠 있게 됩니다.


반응형
반응형

완료된 스켈레톤을 Unreal 용으로 변환하면 스쿼시 스트레치가 적용되지 않습니다.

스쿼시를 적용할 Unreal Joint를 Node Editor에서 속성을 부여해주면 문제가 해결됩니다.

먼저 원본 DeformationSystem Joint를 선택하고..


Node Editor에서 Spine1_M에 관련된 속성을 불러옵니다. ScaleBlendSpine1_M이 Spine1_M의 스케일 속성값을 제어해주는 Node입니다.

spine02에 스쿼시를 주기 위해 ScaleBlendSpine1_M의 아웃풋과 스케일을 연결해 주면 해결됩니다.


처리 후에 다른 Joint 들의 Segment Scale Compensate의 체크를 꼭 해줘야 합니다. 이 체크를 해주지 않으면 영향 받지 말아야할 하위 조인트들이 함께 사이즈가 변하게 됩니다.



스쿼시가 되어야할 모든 조인트에 적용해 줘야 하는데요, 스크립트를 만들어서 일괄 처리하는 것을 추천드립니다.

반응형

반응형

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

+ Recent posts