perlin,value,******x雜訊的實現,詳細原理可以看樂樂大佬部落格,還是較為複雜的,這裡直接給出現成**和效果。
shader部分:
shader "custom/noisetest"
} subshader
float2 hash21
(float2 p)
//perlin
float
perlin_noise
(float2 p)
//value
float
value_noise
(float2 p)
//******x
float
******x_noise
(float2 p)
//fbm分形疊加
float
noise_sum
(float2 p)
float
noise_sum_value
(float2 p)
float
noise_sum_******x
(float2 p)
//turbulence
float
noise_sum_abs
(float2 p)
float
noise_sum_abs_value
(float2 p)
float
noise_sum_abs_******x
(float2 p)
//turbulence_sin
float
noise_sum_abs_sin
(float2 p)
float
noise_sum_abs_sin_value
(float2 p)
float
noise_sum_abs_sin_******x
(float2 p)
float4 frag
(v2f_img i)
:sv_target
else
if(i.uv.x <=
0.5&& i.uv.y<=
0.5)
else
if(i.uv.x >
0.5&& i.uv.y <=
0.5)
else
if(i.uv.x >
0.5&& i.uv.y >
0.5)
else
//柏林雜訊
float value1=
perlin_noise
(i.uv*
8.0)
;//fbm分形疊加
float value2 =
noise_sum
(i.uv)
;//turbulence
float value3 =
noise_sum_abs
(i.uv)
;//大理石
float value4 =
noise_sum_abs_sin
(i.uv)
;float val = value1 * partone + value2 * parttwo + value3 * partthree + value4 * partfour;
val = val *
0.45
+0.45
;float value5 =
value_noise
(i.uv*
32.0);
float value6 =
noise_sum_value
(i.uv)
;float value7 =
noise_sum_abs_value
(i.uv)
;float value8 =
noise_sum_abs_sin_value
(i.uv)
;float val2 = value5 * partfive + value6 * partsix + value7 * partseven + value8 * parteight;
val2 = val2 *
0.45
+0.45
;float value9 =
******x_noise
(i.uv*
8.0)
;float value10 =
noise_sum_******x
(i.uv)
;float value11 =
noise_sum_abs_******x
(i.uv)
;float value12 =
noise_sum_abs_sin_******x
(i.uv)
;float val3 = value9 * partnine + value10 * partten + value11 * parteleven + value12 * parttwelve;
val3 = val3 *
0.45
+0.45
;return
float4
(val3, val3, val3,1)
;}endcg
}} fallback "diffuse"
}
Unity Shader之再談雜訊
對於雜訊其實我還有很多不懂的地方,比如random函式,比如雜訊的實際應用場景等等。於是在搜尋資料的時候我發現了兩個超超超牛b的 可以說是我這種想要去學習相關知識的人的福利 在這裡給自己標記一下同時也分享給大家 1.shadertoy創始人之一的奇淫巧計大集合 之前看shadertoy的時候,在驚嘆...
unity shader 學習筆記
upgrade note replaced world2object with unity worldtoobject upgrade note replaced mul unity matrix mvp,with unityobjecttoclippos shader unity shader b...
unity shader學習總結一
學習unity shader有兩個月了,最近的兩個月總是有一些工程專案,占用我大量的學習時間,因此總是停停學學。今天虛擬校園工程開好完成了,就有時間吧自己學到的shader,總結一下。這是兩個 jianbian紋理 實現的效果如下 如下 shader custom katongmylihmodel ...