亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Unity Shader LOD技術(shù)詳解:動態(tài)性能優(yōu)化與多級著色器切換實戰(zhàn)

Unity Shader LOD技術(shù)詳解:動態(tài)性能優(yōu)化與多級著色器切換實戰(zhàn) 1. 項目概述Shader LOD 到底是什么在 Unity 開發(fā)中尤其是面向移動端或需要兼顧性能與畫質(zhì)的項目我們常常面臨一個經(jīng)典的兩難選擇是追求極致的視覺效果還是保證流暢的運行幀率Shader LODLevel of Detail細(xì)節(jié)層次技術(shù)就是為解決這個矛盾而生的利器。簡單來說它允許你為同一個材質(zhì)準(zhǔn)備多個不同復(fù)雜度的 Shader 變體然后根據(jù)攝像機(jī)與物體的距離、當(dāng)前設(shè)備的性能等級等條件動態(tài)地切換到最合適的那個。這聽起來有點像模型的 LOD但它是作用在渲染管線的核心——著色器上。想象一下你的游戲里有一個閃爍著復(fù)雜高光、帶有視差映射和次表面散射的寶石。當(dāng)玩家角色緊貼著它觀察時這些細(xì)節(jié)至關(guān)重要。但當(dāng)這顆寶石被丟在遠(yuǎn)處的角落或者玩家的手機(jī)性能已經(jīng)吃緊時再為它運行那個包含幾十條指令的“豪華版”Shader無疑是一種巨大的性能浪費。Shader LOD 技術(shù)讓你可以定義一個“豪華版”高 LOD、一個“標(biāo)準(zhǔn)版”中 LOD和一個“極簡版”低 LODShader。系統(tǒng)會在運行時自動判斷“現(xiàn)在這個距離和性能狀況用‘標(biāo)準(zhǔn)版’就足夠了”然后無縫切換過去。這不僅能顯著降低 GPU 的著色器指令數(shù)減少 Shader 的 ALU 操作還能避免因使用過于復(fù)雜的 Shader 而導(dǎo)致的 GPU 瓶頸是大型項目性能優(yōu)化的必備手段。2. Shader LOD 的核心原理與工作機(jī)制要玩轉(zhuǎn) Shader LOD首先得理解 Unity 是如何管理和執(zhí)行這項技術(shù)的。這不僅僅是寫幾個 Shader 那么簡單它涉及到 Unity 的材質(zhì)系統(tǒng)、著色器變體編譯以及運行時決策邏輯。2.1 Shader Lab 中的 LOD 指令一切始于你的 Shader 代碼。在 Unity 的 ShaderLab 語法中你可以使用LOD指令為每個 SubShader 或整個 Shader 指定一個整數(shù)值。這個數(shù)值沒有絕對的單位它只是一個相對的成本標(biāo)識。數(shù)值越高通常代表這個 Shader 變體越復(fù)雜、消耗越高。Shader Custom/MyLODShader { Properties { ... } SubShader { // 這是一個高細(xì)節(jié)版本用于近距離或高性能設(shè)備 LOD 600 Pass { ... } } SubShader { // 這是一個中等細(xì)節(jié)版本 LOD 300 Pass { ... } } SubShader { // 這是一個低細(xì)節(jié)版本保底用 LOD 100 Pass { ... } } // 如果所有SubShader的LOD都高于當(dāng)前允許值則使用這個Fallback Fallback Diffuse }Unity 在渲染時會維護(hù)一個“當(dāng)前允許的最大 LOD 值”。對于每個材質(zhì)渲染引擎會從上到下檢查其關(guān)聯(lián)的 Shader 中的每一個 SubShader。它選擇第一個LOD值小于或等于“當(dāng)前允許的最大 LOD 值”的 SubShader 來使用。如果所有 SubShader 的 LOD 都太高則使用 Fallback。注意LOD指令可以放在 SubShader 層級也可以放在 Pass 層級。但通常放在 SubShader 層級更為常見和實用因為切換整個 SubShader即渲染方案比切換單個 Pass 更能體現(xiàn)性能差異。此外Shader 全局也可以使用LOD指令但這通常用于設(shè)置整個 Shader 的默認(rèn) LOD 或 Fallback 邏輯。2.2 全局 LOD 閾值與質(zhì)量設(shè)置那么“當(dāng)前允許的最大 LOD 值”由誰決定呢主要有兩個層面全局質(zhì)量設(shè)置Quality Settings這是最常用、最直觀的控制方式。在 Unity Editor 的Edit - Project Settings - Quality中你可以為每一檔質(zhì)量等級如“Very Low”, “Low”, “Medium”, “High”, “Ultra”設(shè)置一個Shader LOD值。當(dāng)你在游戲運行時切換質(zhì)量等級或者為不同性能檔位的設(shè)備預(yù)設(shè)不同的質(zhì)量等級時這個全局閾值就會改變。例如你可以將“Low”質(zhì)量的Shader LOD設(shè)為 200“High”質(zhì)量設(shè)為 600。這樣在低質(zhì)量下所有 LOD 高于 200 的 SubShader 都會被跳過。腳本動態(tài)控制你可以在運行時通過Shader.globalMaximumLOD屬性來動態(tài)修改全局 LOD 閾值。這給了你更精細(xì)的控制能力。例如你可以在檢測到設(shè)備發(fā)熱或電量低時主動降低這個閾值強(qiáng)制所有材質(zhì)使用更簡單的 Shader 變體。// 在腳本中動態(tài)設(shè)置全局Shader LOD void SwitchToLowQualityShaders() { // 將全局最大LOD設(shè)置為200所有LOD高于200的SubShader將不再被使用 Shader.globalMaximumLOD 200; }2.3 材質(zhì)自身的 LOD 覆蓋除了全局控制每個材質(zhì)Material實例還可以擁有自己的material.shaderLOD屬性。這個屬性會覆蓋全局的Shader.globalMaximumLOD設(shè)置只對該材質(zhì)生效。這允許你對特定重要的物體如主角、BOSS保持高畫質(zhì)而對背景或大量重復(fù)的物體進(jìn)行更激進(jìn)的優(yōu)化。// 為某個不重要的背景物體使用低LOD Shader public Material backgroundMaterial; void Start() { backgroundMaterial.shaderLOD 150; }工作機(jī)制流程總結(jié)當(dāng)渲染一個物體時Unity 首先看該物體材質(zhì)的material.shaderLOD是否被設(shè)置。如果設(shè)置了則以此值為準(zhǔn)如果為 0默認(rèn)值則使用Shader.globalMaximumLOD。然后拿著這個“最終允許的 LOD 值”去匹配該材質(zhì)所用 Shader 中的各個 SubShader選擇第一個 LOD 值小于等于該閾值的 SubShader 進(jìn)行渲染。3. 實戰(zhàn)構(gòu)建一個支持動態(tài) LOD 的完整 Shader理解了原理我們來動手寫一個完整的、支持三檔 LOD 切換的 Shader。我們將實現(xiàn)一個模擬“寶石”的材質(zhì)包含高、中、低三種細(xì)節(jié)表現(xiàn)。3.1 高 LOD 版本完整的 PBR 效果我們的高 LOD 版本LOD 600將模擬一個相對完整的基于物理的渲染PBR效果包含法線貼圖、高光反射和環(huán)境光遮蔽AO貼圖。雖然這不是一個真正復(fù)雜的 PBR但指令數(shù)已經(jīng)遠(yuǎn)超基礎(chǔ)漫反射。Shader Custom/DynamicLODGem { Properties { _MainTex (Albedo (RGB), 2D) white {} _NormalMap (Normal Map, 2D) bump {} _MetallicGlossMap (Metallic (R) Glossiness (A), 2D) white {} _OcclusionMap (Occlusion (G), 2D) white {} _Color (Color, Color) (1,1,1,1) _Glossiness (Smoothness, Range(0,1)) 0.5 _Metallic (Metallic, Range(0,1)) 0.0 _NormalStrength (Normal Strength, Float) 1.0 } SubShader { Tags { RenderTypeOpaque } LOD 600 // 高細(xì)節(jié)檔位 CGPROGRAM #pragma surface surf Standard fullforwardshadows #pragma target 3.0 sampler2D _MainTex; sampler2D _NormalMap; sampler2D _MetallicGlossMap; sampler2D _OcclusionMap; fixed4 _Color; half _Glossiness; half _Metallic; half _NormalStrength; struct Input { float2 uv_MainTex; }; void surf (Input IN, inout SurfaceOutputStandard o) { fixed4 c tex2D (_MainTex, IN.uv_MainTex) * _Color; o.Albedo c.rgb; // 從貼圖中讀取金屬度和光滑度 fixed4 mg tex2D(_MetallicGlossMap, IN.uv_MainTex); o.Metallic mg.r * _Metallic; o.Smoothness mg.a * _Glossiness; // 應(yīng)用法線貼圖 fixed3 normal UnpackNormal(tex2D(_NormalMap, IN.uv_MainTex)); normal.xy * _NormalStrength; o.Normal normalize(normal); // 應(yīng)用環(huán)境光遮蔽 fixed occlusion tex2D(_OcclusionMap, IN.uv_MainTex).g; o.Occlusion occlusion; o.Alpha c.a; } ENDCG }這個 SubShader 使用了SurfaceOutputStandard表面著色器它會被編譯成相對復(fù)雜的頂點和片段著色器包含了標(biāo)準(zhǔn)的光照模型、法線映射計算等。LOD 600標(biāo)志著它的高成本。3.2 中 LOD 版本簡化光照與貼圖中檔版本LOD 300我們將進(jìn)行簡化。去掉法線貼圖和 AO 貼圖金屬度和光滑度也從貼圖采樣改為直接使用材質(zhì)面板的滑塊值。光照模型可以繼續(xù)使用 Standard或者換成一個更簡單的如 BlinnPhong這里為了保持效果連貫性我們繼續(xù)使用 Standard但輸入數(shù)據(jù)大大簡化。SubShader { Tags { RenderTypeOpaque } LOD 300 // 中細(xì)節(jié)檔位 CGPROGRAM #pragma surface surf Standard fullforwardshadows #pragma target 2.0 // 降低Shader Model目標(biāo)可能產(chǎn)生更優(yōu)的指令集 sampler2D _MainTex; fixed4 _Color; half _Glossiness; half _Metallic; struct Input { float2 uv_MainTex; }; void surf (Input IN, inout SurfaceOutputStandard o) { fixed4 c tex2D (_MainTex, IN.uv_MainTex) * _Color; o.Albedo c.rgb; // 直接使用屬性值不再采樣貼圖 o.Metallic _Metallic; o.Smoothness _Glossiness; // 不使用法線貼圖o.Normal 保持默認(rèn)的模型法線 // 不使用AO貼圖 o.Alpha c.a; } ENDCG }注意這里我們將#pragma target從 3.0 降到了 2.0。這告訴 Unity 的著色器編譯器可以編譯到功能集更少的 Shader Model這通常能生成指令數(shù)更少的代碼兼容性也更好是 LOD 降級時的一個常用技巧。3.3 低 LOD 版本極致簡化低檔版本LOD 100追求極致的性能。我們可能只保留最基本的漫反射顏色甚至去掉實時動態(tài)光照使用頂點光照Vertex Lit或者一個最簡單的無光照 Unlit Shader。這里我們選擇使用一個極其簡單的漫反射 Lambert 光照模型。SubShader { Tags { RenderTypeOpaque } LOD 100 // 低細(xì)節(jié)檔位 CGPROGRAM #pragma surface surf Lambert noforwardadd // 使用Lambert漫反射且不添加額外的逐像素光only one directional light #pragma target 2.0 sampler2D _MainTex; fixed4 _Color; struct Input { float2 uv_MainTex; }; void surf (Input IN, inout SurfaceOutput o) { // 注意這里變成了 SurfaceOutput不是Standard fixed4 c tex2D (_MainTex, IN.uv_MainTex) * _Color; o.Albedo c.rgb; o.Alpha c.a; } ENDCG } Fallback Diffuse // 終極保底 }這個版本的變化更大使用了Lambert光照模型計算比 Standard 簡單得多。使用了noforwardadd指令這意味著這個材質(zhì)只會受到一個最重要的平行光或頂點光的影響其他光源會被忽略。這對于大量小物體如草地、碎石的性能提升是巨大的。輸出結(jié)構(gòu)變成了SurfaceOutput只包含 Albedo, Normal, Emission, Alpha 等基礎(chǔ)信息沒有 Metallic, Smoothness, Occlusion 等 PBR 參數(shù)。最后我們提供了一個Fallback Diffuse。如果因為某些原因比如全局 LOD 被設(shè)為 0連 LOD 100 的 SubShader 都無法使用Unity 就會回退到內(nèi)置的 “Diffuse” Shader保證物體至少能被看見。4. 在項目中配置與驅(qū)動動態(tài)切換寫好 Shader 只是第一步如何讓它在項目中智能地動起來才是發(fā)揮威力的關(guān)鍵。4.1 配置 Quality Settings 預(yù)設(shè)這是最基礎(chǔ)也是最重要的設(shè)置。你需要根據(jù)目標(biāo)平臺PC、主機(jī)、高端手機(jī)、低端手機(jī)來規(guī)劃你的質(zhì)量等級。打開Edit - Project Settings - Quality。你會看到一列質(zhì)量等級如 Very Low, Low, Medium, High, Ultra。每一列對應(yīng)一個質(zhì)量設(shè)置。點擊你想要設(shè)置的質(zhì)量等級比如“Low”在右側(cè)的 Inspector 面板中找到Shader LOD屬性。為其設(shè)置一個合適的值。根據(jù)我們上面 Shader 的定義Very Low / Low: 可以設(shè)置為 150。這樣我們的材質(zhì)會使用 LOD 100 的 SubShaderLambert 漫反射。Medium: 可以設(shè)置為 400。這樣會使用 LOD 300 的 SubShader簡化版 PBR。High / Ultra: 可以設(shè)置為 1000。這樣會使用 LOD 600 的 SubShader完整版 PBR。在Build Settings中為不同的目標(biāo)平臺如 Android, iOS, PC分配默認(rèn)的質(zhì)量等級。Unity 在運行時會自動根據(jù)當(dāng)前平臺選擇對應(yīng)的質(zhì)量等級從而應(yīng)用其Shader LOD設(shè)置。4.2 編寫運行時動態(tài)控制腳本通過腳本控制你可以實現(xiàn)更細(xì)膩、更動態(tài)的切換邏輯而不局限于固定的質(zhì)量檔位。場景一基于距離的 LOD雖然 Unity 沒有內(nèi)置基于距離的 Shader LOD但我們可以通過計算物體與攝像機(jī)的距離來動態(tài)設(shè)置material.shaderLOD。using UnityEngine; public class DistanceBasedShaderLOD : MonoBehaviour { public Transform targetCamera; // 主攝像機(jī) public float highDetailDistance 10f; public float mediumDetailDistance 30f; // 距離大于 mediumDetailDistance 則使用低細(xì)節(jié) private Material _material; private Renderer _renderer; void Start() { _renderer GetComponentRenderer(); if (_renderer ! null) { _material _renderer.material; // 注意這會創(chuàng)建材質(zhì)的實例 } if (targetCamera null) { targetCamera Camera.main.transform; } } void Update() { if (_material null || targetCamera null) return; float distance Vector3.Distance(transform.position, targetCamera.position); if (distance highDetailDistance) { // 近距離使用高LOD (對應(yīng)Shader中的LOD 600) _material.shaderLOD 600; } else if (distance mediumDetailDistance) { // 中距離使用中LOD (對應(yīng)Shader中的LOD 300) _material.shaderLOD 300; } else { // 遠(yuǎn)距離使用低LOD (對應(yīng)Shader中的LOD 100) _material.shaderLOD 100; } } void OnDestroy() { // 清理動態(tài)創(chuàng)建的材質(zhì)實例 if (_material ! null Application.isPlaying) { Destroy(_material); } } }重要提示在Update中每幀計算距離并設(shè)置shaderLOD可能會有一定的性能開銷尤其對于場景中成百上千的物體。在實際項目中通常不會對每個物體都這樣做。更常見的做法是將物體按重要性分類只對少數(shù)關(guān)鍵物體如主角、交互物品進(jìn)行每幀更新。使用觸發(fā)器Trigger或按固定時間間隔如每秒一次進(jìn)行更新而不是每幀。與傳統(tǒng)的 Mesh LOD Group 系統(tǒng)結(jié)合使用在切換 Mesh LOD 級別的同時也切換對應(yīng)的材質(zhì)/Shader LOD。場景二基于設(shè)備性能的動態(tài)降級你可以在游戲啟動時或運行中檢測設(shè)備性能幀率、發(fā)熱警告等然后動態(tài)調(diào)整Shader.globalMaximumLOD。using UnityEngine; using System.Collections; public class PerformanceBasedLOD : MonoBehaviour { public float checkInterval 5.0f; // 每5秒檢查一次性能 public int targetFrameRate 30; private float _deltaTimeAccumulator 0f; private int _frameCount 0; void Start() { StartCoroutine(PerformanceMonitor()); } IEnumerator PerformanceMonitor() { while (true) { yield return new WaitForSeconds(checkInterval); float currentFPS _frameCount / _deltaTimeAccumulator; _frameCount 0; _deltaTimeAccumulator 0f; Debug.Log($Current FPS: {currentFPS}); if (currentFPS targetFrameRate * 0.8f) // 幀率低于目標(biāo)的80% { Debug.LogWarning(幀率過低降低Shader LOD以提升性能。); // 逐步降低全局LOD例如每次降低100 Shader.globalMaximumLOD Mathf.Max(100, Shader.globalMaximumLOD - 100); } else if (currentFPS targetFrameRate * 1.2f Shader.globalMaximumLOD 600) // 幀率充足且LOD未到頂 { Debug.Log(幀率充足嘗試提升Shader LOD以改善畫質(zhì)。); // 逐步提升全局LOD Shader.globalMaximumLOD Mathf.Min(1000, Shader.globalMaximumLOD 100); } } } void Update() { _deltaTimeAccumulator Time.deltaTime; _frameCount; } }這個腳本會定期計算平均幀率如果幀率過低就自動降低全局 Shader LOD強(qiáng)制所有材質(zhì)使用更簡單的版本如果幀率很富裕則嘗試提高 LOD 以提升畫質(zhì)。這是一種簡單的自適應(yīng)畫質(zhì)策略。5. 進(jìn)階技巧、性能分析與避坑指南掌握了基礎(chǔ)用法后一些進(jìn)階技巧和避坑經(jīng)驗?zāi)茏屇愀玫伛{馭這項技術(shù)。5.1 Shader 變體管理與編譯策略當(dāng)你為同一個 Shader 編寫多個 SubShader或者在一個 SubShader 中使用#pragma multi_compile或#pragma shader_feature時會產(chǎn)生大量的 Shader 變體。Shader LOD 的切換本質(zhì)上是不同 SubShader也就是不同變體之間的切換。關(guān)鍵點變體剝離Variant Stripping在構(gòu)建項目時Unity 會嘗試進(jìn)行“變體剝離”即移除那些它認(rèn)為永遠(yuǎn)不會被用到的 Shader 變體以減少構(gòu)建后游戲的包體大小和運行時內(nèi)存占用。Shader LOD 的設(shè)置會影響剝離邏輯。問題如果你在 Quality Settings 中只為“High”質(zhì)量設(shè)置了 LOD 600而為“Low”質(zhì)量設(shè)置了 LOD 200。那么在構(gòu)建針對“Low”質(zhì)量的版本時Unity 的構(gòu)建管線可能會認(rèn)為所有 LOD 高于 200 的 SubShader 永遠(yuǎn)不會被用到從而將它們從最終構(gòu)建的 Shader 資源中剝離掉。后果如果你的游戲支持運行時動態(tài)切換質(zhì)量等級比如從“Low”切換到“High”或者你通過腳本將Shader.globalMaximumLOD提高到了 600這時系統(tǒng)會去尋找 LOD 600 的 SubShader但發(fā)現(xiàn)它已經(jīng)被剝離了物體就會渲染失敗顯示洋紅色錯誤材質(zhì)。解決方案明確構(gòu)建目標(biāo)如果你需要支持運行時多質(zhì)量切換在構(gòu)建時需要在Player Settings - Other Settings - Shader Stripping下進(jìn)行配置。一種方法是修改“Shader Variant Loading”選項或者確保在構(gòu)建時包含所有可能用到的質(zhì)量等級相關(guān)的 Shader 變體。更穩(wěn)妥的做法是在 Graphics Settings 中將你項目中用到的、包含多 LOD 的 Shader 加入到 “Always Included Shaders” 列表中防止其被過度剝離。使用 Shader Preloading在場景加載或游戲開始時通過Shader.WarmupAllShaders()API 來預(yù)熱和加載所有可能的 Shader 變體到內(nèi)存中但這會增加初始加載時間和內(nèi)存占用需權(quán)衡使用。5.2 性能 profiling 與 LOD 閾值調(diào)優(yōu)如何確定LOD 200、LOD 400這些數(shù)字是否合理最好的方法是結(jié)合 Unity 的性能分析工具。使用 Frame Debugger在游戲運行時打開Window - Analysis - Frame Debugger。逐幀查看繪制調(diào)用Draw Call。選擇某個使用了你自定義 LOD Shader 的物體的繪制調(diào)用在詳情面板中你可以看到當(dāng)前實際使用的Shader Pass名稱。通過切換質(zhì)量設(shè)置或觸發(fā)你的 LOD 切換邏輯觀察這里使用的 Pass 是否發(fā)生了變化從而驗證 LOD 切換是否生效。使用 Profiler 的 GPU 模塊在Window - Analysis - Profiler中切換到 GPU 分析模式。找到渲染你目標(biāo)物體的那個Render.Camera節(jié)點展開后可以看到具體的Shader耗時。通過對比切換 LOD 前后該 Shader 的 GPU 執(zhí)行時間通常以毫秒計你可以量化 LOD 切換帶來的性能收益。例如從 LOD 600 切換到 LOD 300某個復(fù)雜物體的片段著色器執(zhí)行時間可能從 2ms 降到了 0.8ms。調(diào)優(yōu)閾值不要憑空設(shè)定 LOD 值。通過 Profiler 找到性能瓶頸。例如你發(fā)現(xiàn)當(dāng)屏幕上同時出現(xiàn) 10 個特定模型時GPU 幀時間超標(biāo)。此時你可以嘗試逐步降低這些模型材質(zhì)的 LOD或全局 LOD并在 Profiler 中觀察 GPU 時間的變化直到幀時間回到安全范圍內(nèi)。這個“安全范圍”對應(yīng)的 LOD 值就是你針對當(dāng)前設(shè)備/場景的合理閾值。5.3 常見問題與排查技巧問題1LOD 切換沒有效果物體始終使用最高級的 SubShader。檢查順序首先確認(rèn)你的 Shader 中不同 SubShader 的LOD指令是否正確設(shè)置且數(shù)值有差異。然后檢查Quality Settings中當(dāng)前激活的質(zhì)量等級對應(yīng)的Shader LOD值是否低于你想切換到的那個 SubShader 的 LOD 值。最后檢查是否有腳本在動態(tài)設(shè)置material.shaderLOD或Shader.globalMaximumLOD覆蓋了質(zhì)量設(shè)置。使用Shader.globalMaximumLOD調(diào)試在腳本的Start方法里打印一下Shader.globalMaximumLOD的值看是否符合預(yù)期。問題2切換 LOD 時畫面出現(xiàn)閃爍或視覺突兀感。原因不同 LOD 級別的 SubShader 可能使用了不同的屬性Property。例如高 LOD 使用了_NormalMap紋理而低 LOD 沒有。當(dāng)從高 LOD 切換到低 LOD 時低 LOD 的 SubShader 不需要_NormalMap但材質(zhì)球上仍然有這個紋理的引用。這通常不會導(dǎo)致錯誤但如果你在兩個 SubShader 中對同一屬性如_Color的解釋不同例如一個用 RGB一個用 RGBA 的 Alpha 做其他事情就可能出問題。解決方案確保不同 LOD 的 SubShader 共享同一套 Properties 聲明。即使某個 SubShader 用不到某個紋理也最好在 Properties 塊中聲明它并在該 SubShader 中忽略即可。這能保證材質(zhì)球 Inspector 的界面一致避免資源引用丟失。更高級的做法是使用#ifdef等編譯指令在同一個 SubShader 內(nèi)根據(jù) LOD 或其他關(guān)鍵字來編譯不同的代碼路徑這樣能保證屬性集完全一致切換更平滑。但這會稍微增加變體管理的復(fù)雜度。問題3在移動設(shè)備上即使設(shè)置了很低的 LOD性能提升也不明顯。分析在移動設(shè)備上性能瓶頸可能不在片段著色器Fragment Shader的復(fù)雜度上而在其他地方Overdraw過度繪制半透明物體疊加、UI 覆蓋等。頂點數(shù)量模型面數(shù)太高。Draw Call 數(shù)量合批失敗導(dǎo)致 DC 過高。帶寬使用了未壓縮的大尺寸紋理。對策Shader LOD 主要優(yōu)化的是著色器計算本身。你需要結(jié)合其他優(yōu)化手段使用Mesh LOD來降低遠(yuǎn)處物體的面數(shù)。優(yōu)化材質(zhì)和紋理減少Draw Call靜態(tài)合批、GPU Instancing。使用紋理圖集Atlas和壓縮紋理格式。使用遮擋剔除Occlusion Culling減少不可見物體的渲染。 Shader LOD 應(yīng)該是你性能優(yōu)化工具箱中的一員而不是唯一工具。問題4如何為內(nèi)置的 Standard Shader 或 URP/Lit Shader 設(shè)置 LOD內(nèi)置 Standard ShaderUnity 內(nèi)置的 Standard Shader 本身已經(jīng)包含了 LOD 支持。你可以在材質(zhì)球的 Inspector 最底部看到一個 “Shader LOD” 滑塊或者通過material.shaderLOD屬性來設(shè)置。它的內(nèi)部已經(jīng)定義好了不同 LOD 對應(yīng)的簡化版本。URP/HDRP Lit Shader在 SRP可編程渲染管線中LOD 的概念可能有所不同或被集成到更復(fù)雜的細(xì)節(jié)層級系統(tǒng)中。在 URP 中通常通過配置不同質(zhì)量的 Renderer Features 和 Shader Quality 等級來實現(xiàn)類似效果。具體需要查閱對應(yīng)渲染管線的文檔。一個通用的思路是你可以創(chuàng)建多個復(fù)雜度不同的 URP Lit Shader 變體例如一個包含完整功能的復(fù)雜版一個去掉某些功能的簡化版然后通過自定義的腳本或系統(tǒng)根據(jù)條件為材質(zhì)分配不同的 Shader這本質(zhì)上也是一種手動實現(xiàn)的 LOD。6. 實戰(zhàn)案例為大規(guī)模植被系統(tǒng)集成 Shader LOD讓我們看一個更貼近實戰(zhàn)的綜合案例為一個開放世界游戲的植被系統(tǒng)草地、灌木、樹木實現(xiàn) Shader LOD。植被通常是面數(shù)多、實例數(shù)量巨大的性能殺手。設(shè)計思路三層 LOD 設(shè)計LOD 0 (近距離)使用完整的 PBR 著色包含法線貼圖、風(fēng)場動畫、基于距離的視差映射模擬簡單的高度、以及逐像素光照。LOD 值設(shè)為 800。LOD 1 (中距離)移除視差映射簡化風(fēng)場動畫計算例如從頂點著色器計算改為在腳本中預(yù)計算并傳入使用更簡單的光照模型如半蘭伯特。LOD 值設(shè)為 400。LOD 2 (遠(yuǎn)距離)使用頂點光照Vertex Lit或甚至是最簡單的 Unlit Shader只顯示一個基礎(chǔ)顏色和簡單的亮度變化。風(fēng)場動畫完全移除。LOD 值設(shè)為 150。驅(qū)動策略與 Mesh LOD Group 綁定這是最標(biāo)準(zhǔn)且高效的做法。為每一棵植物模型創(chuàng)建一個 LOD Group 組件設(shè)置多個不同面數(shù)的 MeshLOD0, LOD1, LOD2。然后為每一個 Mesh LOD 級別分配對應(yīng) LOD 級別的材質(zhì)。當(dāng) Unity 的 LOD Group 系統(tǒng)根據(jù)距離切換 Mesh 時材質(zhì)以及其背后的 Shader也自然跟著切換了。你只需要確保為每個 Mesh LOD 級別準(zhǔn)備的材質(zhì)其使用的 Shader 或材質(zhì)的shaderLOD屬性設(shè)置正確即可?;诿芏鹊慕导墝τ谙癫莸剡@樣由大量 Billboard廣告牌或簡單網(wǎng)格實例化渲染的物體可以寫一個管理腳本。這個腳本根據(jù)攝像機(jī)位置將一定范圍內(nèi)的草實例劃分為多個區(qū)塊。對于遠(yuǎn)離攝像機(jī)的區(qū)塊直接使用更低 LOD 的 Shader 進(jìn)行批量繪制例如通過MaterialPropertyBlock批量修改其材質(zhì)屬性指向一個更低 LOD 的共享材質(zhì)。具體實現(xiàn)片段概念性代碼// VegetationLODController.cs - 一個簡化的植被LOD管理器 using UnityEngine; public class VegetationLODController : MonoBehaviour { public Material highLODMaterial; // LOD 800 材質(zhì) public Material mediumLODMaterial; // LOD 400 材質(zhì) public Material lowLODMaterial; // LOD 150 材質(zhì) public float highToMediumDistance 20f; public float mediumToLowDistance 50f; private Transform _camTransform; private Renderer _renderer; private Material _originalMaterial; // 用于記錄初始材質(zhì)便于復(fù)位 void Start() { _renderer GetComponentRenderer(); _originalMaterial _renderer.material; _camTransform Camera.main.transform; } void Update() { if (_camTransform null || _renderer null) return; float dist Vector3.Distance(transform.position, _camTransform.position); Material targetMaterial null; if (dist highToMediumDistance) { targetMaterial highLODMaterial; } else if (dist mediumToLowDistance) { targetMaterial mediumLODMaterial; } else { targetMaterial lowLODMaterial; } // 避免每幀都切換材質(zhì)只有材質(zhì)變化時才切換 if (_renderer.sharedMaterial ! targetMaterial) { _renderer.sharedMaterial targetMaterial; } } void OnDisable() { // 可選對象禁用時恢復(fù)原始材質(zhì) if (_renderer ! null) { _renderer.sharedMaterial _originalMaterial; } } }在這個案例中我們直接切換了整個材質(zhì)球這比動態(tài)修改material.shaderLOD更徹底也便于管理不同的材質(zhì)屬性集比如低 LOD 材質(zhì)可能根本不需要風(fēng)場強(qiáng)度這個屬性。當(dāng)然更高效的做法是使用 GPU Instancing 配合 MaterialPropertyBlock 來批量修改屬性但邏輯會更復(fù)雜一些。通過將 Shader LOD 技術(shù)與 Mesh LOD、合批技術(shù)、遮擋剔除等結(jié)合你可以構(gòu)建一個極其高效且畫質(zhì)可伸縮的植被渲染系統(tǒng)這是大型項目性能保障的基石之一。記住好的優(yōu)化是多種技術(shù)組合的藝術(shù)而 Shader LOD 無疑是其中色彩濃重的一筆。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美激情片一区二区| 青草精品视频-日本久久久久网站| 国产操操日韩三级黄| 欧美大香蕉在线观看| 日天天九九天堂666| 中文字幕亚洲永久精品| 91综合中文字幕| 97精品一区二区视频| 综合网 欧美| 天堂麻豆天美| 亚洲字幕一区二区| 久久原创中文| 日本日逼视频网| 精品综合久久久久久五月天| 歐美一級亂黃99在綫精品| 综合另类| 99蜜桃臀久久久欧美精品网站| www.91理论| 亚洲av青草久久一区二区| 久久久穴999| 欧美麻豆成人同性GⅤ在线| 中文子幕一二三| 污啪啪啪视频| 欧美日韩精品一区二区三区高清| 久一区久久蜜桃| 欧美日韩一干二干| 天天日日本| av无码av无码专区| 欧美精品宗合| 国产美女口爆吞精视频| 国产午夜视频| 中国黑人三级片网站上区| 人妻夜夜爽天天爽麻豆三区网站| 中文字幕日韩人妻视频一区二区三区| 人妻一二三区| 亚洲视频精选| 欧美在线综合| 91熟女视频网| 久久久穴999| 亚州色站 日韩电影| 蜜乳AV一区二区三区四| 日本伦乱九九九综合| 97干天天| 久久伊人青青草| 狠狠搞 亚洲91| 97综合在线观看| 九九玖玖精品| AV色五月天| 欧美久久婷| 996热| 精品视频在线观看精品| 少妇精品久久| 日韩熟女三十乱伦| 亚洲在线网站| 欧美色综合影院| 亚欧毛片基地国产毛片基地| 狠狠操综合| AV大香蕉| 欧美婷婷| 久久国色天香香蕉| 91少妇香蕉久久精品| 国产性感骚丝袜在线| 国产精品久久久久久夜夜夜| 97欧美色综合| 欧美极品| 最新无码国产| AV网站高清无码在线观看| 欧美性生活免费网| 日熟女| 欧美传媒| 2023天天操夜夜操| 国产欧美亚洲精品a第2页| 精品少妇人妻av久久免费| 日本东京热久久久电影| 天天操天天干一区二区| 色拍偷亚洲| 91蜜臀熟女| 七久久久| 欧美日韩人妻婷婷一区| 超碰日韩美妻| 久久专区| 国产一区二区视频在线播放| 久久久久久久九九九九九九| 色偷偷2020免费视频播放| 欧亚 另类 久| 日韩一二三区| 无码高清专| 一级性爱aaaa| 久久久久密臀一区二区| 91性高朝久久久久久久久| 国产一级片| 国产在线76页| 色97国产69香蕉| 美女91在线| 色综合加勒比| 黄aaaaaaaaaaaaaaaaaa色网站| 香一区二区三区| 欧美亚洲清纯| 亚洲国产精品无码AV久久| 日本十八禁免费看污网站| 欧美丰满熟妇XXXX性ppX人交| 成人欧美一区二区三区黑人一| 亚洲欧洲无码97久久精品| 综合少妇网| 一起草高清无码| 大香蕉久| 蜜桃久久精品一区二区三区| 欧美色交| www.99热| 亚洲熟女乱综合一区二区三区| 不卡视频一区蜜桃视频 | 亚洲啪啪视频一区二区| 97 超碰 人人做 人人爱| 精品久久97观看在线视频| 欧美色图99| 97超碰护士| 99性视频| 亚洲av资源| 最近的最新的中文字幕视频| 97chaopenrihan| 探花在线免费观看视频国产一区| 色婷婷久久综合超碰| 在线播放成人高清免费视频| 啊啊啊好湿久久| 尤物网站91| 男人的天堂网免费| 97久久久| 国产黄色动态精品| 日本十八禁免费看污网站| 成人A片男人的天堂| 91看黄片| 亚洲欧洲第二视频在线观看色图| 熟女乱伦A| 日本高清一本二本免费不卡| 久久久婷婷| 中韩中文字幕在线观看| 午夜激情床戏激情| 一级片在线观看高清无码| 白 大 人妻 区 在线| 日韩精品永久在线观看| 97超碰美国| 暴力av在线| 超碰狠狠操| 国产精品国产精品国产| 久久夜夜夜| 免费一级欧美片片线观看| 台湾佬大香蕉| 九月色婷婷| 国产久久久久久| 黑丝91视频| 亚洲欧美日韩二区视频| 蜜臀久久99精品久久久久| 欧亚乱色熟一区二区三四区| 天天插天天操| 嫩呦国产一区二区三区AV| 日韩97精| 啊a一区在线| 欧美一级久久久丰满| 久久久精品视频欧州站| 97精品国产97久久久久久免费| 蜜桃久久一区| 亚洲色图 欧美热图 清纯唯美 另类自拍| 国产精品 视频| 久久久久9999妇女| 十八禁视频网站| 翔田千里无码一区| 啊啊啊啊免费视频| 国产精品熟妇一区二区三| 久久一区二区三区入口| 天天综合网网欲色| 9久久久久久| 白丝1区2区3区| 国产av又色又爽又黄| 天天天干977| 欧美激情欧美精品| 99色视频| 欧美成人A√在线一区二区| 亚洲麻豆18发?| 男人的天堂2019AV| 芊芊操逼视频无码| 无码久久亚洲高清,| 少妇高潮九九九九九九九| 熟女中出视频| 97国产色综合| 强奸乱亚洲| 家庭乱伦麻豆| 777超碰| 99热在线只有精品| 成人久久精品| 污污污8888| 亚洲91极品| 在线观看综合精品亚洲| 啪啪视频亚洲第一| 9色国产精品一区粉嫩 | 超碰99在线| 国产精品探花视频| 日本操逼视频导航| 中文字幕一区电影在线观看| 老司机深夜18禁污污网站| 东京热大香蕉| 精品久久久久久中文字幕视频免费| 一个国产在线综合网站| 欧美黑人168页欧美黑人167| 99抽插| 青青草亚洲一区 | 狠狠97| 天天舔天天日天天射| 色香阁在线| 丁香五月婷婷啪啪| 婷婷丁香五月激情啪啪| 这里只有精品视频在线| 又大又长又爽| 97人人爱人人做人人乐| 超碰综合色| 18岁禁 茉莉成人久久| 啊嗯好大视频在线观看| 超碰人妻久久人妻中文97| 淫色网综合| 亚洲天堂女优在线| 婷婷精品国产一区二区三区日韩| 人妻丝袜肏逼| 国产丁香精品露脸视频| 男人天堂新在线| 国产精品播放| 国产精品久久久久久久电影渣男| 日本1区2区不卡视频| 成人无遮挡毛片免费看| 激情小说成人日本无码一| 操逼操网| 色噜噜人妻av 中文字幕| 99re3这里只有精品| 人妻出轨一区二区三区| 欧美激情色婷婷花野真衣一区二区| 中文字幕78| 久久久少妇诱惑精品视频| 久久9免费视频| 国产精品另类一区大香蕉| AV天堂因数| 性一级黄色录像片网站导航| 在线日韩精品一区二区三区| 欧美人妻久久精品二区三区 | 久久精品99| 免费农村成人少妇人妻Aa一区二区视频| 欧美男女午夜啪啪| 99精品高潮| 日日夜夜骑| 久久AV无码AV| 一级久久久久久久久久久| 久久久久9| 嗯嗯啊啊操死我| 久久9999| 亚洲一区中文精品| 超碰人人妻| 绑缚麻绳人妻寝取完整版| 欧美第一页| 黄色大片视频在线免费看| 伦激情人妻另类人妻| 國產尤物AV尤物在線觀看| 欧美激情综合色综合啪啪五月| 亚洲男人的天堂一区二区| 天天天天做夜夜夜夜做| 麻豆成人影音在线| 国产精品制服丝袜清纯唯美| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 中文久久96| 天天拍夜夜| 精品成人亚洲午夜电影| 混色激情av| jiujiujiujingpin| 午夜啪| 日韩婷婷| 色哟哟1区2区| 伊人网免费视频| 99久久9| 日韩精品操少妇| 另类欧美色| 大香网站| 欧美日韩一干二干| 综合av社区| 99热免费| 97在线公开视频| 久久九九视频九九视频| 91黑丝美女| 天天影视色香欲综合网小说| 日韩99神马视频播放片在线播放| 精品1区2区3区| 日本日皮视频逼| 一本久久精品中文字| 欧美日韩青操| 操人妻逼91| 99热精品在线观看| 丁香五月天激情网站| 男插女青青影院| 电家庭影院午夜69久久夜色精品国产69乱 | 97在线免费视频观看| 欧美日韩操逼动图| 和协影院中文字幕三区| 国产精品日韩在线一区| 嗯嗯啊啊用力视频免费| 欧美一级在线观看成人| 夜夜狼人妻| 欧美人妻少妇| 91九久| 国产捆绑一区| 国产精品第二页| 国产野战露脸在线播放| 99只有精品| 亚洲精品乱码线路中文字幕| 天天天天天天天天综合| 视频黄色国产一级| 毛片麻豆91糖心精品毛情片| AV免费在线播放一区| 啊啊啊啊啊啊啊在线| 欧美色视频在线| 欧洲一区二区三区四区在线观看| 国产树林里野战在线看| 九久久九九久视频| 久久色一区| 国产精品4p在线观看| 九九夜精品九九在线| 亚州免费啪啪视频| 校园春色 欧美| 欧美成人精品一区二区三区| 激情抓乳插进去啪啪啪日韩| 激情小说亚洲视频| 骚货人妻偷情自拍在线视频| 国产精品爱欲| 欧美,日韩综合久久| 日韩精品怡红院| 欧美东京热精品A∨| 欧美性夜| 色综合99999| 亚洲第一页色| 天天操天天射天天日| 久久9精品网站| 精品国产乱码久久久久久影片| 中文操逼字幕| 欧美综合网站999| 中文字暮97| 国人欧美精品一区二区| 久久婷婷电影网| 久久亚码| 九九毛片这里只有精品| 日本免费专区| 欧美夜夜草视频| 性色高清..……| 欧美精品另类人妖xxxx| 免费一级视频特黄色大片| 久久精品 六十路 熟女 欧美| 中文字幕人乱码中文字的预防方法 | 亚洲操人| 国产一区二区三区白丝| 亚洲精品国产拍免费91在线| 成人色女网| 五月丁香| 国产精品久久久三级无码| 放黄片放3级黄片没穿衣服| 曰本道人妻久久久在线不卡色视频| 五月丁香久久| 牛黄色久午久| 九九久久一区二区伦理| 无码高清操逼| 久久综合97| 狠狠爱AV| 亚洲AV不卡在线观看尤物| 麻豆天美电影一区二区| 中文自拍欧美影视| 特级毛片特黄久久免费看| site:sinbotex.com| 久久成人东京热人妻| 亚洲欧美另类少妇精品| 97色五月天完| 天天日少妇逼AV| 色色色欧美| AV麻豆免费一区| 欧美91变态| 日韩精品一二三| 激情四射婷婷六月天| 蜜臀99999| 欧美性暴力猛交XXXX | 天天天天做夜夜夜夜做| 精品美女在线视频| 欧洲乱码一区二区| 任我爽视频在线观看| 亚洲精品一区中文字幕乱码| 色五月大香蕉| 色综合色欲色综合色综合色综合| 国产97视频免费观看| 欧美αv.com| 在线无码视频| 无码抄逼网| 欧美成人黄网色网站| 日韩一级成人毛片免费观看| 岛国网址国产| 91干熟女| 艳美熟妇先锋一二三区| 97爱欧美| 我想要 啊 啊 啊| 欧美综合亚洲综合| 国产成年女黄特黄| 欧亚成人| 久久极品伊人| 超碰性爱97| 走光一区92下载| 综合97久久| 农村少妇久久久久久久| 色婷婷国产精品一区在线观看| 久久久久久久唑| 91操熟女| 黄片com.| www久久久| 日本少妇va7777| 日韩 成人 有码| 精品久久久久成人码免| 伊人操| 夜草网站| 日韩AC| 色蜜AV| 欧美97视频| 欧洲亚洲人妻无码久久三区四区| 中文视频在线观看| 亚洲欧美自拍偷拍| 色综合美国| 日韩精品99久久久久久中文字幕 | 国产无马在线| 色五月综合| 日韩国产十八禁| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 美女久久久| 插穴性爱视频在线观看| 久久香蕉国产传媒一区剧情天美| 今日头条成人一区二区三区四虎精品| 亚州色图欧美色图| 日韩Va亚洲va欧美Ⅴa久久| 中文字幕在线日亚洲9| 欧美三级免费伊人| 亚洲 日本 不卡| 亚洲伊人a线观看视频| 天天爱天天操| 青青青草原| 国产真乱mangent| 99ri视频| 大屁股熟女一区二区三区| 国产偷人伦激情在线观看| 免费在线观看AV无码网站| 日韩 人妻 精品| 久久蜜桃一区二区| 日本精品高清一二区一本到| 99青青草国产视频| A级片一区| av一区二区三区 中文| 热久久国产精品视频大陆精品| 色97干| 日本午夜久久电影| 欧美熟女丝袜| 大香蕉一区二区在线观看.| 伊人成人中文字幕久久网| 欧美精品欧美精品系列| 亚洲国产欧美一区二区潘金莲| 嗯嗯啊啊视频在线看| 日1区2区3区2020| 国产精品欧美日韩久久| 樱花草社区www中国| 摸奶性爱视频网站在线免费播放| 欧美黑人XXXⅩ高潮交| 天天影视91看看| 国产精品岛国片在线观看| 亚洲一区二区 麻豆传媒| 色综合国产在线观看| 天综合网| dy888午夜老子影视达达兔| 婷婷丁香六月| 91爱啪| 久久久久久亚洲精品不卡人乳| 东京热,男人的天堂| 乱伦熟女区| 欧洲欧美视频一区二区| 欲香欲色天天天综合和网| 极品综合| 天天插天天操天天摸天天射天天看| 成人无码在线超碰网| 男人的天堂2018.| 亚洲码在线中文在线观看| 欧美se亚洲| 艹精品| 五月天AV资源| 亚洲丝袜二区| 玖玖爱在线视频免费观看| 美女的肌被草喷水视频| 中国一级操逼视频| 亚洲春色欧美| 97国产色综合| 91精品久久久| 少妇熟女视频一区二区三区| 爽爽淫人网| 人人操人人色网| 久久久∴| 久久婷婷精品| A级在线视频| 最新av在线| 欧美人妻久久精品二区三区 | 五月天婷婷综合| 免费试看60秒| 亚洲日韩乱码中文无码蜜桃臀网站| 亚洲一区二区三区AV无码| 青青草原香蕉日本Ap| 九九热男人天堂| 无码逼| 91综合天天| 日欧美色| 成人电影一区| 成人三一级一片aaa| 欧美宗合网| 伊人网在线观看| 国产精品99久久久www| 中文字幕在线观| 亚洲色图综合网| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 日韩性爱毛片操骚逼| 超碰97日韩| 第45页一区二区| 91人妻Pr| 能在线播放的国产三级| 男人天堂2030| 人人九九精| 啊啊啊好舒服好爽啊啊啊视频| 亚洲AV无码国产精品久久久久| 人人妻人人玩人人澡人人爽| 97热视频在线观看| 高树玛利亚无码流出| 亚洲成人久久美女| 搡老人老9丨女老熟人| 欧美性xxxxx狂欢| 99日视频在线免费| 欧美A√综合网| 欧美午夜精品久久久久久超碰| 国产第25页在线观看| 操操操五月天婷婷丁香影院| 欧美日韩久久精品爱爱| 超碰这里有精品| 免费看污网址| 国产亚卅97| 日韩啪啪啪啪啪| 国产久久久久久久久一区二区| 丰满人妻一区二区三区性色| 看全色黄大色大片免费视频| 亚洲美女精品九九视频| 日韩色图 一区二区| 丝袜综合| 国产性刺激| 天美av在线观看| 免费视频无码| 激情综合五月婷婷| 日本狠狠干| 狠狠操综合| 大屁股xxxxx| 五月天黄色激情视频| 久久人人爽爽人人爽人人片αV| 午夜啪| 69国产对白刺激| 另类图片综合| 欧美成熟性爱精品| 国产精品盗摄 偷窥盗摄| a'v在线资源| 99精品国产户外露出| 国产精品久久久吖| 国产黄色小视频网站| 国产一区二区免费福利片| 欧美大波激情xxxx| 亚洲一区二区三区不卡国产欧美| 欧美 中文字幕 一区| 亚洲性爱高潮影院| 99999精品成人| 二对二中文字幕。| 亚洲精品一区二区免费在线观看| 亚洲色图 图片| 在线电影亚洲色图| 久久老熟女| 三上悠亚在线毛片91| 男女啪啪网站免费视频| 亚洲一区二区三区播放在线| 无码在线亚洲| 天天射影院| 亚洲AO在线| 亚洲欧美日韩电影网站一区| 亚洲操操操无码| 亚欧成人一级片在线播放| 超碰精品日韩欧美国产| 亚洲系列第一页| 婷婷六月色| 亭亭丁香激情| 日韩av电影网站| 三级色影综合网| 在线视频 亚洲精品| 亚洲小电影免费涩涩成人在线高清 | 亚欧Av| 日韩精品一区二区三区四虎影视| 97硬碰| 亚洲色综网| 欧美一区二区男人天堂| 日本东京热加勒比久久| 亚洲av在线免费观看| 婷婷精品国产一区二区三区日韩| 欧美后入式| 蜜乳成人AV| 高清国产av无码| 五月婷婷hd| 久久久久成人网| 91被操| 99综合视频一体| 香蕉久久精品| 亚洲 暴爽 AV人人爽日日碰| 一,爱啪啪,在线免费视频| 九九热免费国产视频婷婷伊人五月 | 婷婷伊人一区| 天天干人妻视频| 无码一区二区精品视频久久久春药| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 久久久久久久六六| 最新亚洲黄色免费电影| 成视频在线观看免费看| 久久女同性恋一二区| 激情小说亚洲色图| 亚洲日韩精品在线播放| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 九九九九九用不成了| 91青青草| 九九av| 激情婷婷丁香网| 男女性感激情网站| 久热精品色情| 欧美成年人性爱视频免费观看| 九九人人操| 91伊人久久在线| 少妇人妻好深太紧了vr91| 免费看美国人人爽,人人操| 91美女视频直播| 丝袜熟女一区二区三区| 久久人妇| 可以在线观看AV的网站| 久久久99999久网站| 国产午夜福利电影免费在线观看 | 天天视频黄| 日本有码影片下载| 一级性爱aaaa| 青青草无码视频| 三级AV入口| 伊人991| 人妻一二三区| 久湿久久| 精品在线观看视频在线| 伊人少妇久久久| 91free福利| 亚洲欧美综合网| 99自拍视频在线| 少妇熟女一区二区三区| 亚洲男人的天堂亚洲| 夜夜嗨视频| 国产精品肉丝自拍| 99久久久久久亚洲精品不卡| 丝袜喷水在线| 欧美精品成人在线播放| 欧美色自拍| 国产精品无码AV网站| 中文字幕精品亚洲熟女| 五月综合视频| 日本熟妇浓毛hdsex| 神马午夜久久久| 精品午夜福利国产一区二区在线观看 | 丝袜天堂| 人妻人人做人人澡人人爽欧美一区| 欧美体内射精| 天天操天天插| 国产美女口爆吞精视频| 亚洲性猛| 色婷五月天| 亚洲精品自拍| 色偷偷超碰亚洲| 五月婷婷深深爱| 91香蕉视频在线观看免费| 97av,com| 国产亚洲一黄| 亚洲熟女性高潮久久久| 色婷婷日韩精品一区二区三区| 五月丁香网站| AV和黑人在线播放| 校园春色第一页| 欧洲一区二区三区免费| 亚洲一区中文字幕一区| 亚洲精品国语在线播放| 国产九九九九九九| 97 亚洲 日韩 欧美 在线| 中文字幕精品一区二区精| 久久久久女教师免费一区| 欧色综合| 天天天天操| 最好看的中文字幕在线2018| 91美女片在线| 97超碰人操| 97久精品| 无套内射性感少妇视频| 日本黄色精品专区网站| 97超级久久| 日韩成人小视频| 91在线色| 婷婷成人久久久精品| 国产黄色av大片网站| 爱妃国产亚洲视频中文字幕| 久久久久女教师免费一区| 美女AV一区二区| 天天综合色电影| 自拍偷拍 日韩无码| 国产强奸AV在线| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 色色婷婷五月天| 强奸乱伦大香蕉| 日本不卡一区| 日韩欧美女求操每天更新| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 91亚洲色人| 一区在线精品中文字幕| 这里都是精品| 午夜精品久久久99热蜜桃的功能特点| 中文字幕精品丝袜| 国产11页| 色优久久| 国产热RE99久久6国产精品首| 国产女人和拘做爰视频| 白丝被操91| 97色碰| 亚洲精品九九九| 蜜臀99久| 久久一区二区蜜桃| 97神马久久| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 亚洲性综合11| 超碰 国产熟女精品一区| 丝袜无码a片| 国产精品久久久蜜臀| 国产超碰国产97| 天综合网| 有码免费观看| 欧美日韩国第一区| 丝袜喷水在线| 麻豆一区二区三区精品| 亚洲视频一二区| 日本大香蕉| 热热热热日日漂亮永久永久国产日| 熟女色图在线| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 张柏芝国产一区在线观看| 日韩射精| 一级片视频啪啪| 成人无码在线视频网站| 伊人网青青| 黄色AAAAAAAAAAA大片| 五月婷婷综合在线| 亚洲综合影院| 欧美懂色综合网| 中文字幕99999| 最近二区三区视频大全| 加勒比综合| 欧美一区二区三区不卡高清视频| 操东北女人| 婷婷色色五月天福利| 日语五十路和六十路亚洲国产精品 | 九九在线视频| 91人妻超碰| 亚洲综合小视频小说在线观看| 东北女人的毛片| 啊啊啊不要嗯嗯在线观看| 91色伦| 日韩综合97p| 2024黄色视频| 手机在线播放国产福利| 亚洲成人性爱在线观看| 大香蕉97久久| 亚洲天堂人人妻| 中日992视频| J?P?NESEHD熟女熟妇伦| 强奸乱伦AV网站| 亚洲AV成人在线| 91人妻超碰| 狠操91,com| 嗯嗯不要视频| 自拍偷拍亚洲熟女妇人精品| 凹凸视频特色日本特黄| 熟女在线视频| 无码精品啪啪啪一区二区三区三州 | 欧美一区二区福利在线| 在线看免费无码AV天堂的| 97中文超碰| 国产乱青青草久久| 国产91 丝袜在线播放00-百度| 免费人成在线观看网站品爱网| 日韩黄色成人性爱| 久久国产视频专区一二三| 不卡六六在线91| 襙一襙| 国产成人综合网| 热久日综合| 成人精品无码| 啊v视频在线观看| 中文有码第五页| 青青草原av| 欧美精品成人在线播放| 欧美亚涩| 久久精品操| 成人性爱av| 97精品一二区| 久久久久久久久9| 国产精品嫩草影院免费| 日韩AV中文字幕电影| 日韩本不卡视频在线观看 | 九九玖玖精品| 熟妇色99| 91Chinese在线| 国产精品国产| 亚洲一级性爱视频免费看| 中文字幕精品丝袜| 亚洲精品九九九| www狠狠| 欧美性五月| 18禁免费视频| 青青草大香蕉在线视频| 中文字幕后石码三区四区| 女人爽到高潮潮喷18禁网站| av一区二区三区四区五区久草臀| 亚洲无992tv| 大香蕉亚洲中文| 男人综合网| 操碰91| 欧美人与动性人交a| 中文字幕在线观看丝袜| 久热这里只有精品9| 91精品国产麻豆国产自产在| 国产欧美日产一区二区三区 - 国产欧美日 | 国产精品蜜乳AV| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 亚洲高清无码在线桃色| 日本中文字幕一区| 国产亚洲中文不卡二区| 高清肉丝中文无码| 色欲蜜臀AV| 青草园大香蕉| 亚洲乱码国产乱码精网站| 超碰久久精品| 日韩免费看黄片| 91天堂丝袜美腿| 日本福利二区视频| 78精品在线| 日韩国语字幕| 亚洲无码视频免费在线观看网址!| 色性荡荡荡荡视频| 无码137片内射在线影院| 久草资源在线视频官方总站日韩丝袜美腿| 国产精品com| 99re只有精品| 无码免费精品高清| 欧美男人的天堂| 精品少妇后入一区二区三区四区人妻巨乳| 亚洲日韩电影| 综合网亚| 欧美久久伊人| 久艹日日日| 色眯眯射| 免费av大片| 日本女人久久久| 少妇与黑人高潮在线| 亚洲欧美日韩二区视频| 亚洲极品| 久久久亚洲精品电影免费看| 九九综合久久中文字幕| 激情久久日韩精品中文字幕麻豆| 伊人久久婷婷| 2025年A片视频精品| 久久久99999久网站| 99综合视频一体| 涩综合导航| 精久久久| 天天干2019| 日韩AV无码中文一区二区| 久久久久久久久9| 国产农村妇女精品1区二区| 日本一区二区做爱的视频| 亚洲视频精选| 日本顶级天天操狠狠操夜夜操中文字幕| 欧美精品自慰系列寂寞少妇| 亚洲欧美电影| 欧美色图97| 艾草av| 五月婷婷久久综合| 日韩性爱1级片视频| 中文字幕激情小说| 欧美熟女妇同| 亚洲天堂区| 岛国艾薇凹凸视频天堂| 视频不卡中文字幕| 欧美人妻一区二区| 亚洲少妇激情视频| 伊人97超碰| 亚洲精品乱码久久久久久蜜桃麻豆| 懂色av一区二区三区天美传媒| 欧美日韩人妻婷婷一区| 性感女人网页在线观看视频| 免费精品福利在线观看| 国产福利视频精品视频| 九九九精品美女| 亚洲精品国产熟女久久久| 厕所偷拍在线| 亚洲av无码成人精品国产| 亚洲国产91精品一区二区久久| 欧美精品97| 亚洲双插| 999熟女精品| 美女大乳久久久久久久女人18| 麻豆天美电影一区二区| 亚洲成av人片色午夜乱码| 欧美色视频在线| 日韩美女啪啪一区| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 无码91| 天天操天天插| 婷婷视频网| 91人人臊| 熟妇操花| 日韩中文字幕在线视频观看| 欧美丝袜制服久久| 乱伦av麻豆| 国产精品美女在线一区| 亚洲精品一区二区精品| AV天堂国产| 视频一区二区三区精品| 超碰在线人人射| 淫荡网址| 亚洲国产丝袜熟女av| 色噜噜狠狠色综无码久久合欧美| 亚洲欧洲日韩中文字幕一区| 黄页网站成人免费| 亚洲乱熟女一区二区| 中文字幕日韩情色| 人妻大香蕉| 啪啪啪东京| 国产探花精品在线| 亚洲精美粉嫩嫩泬在线观看 | 区自美91| 91亚.色| 亚洲中文字幕久久无码精品| 中日992视频| 啊啊啊好大好深| 97欧美| 亚洲自拍97| 尤物av网站免费在线播放| 91丝袜在线观看| 操逼A∨| 日韩无码操逼片| 亚洲中文一区二区三区| 亚洲一本色道中文无码aV天美| 韩国一级做A片免费的| 婷婷午夜| 久久久久久久 九九九九九九九| 色爱综合网欧美| 日韩资源网| 少好三P| 亚洲高清综合网| 人人看人人插| 国模少妇一区二区三区| 激情开心五月天| 伊人久久国产免费观看视频| 久久久专区| 日日骚一区二区三区| 91丝袜在线观看| 日韩国产在线观看av| 国产 码在线成人网站| 射丝袜高跟鞋99| 青草影院内射高潮| 国产精品久久久久久久久久久久久久| 男人天堂电影院| 日韩欧美国产一区二区三区四区| 99精品久久久久久久婷婷蜜桃| 亚洲天堂色图| jiujiujiujingpin| 中文久久久| 中文字幕奈奈美被公侵犯| 熟女精品一区二区三区| 国产精品视频| 欧美色图电影| 最新三级网址| 啊啊啊不要好疼视频| 天美欧美国产| 欧美在线啊啊| 人人干人人搞人人摸| 久久久久久性爱片| 亚洲综合色在线| 人人弄人人摸| 巨爆乳肉感一区二区三区竹菊影视| 肉丝网站91| 亚洲资源吧| 国内毛片无遮挡国产| 五月香婷婷| 学生妹天天看| 国产女同在线观看视频| 熟女突然公开看18禁影片| 99re69| 男人天堂网址| 日本3级一区二区免费| 欧美另类自拍 | 国产一区二区三区高清视频| 精品久久人妻成人网| 欧美 日韩 另类 亚洲| 国产97色在线| 黄片不用下载在线观看| 亚洲中文字幕日产无码久久| 97日韩| 婷色五月| 精品久久久一本一道| 麻花豆传媒剧国产MV出差| 97精品国产97久久久久久免费| 亚洲中文sv| 国产精品色片一区二区| 色 亚洲 91| 国产精品久久aV| 操少妇很爽av| 成人小电影网站tex| 国产一区二区欧美日本| 亚洲日韩欧美一区二区| 日韩亚洲精品一区二区| 亚洲精品欧美专业| 精品视频一区二区| av天天在线观看| 97中文热色| 色婷婷久久| 欧美日韩国产精品久久色婷婷| 日韩色欲久久一二三四区| 欧美 传媒 麻豆 日韩 偷拍| 91社区伊人| 亚洲情色五月天| 翔田千里A片一区二区| 久都青青视频 | 日逼五月天| 黄片qw| aaa淫乱视频| 欧美日韩另类在线播放| 9超碰免费| 大香蕉www.超碰| 日韩精品人妻中文字有码在线 | 爽爽爽免费视频| 强奸抽插av| 欧美72网页| 国产理论视频在线播放| 内射卯月麻衣| 欧美三级中文字幕hd| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 麻豆2区1区天美| 色悠久| 一区二区 日韩 欧美 国产 传媒| 手机午夜电影神马久久| 亚洲AV无码久久精品蜜桃小说| 逼操网站| 人妻无码一区二区三区久久99| 久久婷婷综合国际产色怕| 日本黄色精品| 四虎永久在线精品免费网址| 中国熟女老妇仑乱一区二区三区| 亚洲免费日韩在线一区二区| 又大又长又粗又爽又黄| 熟女一区二区三区四区| 中文字幕成人| 亚洲欧美色图| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 国产亚洲精品农村妇女| 中国大陆国产高清AⅤ毛片| 无码操逼天堂| 伊人99热| 日本成人免费一区二区三区| 色娱乐色呦呦夜夜夜夜av| 久久久久久精品免费看A级| 色区97| 欧美狠狠操| 亚洲精品人妻吞精av| 99re9| 欧美大色交| 亚洲天堂,男人| 国产对白刺激视频| 天干天干天干天天做| 97操97色| 91人妻做a观看视频| 可乐操在线| 伊人网在线观看| 色色色999| 一区二区三区高清天码| julia国产在线 | 少妇色欲综合网2| 久久色一区| 国产AV超爽| 国模私拍一区二区三区神乳| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 欧美中日韩XXXX| 99啪啪| 欧美天天插| 成人性爱高清视频免费看| 日本成a人v网站在线观看| 乱色老一区二区三区的观看方式| 日本 成 人 小说 电影 一区二区| 嗯啊抽插大香蕉网页| 久久精品国产亚洲AV先锋| 啊啊啊在线看| 国产男女无套97| 在线观看一卡二卡| 日本一区二区不卡精品| 亚洲无码超碰免费| 国产丝袜啪啪| 99999这里都精品| 欧美中文字幕一区| 日本 欧美 亚中文字幕| 午夜寂寞欧美| 国产毛片在线| 久久久久久99AV无码免费网站| 超碰97极品9| 欧美成人一区二区| 乱码熟妇人妻久久久| 天天日B狠狠操| 午夜天堂啪啪| aⅴ日韩成人电影av在线免费看av大全 | 九九九九九精品| 神马久久免费电影观看| 欧美色日| 极品后入免费视频| 蜜臀av中字字幕网站| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 久久久精品视频免费观看| 亚洲另类小说卡通动漫| 日产欧美电影一区二区三区| 九热久| 天天日夜干| 快灬快灬 一下爽蜜桃在线观看| 一本色道久久综合亚洲二区三区| 国内97干免费看| 久久99手机免费视频| 欧美老妇综合网| 少妇与黑人高潮在线| 97综合日韩| 亚洲综合网图| 亚洲色图欧美色图制服丝袜| 熟女一区二区| 中文乱码99| 少妇同性| 青青操在线亚洲视频观看欧美在线| av在线浏览| 三上制服丝AV| 日韩人妻精品中文字幕| 精品乱码久久久久| 98超碰日本| 亚洲极品| 欧美日综合| 久久东京热久久| 清纯唯美亚洲| 欧美福利视频啊啊啊啊| 亚洲欧美在线观看无码| 少妇xx精品|