현실적인 얼음을 렌더링하는 방법?


45

유니티에서 빙적 쉐이더를 작성하려고 노력하고 있습니다.

다음 샷 ( Google에 있음 )이 CG 인 경우 셰이더에는 무엇이 포함됩니까? (전경 동굴). 틀릴 수도 있지만 기본 확산과 다른 조명 모델을 가지고있는 것처럼 보입니다.

여기에 이미지 설명을 입력하십시오


다음은 HLSL 및 C ++를 사용하는 DirectX 11에 대한 자습서입니다. 아마도 당신은 원리를 모을 수 있습니다. 또한 이미지가 CG 인 곳은 어디입니까? 실제로보고됩니다.
MichaelHouse

나는 그렇게 말하지 않았다. 나는 "만약"이라고 말했다. 그리고 감사합니다! 나는 그것을 확인할 것이다
Daniel Pendergast

9
이 현상을 지하 표면 산란이라고합니다. 빛이 재료의 표면을 투과하여 재료 자체의 매체를 통해 산란되기 때문입니다. 예를 들어, 백라이트를 사용할 때 사람의 귀가 빨갛게 보입니다. 다음은 얼음 효과를 재현하려는 누군가의 시도를 설명 하는 블로그 게시물 입니다.

아 죄송합니다. "if"가 빠졌습니다.
MichaelHouse

@ Byte56, 문제 없음
Daniel Pendergast

답변:


53

얼음은 반투명하므로 사실적인 결과를 얻기 위해 셰이더에서 가장 중요하게 시뮬레이션해야 할 것은 표면 아래 산란 또는 SSS라고 생각합니다. SSS는 기본적으로 빛의 광선이 반투명 물체의 표면을 투과하고 그 아래에 흩어져 어떻게 다른 위치를 빠져 나가기 전에 불규칙한 방식으로 여러 번 반사되는지를 설명합니다.

다음은 그 효과를 멋지게 보여주는 그림입니다.

여기에 이미지 설명을 입력하십시오

아마 당신은 또한 어떤 종류의와 결합 할 수 있습니다 귀하의 문제의 사진에서 우리는 또한 그 얼음은 매우 사려 볼 수있는 환경 매핑 반사에 대한, 또한 말투 반사도 하이라이트를 강화하기 위해.

약간의 굴절 추가, 약간의 노이즈 텍스처를 오버레이 하여 약간의 변형을 추가하거나 심지어 매우 작고 미묘한 디테일을위한 일종의 범프 매핑 또는 변위 매핑 과 같은 다른 작업을 시도 할 수도 있습니다 .

자원

답변을 쓰는 ​​동안 찾은 다른 리소스 :


앰비언트 오 클루 전 ( en.wikipedia.org/wiki/Ambient_occlusion )을 조사하여 크래그의 어두움을 시뮬레이트하여 일반적으로 그림자 만 사용하는 것이 매우 어렵습니다.
Koarl

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.