메뉴 건너뛰기

본문시작

조회 수 1557 추천 수 3 댓글 8
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

https://www.slideshare.net/jpcorp/ss-60782086

 

알차고 재미있는 내용입니다.

기승전 카메라!

 

 

 

요악

물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용

  1. 1. 물리 기반 쉐이더의 허와 실 물리 기반 쉐이더를 가르쳐 보았습니다
  2. 2. 정종필 1992. Hqteam – 충무공전 / 임진록1 , 2 / 천년의 신화 등 조이온 Art Director – 임진록 온라인 거상 등 Ndoors Technical Art Director – 군주/ 삼국지를 품다/ 영웅의 군단 등 청강문화산업대학교 게임콘텐츠 스쿨 교수 대충 살아가는 게임개발자 http://chulin28ho.egloos.com http://chulin28ho.tistory.com/ 게임 개발 포에버 / 대마왕 http://gamedevforever.com
  3. 3. 그래서 물리 기반 쉐이더 (PBS)가 뭔가요? PBR이라고도 합니다만
  4. 4. PBS (Physically Based Shader )의 마케팅 용어 보다 더 정확한 라이팅 표현이 가능하다! 아티스트들이 신경을 덜 써도 된다! 보다 더 직관적이다! Shader 하나로 모든 재질을 표현!
  5. 5. 여기서 PBS의 큰 특징 • 요새 PBS 강연문서는 꽤 많으니까 요 • 좋은 동영상도 많이 있습니다. • 깊게 들어가면 너무 깊어지니까 쉽게 특징적인 것 두 개만 짚어봅시 다
  6. 6. 1. Energy Conservation
  7. 7. 거울에는 그림자가 생길까요?
  8. 8. 네 여자친구처럼
  9. 9. • 빛은 투과, 흡수, 반사등의 성질을 지닙니다만 일단 반사만 생각합시다 • 반사는 크게 두 종류로 나눌 수 있습니다. • Diffuse : 난반사 • Specular : 정반사
  10. 10. • 난반사와 정반사는 상호 보완 관계를 가지고 있습니다
  11. 11. 정반 사 난반 사
  12. 12. 정반사 난반사 • 즉 거울 자체는 빛을 비춰도 밝아지지 않습니다
  13. 13. • 물론 실제 거울은 이상적인 100% 정반사가 아니고, 각종 불순물과 먼지 손자국 등등 때문에 밝아지긴 하죠
  14. 14. 어쨌건 기존의 구형 라이트 방식은 이런 정반사 (Specular)와 난반사 (Diffuse) 를 감각적으로 따로 계산해서 더하는 방식이었습니다. 대충 스페큘러를 이 정도 넣고 대충 디퓨즈를 이 정도 넣으면 정반사 난반사 100% 거기다가 정반사는 무려 흰 공이었죠 ㅎㅎ
  15. 15. 잘못된 경우 옳은 경우 - PBR
  16. 16. 2. Specular Color
  17. 17. • 금속은 고유의 스페큘러 칼라를 가지고 있고 • 비금속은 그냥 흰색의 스페큘러 칼라를 가지고 있습니다 • 표면의 공유 전자 (Shared Electron) 때문이라는데 뭐… 난누군가 여긴어딘 가 http://www.gamedevforever.com/17
  18. 18. • Diffuse Color + Specular Color • 금속은 칼라 스페큘러
  19. 19. • Diffuse Color + Specular Color • 비금속은 흰색 스페큘러
  20. 20. • 비금속 • 1- Diffuse Color = Specular Color https://area.autodesk.com/tutorials/natascha_hybrid_texturing
  21. 21. • 그래서 PBS에서는 Metal 이냐 아니냐를 구분하는 기능이 생겼습니다
  22. 22. Metal DiffuseBRDF *0 , SpecularBRDF * Albedo DiElectric DiffuseBRDF * Albedo , SpecularBRDF * 0.5
  23. 23. 즉 자동으로 출력되는 Albedo의 위치가 결정되는 것이 PBS
  24. 24. 잘못된 경우
  25. 25. 슬쩍 이 두 가지만 봐도 • PBS는 과연 대단합니다 • 추가로 프레넬 리플렉션이라던가 • 미세 표면이라던가 • 감마 코렉션이라던가 • 하는 것들 역시 ‘옳게’ 처리되고 있습니다
  26. 26. • 보다 더 정확한 라이팅 표현이 가능하다! • 아티스트들이 신경을 덜 써도 된다! • 보다 더 직관적이다! • Shader 하나로 모든 재질을 표현! 즉 이 말의 의미는
  27. 27. • 보다 더 정확한 라이팅 표현이 가능하다! • > 물리적으로 정확한 라이팅을 원한다면 • 아티스트들이 신경을 덜 써도 된다! • > 물리적으로 정확한 라이팅을 표현한다면 • 보다 더 직관적이다! • > 물리적으로 정확한 이론을 알고 있다면 • Shader 하나로 모든 재질을 표현! • > 물리적으로 옳은 재질이라면 물론 이 쪽 방향은 궁극적으로 맞는 방향이긴 합니다.
  28. 28. 제대로 알고 쓰면 좋은 결과가 나옵니다 PBS를 사용하면서 구형 방식으로 텍스쳐를 제작하면 안됩니다 새로운 방식을 이해하면서 텍스쳐를 그려야만 합니다
  29. 29. 그런데 말입니다
  30. 30. ‘정말’ 위의 것이 더 예쁩니까?
  31. 31. ‘저는 아래 것이 더 예뻐요’ 라는 의견은 ‘틀린’ 의견입니까?
  32. 32. 오른쪽 이미지는 옳지 않지만 그렇게 심각하게 이상합니까?
  33. 33. 언제나 프로그래머 분들이 뭔가 조금 부러워하고 있는 ‘예쁘다’ 의 기준을 말하고 있습니다.
  34. 34. 물론 이건 물리적으로 옳은 느낌과 비슷해 지려는 과장이라고 쳐도…
  35. 35. 게다가 세상에는 NPR이라고 하는 당당한 분야도 존재합니다 (Non Photo Realistic) 길티기어 xrd-sign-「애니메이션처럼 보이는 3d그래픽」의 비밀
  36. 36. • 보다 더 정확한 라이팅 표현이 가능하다! • > 물리적으로 정확한 라이팅을 원한다면 • 아티스트들이 신경을 덜 써도 된다! • > 물리적으로 정확한 라이팅을 표현한다면 • 보다 더 직관적이다! • > 물리적으로 정확한 이론을 알고 있다면 • Shader 하나로 모든 재질을 표현! • > 물리적으로 옳은 재질이라면 기본적으로 물리적으로 옳은 것을 지향하는 것은 맞지만
  37. 37. 물리적으로 정확한 결과만 꼭 예쁜 것은 아닙니다 기본적으로 물리적으로 옳은 것을 지향하는 것은 맞지만
  38. 38. 다음 중 어느게 PBR인지 구별 가능하십니까?
  39. 39. PBR (Standard : Metallic pass)Diffuse + Specular + rim + Reflection (BlinnPhong)
  40. 40. 이건 가능 하십니까?
  41. 41. 사실은 구형 방식도 • PR (Photo Realistics) 렌더링의 한 식구 • 구형 방식도 원래 PBR의 한 분야였습니다!
  42. 42. 사실은 구형 방식도 구형 방식으로도 비슷한 결과를 만들 수 있습니다 • PR (Photo Realistics) 렌더링의 한 식구 • 구형 방식도 원래 PBR의 한 분야였습니다!
  43. 43. 즉 • 기존의 방식이 ‘비 물리’ 방식이라는 말이 아닙니다 • 기본의 방식은 ‘생략이 많이 되고 수동으로 조절해야 하는’ 물리 기반 방식이라는 말이지요
  44. 44. PBR is NOT MAGIC!!! • 분명 개량된 것은 맞지만 • 천지가 개벽할 정도로 다른 것이 아니다 • 단지 “자동화”가 많이 되고 계산이 좀 더 정밀해진 우버 셰이더에 가깝다
  45. 45. “자동화”의 한계 • 아티스트의 자유도 제약 “난 무리해서라도 한계를 돌파하고 싶다고!!!” “거절합니다”
  46. 46. AD가 이걸 원한다면 ?
  47. 47. AD가 원하면 정답입니다
  48. 48. • 언리얼의 고민 • ‘Fortnite :포트나이트’ 을 지원하기 위해 구형 방식을 다시 지원 하는 것을 결정 : 어이 근데 2013년 얘기인데…
  49. 49. Henry : 언리얼로 제작된 오큘러스용 애니메이션 “우리의 과장되고 아름답게 재해석된 아트 방향은 실제와 달랐고, 이를 물리기반 셰이더만으로 완전히 달성할 수 없었다"
  50. 50. • 유니티의 고민 : 그럼 몽땅 다 지원하자!!! 으아아아 서로 섞여서 정신없어졌다 에이 신형 PBS도 만들어 넣자 신형 PBS 규칙을 깨뜨릴 수 있는 변칙 PBS 규칙도 또 만들어 넣자 에라 옛날 Shader도 그냥 두자
  51. 51. • 게다가 유니티와 몇몇 엔진은 Roughness를 쓰지 않고 Smoothness를 사용 • Smoothness = 1- Roughness
  52. 52. • 즉 이런 방식 구형 라이트 (Non-PBS) Diffuse Ambient Specular 신형 라이트 (PBS) BRDF Diffuse Metallic Smoothness 신형 라이트 변형 (PBS) BRDF Diffuse Specular Color Smoothness
  53. 53. struct SurfaceOutputStandard { fixed3 Albedo; fixed3 Normal; fixed3 Emission; half Metallic; half Smoothness; half Occlusion; half Alpha; }; struct SurfaceOutputStandardSpecular { fixed3 Albedo; fixed3 Specular; fixed3 Normal; fixed3 Emission; half Smoothness; half Occlusion; half Alpha; }; Metallic Pass Specular Pass
  54. 54. Metal Black * Diffuse BRDF , Albedo * Specular BRDF Non-metal Albedo * Diffuse BRDF , Gray* Specular BRDF Albedo * Diffuse BRDF , Specular Color * Specular BRDF Metallic Pass Specular Pass
  55. 55. Metallic pass Black * Diffuse BRDF , Albedo * Specular BRDF Specular pass Albedo * Diffuse BRDF , Specular Color * Specular BRDF * Diffuse BRDF , Specular Color * Specular BRDF
  56. 56. Non-metal Albedo * Diffuse BRDF , Gray* Specular BRDF Specular pass Albedo * Diffuse BRDF , Specular Color * Specular BRDF Albedo * Diffuse BRDF , Gray * Specular BRDF
  57. 57. Specular pass Albedo * Diffuse BRDF , Specular Color * Specular BRDF
  58. 58. PBR is NOT MAGIC • PBR이 나쁘다고 오해하시면 안됩니다. PBR은 좋습니다! • 꼭 물리적이어야 예쁜 건 아닙니다 • 물론 물리적으로 PBR은 이상적인 접근 방식입니다 • 원래 만든 목적이 ‘아티스트 편하라고’ 만든 기능입니다 • 아직 발전중이고, 약점도 없지 않습니다 P B R 이 만 병 통 치 약 취 급 을 당 하 는 마케팅 용어가 되는걸 주의하자는 말입니다
  59. 59. 그란데 말입니다 우리는 됐다 치고…
  60. 60. 이걸 학교에서 아티스트에게 가르치려니까 말입니다 청강대 게임스쿨 게임제작 스튜디오 전경 (광고)
  61. 61. 수업에서 PBS를 설명할 때의 문제점 • 실무에서도 아직 안 쓰는 곳이 꽤 많다 • 예전 방식의 라이팅과 전혀 다른 구조 • 안 가르치자니 그것도 곤란
  62. 62. • 기존의 라이팅 구조 • Diffuse • Specular • Ambient • 새로운 라이팅 구조 • Albedo • Metallic (Specular pass?) • Glossiness (Smoothness) • Occlusion
  63. 63. 어설프게 알면 혼란을 겪게 될 가능성이 크다 • 아니면 대충 ‘외워’ 버리게 된다던가 • 수준 높게 가르친다고 이론만 어렵게 나열하면 흥미를 잃고 포기한다 • 다른 엔진이나 이후 발전되는 방향에도 대처하게 만들어 주고 싶다 • 이론을 근본적으로 이해하되, 쉽게 이해할 수 있도록 만들어 주고 싶다
  64. 64. 그래서 작전을 짜봤습니다
  65. 65. 1단계 : 아예 빛부터 가르치기로 결정 • 과목명 : 카메라/라이트/렌더링 (카/라/렌) • 학생들 : 저게 뭐하는 과목이지?(갸웃)
  66. 66. 카메라를 가르치자 • 일단 전반기에는 카메라를 가르쳐 봤습 니다. • 마침 학교도 이쁜데 밤새며 과제만 하는것도 불쌍하고… • 어차피 게임 그래픽은 우리 눈이 아니라 카메라 (영화) 의 카피니까요
  67. 67. 빛을 찾아보자 • Diffuse를 찾아보자
  68. 68. • Ambient를 찾아보자 빛을 찾아보자
  69. 69. • Specular를 찾아보자 빛을 찾아보자
  70. 70. • 마른 표면과 젖은 표면을 비교해 보자 빛을 찾아보자
  71. 71. 그 외 빛 찾고 연구하기 • 셔터스피드 연구 • 패닝샷 촬영
  72. 72. 그 외 빛 찾고 연구하기 • Rim light / Translucent • Fresnel Reflection • Ambient Occlusion • Refraction / Caustics
  73. 73. 그 외 빛 찾고 연구하기 • 금속과 비금속의 Specular Color 차이
  74. 74. 그 외 빛 찾고 연구하기 • HDR 과 LDR
  75. 75. 이 모든것이 PBS를 가르치려는 계획이었습니다
  76. 76. 德業一致
  77. 77. 2단계 : 후반기에는 맨탈레이
  78. 78. • 맨탈레이로 광자 계산을 실습 • 조사했던 빛을 디지털로 표현하려면 얼마나 복잡한 것인지를 느끼게 해 줌 • 정적 라이팅의 개념과 그 디테일의 차이… • 공짜 Image from : http://blog.digitaltutors.com/indirect-illumination-final-gather-vs-global-illumination/
  79. 79. 이것 역시 PBR을 가르치려는 계획이었습니다
  80. 80. NDC에서 PBS를 알아듣게 만들자 마침 이호성님이 NDC에…
  81. 81. 그래서 의도한 결과 ‘엠비언트 칼라가 신경쓰여서 영화에 집중을 못하겠어요‘ ‘레스토랑에 갔더니 굴절과 커스틱이 신경쓰여 … ㅜㅜ‘ ‘NDC 이호성님 강연이 무슨 얘기인지 대충 다 들려요 ㅠㅠㅠ’ 빛 관련 강연은 전부 카라렌과 연관이…!!! ㅠㅠ
  82. 82. 3단계 : Shader 코딩 • 직접 Lambert / BlinnPhong / NPR 연산으로 구현해 보면서 학습
  83. 83. 그래서 이런걸…
  84. 84. 그래서 • 물리 기반 셰이더를 제대로 이해하게 되었다! • 적어도 두려워하거나 혼동하지 않게 되었다! • 바르게 공부할 수 있는 방향을 알게 되었다! • ‘아티스트가 기술을 이해하면 놀라운 일이 일어납니다’
  85. 85. 결 론
  86. 86. PBR is NOT MAGIC ! • PBR은 훌륭한 방향입니다만, 만병통치약은 아닙니다 • PBR은 제대로 알고 사용해야 그 가치가 있습니다 • 하지만 그 한계를 알거나 제대로 사용하기 위해선 PBR을 제대로 가르치고, 제대로 공부해야 합니다 • 제대로 공부하면 제대로 사용할 수도 있고, 그 한계를 넘어설 수도 있습니다! • 게다가 앞으로 발전하는 방향에 대응할 수도 있습니다
  87. 87. • http://www.gamedevforever.com/17 물체 표면의 스페큘러 칼라에 대하여_유우원 • https://www.unrealengine.com/ko/blog/physically-based-shading-in-ue4 UE4 의 물리 기반 셰이딩 Jordan Walker • [Ndc13]Ndc 2013 김동석:UDK로 물리기반 셰이더 만들기 • Physically Based Rendering for Artists • Sand Rendering in Journey SIGGRAPH 2013 Course: Physically Based Shading in Theory and Practice http://blog.selfshadow.com/publications/s2013-shading-course/== • Real Shading in Unreal Engine 4 (Brian Karis) • http://www.slideshare.net/Hybrid0/physically-based-rendering-51309337 • http://bbs2.ruliweb.daum.net/gaia/do/ruliweb/default/ps/93/read?articleId=1454413&bbsId=G003 • NDC2015_3DS MAX 멘탈레이로 유니티 정적라이팅하기_16_9 • 길티기어 xrd-sign-「애니메이션처럼 보이는 3d그래픽」의 비밀 감사합니다 http://chulin28ho.tistory.com/ jpcorp@ck.ac.kr @JPcorps
  • ?
    정석 2018.01.04 16:21
    PBR에 대해서 다시한번 리마인드 했습니다. 좋은 자료감사합니다.
  • ?
    그래바 2018.01.07 15:16
    좋은자료 감사합니다!
  • profile
    케이빈 2018.01.20 23:31
    좋은공부됐습니다~ 감사합니다
  • profile
    신디 2018.02.08 12:30
    와 좋은자료 감사합니다 :)
  • profile
    김그륜 2018.02.08 14:18
    와 내용 아주 재미있고 좋네요~!~! 좋은 자료 감사합니다
  • ?
    그래바 2018.03.20 16:11
    처음볼때 아무생각없이 봤는데 다시보니 더 재미있고 이해가 잘되네요 좋은자료 공유 다시한번 감사드립니다 ㅎㅎ
  • profile
    우나우나 2018.03.23 14:46
    재밌고 흥미깊게 봤습니다 :) 좋은 자료 감사합니다 !!
  • ?
    식각 2018.05.02 16:00
    PBR이 편하긴 하지만 만능의 칼같은건 아닌것 같습니다. 중요한 것은 표현하고자 하는 것이지요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 일반 동영상 규격은 1080*610이 가장 잘 보입니다.~ 2 [길동] 2017.01.26 785
