五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

22.Shader-CubeMap環(huán)境映射

2023-06-17 21:09 作者:機(jī)智的小草yns  | 我要投稿

目錄

1.生成Cubemap

2.環(huán)境映射

??? 2.1反射

??? 2.2折射

??? 2.3菲涅爾反射


1.生成Cubemap

官方的文檔中的生成CubeMap代碼, Copy就行

https://docs.unity3d.com/cn/2023.1/ScriptReference/Camera.RenderToCubemap.html

生成步驟:

1.在Assets目錄中, 右鍵 Create/Legacy/Cubemap ?

到一張空白CubeMap

2.打開菜單欄GameObject/Render into Cubemap

拖拽填上拍攝位置和CubeMap, 渲染,即可生成

這個(gè)CubeMap在后面的步驟會用到

2.1CubeMap反射

隨視角變換看到不同的圖形

反射方向:Reflect(- 視角方向,法線方向)

使用? texCUBE(_CubeMap,反射方向), 對_CubeMap采樣

與漫反射混合

理解

CubeMap將相機(jī)在球位置上的各個(gè)方向看到結(jié)果都保存起來

texCUBE()函數(shù)可以由方向反推得到顏色

于是, 球的表面頂點(diǎn)的反射結(jié)果為, 視角反射方向, 對應(yīng)在CubeMap上的顏色


核心代碼(Texture_uv.shader上修改)

完整代碼Texture_uv_cubeMap.shader

2.2折射

斯涅爾定律 ?η1sinθ1=η2sinθ2

透射比 η2/η1 ?(出射/入射)

而在Unity中, 使用Refact計(jì)算即可

折射方向 Refact(-viewDir,worldNormalDir,_RefractRatio) ?

核心代碼

使用refract代替reflect, 將反射改為折射

折射

2.3菲涅爾反射

入射角大,反射效果強(qiáng)而清晰,入射角小,反射效果弱而模糊的現(xiàn)象

引用: https://www.cnblogs.com/AEMShana/p/16837367.html

理論

當(dāng)光線照射到物體表面時(shí),一部分反射或者折射,一部分進(jìn)入了物體內(nèi)部。被反射的光和入射光之間存在一定的比率關(guān)系,這個(gè)比率和你觀察物體表面的角度有關(guān)。 ?

主要使用的近似公式有兩種 ?

Schlick菲涅爾反射公式

Fs = F0 + (1-F0)(1-v· n)^5

F0是反射系數(shù)(反射強(qiáng)度),v是視角方向,n是表面法線。 ?

Empricial菲涅爾反射公式

Fe = saturate( bias+scale*(1-v· n)^power )

其中bias,scale,power是控制項(xiàng)。

兩個(gè)公式不需要理解, 是根據(jù)現(xiàn)實(shí)材質(zhì)反射模擬的近似函數(shù), 現(xiàn)實(shí)的各種材質(zhì)的反射規(guī)律又各有不同。?

核心代碼

完整代碼 Texture_cubeMap_schlick.shader

在工程中效果不明顯

左菲涅爾反射, 右普通反射

當(dāng)_ReflectAmount調(diào)為0時(shí),邊緣會有反射

完整代碼: https://github.com/smartgrass/MyCodes/tree/main/ShaderLearning

下一篇: 渲染紋理 和 玻璃效果和GrabPass

22.Shader-CubeMap環(huán)境映射的評論 (共 條)

分享到微博請遵守國家法律
淮阳县| 芒康县| 凌云县| 中山市| 个旧市| 门源| 阜康市| 新民市| 延边| 塔城市| 江源县| 彭阳县| 扶沟县| 陆丰市| 富源县| 南安市| 澜沧| 铜川市| 丹寨县| 连州市| 西乌珠穆沁旗| 松阳县| 怀仁县| 岚皋县| 从江县| 怀化市| 锡林郭勒盟| 宜良县| 巨野县| 武邑县| 五指山市| 郎溪县| 民乐县| 神农架林区| 朔州市| 那坡县| 兴隆县| 宁晋县| 汉川市| 新和县| 绍兴市|