SketchyPhysics 3.5.5 + KerkyThea 사용하기 03 - SP 시뮬레이션 렌더
SketchUp/Sketchy Physics 2014. 11. 30. 21:56 |작업환경
OS : Windows7 Ultimate K x64
SU : SketchUp 2014 (pro)
SP : SketchyPhysics 3.5.5
etc : SketchyPhysics, KerkyThea, SPGears, Window Settings
다. SP 시뮬레이션 KT로 렌더링하기
1. SP 시뮬레이션 모델 만들기
SP로 시뮬레이션한 것을 KT에서 렌더링하기 위해 먼저 SP로 시뮬레이션 될 모델을 생성하겠습니다.
모델 생성은 어렵지 않지만 KT에서 조금 더 제대로 렌더링하기 위해 모델링 과정을 간단히 설명해보겠습니다.
먼저 레이어를 잘 이용합니다.
KT로 렌더될 모델, 즉, 실제로 보여질 모델과 SP에서 시뮬레이션 시 대부분 필요한 바닥, 조인트 등을
레이어로 구분해서 레이어 숨김으로 KT로 내보낼 시에 손쉽게 조절할 수 있습니다.
다음 시뮬레이션 할 물체를 모두 만들고 조인트를 연결한 다음에 KT로 렌더링하기 전에
조인트에 적용된 재질도 KT 기본 in SU에서 설명한것 처럼 삭제하여 정리합니다.
앞에서 설명한 것과 같이 재질이 많을 수록 KT로 내보낼 때 (특히 SP 시뮬레이션을 내보낼 때) 시간이 더 걸립니다.
이렇게 재질이 정리되면 같은 재질의 물체들은 같은 재질로 적용하여 KT에서 구분될 수 있도록 합니다.
위와 같이 적용한 모델의 SU 파일을 올려놓겠습니다.
위의 모델은 SU 2014에서 작업했고 SP 3.5.5로 시뮬레이션을 적용했습니다.
WSAD로 자동차 방향조절이 가능하며 가로등 모양의 모델은 간섭하지 않도록 설정했습니다.
2. SP 시뮬레이션 KT로 Export하기
이상없이 모델을 만들고 시뮬레이션에 문제가 없다면 KT로 내보내기를 해보겠습니다.
먼저 SP의 Replay와 Replay Camera를 활성화 합니다.
그 다음 원하는 만큼 시뮬레이션을 실행합니다.
이 때 신경써야 할 점은 프레임 수와 프레임율 입니다.
프레임율이 높을 수록 시뮬레이션 시 자연스럽고 부드럽게 움직이고 렌더링 후에도 자연스러운 영상을 얻을 수 있습니다.
하지만 이 프레임율이 높을 수록 시뮬레이션 시간에 비례해서 엄청난 양의 프레임 수가 생기므로
렌더링 시 시간이 매우 오래 걸립니다.
따라서 원하는 자연스러운 영상을 얻을 정도의 프레임 율을 정하고
렌더링 시간이 너무 길지 않도록 하는 프레임 수를 얻어야 합니다.
따라서 시뮬레이션 시 하단에 표시되는 프레임 율, 프레임 수를 적절히 조절하기 위해
플러그인 > SketchyPhysics > Physics Settings를 선택하고
framerate를 조절해 줍니다.
이 framerate의 숫자가 높을 수록 필요한 시뮬레이션에 따란 프레임 수가 줄어듭니다.
처음 이 부분을 수정하시는 분은 조금 이상할 수 있는데
시뮬레이션 시 하단에 표시되는 FPS(프레임 율)은 거의 변하지 않고
FPS가 거의 변하지 않았기 때문에 같은 시간을 시뮬레이션 하면 프레임 수는 framerate를 변경하기 전과
같습니다. 하지만 framerate의 수를 극단적으로 바꾸어보면 시뮬레이션 시 물체의 움직임이 빨라 집니다.
정리하면 framerate의 수를 높이면 시뮬레이션 시 물체의 움직이 빨라져서 시뮬레이션을 마쳤을 때 시뮬레이션 시간이
짧아져서 전체 프레임 수를 줄일 수 있는 결과를 가져오는 것 입니다.
따라서 바로 KT로 내보내지 말고 적당히 시뮬레이션 테스트를 해보아서
적절한 프레임 수를 찾아낸 뒤 렌더링 하시기 바랍니다.
위와 같이 적당한 프레임 수와 결과를 얻었다면 Reset을 클릭하여 정지하고
이 후의 Save Animation을 묻는 창에서 예를 선택하여 저장합니다.
저장이 되었다면 먼저 SP의 Replay와 Replay Camera를 해제하고
플러그인 > SketchyReplay > Export to KerkyThea를 선택합니다.
이 때 다음과 같이 SU에서 장면 내보내기를 할 때 나왔던 Export Option이 똑같이 나오며
장면 내보내기와 같은 요령으로 자신에게 맞게 옵션을 선택하고 확인을 누릅니다.
확인을 누른 후에는 시뮬레이션(애니메이션)에 대한 Export Animation Option을 선택합니다.
Start Frame과 End Frame은 시뮬레이션 시 시작 프레임과 마지막 프레임을 의미하며
Rate의 경우 내보내는 프레임 수의 비율이며 1은 시작과 마지막 프레임을 전부 내보내며
2의 경우 1/2의 프레임 수를 내보냅니다.
앞서서 적당한 프레임 율과 프레임 수를 설정했으니 대부분 1로 설정하면 되며
필요한 경우 1보다 큰 수를 넣어서 프레임 수를 조절하면 됩니다.
이 때 SP에서 설정한 것과 같이 framerate 또는 Rate의 값을 높게 할 수록 영상으로 만들때는 빠르게 움직이는 것처럼
보이게 됩니다.
Replay Camera는 시뮬레이션 시 시점의 이동이 있다면 Yes로 선택하면 됩니다.
No로 선택할 시 KT에서 보고있는 방향으로 렌더링 되게 됩니다.
Animated Lights and Sun의 경우도 필요시 Yes를 선택하면 됩니다.
Resolution과 Render Settings는 KT 기본 사용 5번에 설명한 것과 같습니다.
위의 설정을 마쳤다면 확인을 클릭합니다.
그 다음 Export Script Path로 KT에서 여러 이미지를 렌더링하게 하는 스크립트와
매 프레임의 Scene을 저장할 경로를 지정합니다.
이 경로에 KT 스크립트 파일과 매 장면(프레임)이 저장되고 이 후에 렌더링 이미지가 저장되므로
용량이 확보된 경로로 지정합니다.
스크립트 파일의 경우 .kst라는 확장자로 저장되며
저장을 누름과 동시에 모든 프레임을 KT에서 렌더링이 가능한 파일로 처리하여 저장되는데
이 때 SU가 응답없음이 표시되기도 합니다.
하지만 계속 작업중이며 절대 프로그램을 강제로 종료하면 안됩니다.
인내를 가지고 기다리면 작업이 완료되며 이 과정에서는 다른 작업을 삼가는 것이 좋습니다.
KT에서 사용가능한 파일로 처리 중일 때는 SU 하단에 다음과 같이 표시됩니다.
이 작업이 완료되면 SU에 다음과 같은 창이 표시되며 예를 누를 경우 곧바로 KT 프로그램을 실행하여
모든 프레임을 렌더링 합니다.
하지만 바로 렌더링을 시작하기 보다는 아니요를 선택하고 KT를 따로 실행한 후
SP에서 내보내기 할 때 지정한 경로에 스크립트 파일과 함께 있는 xml 형식을 파일을 열고
조명이나 태양, 배경 Globals, 잘못 보여지는 모델 등의 수정과 한 장면 Scene만 렌더링 하여 적당한 설정을 마친 후에 전체 렌더링을 하는 것을 추천합니다.
왜냐하면 SP 시뮬레이션 결과 매우 많은 프레임 수가 있기 때문에 조명이나 설정이 맞지 않을 때 긴 시간을 다시 허비해서
렌더링 해야하기 때문에 SU에서 바로 렌더링하지 말고 KT에서 다시한번 수정과 테스트 렌더를 한 후에
전체 렌더링을 하는 것을 권장합니다.
3. KT에서 조명, 재질, 주변환경 설정하기
위와 같이 SP 시뮬레이션을 KT로 내보내고 3가지 결과물이 나왔다면
(Anim_...로 시작하는 폴더 안에는 매 프레임의 장면(역시 xml 파일 형식으로)이 들어있고,
.kst 파일의 형식은 KT에서 사용할 스크립트 파일이고,
kst 형식의 파일과 같이 있는 xml은 내보낼 당시의 모델 장면입니다.)
KT를 실행하여 kst 형식의 KT 스크립트 파일과 같이 있는 XML 형식의 파일을 불러옵니다.
(여기서 SU의 할 일은 끝났으므로 종료해도 무방)
2번의 마지막 부분과 같이 파일을 불러오면 아래와 같이 보여지게 됩니다.
중앙에 보이는 모델의 형상을 볼 수 있는 곳에서는 모델이 모두 와이어 프레임으로 보여지는데 이 때
V 키를 눌러서 솔리드 프레임으로 보여지게 할 수 있습니다.
모델을 수정하거나 할 때 유용하므로 알아두면 좋습니다.
렌더링 시에는 오랜 시간이 걸리므로 여기서 적당한 조명과 모델의 재질 설정을 마친 후에 전체 렌더링을 해야합니다.
위에서 제가 만든 모델의 경우 조명을 따로 설치했으므로 태양을 숨겨서 렌더링 되지 않게 하고
가로등 모양과 자동차에 특별한 재질을 적용하지 않았으므로 재질을 적용한 후에 렌더링 하겠습니다.
왼쪽 창에서 Sun을 우클릭하여 Hide로 숨깁니다. (조명이 따로 있는 경우 숨김이 되어 있지만)
이렇게 설정하고 KT 기본 사용의 5번 렌더링 하기의 요령으로 렌더링 세팅을 한 후 이 장면만 테스트로 렌더링 해보면
다음과 같이 렌더링 된 것을 볼 수 있습니다. (아직 모든 프레임을 렌더링하지 않았습니다.)
처음 SU에서 시뮬레이션하기 위해 만든 모델은 바닥이 없습니다.
바닥을 만든다해도 렌더링 시 바닥의 끝부분이 보일 수 있습니다. 따라서 바닥을 굳이 SU에서 만드는 것은 크게 좋지 않고
KT에서 바닥을 만드는 것이 좋으며 KT에서는 Infinite Plane 무한 평면을 생성할 수 있기 때문에
끝부분이 보이지 않는 이점이 있습니다.
Insert > Model > Basic Primitives > Infinite Plane
을 선택하면 자동으로 바닥위치에 생성이 됩니다.
Infinite Plane을 삽입하면 왼쪽 창에 삽입된 것이 보이며
우클릭하여 재질을 적용할 수 있습니다.
재질 편집은 따로 글을 작성할 예정이니 다운받은 재질을 우선 적용해 보겠습니다.
바닥은 유리 재질로 반사율이 있는 재질로 하고 자체는 Clay, 가로등의 붉은 부분은 방사체로 설정하였습니다.
위와 같이 렌더링 되었고, 이 설정으로 모든 프레임을 렌더링 하면 보기 좋을 것 같습니다.
지금같이 SU에서 바로 렌더링 하지말고 KT에서 적절히 옵션을 설정한 후에 렌더링을 하는 것이 좋습니다.
4. Run Script로 모든 프레임 장면 렌더링하기
위와 같이 모든 설정을 마친 후에 바로 렌더링하는 것이 아니라 장면 저장을 반드시 해줍니다.
왜냐하면 Run Script를 이용하여 모든 프레임을 렌더링 할 때에는 위에서 불러왔던 xml 파일과
Anim_...으로 시작하는 폴더 내의 xml 파일을 병합 merge하여 렌더링 하기 때문에
위에서 설정한 옵션을 반드시 저장해야 모든 프레임에 적용이 됩니다.
즉, 재질 및 모델 편집을 마친 후 렌더링 설정까지 적용 Apply한 후
왼쪽 상단의 Save Scene으로 처음에 불러왔던 xml 파일에 반드시 덮어씌워야 합니다.
이 과정까지 마쳤다면 마지막 렌더링 과정만 남게 됩니다.
File > Run Script를 선택하고 SU에서 내보내기 할 때 생성되었던 KT의 스크립트 파일인 kst 형식의 파일을 선택합니다.
스크립트 파일을 선택하고 OK를 누르면 바로 렌더링이 시작되며
내보내진 프레임 수 만큼 렌더링 작업을 시작하게 됩니다.
Render Job의 숫자는 [완료된 프레임 수 / 전체 프레임 수]이고
Render Settings에서 Threads 수를 최대로 한 경우 CPU의 부하가 커서 렌더링 중에는
다른 작업을 하기 매우 힘듭니다.
또한 경우에 따라서 렌더링 완료까지 시간이 매우 길어 집니다.
렌더링의 결과는 Anim_...으로 시작하는 폴더 안에 매 프레임의 xml 파일과 같이 jpeg 파일로 생성되게 됩니다.
다음과 같이 생성된 이미지 파일을 영상 편집 프로그램을 이용하여 영상으로 만들면 모든 작업이 완료되게 됩니다.
※모든 프레임 렌더링 시 팁※
위와 같이 Run Script를 이용하여 렌더링 할 때 매우 긴 시간이 걸리고
컴퓨터에 부하가 많이 걸려서 다른 작업을 하기 힘들게 됩니다.
하지만 부득이 하게 작업을 중단하고 나중에 다시 전체 렌더링이 해야할 때 Run Script를 이용하면
처음부터 렌더링을 시작하게 되어 엄청나게 비효율적이고 소모적이게 됩니다.
이 때 한가지 팁은 중단하기 전에 현재 작업중인 프레임 수를 기억합니다.
아래의 경우 19번째 프레임을 렌더링하는 중 입니다.
이를 기억해놓고 File > Quit로 KT를 그냥 종료합니다.
이 때 렌더링 작업중이었으므로 KT에서 경고 메시지를 보여주지만 그냥 Yes를 선택해서 종료합니다.
렌더링 결과가 저장되는 폴더인 Anim_...로 시작하는 폴더를 열어보면 작업중이던 19번째 이미지까지 렌더링 되어 있는 것을 볼 수 있습니다.
이제 문서편집기(메모장이나 코딩용 문서 편집기 등등)을 열고 kst 형식의 스크립트 파일을 다음과 같이 불러옵니다.
메모장에서 불러오기를 하면 kst 형식의 파일을 불러올 수 없으므로 우측 하단의 모든 파일을 선택해서 불러옵니다.
위의 파일을 불러오게 되면 많은 양의 텍스트 스크립트를 볼 수 있습니다.
이 스크립트들을 보면 첫 줄의 Load를 제외하고 매 프레임마다 Merge, Render, Save Image를 반복하는 것을 알 수 있습니다.
※따라서 첫번째 라인을 제외하고 좀 전에 중단한 18번째 까지 스크립트를 삭제하고 19번째 이후의 스크립트를 그대로 저장합니다.
(19번째 렌더링 중에 중지하였으므로 완전히 렌더가 끝나지 않았습니다.)
이제 KT를 실행하고 kst 형식의 스크립트 파일과 같은 위치에 있는 xml 파일을 불러와서
Run Script를 실행하여 렌더링을 시작하면 다음과 같이 전체 렌더링 작업 수 Render Jobs가 줄어들어 있는 것을 볼 수 있습니다.
즉, 이전까지 했던 렌더링 작업을 이어서 할 수 있는 것입니다.
-렌더링 결과-
'SketchUp > Sketchy Physics' 카테고리의 다른 글
SketchyPhysics - Quadcopter Simulation 쿼드콥터 시뮬레이션 (0) | 2014.12.22 |
---|---|
Sketchy Physics Camera Moving Test Render (0) | 2014.12.03 |
SketchyPhysics 3.5.5 + KerkyThea 사용하기 02 - KT 기본 in SU (0) | 2014.11.30 |
SketchyPhysics 3.5.5 + KerkyThea 사용하기 01 - KT 기본 사용 (0) | 2014.11.27 |
SketchyPhysics 3.5.5 + KerkyThea Render 테스트 (2) | 2014.11.23 |