IT 이야기2010. 6. 21. 00:07

이 포스트는 TechDays 2010 Spring의 Expression Blend와 함께 WPF3D Workflow를 알아보자!라는 세션을 시청하고 요약한 것입니다.


사실 예전에 WPF 3D를 맛보기 정도로 경험해봤던 나는 좀 더 새로운 3D 관련 지식에 대해 필요성을 느끼고 있었다. 속도 문제라거나 좀 더 좋은 방법들에 대해서 궁금해했었다.

그런 의미에서 이 동영상은 새로운 방법들이 몇몇 보였다.

우선 동영상에 나온 자료 자체가 -_- 내가 만들었던 단순 패널 3D와는 차원이 달라! 뭐야 이거! 덜덜덜...
이 분은 MAX를 이용하여 3D를 만드시고, 그것을 저장한다.


MAX에서 저장한 3D파일을 ZAM 3D로 읽는다. 예전 세미나 때도 한 번 본 적 있었는데, ZAM 3D는 3D파일을 읽어들이거나 생성한 3D객체들을 XAML 형태로 변환해주는 멋진 프로그램이다. 사실 처음 봤을 때에는 "우왕 굳" 했었는데 말이지...
여하튼 3D파일을 불러오면 아래 사진처럼 MAX에서 작성한 3D화면이 그대로 보이게 된다. "뿅!"
ZAM 3D로 가져올 때 주의점이 있는데 3D파일과 3D파일을 구성하는 이미지 파일들이 한 폴더 내에 같이 있어야 잘 보인다고 한다.


이제 XAML 파일로 내보내야 하는데, Export할 때 몇 가지 옵션 사항들을 체크해주면 된다. Control Type에는 Viewport3D, ViewBox등의 컨트롤을 지정할 수 있으며, Resource로 내보낼건지, Template으로 내보낼건지, Inline으로 내보낼건지 선택할 수 있다.


이제 XAML파일로 내보내었으니, Blend로 이동하여 새 프로젝트를 만들고 생성한 XAML 파일을 열어보도록 하자.
파일을 가져오면 아래의 사진처럼 똑같이 나온다. (대단한데?)



또 놀라웠던 점은 나는 3D의 객체 구성 내용들을 블렌드에서 확인해보는 정도로 그쳤었는데, 이 분은 블렌드에서 직접 3D객체들을 움직여서 애니메이션도 거시더라... -_-); 왠지 코드로 열심히 애니메이션을 걸었던 내가 바보같이 느껴졌다. (원숭이가 된 느낌)
이 부분이 매력적으로 느껴졌던 이유는 내가 예전 3D를 할 때, 애니메이션이나 이동 같은 걸 구현하면서 실제 눈으로 보면서 확인할 수 있으면 얼마나 좋을까하는 불만이 있었기 때문이다.

음... 하지만 또 한 편으로는 이런 기능들도 ZAM 3D에서 잘 코드가 만들어져서 나오기 때문에 편하게 적용되는 방법일 수도 있겠단 생각이 들었다.

그리고 예전애 내가 사용자의 입력을 받기 위해 3D객체의 타입을 Visual2DViewport3D 객체를 사용했었는데, 이 분은 ModelViewport3D를 ModelUIElement3D로 객체 이름만 간단하게 바꿔서 구현해내시더라. (아놔 ㅋ 밥 아저씨를 보며 느꼈던 허무감이 밀려옴)

필요한 툴도 있고, 생각보다 쉽지 않을 수도 있지만! 블렌드를 이용한 정말 간단한 Workflow였다!
좋은 정보와 함께 블렌드를 통해 3D를 갖고 놀 수 있는 방법을 알 수 있어 더더욱 좋았다.

Posted by 벚꽃손님