Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Uncharted4 part1

언챠4 분석 part1 수정본.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

Uncharted4 part1

  1. 1. UNCHARTED4 PART 1 이걸 어떻게 분석하지……
  2. 2. SIGGRAPH 2016의 발표내용과 GDC 2016의 발표내용을 기본으로 분석한 내용입니다.
  3. 3. Naughty Dog에서 PBR을 처음 사용한 게임.
  4. 4. 우선 이것부터 어떻게 해봅시다.
  5. 5. s2012_pbs_disney_brdf_notes_v2.PDF로 웹에 공개되어 있음 Disney BRDF
  6. 6. Bidirectional Reflectance Distribution Funtion의 약자. 양방향 반사 분포 함수. Surface의 상태에 따른 반사율을 수하는 함수. BRDF ?
  7. 7. 여기서 잠시~! HDR? LDR? 뭔 소리?
  8. 8. 1. 기존의 색상 표현 • 픽셀당 4Byte 표현 • 4Byte = 32bit • R:8 G:8 B:8 A:8 • 각 색상당 1Byte(8bit), 256단계로 표현 가능(0~255) • 모든 색을 표현하기에는 부족. 2. HDR • 색상당 16비트 부동 소수점으로 표현 • 약 4.4 * 10 ^12 의 색상 표현 가능 • 기존의 RGB8은 LDR(Low Dynamic Range)라고 부름 3. 장면의 고휘도 값을 렌더링 파이프라인 전체에 유지, 그 결과를 디스플레이 장치에 출력할 수 있는 범위로 압축하는 과정. • 모니터의 출력 허용치는 LDR 범위 (4bite RGB만 표시 가능) • HDR은 모니터의 출력 범위를 넘어섬. • HDR장면을 출력하기 위해서는 모니터의 출력 허용치인 LDR 범위로 압출해야 됨. • 이 변환을 Tone Mapping이라고 함. HDR(High Dynamic Range)
  9. 9. Tone Mapping HDR 0.0 1.0 2.0 LDR 1.00.0
  10. 10. Tone Mapping의 필요성 HDR 0.0 1.0 2.0 LDR 1.00.0 LDR 2.01.0 0.0 ~2.0 범위의 HDR 이 있다면, LDR은 0~1, 혹은 1~2로 선택이 가능하다. 이것은 장면의 특성에 따라 휘도의 구간을 선택적으로 적용이 가능하게 된다.
  11. 11. Tone Mapping의 필요성 하나의 샷을 왼쪽에서 보이는 다양한 tone으로 변환이 가능하게 된다.
  12. 12. 자~ 다시 UNCHARTED4
  13. 13. 어떤 보정도 없는 스크린샷 과 톤 매핑을 켠 상태의 이미지. Shadow부분에 contrast를 볼 수 있습니다. 중요한 것은, 구름이 과노출 될 때 yellow/pink 색의 컬러 벤딩(color bending) 현상을 막아줍니다.
  14. 14. 컬러 벤딩(color bending) 현상
  15. 15. LUT을 켠 최종 이미지. Cool tint 가 적용 된 것을 볼 수 있음. (전의 이미지와 비교해보면 변경점이 보임)
  16. 16. 이것은 색 보정을 post process effect(후처리 효과)보다는 렌즈의 필터처럼 다룰 수 있게 해준다. 왜 색보정을 HDR에서 하고 싶었던 것일까?
  17. 17. 같은 샷, multiply mode로 강한 cyan을 적용. 구름의 하얀색이 변한 부분에 주목. LDR 적용
  18. 18. LDR과 같은 조건인 multiply mode로 강한 cyan을 적용. 약간의 white가 구름속에 보이는 부분에 주목. 이것은 LDR에서는 masking이나 blend mode를 통해서 얻을 수 있지만, HDR에서는 자동으로 일어납니다. HDR 적용
  19. 19. 이전 프로젝트에서 John Hable이 고안한 tone mapping 기능을 가지고 있었음. HDR 값들을 LDR space로 변환시키는 것을 단순히 컨트롤하고 있었음. 같은 mapping효과를 친숙한 그래픽 소프트웨어(Photoshop 같은)의 curve editor를 통해 얻을 수 있음. 그리고 이러한 mapping을 grayscale의 LUT texture로 저장할 수 있습니다.
  20. 20. 하나의 HDR LUT texture에 color grading(색보정)과 tonemapping curve를 둘 다 부호화(encode)하기로 결정. 통상의 LUT는 0~1.0의 범위를 가지게 되나 여기에서는 0~2.0 sRGB의 범위를 가지게 됨. 4.0 sRGB까지 실험했고 기술적인 문제도 없었지만, uncharted4의 look에서는 필요 없었으므로 2.0 SRGB만 사용.
  21. 21. HDR color grading과 tone mapping curve 에디팅에 Fusion 사용. (Nuke, Davinci도 상관 없음) 실시간 LUT의 보정이 가능하므로 color grading을 위해 스크린샷을 찍지 않아도 됨.
  22. 22. LUT은 또 뭐야!
  23. 23. RGB의 입력값을 다른 새로운 색상표에 대응하여 다른 색감으로 출력하는 방식 LUT(Color Look Up Table) LUT
  24. 24. LUT(Color Look Up Table)
  25. 25. • Color grading(색 보정)은 LUT를 통해 구현. • 3개(R,G,B)의 1D LUT 대신 조금 더 세련된 색 변환이 가능한 3D LUT 하나를 사용. LUT(Color Look Up Table) 256 * 16 텍스쳐에 16 * 16 * 16 색 중립 LUT 모습
  26. 26. 1. Color grading을 하고자 하는 대표 스크린샷을 Photoshop에서 불러온다. 2. Photoshop에서 중립 256 * 16 LUT 로드. (unreal engine4 예제에서도 제공) 3. LUT를 스크린 샷 도큐먼트에 불여 넣는다. 4. Manipulatoin(색 조작)을 적용. (adjustment layer를 추가하는 식이 좋음) 5. 256 * 16 LUT를 선택하여 병합. (색 조작으로 LUT의 색상이 바뀌어 있음) 6. 엔진이 읽을 수 있는 비압축 포맷으로 저장. 7. 활용. LUT(Color Look Up Table) 제작 방법
  27. 27. 동영상으로 보자 LUT(Color Look Up Table) 제작 방법
  28. 28. 자~ 다시 UNCHARTED4
  29. 29. 아티스트들이 다른 방향에서 오는 fog color를 내우 구체적으로 컨트롤하고 싶어함. 특히 skydome의 수평선 컬러와 fog의 컬러를 맞추고 싶어함.
  30. 30. 전통적인 monochromic fog
  31. 31. Fog의 color를 control하기위해 아티스트들이 만든 fog texture. 좌측의 하늘 texture와 연관된 fog texture. Fog Texture의 위쪽 반은 좌측 하늘 텍스쳐와 color와 energy가 같음. 아래쪽 반은 수평선의 아래쪽 부분을 아티스트들이 직접 연장해서 만든 이미지.
  32. 32. Fog texture를 적용. 문제는 앞에 있는 물체와 뒤쪽에 있는 물체가 같은 fog color의 영향을 받는다는 것. (실내나 벽 뒤에 있으면 문제가 더 심각해 짐)
  33. 33. 그래서, low mip(최고 해상도)를 수평에 사용, high mip(낮은 해상도)를 카메라 가까이 사용. 1 * 1 사이즈까지 fog texture 제작. (화면 전체를 하나의 평균 색상으로 표현할 수 있는 fog texture) 그 색상은 카메라와 목적지 사이의 파티클을 관통하는 빛의 축적임. (산란과 흡수계수의 오차는 있음)
  34. 34. 완성된 fog texture Mipmap들을 보면 하나의 색상이 될 때까지 흐려지고(blurrier) 있습니다.
  35. 35. Mip fog 랜더링은 꽤 그럴싸함. 왜냐하면, 씬의 다른 부분에서 오는 빛들을 반영했기 때문. (sky dome의 색상을 반영했기 때문)
  36. 36. Fog texture를 sample하기 위해서 카메라 벡터를 근사치로 mip fig texture를 적용해야 하는 sky의 UV space로 변환. Fog의 농도를 별도로 계산하기 위해서 전통적으로 control하는 방법을 쓴다. (height falloff, distance falloff, etc)
  37. 37. 카메라 벡터? UV Space? Sample???
  38. 38. Mip Fog를 설명하기 위해 약간의 오류를 포함한 내용이 이어집니다.
  39. 39. 카메라의 vector방향(Depth)으로 빌보드가 적용된 Fog plane이 중첩된 형태를 Fog 시스템이라고 가정한 모델.카메라 카메라 화각 (FOV) Fog Plane 카메라 view 카메라 vecor Fog를 아래와 같은 구조로 구현이 된다고 가정합니다. (실제 게임의 Fog 시스템과는 다릅니다.)
  40. 40. 카메라 카메라 view 카메라 vecor Sky Dome 카메라 vector를 근사치로 sky의UV Space로 변환….의 의미. 게임에서 카메라를 통해 보이는 view는 sky dome의 일부분이다. 이 view의 위치를 sky dome의 UV에서 찾는다.
  41. 41. 카메라 vector를 근사치로 sky의UV Space로 변환….의 의미. Sky dome에 적용된 UV에서 하늘색 박스 부분이 실제 게임에서 카메라가 비추고 있는 화면 부분이다. 즉, sky dome이 texture를 적용하기 위해 가지고 있는 UV좌표 위에서 카메라 view의 좌표가 하늘색 박스. 카메라의 view를 sky dome의 UV space로 변환한다의 의미는 위와 같다. Texture와 UV좌표
  42. 42. 카메라 vector를 근사치로 sky의UV Space로 변환….의 의미. 카메라의 view의 위치를 sky dome의 UV 좌표상에서 찾았으면, fog texture에서도 같은 위치를 찾는다. Sky Dome UV space 에서의 위치 Fog Texture에서의 위치
  43. 43. 카메라 카메라 화각 (FOV) Depth(Vector)에 따른 카메라 view 영역 카메라 vecor 카메라의 FOV 때문에 카메라의 Depth(Vector)값에 따라 카메라의 view에 비치는 fog plane의 영역이 달라진다.
  44. 44. 카메라의 Depth(Vector)에 따라 달라지는 view의 영역을 maipmap의 개념으로 이해하면 mipmap level 적용 부분의 이해가 쉽게된다. 카메라 카메라 화각 (FOV) 카메라 vecor
  45. 45. 자연에서 눈에 들어오는 빛은 직선으로 오는 빛 뿐만아니라 주변에서 반사된 여러 빛들이 동시에 들어옴. Fog texture의전체를 사용하는 것도 아니고 일부를 sky dome의 UV space 에서 비교해서 찾아 사용. 그 부분이 mipmap level에따라 뭉게지면서 컬러(빛)들이 혼합되게 된다. 즉, 멀리 있을 수록 이 컬러(빛)들의 구분이 명확하지만(mipmap level이 낮음) 카메라와 가까울 수록 주변의 컬러(빛)과 혼합된 형태로 보여지게 된다. (mipmap level이 높음) 이런 이유로 mip fog 개념을 게임에 적용하면 빛의 축적, 산란계수 등을 근사치로 적용한 효과도 부가적으로 얻게 된다. (Fog는 카메라의 depth 값에 따라 밀도(중첩정도)가 달라지기 때문)
  46. 46. Uncharted4에서 대기를 만들기 위해 사용한 여러 기술들
  47. 47. Mip fog만 해도 이해하는데…. 미치겠는데… 또.. 있다고…
  48. 48. 아직 시그라프 발표 4개나 더 남음. (단지 2개 분석했음) GDC 발표 남았음. 캐릭터 제작에 대한 이슈 남아있음. Substance 이슈 남아있음. 그 외 이슈들 몇 개 더 있음…

    Be the first to comment

    Login to see the comments

  • hangama

    Sep. 10, 2016
  • HarleyKim3

    Sep. 10, 2016
  • sangjoondpark

    Sep. 11, 2016
  • rationalcat

    Sep. 11, 2016
  • freefish

    Sep. 11, 2016
  • omaruriel

    Sep. 11, 2016
  • hyuksupark

    Dec. 4, 2016
  • ssuser5f4b7f

    Apr. 20, 2017
  • YouSungKim4

    Jan. 30, 2018

언챠4 분석 part1 수정본.

Views

Total views

1,874

On Slideshare

0

From embeds

0

Number of embeds

22

Actions

Downloads

28

Shares

0

Comments

0

Likes

9

×