기본적으로 언리얼 엔진은 리프랙션 인덱스(Index of Refraction) 값에서 파생된 물리 기반 리프랙션 모델을 사용합니다. 물리적 리프랙션 인덱스 모델은 라이트 레이가 매체 사이에서 이동할 때 굴절되는 방식을 모방합니다. 이는 유리병 같은 작은 오브젝트, 거울 및 기타 곡면에 효과적입니다. 하지만 크고 평평한 표면에서 사용될 때에는 씬 컬러를 화면 밖에서 판독하므로 예측할 수 없는 결과와 아티팩트를 만듭니다.
픽셀 노멀 오프셋(Pixel Normal Offset) 은 머티리얼 에디터에서 사용할 수 있는 또 다른 리프랙션 모드입니다. 버텍스 노멀을 기준으로 삼은 뒤 버텍스 노멀에서부터 픽셀별 노멀이 얼마나 차이나는지 계산하여 리프랙션 오프셋을 계산합니다. 물처럼 화면 밖에서 데이터를 판독하는 상수 오프셋을 원하지 않는 크고 평평한 표면에서 유용합니다.
물리 vs. 비물리 리프랙션 모델
디테일 패널에서 머티리얼의 리프랙션 모드(Refraction Mode) 를 변경할 수 있습니다. 아래로 스크롤하고 리프랙션(Refraction) 섹션을 확장한 다음, 리프랙션 모드(Refraction Mode) 드롭다운에 있는 두 가지 옵션 중에서 선택합니다. 모든 머티리얼은 기본적으로 리프랙션 인덱스 를 사용합니다.
리프랙션의 물리 모델, 그리고 머티리얼에서 이를 사용하는 방법에 대한 자세한 내용은 리프랙션 사용을 참조하세요.
![]() |
![]() |
---|---|
물리 리프랙션 모델: 리프랙션 인덱스 | 비물리 리프랙션 모델: 픽셀 노멀 오프셋 |
아래의 비교에서는 리프랙션 모드가 리프랙션 인덱스 에서 픽셀 노멀 오프셋 으로 변경될 때 머티리얼에서 노멀을 어떻게 판독하는지에 대한 차이를 보여줍니다.


화면 밖에서 판독하는 경우가 많지 않은 픽셀 노멀 오프셋 모드에 비해, 리프랙션 인덱스 모드를 사용했을 때는 보시는 바와 같이 이미지에 시프트 현상이 나타나는 것을 확인할 수 있습니다. 리프랙션 인덱스 모드는 머티리얼에 노멀 맵 연결 없이 작동하는 반면, 픽셀 노멀 오프셋 은 노멀 맵이 없으면 굴절되지 않습니다.


머티리얼에 노멀 맵을 추가했을 때 리프랙션 입력에 1 이상의 값을 연결했다면, 노멀은 픽셀 노멀 오프셋 을 사용할 때 표면을 따라 이동합니다. 하지만 리프랙션 인덱스 모드의 경우 여전히 화면 밖에서 판독하는 오프셋이 있으므로 이처럼 리프랙션을 사용하는 평면에는 바람직하지 않습니다.
최종 결과
이 예시에서는 픽셀 노멀 오프셋 을 사용 중일 때, 굴절이 전혀 없는 1.0부터 이미지 이동 없이 표면상에 약간의 굴절이 생기는 2.0까지 값을 조정한 결과를 확인할 수 있습니다.
픽셀 노멀 오프셋과 유리
픽셀 노멀 오프셋은 아래에 있는 카페 씬의 창문처럼 크고 평평한 유리 표면에 사용하기에 좋습니다. 슬라이더의 첫 번째 이미지는 기본 리프랙션 인덱스 세팅을 사용합니다. 창문 굴절은 무차별적이고 오른쪽 하단에 아티팩트가 포함되어 있습니다. 리프랙션 모드가 픽셀 노멀 오프셋 으로 변경되면 창문은 더욱 사실적으로 보이고 아티팩트가 사라집니다.


슬라이더를 이동하여 리프랙션 모드가 리프랙션 인덱스(이미지 1)에서 픽셀 노멀 오프셋(이미지 2)으로 변경될 때 유리가 어떻게 변하는지 확인합니다.
픽셀 노멀 오프셋 모드에서 이 예시의 굴절은 크게 달라지는데 이 유리의 노멀 맵에 미세한 마모와 사소한 표면 결함만 포함되기 때문입니다. 이는 깨끗한 건축용 유리에서 예상되는 결과입니다.
하지만 텍스처 또는 패턴 처리된 유리 이펙트를 원하는 경우 더 전형적인 노멀 맵을 사용하고 리프랙션(Refraction) 값을 약 1.52 로 올릴 수 있습니다.
이 방식으로 노멀 맵이 유리 창의 굴절에 영향을 미칩니다.