Skip to content

수면의 표현(4)~수면의 라이팅(2)

[칼럼 핵심 요약]
수면에 비추는 주위의 정경의 환경 맵은, 동적으로 생성하고 싶은 경우는, 시점 위치를 수면에 대해 반전시킨 가상 시점으로부터 정경을 텍스처에 그리면 된다. 그리고 수저의 모습은 보통 시점에서 수면 아래의 경치를 그리면 된다.

🌐 원문 링크: 水面の表現(4)~水面のライティング(2) (Mynavi News)
📅 원문 발행일: 2009-03-25 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)

NOTE

💡 현대 그래픽스 관점에서의 발전사 (Modern Retrospective)

  • 본 칼럼에서 다루는 핵심 렌더링 기법은 현대 실시간 렌더링 엔진(DirectX 12, Vulkan, Unreal Engine, Unity)의 기초 이론을 구성하고 있으며, 최신 하드웨어 가속 기법 및 컴퓨트 셰이더와 결합하여 고도화되었습니다.

📖 본문 해설

[원문 리드문] > 수면에 비추는 주위의 정경의 환경 맵은, 동적으로 생성하고 싶은 경우는, 시점 위치를 수면에 대해 반전시킨 가상 시점으로부터 정경을 텍스처에 그리면 된다. 그리고 수저의 모습은 보통 시점에서 수면 아래의 경치를 그리면 된다.

반사와 굴절

수면에 비추는 주위의 정경의 환경 맵은, 동적으로 생성하고 싶은 경우는, 시점 위치를 수면에 대해 반전시킨 가상 시점으로부터 정경을 텍스처에 그리면 된다.

그리고 수저의 모습은 보통 시점에서 수면 아래의 경치를 그리면 된다.

수면에 비치는 정경의 렌더링은 시선을 수면에 대해 반전시킨 위치에서 상하 역전시킨 가상 시점에서 그린다수면에 비치는 정경의 렌더링은 시선을 수면에 대해 반전시킨 위치에서 상하 역전시킨 가상 시점에서 그린다

수면의 렌더링시에는, 잔물결의 미세 요철을 표현한 노멀 맵으로부터 취한 노멀 벡터를 배려하여, 픽셀 단위의 반사 벡터를 구하고, 이에 따라 환경 맵을 샘플링한다.

전술 한 프레 넬 반사의 방정식을 계산하고 그 결과에 따라 환경 맵으로부터 샘플링 된 텍셀과 렌더링 된 수저의 상태의 블렌딩 상태를 조정한다.

수저의 모습을 수면에서 시선이 굴절하는(=수저의 모습이 굴절되어 눈에 닿는) 모습을 시뮬레이션하면 더욱 리얼리티도가 증가한다.

아래 그림은 반사 벡터와 굴절 벡터를 도식화한 것이다. 굴절 변수 r은 0~1의 범위에서 적당히 주면 된다.

수면에 반사하는 정경뿐만 아니라, 이 굴절 벡터도 노멀 맵으로부터 꺼낸 노멀 벡터로 픽셀 단위로 계산하여 함으로써, 굴절된 수저의 모습도 잔물결로 왜곡하게 된다.

반사와 굴절 벡터반사와 굴절 벡터

물 색

수면의 라이팅에 필요한 요소에, 또 하나, 「물의 색」이 있다.

그래, 물 그 자체의 색이다.

물이 진흙으로 희미해지거나 주스와 같은 특정 채색을 수반하는 "물"도 있다. 그런 요소에 대한 배려다.

구체적으로는 반사나 굴절로 얻은 텍셀에 일정한 색 변조를 행하는 간이적인 방법도 있지만, 프레넬 반사의 요령으로, 시선 각도가 수면에 대하여 수직일수록 투명도가 높고, 시선 각도가 수면에 대해 가릴수록 물의 색이 지배적이 된다는 밸런스 제어를 행한다는 수법도 있다.

또, 물은 수심이 깊을수록 불투명도가 증가하여 물의 색이 진하게 보이기 때문에, 수면 부근이 가장 물의 색이 얇고 투명도가 높아지도록 하고, 수심이 깊은 개소일수록 물의 색이 진해지도록 제어하는 ​​방법도 자주 이용된다.

물의 불투명도의 연출에 즈음해, 「3DMark06」(Futuremark, 2006)에서는, 수면 아래에 아래 방향으로 가면 갈수록 진해지는 안개(높이 안개, Y포그등이라고 불린다)를 발생시켜, 수심이 매우 깊은 느낌을 표현하고 있었다. (계속)

"3DMark06"(Futuremark, 2006)에서. 수면으로부터 수저 방향으로 안개를 발생시키는 것으로, 수심이 깊은 정경이 희미해 보이게 되어 수심이 깊은 느낌을 표현할 수 있다. 호수와 큰 바다와 같은 수면 표현에 효과적일 수 있습니다."3DMark06"(Futuremark, 2006)에서. 수면으로부터 수저 방향으로 안개를 발생시키는 것으로, 수심이 깊은 정경이 희미해 보이게 되어 수심이 깊은 느낌을 표현할 수 있다. 호수와 큰 바다와 같은 수면 표현에 효과적일 수 있습니다.

(트라이Z 니시카와 젠지)


🔗 연관 지식 베이스 (Wiki)

Based on Zenji Nishikawa's 3D Graphics Maniax series. Translated & Knowledge-Based for Korean Game Developers.