Wpf3 D 기초부터 활용까지

2,738 views

Published on

Published in: Art & Photos, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,738
On SlideShare
0
From Embeds
0
Number of Embeds
368
Actions
Shares
0
Downloads
11
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Wpf3 D 기초부터 활용까지

  1. 1. WPF 3D<br />기초부터 활용까지..<br />이동규<br />HOONS 닷넷WPF 시삽<br />dklee.net<br />전호진<br />HOONS 닷넷WPF시삽<br />crynut84.tistory.com<br />
  2. 2. 진행순서<br />WPF 3D 배경 / Show Case<br />1<br />2<br />WPF 3D 기초 개념<br />3<br />3D 삼각형 만들기(라이브 코딩)<br />4<br />예제로 알아보는 WPF 3D 활용<br />
  3. 3. WPF 3D 배경 / Show case<br />
  4. 4. 전통적인 3D 프로그래밍<br />
  5. 5. WPF 3D등장<br />WPF에서 3D API 지원<br />
  6. 6. British Library<br />http://ttpdownload.bl.uk/app_files/xbap/BrowserApp.xbap<br />
  7. 7. You Cube<br />http://www.chriscavanagh.com/chris/WPFBrowser/publish.htm<br />
  8. 8. Augmented Reality(AR : 증강현실)<br />http://shine10e.textcube.com<br />
  9. 9. WPF 3D 기초 개념<br />카메라, 조명, 메쉬<br />
  10. 10.
  11. 11. ImageBrush<br />메모리 트리!<br />DiffuseMaterial<br />Mesh<br />Geometry3D<br />Directional<br />Light<br />Ambient<br />Light<br />Geometry<br />3D<br />Material<br />AxisAngle<br />Rotation3D<br />Light<br />Geometry<br />Model3D<br />Model3D<br />Visual3D<br />Collection<br />Rotate<br />Transform3D<br />Model Visual3D<br />PerspectiveCamera<br />Orthographic<br />Camera<br />Camera<br />Visual3D<br />ViewPort3D<br />
  12. 12. ViewPort3D<br /><ul><li>2D와 3D 사이의 매개체
  13. 13. 카메라, 광원, 모델
  14. 14. System.Windows.Controls
  15. 15. 일반적인 컨트롤 레이아웃과 동일</li></li></ul><li>Camera<br />-OrthographicCamera-<br />-PerspectiveCamera-<br />3D 모델을 보는 눈과 같은기능<br />3D 모델이 2D로 변환되는 방법 결정<br />PerspectiveCamera는 실생활에서<br />사물을 보는 것과 동일한 효과<br />
  16. 16. Camera – WPF3D 좌표<br />
  17. 17. Camera – PerspectiveCamera<br />FieldOfView<br />UpDirection<br />카메라의 앵글<br />LookDirection<br />카메라의 배치<br />Position<br />카메라가 가리키는 방향<br />Camera의 위치 지정<br />
  18. 18. Camera – PerspectiveCamera<br />0, 0, 4 -1, 0, 4 1, 0, 4<br />Position<br />Camera의 위치 지정<br />
  19. 19. Camera – PerspectiveCamera<br />-0.33, 0, -1 -1, 0, 0 0.33, 0, 1<br />LookDirection<br />카메라가 가리키는 방향<br />
  20. 20. Camera – PerspectiveCamera<br /> -0.5, 1, 0 0, 1, 0 0.5, 1, 0<br />UpDirection<br />카메라의 배치<br />
  21. 21. Camera – PerspectiveCamera<br /> 65 45 25<br />FieldOfView<br />카메라의 앵글<br />
  22. 22. ImageBrush<br />메모리 트리!<br />DiffuseMaterial<br />Mesh<br />Geometry3D<br />Directional<br />Light<br />Ambient<br />Light<br />Geometry<br />3D<br />Material<br />AxisAngle<br />Rotation3D<br />Light<br />Geometry<br />Model3D<br />Model3D<br />Visual3D<br />Collection<br />Rotate<br />Transform3D<br />Model Visual3D<br />PerspectiveCamera<br />Orthographic<br />Camera<br />Camera<br />Visual3D<br />ViewPort3D<br />
  23. 23. Model<br />Triangle<br />Model<br />
  24. 24. Model – MeshGeometry3D<br />TriangleIndices<br />Position<br />Position의 인덱스<br />삼각형의 구성 방법<br />일련의 점들을 정의<br />최소한 3개의 값<br /> Mesh의 순서 필요<br />
  25. 25. Model – MeshGeometry3D<br />Y+<br />2<br /><MeshGeometry3D<br />Position=“0 1 -4, 0 0 -4, 0 1 0, 0 0 0”<br />TriangleIndices=“0 1 2, 1 3 2” /><br />Z-<br />1<br />-4<br />-3<br />-2<br />X+<br />-1<br />0<br />-1<br />Z+<br />-2<br />X-<br />-3<br />Y-<br />
  26. 26. Model – MeshGeometry3D<br />Y+<br />2<br /><MeshGeometry3D<br />Position=“0 1 -4, 0 0 -4, 0 1 0, 0 0 0”<br />TriangleIndices=“0 1 2, 1 3 2” /><br />Z-<br />1<br />-4<br />-3<br />-2<br />X+<br />-1<br />0<br />-1<br />Z+<br />-2<br />X-<br />-3<br />Y-<br />
  27. 27. Model – MeshGeometry3D<br />Y+<br />2<br /><MeshGeometry3D<br />Position=“0 1 -4, 0 0 -4, 0 1 0, 0 0 0”<br />TriangleIndices=“0 1 2, 1 3 2” /><br />(0, 1, -4)<br />(0, 1, 0)<br />Z-<br />1<br />-4<br />(0, 0, -4)<br />-3<br />-2<br />X+<br />-1<br />0<br />(0, 0, 0)<br />-1<br />Z+<br />-2<br />X-<br />-3<br />Y-<br />
  28. 28. Model – MeshGeometry3D<br />Y+<br />2<br /><MeshGeometry3D<br />Position=“0 1 -4, 0 0 -4, 0 1 0, 0 0 0”<br />TriangleIndices=“0 1 2, 1 3 2” /><br />(0, 1, -4)<br />반시계 방향<br />(0, 1, 0)<br />Z-<br />1<br />-4<br />(0, 0, -4)<br />-3<br />-2<br />X+<br />-1<br />0<br />(0, 0, 0)<br />반시계 방향<br />-1<br />Z+<br />-2<br />X-<br />-3<br />Y-<br />
  29. 29. Model – Meterial(재질)<br /><ul><li>DiffuseMaterial Class
  30. 30. 윤기 없는 표면
  31. 31. 광원(빛)에 따라 밝기 결정
  32. 32. 2D의 Brush 사용
  33. 33. 단색, 그라데이션, 비트맵, 드로잉, Visual
  34. 34. 앞면과 뒷면의 재질을 다르게 정의 가능</li></li></ul><li>ImageBrush<br />메모리 트리!<br />DiffuseMaterial<br />Mesh<br />Geometry3D<br />Directional<br />Light<br />Ambient<br />Light<br />Geometry<br />3D<br />Material<br />AxisAngle<br />Rotation3D<br />Light<br />Geometry<br />Model3D<br />Model3D<br />Visual3D<br />Collection<br />Rotate<br />Transform3D<br />Model Visual3D<br />PerspectiveCamera<br />Orthographic<br />Camera<br />Camera<br />Visual3D<br />ViewPort3D<br />
  35. 35. Light<br />AmbientLight<br />DirectionalLight<br />자연스러운 조명<br />태양과 같은 원거리<br />Color 속성<br /> Direction 속성<br />가장 간단한 광원<br />위치와 방향에 관계 없음<br />Color 속성<br />
  36. 36. 간단한 삼각형 그리기 예제로 알아보는 WPF3D의 기본 개념<br />
  37. 37. WPF 3D 의 활용<br />연아 큐브 만들기!<br />3rdParty Tools<br />ZAM3D 의 활용<br />
  38. 38. YUNA CUBE 만들기!<br />2D요소<br />텍스쳐<br />회전<br />큐브<br />
  39. 39. YUNA CUBE만들기 (1/4)<br />큐브 추가<br />
  40. 40. YUNA CUBE만들기 (2/4)<br />슬라이드 - 축회전<br />마우스 - 트랙볼 회전 (using 3DTools)<br />3D Tools?<br />-Trackball<br />-ScreenSpaceLines3D…<br />http://3dtools.codeplex.com<br />
  41. 41. YUNA CUBE만들기 (3/4)<br />텍스쳐 (연아 입히기 +_+)<br />
  42. 42. YUNA CUBE만들기 (4/4)<br />2D 요소 삽입<br />
  43. 43. WPF 3D + TOOLS<br />3rd Party Tools<br />ZAM 3D<br />Blender<br />Maya<br />LightWave<br />3DS MAX<br />
  44. 44. WPF 3D with ZAM3D<br />
  45. 45. Thank You<br />Q & A<br />

×