공지 기초 이제 입문하시는 초보분들 필독.....!! 611 길동 2005.07.12 33037
678 팁 / 노하우 Seamless texture제작하기 Tutorial 1 브이에스랩 2018.05.28 258
» 메뉴얼 [잼있고 피가 되고 살이 되는 이야기] 물리 기반 셰이더의 허와 실 8 [길동] 2018.01.04 1557
676 동영상 강좌 Upper Select Houdini Free Asset For C4D R19 김그륜 2017.10.28 1037
675 동영상 강좌 Voronoi Houdini Free Asset For C4D 김그륜 2017.10.28 584
674 동영상 강좌 Tip11. PureRef (레퍼런스 정리 툴) 동영상강의 8 김그륜 2017.09.30 1807
673 동영상 강좌 웨이트 태그 병합 파이썬 스크립트 10 정석 2017.09.25 580
672 기초 유리컵 모델링 튜토리얼 7 브이에스랩 2017.08.21 1930
671 팁 / 노하우 스플라인 탄젠트 Tip 5 브이에스랩 2017.07.27 1232
670 메뉴얼 아놀드 렌더의 스펙큘러 옵션 2 [길동] 2017.06.23 1198
669 기초 한스님 애니메이션 에센스~ 8 [길동] 2017.04.20 3092
668 동영상 강좌 인테리어 렌더링을 위한 GI셋팅 7 브이에스랩 2017.04.14 1981
667 팁 / 노하우 스크레치 메테리얼을 쉽게 표현하는 두가지 접근방법 11 브이에스랩 2017.03.09 1849
666 기초 [Teaset]_Part3. Teapot_lighting & shader & render(octane) 7 조정래 2017.03.07 955
665 링크강좌 Easy Voronoi mesh and lattice - 쉽게 보노로이 패턴 모델링 하기~ 1 [길동] 2017.03.05 983
664 기초 [Teaset]_Part2. UVW Texture 8 조정래 2017.02.13 1670
663 링크강좌 [CGsociety] EasyRetopo Script(free) 2 [길동] 2017.02.13 580
662 기초 [Teaset]_Part.1 Teapot modeling 8 조정래 2017.02.08 1096
661 동영상 강좌 [Houdini-C4D-OTR] Quick VDB Clouds - 13:16 [길동] 2017.01.26 639
660 동영상 강좌 [DIGITAL MEAT] - Cinema 4D R18: Object Tracking Part 1 2 [길동] 2016.12.21 895
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 34 Next
/ 34