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.
언리얼 엔진 4용 커스텀 천
재질
김동석
2016-04-11
■ 두 가지 천 재질
⚬ 비 금속성: 면, 데님, 아마나 일반 천
⚬ 금속성: 비단, 새틴, 벨뱃, 나일론이나 폴리에스테르
■ The Order approach
■ 언리얼 매테리얼 에디터의 한계
■ My approach...
두 가지 천 재질: 비 금속성
■ 면, 데님, 아마나 일반 천 재질
⚬ 각 섬유에 작은 털들이 있음
⬝ 물에 젖지 않는 한, 이런 천 재질들의 Roughness 값은 1.0
⬝ 빛을 랜덤한 방향으로 반사
⬝ 이런 성질은...
두 가지 천 재질: 금속성 (1)
■ 실크, 새틴, 벨뱃, 나일론이나 폴리에스테르
⚬ 실크는 둥근 삼각형 모양의 단면과 매끈한 표면을 가짐
⬝ 이런 섬유 구조는 금속의 반사 성질과 유사
⬝ 매끈한 표면: 빛을 금속처럼 ...
두 가지 천 재질: 금속성 (2)
■ 실크와 사틴의 특징
⚬ 면이나 일반 천과 달리, 잔털들이 훨씬 적음
⬝ 치밀한 구조를 갖기 때문에 금속과 비슷
한 Specular 성질을 보임
⚬ 다양한 Specular 색을 가질 ...
두 가지 천 재질: 금속 (3)
■ 벨뱃의 특징
⚬ 작은 섬유들이 표면에 수직으로 세워져 있음
⬝ Roughness 값은 무조건 1.0
⬝ 빛이 뒤쪽에 있다면, 이 섬유들이 Back scattering을 일으켜
Rim ...
The Order approach1
■ Custom microfiber model
⚬ Fresnel Term에 Ashikhmin’s Distribution BRDF 사용
⚬ Specular term에 Inverse Ga...
목표
■ 모든 천 재질을 아우를 수 있는 Shading model
⚬ 면부터 벨벳 재질까지
⚬ 아티스트가 사용하기 쉬울 것
■ 기술적 관점에서의 목표
⚬ Oren-nayar diffusion
⚬ 천 재질용 Specula...
언리얼 매테리얼 에디터의 한계
■ Custom shading 모델을 적용하기 어려움
⚬ Diffuse shading: Lambert
⚬ Specualr Term을 바꿀 방법이 없음
■ Base Color 슬롯이 Cust...
My approach - Diffuse term (1)
■ Oren-nayar diffuse shading
⚬ Pope Kim’s approximation 기반
⚬ 실제 Oren-nayar shading과 수학적으로 일...
My approach - Diffuse term (2)
■ (n∙l)을 1.0으로 교체
■ 최종 결과는 Base Color에 Multiply 됨
■ 만약 표면에 매끈하다면(Roughness = 0.0), 언리얼의 기본 ...
My approach - Specular (1)
(Fresnel Term × Specular) + Fiber Scatter
■ Fresnel Term
⚬ Rim light 효과
■ Specular Term
⚬ Custo...
My approach - Specular (2)
■ Fresnel term
⚬ Schlick Fresnel approximation1
기반
⬝
⚬ Rim lighting 효과를 강조하기 위해1 - cosθd
의 5제곱을...
My approach - Specular (3)
■ Specular Term
⚬ The Order’s approach 기반
⬝ iverse gausian specular
⚬ Roughness 값의 영향을 받진 않으나 훨...
My approach - Specular (3)
■ Roughness value
⚬ GGX: 0.65
⚬ The Order: 1.0
⚬ My approach: 1.0
15
My approach - Fiber Scatter Term (1)
■ Fiber Scatter Term
⚬ Wrap lighting for front scattering
⬝ 시점과 수직 되는 면의 약한 투과 효과를 표현...
My approach - Fiber Scatter Term (2)
■ Wrap lighting
17
My approach - Fiber Scatter Term (3)
■ Linear interpolation between two types of fresnel
18
My approach - Final
19
Result - Fabric scatter amount compare
■ 어떤 부분이 Fabric scatter color를 사용 할지 조절
⚬ 값이 0이면, rim light 부분에 fabric scatter colo...
Result - Fabric examples (1)
21
Cotton
Velvet
Result - Fabric examples (2)
■ 사용상의 Tip
⚬ Metalic 값은 실크가 섞인 비율로 설정
⚬ 금속성 천들만 1.0보다 작은 Roughness 값을 가질 수 있음
⚬ 실크 표면의 문양을 묘사...
Recomend values for fabrics
23
Fabric Types Metalic Roughness Fabric Scatter amount
Cotton or ordinary
fabrics
0 1 0.5
Vel...
Bibliography
■ Page 3
⚬ image 1: http://www.apparelsearch.com/fibers.htm
⚬ image 2: http://www.trimfabric.com/nv-97.html
■...
Bibliography
■ Page 7
⚬ citation 1: Neubelt, David, Matt Pettineo, and Ready At Dawn Studios. "Crafting a Next-Gen
Materia...
Upcoming SlideShare
Loading in …5
×

