技巧 如何打造高逼格耀斑效果

2021-09-21 15:13:28 字數 2093 閱讀 4743

1、降取樣

將原始貼圖(source image)的長寬逐步縮減為原來的1/4尺寸(quarter source image),如下圖所示。

2、亮度過濾、模糊及拉伸處理

對quarter image進行亮度過濾處理,濾去quarter image中的暗部,以獲取image中的亮斑部分。然後,對其進行blur模糊和拉伸處理,即將亮斑部分區域柔和且擴大化,已獲得flare效果。

亮度過濾核心**:

half4 frag(v2f i) : color 

blur核心**:

half4 color = half4 (0,0,0,0);

color += 0.225 * tex2d (_maintex, i.uv);

color += 0.150 * tex2d (_maintex, i.uv01.xy);

color += 0.150 * tex2d (_maintex, i.uv01.zw);

color += 0.110 * tex2d (_maintex, i.uv23.xy);

color += 0.110 * tex2d (_maintex, i.uv23.zw);

color += 0.075 * tex2d (_maintex, i.uv45.xy);

color += 0.075 * tex2d (_maintex, i.uv45.zw);

color += 0.0525 * tex2d (_maintex, i.uv67.xy);

color += 0.0525 * tex2d (_maintex, i.uv67.zw);

亮度拉伸核心**:v2f_opts o;

o.pos = mul(unity_matrix_mvp, v.vertex);

half b = stretchwidth;

o.uv0 = v.texcoord.xy;

o.uv1 = v.texcoord.xy + b * 2.0 * offsets.xy; //offsets使用者輸入權值

o.uv2 = v.texcoord.xy - b * 2.0 * offsets.xy;

o.uv3 = v.texcoord.xy + b * 4.0 * offsets.xy;

o.uv4 = v.texcoord.xy - b * 4.0 * offsets.xy;

o.uv5 = v.texcoord.xy + b * 6.0 * offsets.xy;

o.uv6 = v.texcoord.xy - b * 6.0 * offsets.xy;

return o;

}half4 fragstretch (v2f_opts i) : color

3、貼圖合併

將原始貼圖(source image)與 模糊拉伸貼圖(blurred stretched image)進行混合疊加 ,即可實現耀斑效果,大功告成!

核心**:

blendop add

blend one one

該方法能在**展示或者人物亮相時使用,並且考慮到可以達到如此出眾的美術效果,所以雖然比起傳統bloom效果增加了2個draw call,在我們看來也是超值的。

同時,建議開發者在實際應用中增加一些pass,比如多次blur或者邊緣模化的處理方法。另外還可以對耀斑顏色做color aberration處理,效果更佳。大家可以根據自己專案的需求來進行完善。

微商如何打造乙個有逼格的品牌

據了解,80 以上的微商平均月收入都在6000元以上,但也有月入過百萬元,單支付寶的流水也過千萬級別的微商。為何他們之間有著如此大的差別?原因在於是否擁有乙個極具逼格的個人品牌。乙個企業締造品牌,最大的核心價值就是在於有人需要的時候第乙個能夠想起的就是你。那如何才能打造出屬於個人品牌?1 吸引點 通...

高逼格的block(鏈式程式設計思想 )

鏈式程式設計思想 或許剛接觸這個東西,你說滿臉懵逼的狀態,那麼下面來看一下典型的鏈式程式設計思想的用法 建立控制項 uiview redview uiview alloc init redview.backgroundcolor uicolor redcolor self.view addsubvi...

高逼格UILabel的閃爍動畫效果

高逼格uilabel的閃爍動畫效果 最終效果圖如下 原始碼 yxlabel.h 與 yxlabel.m created by youxianming on 14 8 23.import inte ce yxlabel uiview property nonatomic,strong nsstring...