3DMAXFacialRigging

[3DMAX Facial Rigging] 03.Skinning

잭잭지은 2022. 12. 1. 13:19
반응형

 progresive skinning 이라 하여

(원래) 

cage_face snapshot을 찍고 

                로우폴1(vertex 1개에 1.0 weight 되어있는)

unihead001 로우폴2 , skinwrap 

unihead002 로우폴3  , skinwrap     

unihead003 로우폴4  , skinwrap  

----------- 단계별 highpoly, skinwrap..skinwrap...하면서 weight 정리하여야 한다.

 

하지만, morph 타겟 vertex 베이스 애니메이션을 bone 으로 바꾸는 툴이 있다

논문 "smooth skinning decomposition with rigid bones" 논문에 기반하여

EA에서 공개한 Dembone 스킨 , github 공개된 자료

 

dembone 을 사용하려면 2가지가 필요하다

1. vertex animation

2. skinning 된 bone과 mesh

 

  1. morph 타겟이 들어가 있는 mesh를 .abc(alembic)파일로 export하고
  2. cage_face를 morph 타겟으로 애니메이션 되는 mesh를 따라가게 해서 .fbx로 export

 

   (결국, bone의 움직임, bone과 mesh 같이 export)

****** dembone.exe가 있는 폴더에 익스포트 해야합니다 *****

1. unihead_export(snapshot,이름중요, 모프타겟52개키찍힘) - edit poly- skinwrap(unihead, facedeformation, 0.001)-------> .abc export

1.5 . 나의피셜- bone들도 vertex animation 처럼 애니메이션 되어야 하기 때문에 해주는작업: cage- face001(snapshot, editpoly, skinwrap-unihead으로 모프타겟 애니메이션이 있는 애를 따라가게 해주고)
cage_face 최상단에 (modifier가 많이 걸려있지만) morph를 걸어주고 cage_face001의 영향값 100을 줍니다(automaticallyreloadTarget체크)
      나의 피셜 - cage face가 unihead를 따라 가는 격
 
2. unihead_export를 skin 해줌, facebone을 모두 add 했지만 영향값을 안받는 ear bone 두개 빼줌, 모든 본에 영향값 3.0 정도 넉넉히 주고 복사, 모든 본에 복사 합니다
skinning 된 mesh와 bone선택하고 export . fbx
***export 옵션체크(animation체크, bake animation체크,z-up체크,fbxformat -fbx2014/2015)
 
 
  • command 패널 명령프롬프트
-  cd dembones

D:\dembones\bin>
DemBones.exe -i="AVCFace.fbx" -a="AVGFace.abc" --nTransIters=0 -o="Out_AVGFace.fbx"
 
  • 추출된 Out_AVGFace.fbx을 열어보면 얼굴외곽을 잡아줄 본이 없어 움찔거림

bone 을 추가해줍니다!!

helper 추가 머리본위치에 놓고 이름은 b_M_Brain(상위) 로 하고 head본과 neck 본 링크

* 여기서 b_M_Brain은 helper 이기에 bone tool에서 bone on 체크

**주위할점!! 얼굴본들은 attach constraint 되어 있었으므로 축방향이 중요, 아무것도 링크되지 않고 world축 방향이므로 b_M_Brain도 월드축으로 pivot 맞추고 링크

vertexanimation 52개 했을때 이상없이 나오면 ok!!!

  • b_M_Brain 추가된 본들에도 weight값을 주고 fbx파일 다시 export(귀 본 2개 제외하고 mesh랑 bone들 익스포트)- command명령프롬프트 다시 
  • 얼굴이 움찔거리지 않는 fbx mesh의 skin 값을 저장 (jaltool 이용)

    b_M_Brain 이 포함된 스킨값을 구했다!!!!!!!!!!