Unreal Engine : 프레넬과 선형보간법
Fresnel
프레넬 계수
빛이 어떤 매질에서 다른 매질로 향할 때 모두 반사되거나 모두 투영되지 않고
빛의 일부는 반사되고 일부는 투영된다.
굴절률과 입사각이 주어질때 프레넬 방정식을 이용하면 입사하는 빛에 대한 반사율을
알려준다.
수학은 아니겠지...
엔진에서 시뮬레이션 해보겠습니다.
가운데는0, 외곽은 1이기 때문에
셰이더의 블랜드 모드는 Translucent
라이팅모드는 Surface TranslucencyVolume
프레넬 노드는 오파시티에 연결해 줍니다.
짜잔 외곽만 남았습니다.
왜? 빛의 굴절은 입사각에 따라 각도가 달라집니다.
입사각과 상관없이 굴절률이 일정하게 들어갑니다.
그럼 입사각에 따라 굴절률을 다르게 표현하려면 어찌해야할까요 ?
Fresnel와 Linearinterpolate 이 필요합니다.
프레넬과 선형보간이 필요합니다.
선형 보간이란?
선형 보간법은 1차원 직선상에서 두 점의 값이 주어졌을 때
그 사이의 값을 추정하기 위해 직선 거리에 따라 선형적으로 계산(비례식)하는 방법이다.
Y좌표를 알아 낼 수 있다.
C의 X가5일때 Y는?
2 --- 5 --- 7
5는 2와 7 사이의 60%
1과 4 사이의 60%는? 2.8 (1 + 3x0.6)
아무튼 적용해 봅시다.
프레넬에서 적용된 0~1의 값은
1~1.33으로 치환되어 굴절에 입력됩니다.
꽤 근사합니다.
프레넬과 선형 보간은 계속해서 나올테니 잘 이해해 두시면 좋습니다.
댓글
댓글 쓰기