日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【ShaderLab实例笔记】Overwatch Shield - 守望先锋护盾特效制作笔记

發布時間:2024/1/8 编程问答 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【ShaderLab实例笔记】Overwatch Shield - 守望先锋护盾特效制作笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

教程鏈接:Overwatch Shield
項目鏈接:OverwatchShieldTemplate
Pipeline & Shader:Built-in,Unlit

本文是對 Overwatch Shield 學習過程的記錄和總結,不是完全的翻譯,更多的細節和圖文建議跳轉原博

效果分析

使用守望先鋒中Reinhardt的護盾作為參考

整體觀察

可以看出護盾是半透明的,帶有一層基色,可以微微照亮周邊區域
繞著護盾走可以發現,護盾的背面也可以顯示(關閉Cull),并且有明顯的厚度

蜂窩紋理

蜂窩會從中心沿x軸方向搏動,仔細觀察還可以發現蜂窩并不是同時搏動的

蜂窩狀電流

電流沿著蜂窩狀邊緣向外擴散,不能難發現擴散的形狀一個菱形
所以這個效果其實是一個從護盾中心,從點變大的菱形框點亮蜂窩邊緣的過程

固定邊緣

仔細看就會發現邊緣效果由兩部分組成:固定邊緣、相交邊緣

相交邊緣

相交邊緣的效果基本和固定邊緣一樣

