[3DMAX FacialRigging] 04. Rig를 넘겨주는 작업
skinning이 된 arkit 정보를 옮기고자 하는 캐릭터에 넘겨주는 작업
- arkit.obj
- 옮겨줄 메쉬.obj
이 두개를 export하여 wrap으로 가져갑니다

. obj export
wrap 되어진 obj export 해와서
unihead000<------unihead001 몰핑 해줍니다
(이때, 축이 맞지 않으면 morph가 잘 되지 않으므로 unihead000에 unihead001을
affect pivot only 키고 align, xyz pivot축 하고 align- resetXform하고 edit poly 해줍니다)
(editable mesh 인 상태로 합니다. editablepoly인 상태로 object transform이 reset이 되지 않음)
- cage_face복사해서 써야 하기에, 많은링크가 걸려있어서 snapshot을 해줍니다
snapshot (ex)cage_AverageFace,
cage_average을 skinnig 되어있는 arkit unihead000을 따라가게 skinwrap합니다
(unihead000에는 unihead001이 morph되어있지만 영향값은 "0"으로 합니다. 그래야지 morphing을 해서 모양을 바꿔주니까)
cage_averageface가 skinwrap으로 unihead000을 따라가고 unihead000의 모프값이 unihead001 값 "100"을 가져서 원하는 얼굴로 바뀌면 cage_averageface를 convert to ploy해서 mesh를 fix 하고 unihead000에 걸려있는 unihead001을 해제합니다
--->unihead000의 skin을 저장
- cage_face가 cage_average 메쉬로 바뀌면 되는 것입니다
cage_face*mouth
*nose
*e
*brow
*morpher <---- 여기 맨아래 cage_averageface "100" 줍니다
bone 까지 따라오면서 cage_face모양이 바뀜 cage_averageface는 face_cage Layer에 넣어줍니다
원래있던 unihead000은 skin때문에 모양이 바뀌었는데 skin을 날리고 unihead001을 morph"100"걸어주고 convert poly하고 아까 복사한 skin 불러넣기
바꾸려던 mesh에 skinwrap으로 ( arkit)unihead000을 따라가게 하면 unihead000,add,faceDeformer,convertToskin, skinwrap날리고 skin 적용
====> 스킨이 넘어가고 cage 정보도 넘어 갔습니다.
- 현재 목이랑 머리본이 없어서 그쪽부분이 깨짐, 셋팅해줍니다
- b_Neck, b_Head, b_Head_Nub--- skin bone layer(edit bone으로 위치와 stretch ...none등 설정)바꿀메쉬 스킨에 neck, head추가
- arkit인 unihead000에 b_M_Brain에 있던 스킨값을-->head bone으로 넘겨줘야 함
(jaltool에서 copy,paste 해줍니다, 바꿀메쉬 영향값안에 b_m_brain과 b_head,b_neck이 같이 있지만 copy paste해줌)
- skin 찢어진 곳을 수정하는데 하나하나 vertex copy,paste 할수 없으니 Deboneskin합니다
- modifier setting에서 data channel-delta mush-해주는데
이 deltamush의 역할은 원본메쉬가 움직임값만큼 relax mesh 해줌으로 보간한다.
averageface 52개 표정을 snapshot하여 morph 해줘야 하는데 이런경우를 대체하는 script 존재
*****(script) SetKeyToCusAtt.ms(deltamush 셋팅해주고 이 스크립트를 쓰시오)
SetKeyToCusAtt.ms로 인해 vertex sequencing을 해줄 mesh를 다 뽑았으니까 morph target으로 만든다음 alembic 파일로 뽑아주면 됩니다
- (ex)eunju_export는 SetKeyToCusAtt.ms 스크립트 하여 morphing을 뽑아내고 bone 기반으로 움직이는 keyframe이 찍혀 있음(bone 기반 움직임)
- eunju_export를 snapshot하여 SetKeyToCusAtt.ms로 뽑은 52를 morph 연결, vertex, morph기반
- bone 기반의(frame 0_51)과
- vertex기반의 (morpher 0~51)가
- morph, vertex기반 mesh는 export .abc
- mesh에 원래 있던 morph날리고 skin을 걸어줌( 얼굴본 neck과 head본 추가)
- mesh 정보가 같으면 캐릭터성이 다른(예를들어 노인이나 아이) 캐릭터라도 기존의 메쉬에 morpher와cage_snapshot, morph, skinwrap등을 이용하여 바꿔준다