언리얼 엔진 4용 커스텀 천 재질

2,883 views

Published on

어떻게 리얼한 천 재질을 만들 수 있을까?
이 슬라이드를 통해 물리적으로 정확하며 리얼한 천 재질을 만드는 법을 알 수 있습니다.

Published in: Software

언리얼 엔진 4용 커스텀 천 재질

  1. 1. 언리얼 엔진 4용 커스텀 천 재질 김동석 2016-04-11
  2. 2. ■ 두 가지 천 재질 ⚬ 비 금속성: 면, 데님, 아마나 일반 천 ⚬ 금속성: 비단, 새틴, 벨뱃, 나일론이나 폴리에스테르 ■ The Order approach ■ 언리얼 매테리얼 에디터의 한계 ■ My approach ⚬ Oren-nayar diffuse shading ⚬ Specular Term ⚬ Fiber Scatter Term ■ 결과 목차 2
  3. 3. 두 가지 천 재질: 비 금속성 ■ 면, 데님, 아마나 일반 천 재질 ⚬ 각 섬유에 작은 털들이 있음 ⬝ 물에 젖지 않는 한, 이런 천 재질들의 Roughness 값은 1.0 ⬝ 빛을 랜덤한 방향으로 반사 ⬝ 이런 성질은 Front Scattering과 Back Scattering 효과를 만듬 섬유의 잔털 때문에 생기는 림 라이트 효과 ⚬ Specular는 보는 면에 넓게 생김 ⬝ Specular의 색은 흰색이나, Front Scattering 때문에 약간 낮은 채도의 Base Color처럼 보임 3
  4. 4. 두 가지 천 재질: 금속성 (1) ■ 실크, 새틴, 벨뱃, 나일론이나 폴리에스테르 ⚬ 실크는 둥근 삼각형 모양의 단면과 매끈한 표면을 가짐 ⬝ 이런 섬유 구조는 금속의 반사 성질과 유사 ⬝ 매끈한 표면: 빛을 금속처럼 완벽하게 반사 ⬝ 삼각형 모양의 단면: 특정 파동의 빛을 반사 ⚬ 실크는 0.3 - 0.7의 Rouness값을 가질 수 있음 ⬝ 각 섬유의 굵기는 5 - 10 μm ⬝ 이 굵기는 금속같이 매끈한 표면을 만들기에 충분히 가는 수치 4
  5. 5. 두 가지 천 재질: 금속성 (2) ■ 실크와 사틴의 특징 ⚬ 면이나 일반 천과 달리, 잔털들이 훨씬 적음 ⬝ 치밀한 구조를 갖기 때문에 금속과 비슷 한 Specular 성질을 보임 ⚬ 다양한 Specular 색을 가질 수 있음 ⬝ 다른 색의 섬유로 직조된 경우 ⬝ Specular Color는 보는 각도에 따라 다르 게 보일 수 있음 ⚬ Anistropic specular 모양을 가짐 5
  6. 6. 두 가지 천 재질: 금속 (3) ■ 벨뱃의 특징 ⚬ 작은 섬유들이 표면에 수직으로 세워져 있음 ⬝ Roughness 값은 무조건 1.0 ⬝ 빛이 뒤쪽에 있다면, 이 섬유들이 Back scattering을 일으켜 Rim Light 효과를 일으킴 ⚬ 표면 반사가 금속과 비슷 함 ⬝ 표면 색이 원래 섬유색보다 어둡게 보임 6
  7. 7. The Order approach1 ■ Custom microfiber model ⚬ Fresnel Term에 Ashikhmin’s Distribution BRDF 사용 ⚬ Specular term에 Inverse Gausian 사용 ⚬ Rim Light 효과를 높이기 위해 Geometry term은 사용하지 않음 ⚬ GGX Distribution보다 부드러운 specular ■ 향후 과제 ⚬ Ambient specular ⚬ fresnel term을 빛의 방향과 일치시키는 것 7
  8. 8. 목표 ■ 모든 천 재질을 아우를 수 있는 Shading model ⚬ 면부터 벨벳 재질까지 ⚬ 아티스트가 사용하기 쉬울 것 ■ 기술적 관점에서의 목표 ⚬ Oren-nayar diffusion ⚬ 천 재질용 Specular term ⚬ 2 colors specular ⚬ 빛의 방향으로 향하는 Fresnel term 8
  9. 9. 언리얼 매테리얼 에디터의 한계 ■ Custom shading 모델을 적용하기 어려움 ⚬ Diffuse shading: Lambert ⚬ Specualr Term을 바꿀 방법이 없음 ■ Base Color 슬롯이 Custom shading 모델을 적용할 만한 부분이지만, ⚬ 값이 0.0 - 1.0으로 Clamping 됨 ⚬ 이건 Specular로 사용하기에는 범위가 너무 좁음 다행이, 천 재질은 Specular가 강하지 않아도 되므로, Base Color 슬롯에 전부 구현 하면 됨! 9
  10. 10. My approach - Diffuse term (1) ■ Oren-nayar diffuse shading ⚬ Pope Kim’s approximation 기반 ⚬ 실제 Oren-nayar shading과 수학적으로 일치하지 않으나, 효과가 뛰어나며, 싼, 다른 곳에 적 용하기 쉬운 모델 ■ 원래 코드에서 (n∙l) 부분을 제거 10 1
  11. 11. My approach - Diffuse term (2) ■ (n∙l)을 1.0으로 교체 ■ 최종 결과는 Base Color에 Multiply 됨 ■ 만약 표면에 매끈하다면(Roughness = 0.0), 언리얼의 기본 Diffuse shading인 Lambert diffusion을 사용 11
  12. 12. My approach - Specular (1) (Fresnel Term × Specular) + Fiber Scatter ■ Fresnel Term ⚬ Rim light 효과 ■ Specular Term ⚬ Customized inverse gausian specular ⚬ Back scattering을 표현하기 위해 ⚬ Secondary specular lobe ■ Fiber Scatter Term ⚬ Front scattering을 표현 ⚬ Primary specular lobe 12
  13. 13. My approach - Specular (2) ■ Fresnel term ⚬ Schlick Fresnel approximation1 기반 ⬝ ⚬ Rim lighting 효과를 강조하기 위해1 - cosθd 의 5제곱을 4제곱으로 변경 13
  14. 14. My approach - Specular (3) ■ Specular Term ⚬ The Order’s approach 기반 ⬝ iverse gausian specular ⚬ Roughness 값의 영향을 받진 않으나 훨씬 간단하고 싼 방식 ⬝ Roughness 값이 1.0일때 The Order’s approach와 비슷한 결과를 보임 ⬝ 모든 비 금속성 천들의 Roughness 값이 1.0 이라고 전제 만약 천 재질의 Roughness값이 1.0보다 작다면, 언리얼 기본 Specular 사용 Primary specular는 Fiber scatter term에 구현 ⚬ Fresnel term을 마스킹 해 주어, 빛의 방향으로 향하는 Specular 구현 14
  15. 15. My approach - Specular (3) ■ Roughness value ⚬ GGX: 0.65 ⚬ The Order: 1.0 ⚬ My approach: 1.0 15
  16. 16. My approach - Fiber Scatter Term (1) ■ Fiber Scatter Term ⚬ Wrap lighting for front scattering ⬝ 시점과 수직 되는 면의 약한 투과 효과를 표현 ⬝ 실크나 새틴같은 재질의 Secondary specualr color로 사용 ⚬ 두 가지 Fresnel을 Linear interpolate로 블랜딩 ⬝ 처음것이 기본 (n∙v) fresnel ⬝ 두번째 것이 처음것보다 좀더 좁은 fresnel ⬝ 이 두 값을 Fibric scatter amount 값으로 섞는 양을 조절 털 많은 면 재질부터 벨뱃 재질까지 표현 가능 ⬝ Fabric scattering color가 이 값에 multiply 됨 16
  17. 17. My approach - Fiber Scatter Term (2) ■ Wrap lighting 17
  18. 18. My approach - Fiber Scatter Term (3) ■ Linear interpolation between two types of fresnel 18
  19. 19. My approach - Final 19
  20. 20. Result - Fabric scatter amount compare ■ 어떤 부분이 Fabric scatter color를 사용 할지 조절 ⚬ 값이 0이면, rim light 부분에 fabric scatter color 사용 ⚬ 값이 커질수록, fabric scatter color가 표시되는 영역이 넓어짐 ⚬ 값이 1.0이면, 대부분의 표면이 fabric scatter color가 표시되며 rim light 부분이 base color가 표시됨 20
  21. 21. Result - Fabric examples (1) 21 Cotton Velvet
  22. 22. Result - Fabric examples (2) ■ 사용상의 Tip ⚬ Metalic 값은 실크가 섞인 비율로 설정 ⚬ 금속성 천들만 1.0보다 작은 Roughness 값을 가질 수 있음 ⚬ 실크 표면의 문양을 묘사 하는 것에 노멀맵을 사용하지 말것 ⬝ 문양 부분과 일반 표면 부분의 Roughness 값을 달리 하여 표현하는 것을 추천 22 Satin
  23. 23. Recomend values for fabrics 23 Fabric Types Metalic Roughness Fabric Scatter amount Cotton or ordinary fabrics 0 1 0.5 Velvat 1 1 0 Silk, Satin 0.8 - 0.9 0.35 - 0.7 1
  24. 24. Bibliography ■ Page 3 ⚬ image 1: http://www.apparelsearch.com/fibers.htm ⚬ image 2: http://www.trimfabric.com/nv-97.html ■ Page 4 ⚬ image 1: https://www.asahi-kasei.co.jp/fibers/en/cupro/what/function1.html ⚬ image 2: https://quizlet.com/92490419/intro-2-textiles-test-1-flash-cards/ ⚬ image 3: https://quizlet.com/92490419/intro-2-textiles-test-1-flash-cards/ ■ Page 5 ⚬ image 2: https://wallpaperscraft.com/download/silk_material_soft_light_50576/3840x2160 ■ Page 6 ⚬ image 1: http://www.bloomsburgcarpet.com/resources/weave-structures ⚬ image 2: http://www.textilestock.in/productdetail/47/Fabrics-HomeFurnishingFabrics-Velvet-Velvet-Stock.html 24
  25. 25. Bibliography ■ Page 7 ⚬ citation 1: Neubelt, David, Matt Pettineo, and Ready At Dawn Studios. "Crafting a Next-Gen Material Pipeline for The Order: 1886." part of “Physically Based Shading in Theory and Practice,” SIGGRAPH (2013). ■ Page 10 ⚬ citation 1: http://www.slideshare.net/blindrenderer/rendering-tech-of-space-marinekgc-2011 ■ Page 13 ⚬ citation 1: Schlick, Christophe. “An inexpensive BRDF Model for Physically-based Rendering.” Computer graphics forum 1 Aug. 1994: 233-246 25

×