菲涅爾效果

2021-08-18 18:46:37 字數 1302 閱讀 5870

遊戲中為了體現人物處於某種特殊狀態(如狂怒,矍鑠等),可以在模型的表面在一些頂點出增加自己設定的顏色,如下圖所示

菲涅爾效果的意義是:當光從一種具有折射率為的介質向另一種具有折射率為的介質傳播時,在兩者的交界處(通常稱作介面)可能會同時發生光的反射和折射。菲涅爾方程描述了不同光波分量被折射和反射的情況。

shader如下:

shader "custom/shipshader" 

_maincolor("main color", color)=(1,1,1,1)

_flowspeedx("streamlightx", range(0, 20))=0

_flowspeedy("streamlighty",range(0, 20)) = 0

_flowmap("stream map", 2d)="white"{}

_flowpower("flow power ", range(0.1, 10))=2

_refcubemap("reflect map", cube)=""{}

_refamount("reflect amount", float)=1

_rimpower("rim power ", range(0.1, 10))=2

_rimcolor("rim color", color)=(1,1,1,1)

}subshader

cgprogram

#pragma vertex vert

#pragma fragment frag

//#include "lighting.cginc"

#include "unitycg.cginc"

sampler2d _maintex;

float4 _maintex_st;

float4 _maincolor;

half _flowspeedx;

half _flowspeedy;

half _flowpower;

sampler2d _flowmap;

samplercube _refcubemap;

half _refamount;

half _rimpower;

float4 _rimcolor;

;struct v2f

;float4 frag(v2f v):color

endcg}}

//fallback "diffuse"

}

關於菲涅爾現象

站在湖邊,為什麼看遠處的水面反光較強,而近處的水面反光較弱 可以直接看到水底 今天看了維基的反射方程後,明白了些 其中的rs或rp是兩種偏振下的反射率,反射率越大,進入眼睛的光越強。那麼分析下rs,可以這樣認為 入射角與折射角的差值變化不大,c 入射角a 反射角b,c隨著入射角增大而增大,在入射角大...

了解菲涅爾反射

翻譯自understanding the fresnel effect dorian iten dorian iten.com 純粹學習記錄 當我繪製反光表面時,新增菲涅耳 是我的首選解決方案。這是乙個小小的調整,有很大的影響。看看下圖,注意桌面的亮度是如何變化的。要理解菲涅耳效應,你必須了解反射的...

Shader基本光照模型 菲涅爾模型

shader lijia fresneltest fresnelbase fresnelbase range 0 1 1 fresnelscale fresnelscale range 0 1 1 fresnelindensity fresnelindensity range 0 5 5 fresn...