팁 / 노하우

모다이나믹을 키프레임으로 베이크 시키기

by 시부야 posted Aug 21, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
11.5가 처음에 나왔을때부터 모다이나믹을 키프레임으로 베이크 시키는 방법을 찾았었는데
한참 시포디를 안쓰다가 오랜만에 다시 쓰게 되어 검색을 해보니 이젠 구글에 관련 정보가 있네요.
물론 이유가 있겠지만 키프레임으로 베이크시키는 것을 막아놔서 유저로 하여금 이런 편법을 쓰게하는건
다음버젼에서는 수정되었으면 좋겠습니다. 
키프레임으로 변환이 되어야 다이나믹을 자유롭게 타임리맵을 하든지 움직임을 수정을 하든지 다른툴로 넘기던지 할테니까요


제가 어제 올린 질문 글에 엘라스틱마인드님이 스크립트로 어느정도 해결해 주셨는데요.
플러그인으로 완성이 되어서 배포까지 해주시면야 너무 감사할것 같습니다^^;

그 전까진 그냥 이런 편법으로 해결하면 될것 같습니다. 

http://forums.cgsociety.org/archive/index.php/t-742967.html

위 주소가 원문이구요.


대략 방식은 Xpresso의 Data 노드를 사용하였구요. 다이나믹이 들어갈 오브젝트들을 한벌더 복사해서 Data 노드로 똑같이
움직임을 복사해서 키프레임을 따서 가져옵니다.  예전에 Data 노드를 이용해서 연결은 지었는데 수백개의 물체가
다이나믹이 되야되면 수백개를 일일이 연결해줘야 될줄알고 그냥 포기했었는데 그냥 List를 작성해서 자동으로 연결짓는 방법이
있었네요 ㅜ

12.JPG 

Fracture_Bake.c4d

위 원문에 있는 파일에 영문 설명을 지우고 한글로 써놓았습니다. 대충 보시면 알거에요.
샘플파일을 보시고 자신의 상황에 맞게 세팅이 끝났으면
TraceObjects널에 들어있는 오브젝트들을 모두 선택하여 아래 스크립트를 실행해 주시면 됩니다.


이게 좋은게 모다이나믹뿐 아니라 모그라프 Effector들로 스케일이나 회전등의 애니메이션을 줬을때도 모두 반영이 되네요.
이제 다른 툴로 넘길때 큰 고민없이 죽죽 넘길수 있을것 같습니다.


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var userStartTime = 0;
var userEndTime = 90;

var fps = doc->GetFps();
var bakeStartTime = GetActiveDocument()->GetTime(); //needed to initialize a BaseTime object
bakeStartTime->SetFrame(userStartTime, fps);

doc->SetTime(bakeStartTime); //set the time slider to the user's start time
var currentFrame = GetActiveDocument()->GetTime()->GetFrame(fps);

while(currentFrame <= userEndTime)
{
StopAllThreads();
CallCommand(12410);//record
userStartTime++;
bakeStartTime->SetFrame(userStartTime, fps); //needed to convert frame to BaseTime
doc->SetTime(bakeStartTime);//SendPlayhead to next frame
var redraw = DrawViews(DA_STATICBREAK);
EventAdd(EVENT_ANIMATE);
if(redraw == TRUE) currentFrame = GetActiveDocument()->GetTime()->GetFrame(fps);
}

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------




구글에서 맘대로 가져오고 수정한  내용들이라 문제가 될지 잘 모르겠네요. 혹시  이미 다른분이 올리셨던 중복된 내용이라면
말씀해주세요.

///  추가  ///   두개 이상의 모다이나믹이 있을때는 필히 캐쉬 베이크를 먼저 시키고 작업하시기 바랍니다
                     시포디 업데이트를 안했을때 씬에 두개 이상의 클로너나 프랙쳐등이 모다이나믹이 적용되어 있으면 베이크시
                     에러나니 업데이트 하시구요.