[UE4][LIGHT] 현실에 가장 가깝고, 예쁜 Caustics
개요
1. 목적
2. Caustics 란?
3. Caustics를 볼 수 있는 경우 // 디지털 Lighting & 렌더링에서 발췌
4. 기존 게임에서 Caustics의 문제점
5. 기존 Caustics 구현 방법과 문제점
6. 개선된 방법으로 UE4 구현 과정
7. 결과물
8. Light Function으로 구현한 이유 및 조율 내용
9. 구현 추가 내용
10. Node
목적
- Caustics에 관한 연구.
- UE4에서 현실에 가장 가까운 Caustics 구현.
Caustics 란?
- 빛이 물체에 반사(혹은 굴절) 되어서 나오는 반사(굴절) 광이 다른 물체에 맺히는 현상.
- 가장 흔하게 볼 수 있는 곳이, 수영장 물의 표면에 반사되는 빛.
Caustics를 볼 수 있는 경우 // 디지털 Lighting & 렌더링에서 발췌
- 돋보기나 렌즈 또는 프리즘을 통해 굴절되는 빛은 커스틱스 효과. 종종 테이블 위의 유리컵과 병 옆에 맺히는 굴절된 커스틱스를 볼 수 있음.
- 디스코 볼에 반사되어 나오는 작은 반짝임처럼 거울에 반사되는 빛줄기
- 맑은 날 자동차의 크롬 범퍼나 건물의 창문은 땅 위에 커스틱 패턴을 만들어 낸다. 빛나거나 강하게 반사시키는 표면에 더 밝은 빛을 비추면 커스틱 효과를 만듦.
- 자동차의 헤드라이트나 플래시 라이트같이 고정된 반사판에서 생겨나는 스로 패턴은 반사되는 빛이 커스틱 모양으로 산란됨.
- 가장 흔한게 물 표면
기존 게임에서 Caustics의 문제점
- 원하는 영역에만 사용하지 못한다.
- 부분별로 밝기를 조절하지 못한다.
- Texture에 균일하게 적용하기 때문에 어색하다.
- 무거워질 수 있다.
- 위의 문제들로 인하여 빼버린다.
기존 Caustics 구현 방법과 문제점
- Material에 Caustics 패턴의 Texture를 Mixing 하여 출력.
> Material의 개수 증가.
> 원하는 부분을 만들어 내기 위해서 Texture Sample의 수가 증가 or Mesh의 추가 제작, 편집 필요.
> 고생한 만큼 결과물이 좋지 않음.
> 시간과 자원 낭비.
개선된 방법으로 UE4 구현 과정
1. 아이디어 발상
- Caustics는 빛의 효과라는 것에서 출발.
- Caustics의 조건으로 형태의 움직임등을 고려해야 함.
- 원하는 영역에 잘 적용 해야 함.
2-1. 위의 선행 조건이 Light와 잘 맞음을 인식. Light Gobo를 역으로 이용하면 될 것 같음.
2-2. Gobo의 경우 빛을 차폐해서 모양을 냄.
3. UE4에서 Gobo의 반대로 빛을 추가하는 개념(Caustics는 가장 밝은 곳에 빛을 더 해서 더 밝아질 수 있는 성질)으로 Light Function으로 구현 하기로 함.
4. 구현 후 Test.
결과물
Light Function으로 구현한 이유 및 조율 내용
- 어두운 곳에 더 밝게 Caustics 효과가 나옴.
- Light source에서 빛이 나와, 수면에 반사가 일어나 동굴에 적용된 거니, Light source 근처에는 표현하지 않음.
- 값이 쌈.
- 개발자가 쉽게 조절할 수 있음.
구현 추가 내용
- Light Function을 구현할 때, Sampler의 수를 줄이기 위해, 형태를 구성하는 Caustices Texture 한 장과 그것을 다시 2개의 UV로 나눠서 믹싱 함.
- 패턴의 흐름이 단순 해지면 User의 눈에 보이기 쉬어, Normal 맵을 섞어 흐름을 만듬.
Node
'Unreal > Rendering&Shader' 카테고리의 다른 글
[UE5][Material] Rain Striked the lens - 2/2 (0) | 2024.01.09 |
---|---|
[Post-Processing] Blur (0) | 2023.12.06 |
[Post-Processing] Pixelized (0) | 2023.08.09 |
[LIGHT] Emissive Light Test (0) | 2022.01.12 |
[RENDER][UE] 살아 있는 눈(EYE) 제작 (0) | 2021.11.01 |