조회 수 4437 추천 수 9 댓글 9
?

단축키

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
  • profile
    정석 2018.01.04 16:21
    PBR에 대해서 다시한번 리마인드 했습니다. 좋은 자료감사합니다.
  • profile
    그래바 2018.01.07 15:16
    좋은자료 감사합니다!
  • profile
    케이빈 2018.01.20 23:31
    좋은공부됐습니다~ 감사합니다
  • profile
    신디 2018.02.08 12:30
    와 좋은자료 감사합니다 :)
  • profile
    김그륜 2018.02.08 14:18
    와 내용 아주 재미있고 좋네요~!~! 좋은 자료 감사합니다
  • profile
    그래바 2018.03.20 16:11
    처음볼때 아무생각없이 봤는데 다시보니 더 재미있고 이해가 잘되네요 좋은자료 공유 다시한번 감사드립니다 ㅎㅎ
  • profile
    우나우나 2018.03.23 14:46
    재밌고 흥미깊게 봤습니다 :) 좋은 자료 감사합니다 !!
  • ?
    식각 2018.05.02 16:00
    PBR이 편하긴 하지만 만능의 칼같은건 아닌것 같습니다. 중요한 것은 표현하고자 하는 것이지요.
  • ?
    우모크 2018.07.15 21:44
    오 진짜 좋은 내용입니다!! ^^ 감사합니다

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 팁 / 노하우 P2P Hidden Coin Miner 멀웨어 관련 증상 및 치료방법 (아이원스튜디오 배포) 2 file 염귤 2023.09.28 574
공지 릴레이 튜토리얼 [공지] '릴레이 튜토리얼 시즌2'를 시작합니다! 1 십사 2021.11.10 4472
공지 릴레이 튜토리얼 [공지]유저들과 함께하는 Relay Tutotial 연재 스타트! 12 그래바 2019.10.07 5516
공지 기초 이제 입문하시는 초보분들 필독.....!! 644 길동 2005.07.12 57440
813 팁 / 노하우 C4D 박스 UV 작업 방법, C4D Box Mapping 씨지토리닷컴 2022.03.20 531
812 스터디모임 경력자분들 영상CG스터디 온오프모임 하실분 모집합니다! 무륵 2022.03.20 324
811 동영상 강좌 DEM EARTH 플러그인을 활용해 지형에 나무 심기 1 아미노산스 2022.03.15 462
810 팁 / 노하우 C4D 라이팅이란, 라이트 도구(이론) 1 씨지토리닷컴 2022.03.14 622
809 팁 / 노하우 C4D 가리비, 조개 모델링, Scallop, Clam Modeling 씨지토리닷컴 2022.03.13 389
808 팁 / 노하우 C4D에서 쉽게 할 수 있는 불타는 효과 1 아미노산스 2022.03.08 686
807 릴레이 튜토리얼 [릴레이튜토리얼] 김재호 - 디포머와 스플라인 다이나믹 애니메이션 / Deformer & Spline Animations 3 모셔니스트 2022.03.02 620
806 릴레이 튜토리얼 [릴레이튜토리얼] 이성민 - 리지드바디 뷰포트 최적화 / HOW TO SPEED UP RIGID BODY 7 BIGG 2022.03.01 589
805 팁 / 노하우 뉴런 애니메이션 쉽게 표현하기 (스크립터 파일 포함) 아미노산스 2022.03.01 320
804 팁 / 노하우 C4D 기본 재질, 옥테인 재질 강의 모음 씨지토리닷컴 2022.02.27 1390
803 팁 / 노하우 3D 아트웍 이론 1, 2강(C4D), 시포디 아트웍 씨지토리닷컴 2022.02.25 405
802 스터디모임 (마감) C4D 스터디 그룹 인원 충원하려고 합니다~! 3 하늘호 2022.02.19 360
801 팁 / 노하우 C4D 재질 이론 설명, 옥테인 재질 이론, Octane Material, 옥테인 렌더 씨지토리닷컴 2022.02.15 562
800 팁 / 노하우 종이 폴딩 애니메이션의 간단한 방법 아미노산스 2022.02.15 447
799 팁 / 노하우 C4D 캐릭터 애니메이션을 위한 비쥬얼 설렉터, Visual Selector, Test Pose 씨지토리닷컴 2022.02.08 338
798 릴레이 튜토리얼 [릴레이튜토리얼] 강다혜 - 페인팅 스타일 모션그래픽 팁 3 file 십사 2022.02.08 751
797 릴레이 튜토리얼 [릴레이튜토리얼] 권동현 - C4D Redshift Cryptomatte 1 file 권동현 2022.02.06 868
796 팁 / 노하우 C4D 4족 캐릭터 리깅, 시포디 동물, 강아지, 말 리깅 4 legs rigging, dog, horse rigging, character rigging 씨지토리닷컴 2022.02.06 656
795 스터디모임 스터디 모집합니다! [마감] 케챱많이 2022.02.04 254
794 팁 / 노하우 반응하여 생성되는 전기 이펙트 1 아미노산스 2022.02.01 327
목록
Board Pagination Prev 1 ... 2 3 4 5 6 7 8 9 10 ... 45 Next
/ 45
닫기

마이페이지

로그인을 해주세요