效果總結

  • 基礎效果:整體透明,帶有基色,Cull Off
  • 蜂窩紋理:蜂窩紋理從護盾中心沿x軸搏動,帶有一定先后順序
  • 電流脈沖:蜂窩電流從護盾中心按菱形擴散
  • 固定邊緣:越邊緣顏色越實
  • 相交邊緣:與其他物體交叉處有高亮
  • 自發光:護盾可以微微照亮周邊
  • 項目設置

    場景方面,模擬了視頻(圖片)中的物體:
    護盾與地面相交,有物體穿過護盾,方便測試效果

    另外項目的色彩空間使用了線性空間,因為線性空間的精度更高

    更多關于顏色空間的內容,可以查看GAMMA AND LINEAR SPACE - WHAT THEY ARE AND HOW THEY DIFFER和Unity User Manual Color space

    Shader編寫

    基礎效果

    目標效果:整體透明,帶有基色,Cull Off
    沒啥東西,改 Tag,關 Cull,設置 Blend,完事

    Pass {Tags {"RenderType" = "Transparent" "Queue" = "Transparent"}Cull offBlend SrcAlpha oneHLSLPROGRAM// ...fixed4 frag (v2f i) : SV_Target{return _Color;}ENDHLSL }

    基礎效果圖

    ?

    蜂窩搏動

    目標效果:蜂窩紋理從護盾中心沿x軸搏動,帶有一定先后順序

    效果拆分:

  • 蜂窩紋理 + 整體呼吸效果
  • 打亂呼吸順序
  • 呼吸效果沿x軸擴散
  • 1.蜂窩紋理 + 整體呼吸效果

    fixed4 frag (v2f i) : SV_Target {// 蜂窩圖案fixed4 pulseTex = tex2D(_PulseTex, i.uv);fixed4 pulseTerm = pulseTex * _Color * _PulseIntensity;// 呼吸效果pulseTerm *= abs(sin(_Time.y * _PulseTimeScale));return fixed4(_Color.rgb + pulseTerm.rgb, _Color.a); }


    ?

    2.打亂呼吸順序

    打亂順序的方法有很多,因為這里使用的蜂窩紋理剛好有深淺變化,可以直接用來作為決定呼吸順序的因子

    這里的代碼會讓 r 通道越大的地方亮的越早

    fixed4 frag (v2f i) : SV_Target {// 蜂窩圖案fixed4 pulseTex = tex2D(_PulseTex, i.uv);fixed4 pulseTerm = pulseTex * _Color * _PulseIntensity;float breath = _Time.y * _PulseTimeScale;float pulseOffset = pulseTex.r * _PulseTexOffsetScale;// 隨機呼吸效果pulseTerm *= abs(sin(breath + pulseOffset));return fixed4(_Color.rgb + pulseTerm.rgb, _Color.a); }

    為了防止 sin() 的負值導致奇怪的結果出現,需要濾去負值
    同時也不希望負值直接被處理為常數導致圖案無變化,使用了 abs()
    ?

    3.呼吸效果沿x軸擴散

    由于制作模型時,將模型的中心點設置在了正中心(默認是底部中心),可以直接取模型空間的x坐標來確定頂點與中心軸的距離

    fixed4 frag (v2f i) : SV_Target {// 蜂窩圖案fixed4 pulseTex = tex2D(_PulseTex, i.uv);fixed4 pulseTerm = pulseTex * _Color * _PulseIntensity;float breath = _Time.y * _PulseTimeScale;float pulseOffset = pulseTex.r * _PulseTexOffsetScale;float horizontalDist = abs(i.posOS.x);float xOffset = horizontalDist * _PulsePosScale;// 沿x軸擴散的隨機呼吸效果pulseTerm *= abs(sin(breath + pulseOffset - xOffset));return fixed4(_Color.rgb + pulseTerm.rgb, _Color.a); }

    ?

    電流脈沖

    目標效果:蜂窩電流從護盾中心按菱形擴散
    大體上思路和蜂窩搏動效果有很多相似的地方

    效果拆分:

  • 蜂窩電流 + 整體呼吸效果
  • 蜂窩電流以菱形從護盾中心擴散
  • 1.蜂窩電流 + 整體呼吸效果

    fixed4 frag (v2f i) : SV_Target {// 蜂窩搏動// ...// 蜂窩電流fixed4 hexEdgeTex = tex2D(_HexEdgeTex, i.uv);fixed4 hexEdgeTerm = hexEdgeTex * _HexEdgeColor * _HexEdgeIntensity;// 呼吸float edgeBreath = _Time.y * _HexEdgeTimeScale;hexEdgeTerm *= saturate(sin(edgeBreath));// 只看電流// return fixed4(_Color.rgb + pulseTerm.rgb + hexEdgeTerm.rgb, _Color.a);return fixed4(hexEdgeTerm.rgb, _Color.a); }

    1.5呼吸周期調整

    現在的呼吸周期使用的是 saturate(sin(x)) 函數,呼吸效果如下圖:

    圖中當曲線位于 x 軸上方時,電流才會出現,到達 1 時達到最亮,隨后變暗直到消失,開始下一輪循環

    由于現在的曲線是一個單純的 sin 曲線,電流亮和不亮的時間是相同的

    將曲線向下平移,就會讓亮的時間變短,暗的時間變長

    可以將這個下移量設置為變量 _HexEdgeWidthModifier,方便調試

    fixed4 frag (v2f i) : SV_Target {// 蜂窩搏動// ...// 蜂窩電流fixed4 hexEdgeTex = tex2D(_HexEdgeTex, i.uv);fixed4 hexEdgeTerm = hexEdgeTex * _HexEdgeColor * _HexEdgeIntensity;// 呼吸float edgeBreath = _Time.y * _HexEdgeTimeScale;hexEdgeTerm *= saturate(sin(edgeBreath) - _HexEdgeWidthModifier);// 只看電流// return fixed4(_Color.rgb + pulseTerm.rgb + hexEdgeTerm.rgb, _Color.a);return fixed4(hexEdgeTerm.rgb, _Color.a); }

    但是根據實現效果看,電流只是淡淡的閃一下就滅了,效果非常不明顯

    這是因為在 x 軸上方的部分因為被下移,而無法到達 1 值,導致了電流顏色一直無法到達飽和的效果

    解決方法是把它拉長到 1:
    (1 - _HexEdgeWidthModifier)/ edgeNormalizer = 1,
    edgeNormalizer = 1 - _HexEdgeWidthModifier

    fixed4 frag (v2f i) : SV_Target {// 蜂窩搏動// ...// 蜂窩電流fixed4 hexEdgeTex = tex2D(_HexEdgeTex, i.uv);fixed4 hexEdgeTerm = hexEdgeTex * _HexEdgeColor * _HexEdgeIntensity;// 呼吸float edgeBreath = _Time.y * _HexEdgeTimeScale;// 周期調整float edgeNormalizer = 1 - _HexEdgeWidthModifier;hexEdgeTerm *= saturate(sin(edgeBreath) - _HexEdgeWidthModifier) / edgeNormalizer;// 只看電流// return fixed4(_Color.rgb + pulseTerm.rgb + hexEdgeTerm.rgb, _Color.a);return fixed4(hexEdgeTerm.rgb, _Color.a); }

    ?

    2.菱形光從護盾中心擴散

    在蜂窩搏動效果中,使用的是 sin 沿 x 軸擴散
    這里要使用一個菱形擴散(“ 菱形 ” 雖然不準確,方便起見先這么叫)

    由于 x 對應的 y 不唯一,這個菱形無法使用函數表示

    但是,它可以表示為這個式子:abs(y) + abs(x) = 1,等式右邊的數字越大,菱形就越大

    這意味著如果計算 sin(abs(x)+abs(y)),就可以構造一個邊長不斷在一定區間變化的菱形的圖案,只要加入時間參數就可以讓它動起來

    補充
    上面的加粗字是這篇筆記全文唯一一個完完全全的翻譯,沒有一點自己的理解
    因為坦白說,這句話壓根就沒理解…
    想了好久也想不明白這到底是什么從 0 突變到 2048 的因果聯系啊…???
    ?
    Desmos 沒辦法表示二維圖像,好在還有Gooogle計算器:

    有了圖果然就好理解多了,這波啊,絕對是先有圖,后有粗體字

    fixed4 frag (v2f i) : SV_Target {// 蜂窩搏動// ...// 蜂窩電流fixed4 hexEdgeTex = tex2D(_HexEdgeTex, i.uv);fixed4 hexEdgeTerm = hexEdgeTex * _HexEdgeColor * _HexEdgeIntensity;// 呼吸float edgeBreath = _Time.y * _HexEdgeTimeScale;float verticalDist = abs(i.posOS.z);// 周期調整float edgeNormalizer = 1 - _HexEdgeWidthModifier;// 菱形float diamondPattern = (horizontalDist + verticalDist) * _HexEdgePosScale;hexEdgeTerm *= saturate(sin(diamondPattern - edgeBreath) - _HexEdgeWidthModifier) / edgeNormalizer;// 只看電流// return fixed4(_Color.rgb + pulseTerm.rgb + hexEdgeTerm.rgb, _Color.a);return fixed4(hexEdgeTerm.rgb, _Color.a); }

    這里的verticalDist取的是z方向的值,因為在這個模型的坐標系中,上方向是z

    把最后的return修改一下,電流這里也算是完成了
    ?

    輪廓線

    目標效果:越邊緣顏色越實
    這個效果相對于前面的兩個很好實現,只要使用漸變邊緣的遮罩紋理,再進行一些調整就可以了

    fixed4 frag (v2f i) : SV_Target {// 蜂窩搏動、蜂窩電流// ...fixed4 edgeTex = tex2D(_EdgeTex, i.uv);fixed4 edgeTerm = edgeTex.a * _Color * _EdgeIntensity;// return fixed4(_Color.rgb + pulseTerm.rgb + hexEdgeTerm.rgb + edgeTerm, _Color.a);return fixed4(edgeTerm.rgb, _Color.a); }


    大粗邊緣太傻太悶了,要想辦法把邊緣變薄
    如果不想改貼圖的話,就需要進行一些數學計算,比如pow()

    fixed4 edgeTerm = pow(edgeTex.a, _EdgeExponent) * _Color * _EdgeIntensity;


    需要注意的是,因為顏色的值域是[0, 1],_EdgeExponent越大意味著邊緣遮罩將更快的達到1并保持恒定,導致邊緣看起來缺乏過渡
    ?

    相交邊緣

    目標效果:與其他物體相交處有高亮

    雖然把固定邊緣和相交邊緣分成了不同的效果制作,為了讓最終的效果不突兀,還是需要保證固定邊緣和相交邊緣看起來就像是護盾的連續邊界一樣

    把它們分成兩部制作,只是因為兩個邊緣的形成原因不一樣,需要使用不同的方法來判定邊緣:
    一個是護盾原有的邊緣,固定存在(邊緣紋理);一個是護盾與其他物體相交形成的邊緣,需要根據相交情況進行判斷(深度紋理
    ?

    原理分析

    為什么判斷相交情況需要深度紋理呢?

    首先,當兩個物體相交時,它們之間的距離會變成0
    而深度值指的是點到相機(屏幕)的距離
    那么只要護盾上某點的深度值和環境中其他物體上的點的深度值差值足夠小,就會表明這兩個點足夠接近,足以產生相交線

    護盾的深度值可以在相機空間計算獲得,環境的深度值可以通過采樣相機渲染的深度紋理獲得

    補充
    根據之前學過的陰影章節可以知道,如果 Shader (和它的 FallBack)中沒有 ShadowCaster Pass,它所在的物體就不會出現在深度紋理中
    本例的 Shader 中不包含 默認的 ShadowCaster Pass 和 FallBack,所以深度紋理中沒有存儲護盾的深度值

    ?

    攝像機深度紋理獲取以及采樣

    想要獲得相機的深度紋理,需要在相機上掛一個腳本,確保它渲染深度紋理:

    void OnEnable() {GetComponent<Camera>().depthTextureMode = DepthTextureMode.DepthNormals; }

    如果設置正確,在相機組件的Inspector面板上,會出現下面的提示:

    然后就可以在Shader中使用這個紋理了

    sampler2D _CameraDepthNormalsTexture; // 必須使用這個名字

    這里需要注意的是,此時相機渲染出來的深度紋理是在屏幕空間中得到的,因此也需要在屏幕空間進行采樣

    o.posSS = ComputeScreenPos(o.pos);// UnityCG.cginc中的ComputeScreenPos大意 inline float4 ComputeScreenPos (float4 pos) {float4 o = pos * 0.5f;o.xy = float2(o.x, o.y*_ProjectionParams.x) + o.w;o.zw = pos.zw;return o; }

    其中 _ProjectionParams.x 取值為 1.0 或 -1.0,取決于當前平臺的屏幕坐標系的 y 軸是向上還是向下,其他的具體原理可以見之前的計算機圖形學筆記,齊次裁剪空間到屏幕空間的變換
    ?

    護盾深度值計算

    想要計算深度值,必須先計算相機空間的頂點位置,它的 z 值就是該點的深度

    因為在片元著色器中進行比較時,兩個深度值都為正更方便,所以把這個深度值乘以 -1(相機空間中 z 的反方向指向相機的朝向,在相機面前的點的 z 都為負數)

    o.depth = -mul(UNITY_MATRIX_MV, v.vertex).z;

    現在,這個深度值是頂點到相機的實際距離
    但是深度紋理存儲的值是顏色,值域是 [0 ,1](在近平面上為 0,在遠平面上為 1)
    所以為了能正確比較兩個深度值,將頂點深度值重映射到 [0,1],需要除以相機到遠平面的距離(_ProjectionParams.w = 1 / FarPlane)

    o.depth = -mul(UNITY_MATRIX_MV, v.vertex).z * _ProjectionParams.w;

    補充
    其實這里數學上并不嚴謹,頂點到相機的實際距離值域應該是 [near,far],重映射的結果應該是 (z - near) / (far - near),而不是簡單的 z / far
    但是由于本例中相機的近平面為 0.1,所以在這里沒有太大影響,不如簡化計算直接取 z / far

    ?

    相交效果制作

    將上面兩步得到的屏幕空間坐標、護盾深度值傳遞到 Fragment Shader,然后就開始制作效果

    首先是求深度紋理中環境深度值,和護盾深度值的差值

    float diff = tex2D(_CameraDepthNormalsTexture, i.posSS.xy).r - i.depth;

    然而事情并沒有這么簡單,還有兩個問題要處理:

  • 因為使用了透視投影,需要做一個透視除法來減小透視帶來的歪斜效果
  • 深度值并不是簡單的存儲在_CameraDepthNormalsTexture紋理的一個通道中,而是存儲在 zw 兩個通道中(可以提升精度)
  • 解決方法倒是很簡單:

    // DecodeFloatRG為UnityCG.cginc中自帶的輔助函數 float diff = DecodeFloatRG(tex2D(_CameraDepthNormalsTexture, i.posSS.xy / i.posSS.w).zw) - i.depth;

    補充
    注意 diff 的值是非負的
    雖然兩個距離做差應該有三種情況(>、<、= 0),但被減項是 “ 場景中不透明物體的深度值 ”,意味著當 diff < 0 時(即護盾深度值較大),護盾本身被不透明物體遮擋,不會被渲染;只有在 diff > 0 時(即護盾深度值較小),護盾才會被渲染。因此,從渲染結果的角度看,diff ≥ 0,是非負的
    ?
    關于透視除法,可以復習之前的計算機圖形學筆記,或者畫個側面的視錐體切一切

    理論上講,現在已經得到了環境深度值和護盾深度值的非負差值(值域 [0,1]),只要取 1 - diff,就可以得到一個相交邊緣的遮罩

    fixed4 frag (v2f i) : SV_Target {// 蜂窩搏動、電流脈沖、固定邊緣// ...float diff = DecodeFloatRG(tex2D(_CameraDepthNormalsTexture, i.posSS.xy / i.posSS.w).zw) - i.depth;float intersectGradient = 1 - diff;return intersectGradient; }

    但是事情好像沒有這么簡單:

    這是因為 diff 的值太小了,沒能將非相交邊緣的部分減到 0,可以通過乘上一個常量來增大這個值,比如 20

    diff *= 20; float intersectGradient = 1 - min(diff, 1.0);

    這里將 intersectGradient 的值改成了 1 - min(diff, 1.0);,是因為1 - diff; 無法保證 diff 乘了 20 后 intersectGradient 依舊 > 0

    雖然負值在普通 Shader 中會顯示為黑色,但是在修改過 BlendMode 的 Shader 中,負值顏色依然可以顯示,因此必須防止負值出現

    修改后問題看起來解決了

    但是這個方法并不通用,因為當改變相機的遠平面時,這個遮罩也會跟著改變

    這其實是因為在一開始計算護盾深度值的時候,做了一個 “ 除以相機到遠平面的距離 ” 的操作

    當時這么做的理由是,z 值是距離,紋理采樣是顏色,值域不同
    既然現在發現,統一成顏色值域的話會出問題,那干脆就都整成距離吧…

    所以解決方法是給差值 “ 乘以相機到遠平面的距離 ”

    fixed4 frag (v2f i) : SV_Target {// 蜂窩搏動、電流脈沖、固定邊緣// ...float diff = DecodeFloatRG(tex2D(_CameraDepthNormalsTexture, i.posSS.xy / i.posSS.w).zw) - i.depth;diff *= _ProjectionParams.z;float intersectGradient = 1 - min(diff, 1.0);return intersectGradient; }

    這下就完全不受相機設置的影響了,因為它就是一個絕對的距離,不是一個基于遠平面參數的 Range(0, 1)

    推薦直接從前面就改成使用距離計算,可以節省一點計算量…
    前面的筆記就不改了,反正栽坑爬坑也是思考的一部分…

    v2f vert (appdata v) {// ...// 距離o.depth = - mul(UNITY_MATRIX_MV, v.vertex).z;return o; }fixed4 frag (v2f i) : SV_Target {// 蜂窩搏動、蜂窩電流、固定邊緣// ...// 距離差float diff = DecodeFloatRG(tex2D(_CameraDepthNormalsTexture, i.posSS.xy / i.posSS.w).zw) * _ProjectionParams.z - i.depth;float intersectGradient = 1 - min(diff, 1.0f);fixed4 intersectTerm = _Color * pow(intersectGradient, _IntersectExponent) * _IntersectIntensity;return fixed4(_Color.rgb + pulseTerm.rgb + hexEdgeTerm.rgb + edgeTerm + intersectTerm, _Color.a); }

    雖然想要兩種邊緣無縫連接,計算相交線的一些參數(指數、強度)還是設置成了與固定邊緣不一樣的變量參數

    圖中護盾材質的固定邊緣和相交邊緣的強度、指數使用的是同樣的值
    ?

    自發光

    目標效果:護盾可以微微照亮周邊

    因為護盾的自發光是整體效果,可以把它交給后處理

    給相機添加 Post Process Layer 和 Post Process Volume
    在 Post Process Layer 中,選擇 Default Layer,反走樣選擇 FXAA

    補充
    正常情況下應該對需要進行不同后處理的物體在 Inspector 設置 Layer 進行分層,但是這里只是為了實現一個效果,而且還是整體的效果,所以可以忽略

    在 Post Process Volume 中,勾選 is Global,創建一個新的 Profile,添加Bloom效果,調節 Bloom 強度

    ?

    優化

    將使用同一套UV的多張灰度紋理存儲進一張紋理,通過.r、.g、b、.a使用對應通道的紋理
    一張紋理有RGBA四個通道,所以一張紋理最多可以存4張灰度圖
    R:蜂窩邊緣,G:蜂窩紋理,B:護盾邊緣

    這是一個很常見的優化手段,有很多優點:

  • 節省項目空間:多張圖存成了1張
  • 節省運行內存,提升加載速度:只需要讀取并存儲1張紋理在內存中
  • 對于多張圖只需要進行一次紋理采樣、一次 TRANSFORM_TEX 操作,減小時間空間消耗,簡化代碼
  • 簡單來說就是節省空間,提升速度,簡化操作
    ?

    總結

    完整 Shader

    Shader "Lexdev/CaseStudies/OverwatchShield" {Properties{_HexTex("R:HexEdge G:HexPulse B:Edge", 2D) = "white" {}_Color ("Color", Color) = (1,1,1,1)[Header(Hex Pulse)] _PulseIntensity ("Hex Pulse Intensity", float) = 3.0_PulseTimeScale("Hex Pulse Time Scale", float) = 2.0_PulsePosScale("Hex Pulse Position Scale", float) = 50.0_PulseTexOffsetScale("Hex Pulse Texture Offset Scale", float) = 1.5[Header(Electronic Pulse)]_HexEdgeColor("Hex Edge Color", COLOR) = (0,0,0,0)_HexEdgeIntensity("Hex Edge Intensity", float) = 2.0_HexEdgeTimeScale("Hex Edge Time Scale", float) = 2.0_HexEdgeWidthModifier("Hex Edge Width Modifier", Range(0,1)) = 0.8_HexEdgePosScale("Hex Edge Position Scale", float) = 80.0[Header(Edge)]_EdgeIntensity("Edge Intensity", float) = 10.0_EdgeExponent("Edge Falloff Exponent", float) = 6.0_IntersectIntensity("Intersection Intensity", float) = 10.0_IntersectExponent("Intersection Falloff Exponent", float) = 6.0}SubShader{Pass{Tags {"RenderType" = "Transparent" "Queue" = "Transparent"}Cull offBlend SrcAlpha oneHLSLPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"sampler2D _HexTex; float4 _HexTex_ST;float4 _Color;float _PulseIntensity;float _PulseTimeScale;float _PulsePosScale;float _PulseTexOffsetScale;float4 _HexEdgeColor;float _HexEdgeIntensity;float _HexEdgeTimeScale;float _HexEdgeWidthModifier;float _HexEdgePosScale;float _EdgeIntensity;float _EdgeExponent;// Camera rendered depth texture, must use the namesampler2D _CameraDepthNormalsTexture;float _IntersectIntensity;float _IntersectExponent;struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float4 pos : SV_POSITION;float2 uv : TEXCOORD0;float4 posOS : TEXCOORD1;float4 posSS : TEXCOORD2;float depth : TEXCOORD3;};v2f vert (appdata v){v2f o;o.pos = UnityObjectToClipPos(v.vertex);o.uv = TRANSFORM_TEX(v.uv, _HexTex);o.posOS = v.vertex;o.posSS = ComputeScreenPos(o.pos);// Z-Distanceo.depth = - mul(UNITY_MATRIX_MV, v.vertex).z;return o;}fixed4 frag (v2f i) : SV_Target{fixed4 hexTex = tex2D(_HexTex, i.uv);fixed pulseTex = hexTex.g;fixed hexEdgeTex = hexTex.r;fixed edgeTex = hexTex.b;// Hex pulsefixed3 pulseTerm = pulseTex * _Color * _PulseIntensity;float breath = _Time.y * _PulseTimeScale;float pulseOffset = pulseTex * _PulseTexOffsetScale;float horizontalDist = abs(i.posOS.x);float xOffset = horizontalDist * _PulsePosScale;pulseTerm *= abs(sin(breath + pulseOffset - xOffset));// Electronic pulsefixed3 hexEdgeTerm = hexEdgeTex * _HexEdgeColor * _HexEdgeIntensity;float edgeBreath = _Time.y * _HexEdgeTimeScale;float edgeNormalizer = 1 - _HexEdgeWidthModifier;float verticalDist = abs(i.posOS.z); // Z-Up in Object-Spacefloat diamondPattern = (horizontalDist + verticalDist) * _HexEdgePosScale;hexEdgeTerm *= saturate(sin(diamondPattern - edgeBreath) - _HexEdgeWidthModifier) / edgeNormalizer;// Z-Distancefloat diff = DecodeFloatRG(tex2D(_CameraDepthNormalsTexture, i.posSS.xy / i.posSS.w).zw) * _ProjectionParams.z - i.depth;float intersectGradient = 1 - min(diff, 1.0f);// Edge & Intersectionfixed3 edgeTerm = pow(edgeTex, _EdgeExponent) * _Color * _EdgeIntensity;fixed3 intersectTerm = pow(intersectGradient, _IntersectExponent) * _Color * _IntersectIntensity;return fixed4(_Color.rgb + pulseTerm + hexEdgeTerm + edgeTerm + intersectTerm, _Color.a);}ENDHLSL}} }

    基本思路總結
    總的來說效果可以分為兩大部分:圖案和邊緣

    圖案部分可以拆解為沿 x 軸擴散的蜂窩圖案,和以菱形向外擴大的電流
    邊緣部分可以拆分為護盾的固有邊緣,和護盾與其他物體相交產生的邊緣

    圖案部分的計算是先用顏色、紋理、強度因子得到基礎圖形,再通過對時間進行數學運算獲得圖形遮罩,二者相乘得到動畫
    邊緣部分的計算是采樣紋理獲得遮罩,再通過對顏色進行數學計算,二者相乘得到邊緣

    ?
    雜七雜八總結
    平移 sin 函數可以打算 > 0 和 < 0 的長度平衡;可能需要對平移后的值做矯正
    abs(x) + abs(y) = n(常)是中心在原點的斜放正方形
    sin(abs(x) + abs(y)) 是s&fja@inc*ud^ishd(#svd%abaabaaba
    有奇奇怪怪的非二維函數可以扔到Google里看圖像
    采樣相機渲染的深度圖時,需要先做一個透視除法矯正透視導致的歪斜

    ?

    一點題外話
    感覺撿到寶了,這個博主真的好良心啊
    博客里一共有5個教程,目前算是跟著學完了其中兩個最感興趣的效果(Gears Hammer of Dawn、Overwatch Shield),受益良多,慢慢的開始明白拆解思路、參數設置思路了

    雖然依然是數學渣一個,但是還是很開心終于開始慢慢體會到數學的神奇了

    哎…失去了 gif 感覺放圖的樂趣都沒了QWQ

    總結

    以上是生活随笔為你收集整理的【ShaderLab实例笔记】Overwatch Shield - 守望先锋护盾特效制作笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    天天天干夜夜夜操 | 日韩一级黄色av | 91三级在线观看 | 少妇bbbb搡bbbb搡bbbb | 亚洲一级二级三级 | 日日婷婷夜日日天干 | 久久久久久久av | 久久国产精品一二三区 | 操操操日日| 一区二区三区四区影院 | 99久久久成人国产精品 | av蜜桃在线| 成人午夜电影在线 | 综合久久久久久 | 亚洲精品tv | 国产免码va在线观看免费 | 天天干.com| 久久在线免费观看视频 | 久久露脸国产精品 | 午夜精品久久久99热福利 | 日本黄网站 | 免费黄色在线播放 | 成人激情开心网 | 久久综合欧美精品亚洲一区 | 国内免费久久久久久久久久久 | 色综合天天做天天爱 | 高清av在线免费观看 | 国产视频在线观看一区二区 | 婷婷亚洲五月色综合 | 久久久久久久国产精品视频 | 国产婷婷精品av在线 | 亚洲免费观看在线视频 | 国产精品久久久999 国产91九色视频 | 中文字幕第一 | 亚洲经典中文字幕 | 成人污视频在线观看 | 99久热精品| 激情伊人 | 美女网站视频免费黄 | 999久久国产精品免费观看网站 | 久久香蕉国产精品麻豆粉嫩av | 中文字幕丰满人伦在线 | 久久精品亚洲综合专区 | 国产精品一区二区三区在线免费观看 | 白丝av免费观看 | 成人一级电影在线观看 | 天天干夜夜夜 | 国产剧情在线一区 | 久久久久99精品国产片 | 在线观看免费黄色 | 黄色av播放 | 丁香激情网 | 久草在线资源视频 | 亚洲国产精品99久久久久久久久 | 欧美一级看片 | 91爱爱中文字幕 | 亚洲视频免费在线观看 | av电影免费在线看 | 91av在线视频免费观看 | 日本中文字幕在线电影 | 欧美午夜激情网 | 成人一级免费电影 | 国产亚洲精品久久久久秋 | 91大神视频网站 | av中文字幕免费在线观看 | 五月婷婷视频在线 | 久久精品79国产精品 | 久久黄色免费 | 一区二区三区在线免费 | 一区二区三区在线视频111 | 91av观看 | 天天操天天色天天射 | 精品国产成人在线影院 | 国产视频在线播放 | 国产一级片直播 | 在线高清 | 天天干夜夜操视频 | 亚洲人成精品久久久久 | 欧美污污网站 | 久艹视频在线观看 | 日韩一区二区三区高清在线观看 | 国产精品美女久久久久久网站 | 亚洲国产黄色片 | 国产精品第一视频 | 国产第一页精品 | 超碰在线公开免费 | 一级黄色在线视频 | 国产黄色免费电影 | 日韩av片无码一区二区不卡电影 | 四虎成人精品永久免费av | 狠狠狠色丁香婷婷综合久久五月 | 久草网站在线 | 成人一级电影在线观看 | 国产在线播放一区二区三区 | 免费一级特黄毛大片 | 日韩专区在线观看 | 欧美精品在线一区二区 | 综合网av | 99久久精品午夜一区二区小说 | 亚洲精品视频免费在线观看 | 国产打女人屁股调教97 | 国产日韩精品一区二区三区 | 免费色婷婷| 黄色网www | 日韩手机在线 | av成人在线播放 | 在线精品视频在线观看高清 | 激情婷婷六月 | 免费精品| 国产日韩欧美在线观看视频 | 99精品国产视频 | 91精品国产入口 | 天天操天天操天天操天天操天天操 | 国产成人一区二区三区在线观看 | 国产在线综合视频 | 91自拍91 | 激情网综合| 亚洲精品乱码 | 91在线精品一区二区 | 免费亚洲一区二区 | 久久精品亚洲 | 精品久久久久久亚洲 | 精品国产乱码久久久久久浪潮 | 黄色亚洲大片免费在线观看 | 国产精品99久久免费黑人 | 精品专区 | 欧美日韩一区二区久久 | 黄色av网站在线观看 | 久久精品99国产 | 亚洲国产精品va在线看黑人 | av电影免费在线播放 | 国产成人精品一区在线 | 天天干天天干天天干 | 91日韩精品一区 | 国内久久精品视频 | 亚洲国产欧洲综合997久久, | 国产福利91精品 | 日韩专区在线观看 | 国产精品 中文字幕 亚洲 欧美 | 999日韩 | 国内视频 | 成年人网站免费在线观看 | 日韩av不卡在线观看 | 久久精品电影 | 激情欧美丁香 | 国产99久久精品一区二区永久免费 | 六月天色婷婷 | 欧美最爽乱淫视频播放 | 亚洲欧洲精品在线 | 青春草免费视频 | 国产黄色片久久久 | 夜夜操天天干, | 国产色资源 | 黄a在线观看 | 91免费网| 国产美女在线观看 | 五月婷婷六月综合 | a级片久久久| 天天射天天爽 | 五月天综合 | 日韩成人免费电影 | 欧美黄网站 | 91桃色免费观看 | 国产亚洲精品免费 | www黄色软件| 久久精品这里都是精品 | 国产一区二区三精品久久久无广告 | 在线中文字幕av观看 | 久久国产精品精品国产色婷婷 | 亚洲美女视频在线观看 | 999久久久久久久久久久 | 色搞搞| 91九色视频导航 | 成人在线超碰 | 国产一级黄色电影 | 中文在线天堂资源 | 亚洲成人一区 | 日批在线观看 | 99在线视频播放 | 欧美另类一二三四区 | 日韩网站一区 | 国产亚州av | 欧美在线一二区 | 欧美日韩精品电影 | 欧美成年人在线观看 | 成人毛片在线观看 | 91一区啪爱嗯打偷拍欧美 | 香蕉久久久久久av成人 | 玖玖玖影院 | 国产自产高清不卡 | 亚洲精品中文在线资源 | 一级一片免费看 | 99精品国产免费久久久久久下载 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 在线观看国产 | 亚洲九九影院 | 久草网免费 | 日韩欧美国产视频 | 国产精品久久久久久久午夜 | 97精品国产一二三产区 | 国产一级视屏 | 欧美性色xo影院 | 91精品国产99久久久久 | 成人羞羞视频在线观看免费 | 亚洲精品美女在线观看 | 色欧美综合 | 五月婷婷一区二区三区 | 成人中文字幕在线观看 | 亚洲 成人 一区 | 婷婷综合伊人 | 三级免费黄 | 黄色大片日本免费大片 | 狠狠狠色丁香婷婷综合久久88 | 亚洲在线黄色 | 91精品国 | 国产精品毛片一区 | 特级毛片在线 | 操操日| 国产成人精品三级 | 亚洲国内精品在线 | 国产成人久久av977小说 | 天天干夜夜擦 | 亚洲视频中文 | 欧美一区二区在线 | 日本黄色免费大片 | www.av中文字幕.com | av免费网站观看 | 激情伊人五月天久久综合 | 丁香九月激情综合 | 国产亚洲高清视频 | 福利视频导航网址 | 亚洲精品国精品久久99热一 | 一区二区三区免费在线 | 欧美一进一出抽搐大尺度视频 | 亚洲精品永久免费视频 | 中文字幕av在线不卡 | 97在线视| 天天操天天能 | 99久久www | 国产夫妻性生活自拍 | 国产精品久久久久久久久久久久午夜 | 九九九国产 | 欧美久久久久久久久中文字幕 | 成年人视频在线 | 亚洲va在线va天堂 | 麻豆精品在线 | 伊人黄 | 91精品免费视频 | 日日夜夜噜 | 免费高清在线视频一区· | 婷婷av网| 国产精品成久久久久三级 | 国产成人久久av977小说 | 超碰人在线| 很黄很黄的网站免费的 | 亚洲黄a | 毛片美女网站 | 免费一级毛毛片 | 99在线热播 | 国产精品一区二区电影 | 精品美女在线视频 | 国产精品一区二区三区免费看 | 欧美激情综合色 | 中文字幕激情 | 日本中文字幕网址 | 久久精品久久久久电影 | 日韩理论影院 | 久久狠狠亚洲综合 | 日本aaa在线观看 | 在线看片一区 | 黄色字幕网 | 九九在线国产视频 | 亚洲一级性 | 日韩在线视频观看免费 | 国产人免费人成免费视频 | 久久伊人免费视频 | 亚洲欧美日韩在线看 | 国产精品99精品 | 丁香五月亚洲综合在线 | 国产精品欧美久久久久三级 | 久久超| 免费一区在线 | 免费网站在线观看成人 | a视频免费看 | 五月天激情婷婷 | 欧美激情精品一区 | 国产免费一区二区三区网站免费 | 中文字幕资源网 国产 | 久久久久女人精品毛片 | 色天天综合久久久久综合片 | 免费观看www小视频的软件 | 日韩电影一区二区三区 | 成年人黄色免费视频 | 深夜精品福利 | 中文字幕刺激在线 | 狠狠色婷婷丁香六月 | 色噜噜在线观看 | 成人aaa毛片 | 又色又爽又黄 | 一本一本久久a久久精品综合 | 成人一级片在线观看 | 96精品在线 | 国产精品综合久久久久 | 在线性视频日韩欧美 | 久久曰视频 | 色综合中文综合网 | 国产色资源 | 在线免费观看涩涩 | 色婷婷综合视频在线观看 | 人人澡人摸人人添学生av | 天天艹 | 国产精品第三页 | 精品黄色在线 | 六月丁香激情综合 | 亚洲韩国一区二区三区 | 蜜臀av.com | 男女免费av | av电影免费观看 | 日韩av高清在线观看 | 成人av一区二区三区 | 97超视频免费观看 | 国产精品毛片一区二区 | 国产涩涩网站 | 国产黄在线 | 亚洲 综合 国产 精品 | 国产女v资源在线观看 | 国产不卡在线视频 | 久久国产精品色av免费看 | 国产精品网红直播 | 精品国产伦一区二区三区观看说明 | 国产精品99免视看9 国产精品毛片一区视频 | 狠狠狠色丁香综合久久天下网 | 日韩精品在线一区 | 欧美另类xxx | 国产色婷婷 | 精品国产一区二区三区在线 | 成人网中文字幕 | 亚洲精品乱码久久久久久9色 | 国产美女主播精品一区二区三区 | 日韩高清在线不卡 | 九九热国产视频 | 手机在线视频福利 | 欧美成人一二区 | 九七人人干 | 国产精品麻豆91 | 麻豆视频在线免费看 | 久久露脸国产精品 | 国产xxxx| 欧美精品v国产精品v日韩精品 | 国产精品毛片完整版 | 欧美日韩在线观看视频 | 97精品国产97久久久久久粉红 | 成人高清在线观看 | 91麻豆精品91久久久久同性 | 久久69精品久久久久久久电影好 | 蜜桃麻豆www久久囤产精品 | 四虎影视成人永久免费观看亚洲欧美 | 久久不射电影院 | 91麻豆产精品久久久久久 | 精品亚洲欧美无人区乱码 | 日韩免费区 | 国产最新视频在线 | 91麻豆精品国产91久久久久久 | 久热精品国产 | 久久久99精品免费观看 | 国产福利专区 | 久久九九影视 | 日韩激情视频在线 | 婷婷色五 | 国产999视频在线观看 | 日韩成人黄色av | 色综合www | a资源在线 | 国产理伦在线 | 日韩av免费大片 | 日本大片免费观看在线 | 欧美日韩一区二区三区免费视频 | 婷婷丁香花五月天 | mm1313亚洲精品国产 | 久草国产在线 | 一区二区电影在线观看 | 麻豆久久一区 | 91在线入口 | 亚洲一级片免费观看 | 日日干视频 | 亚洲第一av在线 | 久久综合日 | 999一区二区三区 | 国产伦理久久 | 欧美一区二区伦理片 | 91一区二区三区久久久久国产乱 | 狠狠狠色狠狠色综合 | 日韩高清国产精品 | 久久久www成人免费毛片 | 很污的网站 | 日韩精品视频免费看 | 天天操天天爽天天干 | 日操干| 久久婷婷视频 | 97在线成人| 91经典在线 | 91视频久久久 | 懂色av一区二区在线播放 | 国精产品一二三线999 | 精品女同一区二区三区在线观看 | 91理论片午午伦夜理片久久 | 欧美一区二区在线免费看 | 国产成人区 | 一级成人在线 | 日韩欧美综合在线视频 | 国产精品中文久久久久久久 | 欧美日韩中文在线视频 | 黄色精品国产 | 激情www| 久久综合九色综合久99 | 成人在线视频你懂的 | 亚洲狠狠丁香婷婷综合久久久 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 97视频网址| 99精品在线视频播放 | 在线视频成人 | 99精品一区二区三区 | 欧美国产日韩一区 | av丁香 | 又黄又爽又刺激视频 | 婷婷五月情 | 综合五月 | 韩日在线一区 | 欧美孕交vivoestv另类 | 久久久久久久18 | 黄色毛片视频免费观看中文 | 亚洲欧美少妇 | 亚洲一级片免费观看 | 狠狠插狠狠干 | 日本中文在线观看 | 激情视频二区 | 中文字幕第一页在线播放 | 青青啪| 国产中文字幕三区 | 91一区啪爱嗯打偷拍欧美 | 久久99精品久久久久久秒播蜜臀 | 色午夜影院 | 人人澡人| 中文字幕资源在线观看 | av三级av| 99久久婷婷国产综合亚洲 | 国产h在线观看 | 久久精品一区二区三区国产主播 | 在线观看视频免费大全 | 在线国产专区 | 国产日韩欧美在线播放 | 色婷婷88av视频一二三区 | 中文在线a√在线 | 精品a在线 | av电影一区 | 久久99国产精品久久99 | 精品99久久久久久 | 久久免费试看 | 在线97| 亚洲午夜久久久久久久久久久 | 亚洲mv大片欧洲mv大片免费 | 久久草精品 | 天天爽夜夜操 | 在线播放第一页 | 特级毛片在线免费观看 | 国产又粗又猛又爽又黄的视频免费 | 国产高清在线观看 | 国产精品久久久亚洲 | 国产精品中文字幕在线播放 | 天天草综合网 | 中文字幕亚洲五码 | 成人国产精品一区 | 色香蕉网 | 97免费公开视频 | 色99色| 成人在线黄色 | 国产成人免费网站 | 精品在线一区二区三区 | 婷婷综合亚洲 | 九九综合九九综合 | 久久影院午夜论 | 色婷婷狠狠五月综合天色拍 | 亚洲一区二区三区在线看 | 亚州av成人 | av在线播放中文字幕 | 99爱精品视频 | 91免费看黄色 | 国产一级片免费视频 | 色资源在线观看 | 不卡的av在线 | 精品国产精品一区二区夜夜嗨 | 99热这里只有精品国产首页 | av在线影视 | 久久国产精品免费一区二区三区 | 一级特黄av | 99久久这里有精品 | 五月天伊人网 | 精品国产电影 | 在线a人片免费观看视频 | 国产精品成人免费一区久久羞羞 | 国产精品男女啪啪 | 国产无遮挡又黄又爽馒头漫画 | 国产 字幕 制服 中文 在线 | 欧美日韩成人一区 | 69精品 | 色多多污污在线观看 | 久久久久麻豆 | 国产一卡二卡在线 | 亚洲国产三级在线 | 在线观看中文字幕一区二区 | 免费看片亚洲 | 国产人成在线观看 | 91精品国产99久久久久久红楼 | 久久精品视频2 | 国产一级免费在线观看 | 免费在线成人av电影 | 免费十分钟 | 久久99国产精品免费网站 | 最新成人av | 国产伦理久久精品久久久久_ | 国产在线a | 成人在线播放av | 久99久在线视频 | 草在线视频 | 欧美一级久久久 | 国产成人在线看 | 国产日韩欧美在线观看视频 | 在线看片视频 | 91精品国产自产在线观看永久 | 美女在线黄 | 中文字幕av网站 | 免费h漫在线观看 | 国产不卡在线视频 | 在线免费三级 | 欧美日韩国产在线 | 成片人卡1卡2卡3手机免费看 | 97精品国自产拍在线观看 | 欧美日韩超碰 | 亚洲 中文 欧美 日韩vr 在线 | 国产色视频 | 一区二区三区四区在线 | 欧美怡红院视频 | 亚洲成人中文在线 | 99久久99久久精品国产片果冰 | 欧美性天天 | 黄色大片日本 | 成人资源网 | 欧美激情综合五月色丁香 | 草久在线观看视频 | 色婷婷激情综合 | 成年人视频在线免费观看 | 就操操久久 | 成年人视频在线观看免费 | 九九热在线视频免费观看 | 黄a在线 | 国产一二区免费视频 | 久久久国产精品网站 | 在线播放精品一区二区三区 | 中文有码在线视频 | 欧美一区日韩精品 | 999热视频| 国产在线观看高清视频 | 手机看片国产 | 日本久久久久久 | 国产黄色av | 日韩视频在线观看视频 | 亚洲成人二区 | 色综合天天| 97在线观看免费观看高清 | 六月激情 | 国产69精品久久久久99 | 久久人人爽人人爽人人片av软件 | www..com黄色片 | 中文字幕一区二区三区在线视频 | 亚洲精品视频在线观看免费视频 | 麻豆国产网站 | 91亚色免费视频 | 粉嫩aⅴ一区二区三区 | 日韩精品免费一线在线观看 | av成人免费在线观看 | 日韩精品黄 | 亚洲精品视频第一页 | 亚洲欧美国产精品 | 手机看片国产日韩 | 在线观看av中文字幕 | 日韩欧美高清在线观看 | 日日夜夜精品免费观看 | 六月丁香伊人 | 欧美日韩高清免费 | 久久av福利 | 在线中文字幕播放 | 99视频精品视频高清免费 | 亚洲精品国产高清 | 91精品国产91热久久久做人人 | 国产日韩精品在线观看 | 夜夜骑日日操 | 久久大香线蕉app | 国产成人一区二区啪在线观看 | 国产精品第54页 | 中文字幕在线观看视频网站 | av天天干 | 国产在线精品播放 | www成人av | 综合久久婷婷 | 婷婷亚洲五月色综合 | 五月天九九 | 欧美日韩裸体免费视频 | 在线国产激情视频 | 久久久久久久久久久久久久免费看 | 高清国产午夜精品久久久久久 | 在线观看aa | 激情影院在线 | 国产精品久久久久免费 | 91精品国自产拍天天拍 | 日韩av成人在线观看 | 免费午夜视频在线观看 | av网站手机在线观看 | 亚洲国产精品人久久电影 | 日韩毛片在线免费观看 | 国产 欧美 日产久久 | 一级特黄aaa大片在线观看 | av永久网址 | 日韩av网址在线 | 色噜噜日韩精品欧美一区二区 | 久久草在线视频国产 | 97碰碰视频 | 天天摸天天操天天舔 | 99视频在线免费看 | 91麻豆精品国产午夜天堂 | 六月丁香婷婷在线 | 99久久精品免费看 | 在线观看日韩中文字幕 | 中文字幕.av.在线 | 久久毛片网站 | 中文字幕av在线不卡 | 日韩在线大片 | 欧美不卡视频在线 | 欧美污网站 | 亚洲,播放 | 精品久久久久久久久久久久 | 欧美性色黄 | 国内精品小视频 | 亚洲精品456在线播放 | 国产在线1区 | 日韩色区| 欧美黄色免费 | 久久免费的精品国产v∧ | 日韩在线不卡视频 | 日韩高清av在线 | 日本成人中文字幕在线观看 | 国产精品免费观看久久 | 久久久久久久亚洲精品 | 国产综合激情 | 四虎欧美| 天天激情综合网 | 精品久久免费看 | 成人免费观看视频网站 | 国产成人高清在线 | 看毛片的网址 | 美国三级黄色大片 | 欧美射射射 | 二区三区av| 成人综合免费 | 日韩网站免费观看 | 欧美巨乳波霸 | 天天操天天草 | 成年人看片 | 六月色丁香 | 四虎国产永久在线精品 | 国产在线观看免费观看 | 欧美日韩精品电影 | 婷婷六月在线 | 亚洲理论影院 | 国产精品高清免费在线观看 | 国产精品视频 | 亚洲一级电影在线观看 | 亚洲高清在线视频 | 六月丁香激情综合色啪小说 | 天天插天天爱 | 99久高清在线观看视频99精品热在线观看视频 | 91精品在线免费观看 | 天天草天天| 日日爽 | 三级av在线免费观看 | 国产亚洲精品久久久久久久久久久久 | 亚洲国产精品成人va在线观看 | 91热爆视频 | 国产手机在线观看视频 | 亚洲涩涩一区 | 亚洲做受高潮欧美裸体 | 日本护士三级少妇三级999 | 探花视频免费在线观看 | 在线观看aa | 国产精品av在线免费观看 | 亚州日韩中文字幕 | 中中文字幕av在线 | 国产精品久久久久久久久久直播 | 精品av在线播放 | 91探花系列在线播放 | 日操干| 免费在线观看av网站 | 一区二区三区中文字幕在线观看 | 国产精品你懂的在线观看 | 91大神在线观看视频 | 国产香蕉视频在线观看 | 亚洲韩国一区二区三区 | 午夜精选视频 | 欧美99精品 | 婷婷中文字幕在线观看 | 国产一区久久久 | 亚洲狠狠干 | 日韩精品久久久免费观看夜色 | 黄色网址国产 | 免费黄色在线播放 | 午夜精品成人一区二区三区 | 久久天天躁狠狠躁亚洲综合公司 | 高清av在线免费观看 | 国产精品久久久久久欧美 | 亚洲激情在线视频 | 国产精品免费久久 | 在线亚洲精品 | 日日摸日日添日日躁av | 一区二区视频在线免费观看 | 人人爽人人| 韩国av免费在线 | 婷婷在线观看视频 | 欧美三级在线播放 | 国产 日韩 在线 亚洲 字幕 中文 | 色丁香综合 | 国产精品一区二区三区在线播放 | 四虎国产视频 | 久久亚洲免费视频 | 久久久久久久久网站 | 日韩精品专区在线影院重磅 | 亚洲午夜精品久久久 | 狠狠操影视 | 黄色国产精品 | 五月婷丁香网 | 久久国产美女视频 | 欧美日韩免费一区二区三区 | 免费a级毛片在线看 | 中文字幕在线看视频 | av在线电影免费观看 | 国产精品久久久久久av | 中文字幕一区在线 | 日本久久电影网 | 91精品区 | 91亚洲精品国偷拍自产在线观看 | 狠狠狠综合 | 国模视频一区二区三区 | 欧美激情综合色综合啪啪五月 | 国产免费影院 | www.国产在线 | 久久草在线视频国产 | 久久不卡电影 | 中文字幕av专区 | 国产精品自在欧美一区 | 国产亚洲高清视频 | 91热爆在线观看 | 中文一区二区三区在线观看 | 国产日韩一区在线 | 午夜精品久久久久久久久久久 | 久久久久久黄色 | 国产视频资源在线观看 | 日韩免费在线视频 | 亚洲久草在线 | 久久亚洲人 | ,久久福利影视 | 亚洲成人精品久久 | 九九免费在线视频 | 成人91视频 | 狠狠综合网| 黄色影院在线免费观看 | 久久精品3 | 日韩视频一区二区在线 | 蜜臀久久99精品久久久无需会员 | 亚洲涩涩涩 | 西西人体www444 | www.香蕉视频 | 天天综合入口 | 国产精品免费一区二区三区在线观看 | 天天色天天干天天 | 99久久精品国产观看 | 精品国产乱码久久久久久久 | 在线视频欧美日韩 | 国产精品av在线 | 久久精品超碰 | 亚洲日本在线视频观看 | 亚洲久久视频 | 91免费的视频在线播放 | www.狠狠插.com | 久久精品一二三 | 黄色av一区| 九九久久婷婷 | 天天爽天天爽夜夜爽 | 国产91精品高清一区二区三区 | 日本精品一区二区三区在线观看 | 香蕉影视在线观看 | 18久久久| 国产精品九九视频 | 99久久精品免费看国产四区 | 久久伦理影院 | 91久久久久久久一区二区 | 免费网址在线播放 | 激情欧美丁香 | 国产aa免费视频 | 日韩一区二区三区在线观看 | 啪啪肉肉污av国网站 | 中文字幕av免费观看 | 国产精品九九久久99视频 | 亚洲精品午夜国产va久久成人 | 久草视频在线新免费 | 欧美一级日韩免费不卡 | 日韩高清成人 | 91av视频免费观看 | 国产成人一区在线 | 国产中文字幕第一页 | 色av资源网| 久久久久久久久久久久久9999 | 免费看黄20分钟 | 国产精品国内免费一区二区三区 | 国产精品人成电影在线观看 | 日韩三级视频在线看 | 欧美另类激情 | 狠狠色丁香婷婷综合久小说久 | 亚洲最新在线视频 | www.色com | a成人在线| 在线免费av播放 | 91大神电影 | 久草在线免费看视频 | 超碰97人人射妻 | 极品嫩模被强到高潮呻吟91 | 久久天天综合网 | 久久精品亚洲一区二区三区观看模式 | www.色综合.com| 在线免费视频你懂的 | 日韩免费三区 | 最近2019年日本中文免费字幕 | 日韩在线观看第一页 | 亚洲精品在线观看视频 | 免费av免费观看 | 日日夜夜人人精品 | 天天操天天操天天 | 亚洲人成人在线 | 91av社区| 日本黄色免费在线观看 | 亚洲97在线| 精品视频不卡 | aaawww| 国产韩国日本高清视频 | 国产视频一二区 | 国产视频精品在线 | 欧美性爽爽 | 国产精品久久久久久久午夜片 | 日日夜夜91 | 91麻豆免费看 | 国产精品xxxx18a99| 91大神dom调教在线观看 | 中文字幕亚洲欧美 | 99精品久久久 | 中文字幕在线观看第一页 | 人人爽网站 | 国产成人在线播放 | 欧美国产一区二区 | av免费电影在线观看 | 91在线你懂的 | 一区二区三区免费在线播放 | 日韩av电影手机在线观看 | 精品一区 精品二区 | 久久成人精品视频 | 美女网站黄在线观看 | av成人黄色 | 成片免费观看视频大全 | 日韩激情第一页 | 日本在线观看一区 | 午夜国产福利视频 | 超碰国产人人 | 国产高清免费视频 | 伊人天天狠天天添日日拍 | 99色在线视频 | 国产91探花| 一区二区三区污 | 日本在线观看中文字幕无线观看 | 日本精品久久久一区二区三区 | av五月婷婷 | 欧美久久精品 | 丝袜足交在线 | 亚洲国产成人精品久久 | 中文字幕a在线 | 欧美成年性 | 在线看av的网址 | 在线观看亚洲专区 | 91色偷偷 | 国产自在线观看 | 国产亚洲永久域名 | 国产一区二区三区久久久 | 亚洲黄色app | 精品国产区在线 | 五月婷婷久草 | 插插插色综合 | 中文字幕在线观看2018 | 日韩特黄一级欧美毛片特黄 | 色视频网页| 国产精品理论片 | 欧美日韩中文在线视频 | 中文字幕在线有码 | 天天激情综合网 | 日韩网站免费观看 | 激情网站免费观看 | 久久成人国产精品入口 | 精品久久一 | 婷婷电影在线观看 | 天天曰天天爽 | 中文字幕视频一区二区 | 免费情趣视频 | 国产精品日韩在线 | 午夜精品一区二区三区免费 | 2022久久国产露脸精品国产 | 国产91粉嫩白浆在线观看 | 国产视频中文字幕在线观看 | 中文字幕在线播放一区二区 | 激情在线免费视频 | 国产在线免费观看 | 国产69久久精品成人看 | 美女久久久久久 | 欧美成人影音 | 国产精品18videosex性欧美 | www国产在线| 日韩一区二区三区在线看 | 天天色综合三 | 久久久香蕉视频 | 欧美日韩p片 | 国产在线国偷精品产拍 | 日韩精品一区二区三区在线播放 | www最近高清中文国语在线观看 | 国模一二三区 | 蜜桃传媒一区二区 | 国产亚洲综合在线 | 日本久久影视 | 中文字幕av在线 | 国产精品爽爽爽 | 色99之美女主播在线视频 | 黄色av观看| 91久久久久久久一区二区 | 麻豆视频国产在线观看 | 国产精品嫩草55av | 人人澡人摸人人添学生av | 国产99久久久国产精品免费二区 | www.天天色| 视频在线观看入口黄最新永久免费国产 | 在线国产激情视频 | 久久久久二区 | 99麻豆久久久国产精品免费 | 成人片在线播放 | 国产黄色网 | 韩国视频一区二区三区 | 久久草av| 91av视频在线免费观看 | 亚洲综合激情小说 | 日本成人中文字幕在线观看 | 久久在线播放 | 国语自产偷拍精品视频偷 | 在线观看国产v片 | 精品欧美一区二区三区久久久 | 一区二区精品在线 | 五月婷婷综合久久 | 久久夜色电影 | 国产精品第一页在线观看 | 精品国产免费观看 | 最近日韩中文字幕中文 | www.黄色网.com| 欧美性大胆 | 精品亚洲午夜久久久久91 | 久草在线这里只有精品 | 久久久久久久久久久免费av | 免费又黄又爽 | 久草在线最新视频 | 国产资源在线播放 | 久久视 | 黄色免费观看网址 | 国产aa精品 | 毛片精品免费在线观看 | 精品久久一二三区 | 国产在线a免费观看 | 亚洲国产网站 | 夜夜爽88888免费视频4848 | 国产手机在线播放 | 欧美乱淫视频 | 成人免费看视频 | 久久人人爽人人 | 最新国产在线视频 | 97**国产露脸精品国产 | 超碰资源在线 | 国产精久久久 | 一级黄色av | 国产精品精品久久久久久 | 一级片视频在线 |