免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

基于SDF與Shader的卡通云朵消散效果完整實(shí)現(xiàn)指南

基于SDF與Shader的卡通云朵消散效果完整實(shí)現(xiàn)指南 1. 項(xiàng)目概述與核心價(jià)值最近在做一個(gè)風(fēng)格化項(xiàng)目需要實(shí)現(xiàn)一種卡通風(fēng)格的云朵消散效果不是那種寫(xiě)實(shí)的、基于體積云的物理模擬而是更偏向于2D動(dòng)畫(huà)或者三渲二風(fēng)格里云像棉花糖一樣被風(fēng)吹散或者被角色“打散”的視覺(jué)表現(xiàn)。市面上現(xiàn)成的插件要么太寫(xiě)實(shí)、性能開(kāi)銷大要么風(fēng)格不匹配調(diào)來(lái)調(diào)去總感覺(jué)差了點(diǎn)意思。于是決定自己動(dòng)手從建模到Shader實(shí)現(xiàn)一條龍走通。這個(gè)流程的核心是有向距離場(chǎng)SDF與自定義Shader的結(jié)合再配合Blender進(jìn)行高效的模型預(yù)處理。最終效果可控性強(qiáng)性能友好風(fēng)格也能完全自定義。簡(jiǎn)單來(lái)說(shuō)這個(gè)方案就是在Blender里制作帶有“厚度”信息的低面數(shù)云朵模型并烘焙出它的SDF紋理。然后在Unity的Shader中利用這張SDF紋理通過(guò)一些數(shù)學(xué)技巧動(dòng)態(tài)地控制云朵的“消散”邊界和內(nèi)部細(xì)節(jié)。它特別適合需要大量風(fēng)格化云朵、且云朵需要有動(dòng)態(tài)形變或消失效果的游戲比如平臺(tái)跳躍、卡通渲染的RPG或者休閑游戲。即使你Shader零基礎(chǔ)跟著這個(gè)流程也能一步步實(shí)現(xiàn)出來(lái)。下面我就把從建模到Shader的完整實(shí)現(xiàn)流程以及中間踩過(guò)的坑和優(yōu)化技巧毫無(wú)保留地分享出來(lái)。2. 核心思路與技術(shù)選型解析2.1 為什么選擇SDF有向距離場(chǎng)實(shí)現(xiàn)一個(gè)物體的溶解、消散效果常見(jiàn)思路有頂點(diǎn)動(dòng)畫(huà)、遮罩紋理Alpha Mask和SDF。頂點(diǎn)動(dòng)畫(huà)對(duì)模型拓?fù)浣Y(jié)構(gòu)依賴大且難以做出平滑、有機(jī)的邊緣變化。遮罩紋理需要精心繪制且變化模式固定缺乏靈活性。SDF則完美解決了這些問(wèn)題。你可以把SDF理解為一張“地圖”這張地圖上每個(gè)像素或紋素的值記錄了該位置到物體表面最近的距離。在物體內(nèi)部的點(diǎn)距離為負(fù)在物體表面的點(diǎn)距離為0在物體外部的點(diǎn)距離為正。有了這張“距離地圖”我們?cè)赟hader里就可以做很多事比如設(shè)定一個(gè)閾值所有距離大于這個(gè)閾值的部分被“切掉”消散并且由于距離值是連續(xù)變化的切出來(lái)的邊緣也會(huì)是平滑漸變的這正是我們想要的卡通化柔和邊緣。對(duì)于云朵這種形狀不規(guī)則、但又希望消散邊緣平滑自然的對(duì)象SDF是天作之合。我們只需要在建模階段烘焙好SDF圖運(yùn)行時(shí)在Shader里進(jìn)行簡(jiǎn)單的閾值比較和邊緣處理就能用極低的性能代價(jià)驅(qū)動(dòng)復(fù)雜的形態(tài)變化。2.2 整體技術(shù)管線設(shè)計(jì)整個(gè)流程可以拆解為四個(gè)核心環(huán)節(jié)形成一個(gè)清晰的生產(chǎn)管線建模與預(yù)處理Blender創(chuàng)建低面數(shù)的云朵基礎(chǔ)模型。這里的核心不是高模細(xì)節(jié)而是塑造一個(gè)大概的體積形態(tài)。然后我們將這個(gè)模型放入一個(gè)立方體“烤箱”中烘焙出它的SDF紋理一張灰度圖。SDF紋理烘焙Blender這是最關(guān)鍵的一步。我們將利用Blender的“烘焙”功能計(jì)算模型到立方體內(nèi)每個(gè)點(diǎn)的距離并輸出為一張2D紋理。這張紋理就是后續(xù)所有效果的“數(shù)據(jù)源”。Shader開(kāi)發(fā)Unity Shader Graph / HLSL在Unity中創(chuàng)建Unlit或Surface Shader讀取SDF紋理。通過(guò)一個(gè)可動(dòng)態(tài)調(diào)整的“消散閾值”參數(shù)將SDF值與閾值比較決定像素的顯示云體與透明消散。同時(shí)加入對(duì)SDF值的額外處理來(lái)模擬卡通化的軟邊緣和內(nèi)部噪波細(xì)節(jié)。效果集成與動(dòng)畫(huà)控制Unity C#編寫(xiě)簡(jiǎn)單的腳本控制消散閾值的動(dòng)態(tài)變化如從0到1從而驅(qū)動(dòng)云朵從完整到完全消散的動(dòng)畫(huà)過(guò)程??梢詫⑵渑c游戲事件如玩家攻擊、風(fēng)吹過(guò)觸發(fā)關(guān)聯(lián)。這個(gè)管線的優(yōu)勢(shì)在于解耦美術(shù)在Blender里負(fù)責(zé)造型和烘焙程序在Unity里負(fù)責(zé)效果邏輯和交互。SDF紋理作為中間資產(chǎn)使得復(fù)雜形態(tài)變化的數(shù)據(jù)驅(qū)動(dòng)成為可能。2.3 工具選型Blender Unity Shader GraphBlender開(kāi)源免費(fèi)功能強(qiáng)大其Cycles渲染器內(nèi)置了烘焙SDF準(zhǔn)確說(shuō)是“容積吸收”或“環(huán)境光遮蔽”的變通使用的能力完全滿足我們的需求。相比其他付費(fèi)3D軟件其流程更透明可控。Unity Shader Graph對(duì)于不熟悉HLSL代碼的開(kāi)發(fā)者來(lái)說(shuō)Shader Graph是絕佳選擇。它通過(guò)節(jié)點(diǎn)可視化編輯Shader理解SDF處理流程采樣、計(jì)算、比較非常直觀。當(dāng)然用代碼寫(xiě)Unlit Shader也同樣高效本文會(huì)兼顧兩種方式的思路。注意雖然標(biāo)題提到了“卡通云”但此SDF消散方案的應(yīng)用絕不限于云朵。任何需要做平滑溶解、動(dòng)態(tài)生長(zhǎng)/消退、形態(tài)遮罩的卡通風(fēng)格物體比如魔法屏障、幽靈、軟泥怪、地形腐蝕效果等都可以套用這個(gè)流程。其核心思想是用預(yù)計(jì)算的3D空間信息SDF來(lái)驅(qū)動(dòng)2D屏幕空間的像素表現(xiàn)。3. Blender建模與SDF烘焙實(shí)戰(zhàn)詳解很多人覺(jué)得在Blender里烘焙SDF很神秘其實(shí)只要理解其本質(zhì)是“計(jì)算距離場(chǎng)并存成圖片”步驟就非常清晰了。下面我以制作一朵簡(jiǎn)單的卡通云為例。3.1 云朵基礎(chǔ)模型創(chuàng)建我們的目標(biāo)不是高模而是一個(gè)能代表云朵體積的“殼”。過(guò)高的面數(shù)會(huì)急劇增加烘焙計(jì)算量和紋理分辨率需求。新建球體在Blender中添加一個(gè)經(jīng)緯球UV Sphere。選中球體進(jìn)入編輯模式Tab鍵。粗略塑形使用縮放S、移動(dòng)G和旋轉(zhuǎn)R工具配合衰減編輯快捷鍵O這是塑造有機(jī)形狀的神器。開(kāi)啟衰減編輯后你的操作會(huì)像筆刷一樣影響一個(gè)球形區(qū)域內(nèi)的頂點(diǎn)拉出云朵那種蓬松、不規(guī)則的感覺(jué)。多復(fù)制ShiftD幾個(gè)球體將它們縮放、旋轉(zhuǎn)后組合在一起形成一團(tuán)云的基本形態(tài)。布爾合并與精簡(jiǎn)選中所有球體使用布爾修改器Boolean Modifier操作選擇“并集Union”將它們合并為一個(gè)整體。然后應(yīng)用Apply這個(gè)修改器。接著添加一個(gè)重構(gòu)網(wǎng)格修改器Remesh Modifier模式選擇“體素Voxel”適當(dāng)調(diào)整體素尺寸如0.05m可以生成一個(gè)拓?fù)渚鶆颉⒘餍蔚乃芫W(wǎng)格。最后可以再加一個(gè)精簡(jiǎn)修改器Decimate Modifier將面數(shù)減少到2000-5000面左右確保是低面數(shù)模型。實(shí)操心得在塑形階段不必追求完美。SDF烘焙會(huì)對(duì)形狀進(jìn)行“模糊化”和“平滑化”所以模型的一些小瑕疵在最終效果里并不明顯。重點(diǎn)在于整體體積感和比例。3.2 創(chuàng)建烘焙用的“烤箱”與UVSDF需要在一個(gè)封閉的空間內(nèi)計(jì)算這個(gè)空間就是“烤箱”通常用一個(gè)立方體Cube來(lái)充當(dāng)。新建立方體這個(gè)立方體要完全包裹住你的云朵模型并保持一定的距離。太大浪費(fèi)紋理精度太小會(huì)切掉模型。通常讓云朵模型占據(jù)立方體70%-80%的空間比較合適。拆分UV關(guān)鍵步驟選中這個(gè)立方體進(jìn)入編輯模式。全選所有面打開(kāi)UV編輯窗口。點(diǎn)擊“UV” - “智能UV投射Smart UV Project”。這步是為立方體的六個(gè)面生成一套UV坐標(biāo)后續(xù)SDF紋理將存儲(chǔ)在這套UV上。記住我們烘焙的是立方體空間內(nèi)的距離場(chǎng)所以UV是打在“烤箱”立方體上而不是“食物”云模型上。材質(zhì)與烘焙設(shè)置在材質(zhì)屬性中為立方體新建一個(gè)材質(zhì)。在材質(zhì)節(jié)點(diǎn)編輯器里確保原理化BSDF節(jié)點(diǎn)連接著“表面”輸出即可無(wú)需復(fù)雜設(shè)置。最關(guān)鍵的一步在立方體的材質(zhì)節(jié)點(diǎn)中添加一個(gè)圖像紋理Image Texture節(jié)點(diǎn)。點(diǎn)擊“新建”創(chuàng)建一張新圖像命名為“Cloud_SDF”。圖像尺寸建議1024x1024或2048x2048顏色設(shè)置為“非彩色”即灰度圖。將這張新建的圖像的色彩空間從“sRGB”改為“非彩色Non-Color”這一點(diǎn)至關(guān)重要因?yàn)镾DF是數(shù)據(jù)不是顏色信息用sRGB空間會(huì)導(dǎo)致精度損失和計(jì)算錯(cuò)誤。將這個(gè)圖像紋理節(jié)點(diǎn)的“顏色”輸出連接到一個(gè)自發(fā)光Emission著色器節(jié)點(diǎn)再將自發(fā)光節(jié)點(diǎn)連接到材質(zhì)的“表面”輸出。這樣我們就把這張圖像指定為立方體表面的輸出目標(biāo)。3.3 執(zhí)行SDF烘焙核心步驟Blender沒(méi)有直接的“Bake SDF”按鈕我們需要巧妙地利用“環(huán)境光遮蔽Ambient Occlusion”或“容積吸收Volume Absorption”來(lái)模擬。方法一利用Cycles渲染器的“環(huán)境光遮蔽”節(jié)點(diǎn)推薦這是更直觀的方法利用了AO計(jì)算射線碰撞距離的原理。設(shè)置渲染引擎在渲染屬性中將渲染引擎切換到Cycles。設(shè)備根據(jù)性能選擇GPU計(jì)算或CPU計(jì)算。配置立方體材質(zhì)節(jié)點(diǎn)刪除剛才連接的自發(fā)光節(jié)點(diǎn)。添加“環(huán)境光遮蔽Ambient Occlusion”節(jié)點(diǎn)。將其“顏色”輸出直接連接到材質(zhì)輸出的“表面”。關(guān)鍵參數(shù)調(diào)整在環(huán)境光遮蔽節(jié)點(diǎn)屬性中將“距離Distance”設(shè)置為一個(gè)略大于立方體對(duì)角線長(zhǎng)度的值例如如果立方體尺寸是4m可以設(shè)為6m。這個(gè)距離定義了AO計(jì)算的最大范圍必須覆蓋整個(gè)立方體空間。確保環(huán)境光遮蔽節(jié)點(diǎn)的“僅局部Only Local”選項(xiàng)是取消勾選的這樣它才會(huì)計(jì)算來(lái)自立方體外部即模型的遮蔽。配置云朵模型材質(zhì)選中云朵模型給它一個(gè)簡(jiǎn)單的材質(zhì)比如純白色自發(fā)光。確保云朵模型在渲染時(shí)是可見(jiàn)的。執(zhí)行烘焙在渲染屬性中找到“烘焙Bake”面板。烘焙類型選擇“環(huán)境光遮蔽Ambient Occlusion”。勾選“選定到活動(dòng)Selected to Active”。重要在3D視圖中先選中云朵模型“食物”最后按住Shift再選中立方體“烤箱”這樣立方體會(huì)成為高亮的“活動(dòng)對(duì)象”。在烘焙設(shè)置中將“最大距離Max Distance”設(shè)置為和環(huán)境光遮蔽節(jié)點(diǎn)中相同的值如6m。展開(kāi)“輸出Output”設(shè)置確保輸出目標(biāo)是你之前為立方體創(chuàng)建的“Cloud_SDF”圖像。點(diǎn)擊“烘焙Bake”按鈕。等待計(jì)算完成你將在圖像編輯器里看到一張灰度圖。白色區(qū)域代表立方體表面離云朵模型很遠(yuǎn)SDF正值大黑色區(qū)域代表表面緊貼或深入云朵模型SDF負(fù)值大灰色過(guò)渡帶就是距離為0附近的表面。方法二利用“容積吸收”著色器這種方法更接近SDF的物理定義但設(shè)置稍復(fù)雜。為云朵模型創(chuàng)建一個(gè)新材質(zhì)在節(jié)點(diǎn)編輯器中刪除原理化BSDF添加一個(gè)體積吸收Volume Absorption節(jié)點(diǎn)和一個(gè)材質(zhì)輸出Material Output節(jié)點(diǎn)。將體積吸收節(jié)點(diǎn)連接到材質(zhì)輸出的“體積”。將體積吸收的“顏色”設(shè)為白色“密度Density”設(shè)為一個(gè)很高的值比如1000。這樣云朵模型內(nèi)部就變成了一個(gè)完全不透明的體積。立方體的材質(zhì)和烘焙設(shè)置同方法一但烘焙類型選擇“發(fā)射Emit”。原理是Cycles會(huì)計(jì)算從立方體表面發(fā)出的光線在到達(dá)云朵這個(gè)高密度體積時(shí)被吸收的程度這個(gè)“吸收距離”的倒數(shù)關(guān)系可以映射為SDF。踩坑記錄初次烘焙很可能失敗出現(xiàn)全黑或全白的圖。請(qǐng)按以下順序排查① 是否勾選了“選定到活動(dòng)”選擇順序是否正確先選模型后選立方體② 立方體UV是否正確展開(kāi)③ 圖像紋理的色彩空間是否設(shè)置為“非彩色”④ 環(huán)境光遮蔽節(jié)點(diǎn)的“距離”和烘焙的“最大距離”是否設(shè)置得足夠大⑤ 確保場(chǎng)景中有光源或者打開(kāi)場(chǎng)景世界環(huán)境的“環(huán)境紋理”雖然AO計(jì)算不完全依賴光源但Cycles的某些設(shè)置下無(wú)光會(huì)導(dǎo)致錯(cuò)誤。3.4 SDF紋理的后期處理與導(dǎo)出烘焙得到的灰度圖就是我們的SDF紋理但通常需要一些簡(jiǎn)單的處理來(lái)優(yōu)化它在Shader中的使用效果。反相可選根據(jù)你的烘焙方法得到的灰度圖可能內(nèi)部是黑值小外部是白值大。而在Shader中我們通常希望模型內(nèi)部SDF值為負(fù)或小值。你可以在Blender的圖像編輯器里或者導(dǎo)出后在Photoshop/GIMP中對(duì)圖像進(jìn)行反相Invert。一個(gè)更穩(wěn)妥的方法是在Shader中采樣后用1.0 - sampledValue來(lái)反相這樣更靈活。模糊/平滑有時(shí)烘焙出的SDF在模型邊緣梯度變化太尖銳??梢栽趫D像軟件中施加一個(gè)輕微的高斯模糊如半徑1-2像素讓距離場(chǎng)更加平滑這樣最終消散邊緣會(huì)更柔和。導(dǎo)出將處理好的圖像保存為PNG或TGA格式導(dǎo)入U(xiǎn)nity。務(wù)必在Unity的導(dǎo)入設(shè)置中將紋理類型Texture Type設(shè)置為“Default”并取消勾選“sRGB (Color Texture)”同樣將其視為非色彩數(shù)據(jù)。將Wrap Mode設(shè)置為“Clamp”防止邊緣采樣時(shí)出現(xiàn)重復(fù)的接縫。至此Blender部分的工作全部完成。我們得到了一張關(guān)鍵的SDF紋理它編碼了云朵模型在三維空間中的形狀信息。4. Unity Shader實(shí)現(xiàn)從SDF到消散效果有了SDF紋理接下來(lái)就是在Unity里讓它“動(dòng)”起來(lái)。我將分別用Shader Graph和代碼HLSL兩種方式講解核心邏輯你可以選擇適合自己的。4.1 Shader Graph節(jié)點(diǎn)化實(shí)現(xiàn)對(duì)于不熟悉代碼的開(kāi)發(fā)者Shader Graph是快速上手的利器。我們創(chuàng)建一個(gè)Unlit Graph?;A(chǔ)設(shè)置與屬性創(chuàng)建以下屬性Properties_MainTex(Texture2D): 云朵的基礎(chǔ)顏色/紋理圖。_SDFTex(Texture2D): 導(dǎo)入的SDF紋理。_DissolveThreshold(Range(0, 1)): 消散閾值0代表云朵完整1代表完全消散。這是我們動(dòng)態(tài)控制效果的主要參數(shù)。_EdgeWidth(Range(0, 0.5)): 消散邊緣的寬度用于控制軟邊的大小。_EdgeColor(Color): 消散邊緣的顏色比如亮白色或淡藍(lán)色增強(qiáng)卡通感。將_SDFTex的采樣器狀態(tài)Sampler State設(shè)置為“Clamp”。核心邏輯節(jié)點(diǎn)連接采樣SDF使用Sample Texture 2D節(jié)點(diǎn)對(duì)_SDFTex進(jìn)行采樣UV輸入使用模型的UV坐標(biāo)因?yàn)镾DF紋理是烘焙在立方體UV上的而立方體模型導(dǎo)入U(xiǎn)nity后其UV保持不變。閾值比較將采樣得到的SDF值假設(shè)范圍0~1其中0.5附近對(duì)應(yīng)模型表面與_DissolveThreshold進(jìn)行比較。這里有一個(gè)關(guān)鍵技巧我們不是直接比較而是先對(duì)SDF值做一個(gè)偏移和縮放使其與閾值比較時(shí)能產(chǎn)生一個(gè)平滑過(guò)渡帶。節(jié)點(diǎn)流SDF Sample-Remap節(jié)點(diǎn)可選用于調(diào)整SDF數(shù)據(jù)的有效范圍例如從 [0,1] 重映射到 [-0.5, 0.5]讓0對(duì)應(yīng)表面- 與_DissolveThreshold相減Subtract。我們得到delta sdf - threshold。生成Alpha遮罩delta值小于0表示該點(diǎn)在云朵內(nèi)部或深處應(yīng)顯示。delta值大于_EdgeWidth表示該點(diǎn)遠(yuǎn)離消散邊界應(yīng)完全透明。delta值在0到_EdgeWidth之間就是我們要的軟邊過(guò)渡區(qū)。使用Smoothstep節(jié)點(diǎn)可以優(yōu)雅地實(shí)現(xiàn)這個(gè)過(guò)渡。連接方式Alpha 1 - Smoothstep(0, _EdgeWidth, delta)。這樣delta在0時(shí)Alpha為1在_EdgeWidth時(shí)Alpha為0中間平滑過(guò)渡。邊緣色添加在過(guò)渡區(qū)我們還可以混合進(jìn)邊緣色。計(jì)算一個(gè)邊緣因子edgeFactor Smoothstep(0, _EdgeWidth, delta) - Smoothstep(_EdgeWidth - smallValue, _EdgeWidth, delta)這個(gè)因子在過(guò)渡帶中間最強(qiáng)兩邊衰減。然后用這個(gè)因子將_EdgeColor混合到基礎(chǔ)顏色上。最終輸出將處理后的顏色和計(jì)算出的Alpha連接到Master Stack的Base Color和Alpha端口。對(duì)于Unlit Graph還需要將Alpha連接到Alpha Clip Threshold以實(shí)現(xiàn)透明裁剪或者使用混合模式如Blend SrcAlpha OneMinusSrcAlpha。添加細(xì)節(jié)噪波進(jìn)階 單純的閾值消散邊緣可能太“干凈”不符合云朵的質(zhì)感。我們可以添加一些噪波Noise來(lái)打破邊緣的規(guī)則性。采樣一張?jiān)氩▓D或使用程序化噪波節(jié)點(diǎn)如Gradient Noise。將噪波值添加到_DissolveThreshold上或者與SDF值相加。例如adjustedThreshold _DissolveThreshold (noise * 0.1 - 0.05)。這樣消散邊界就會(huì)變得參差不齊更有自然消散的感覺(jué)。注意噪波的UV最好使用世界空間或?qū)ο罂臻g坐標(biāo)而不是模型UV以避免紋理拉伸和跟隨模型移動(dòng)。4.2 HLSL代碼實(shí)現(xiàn)Unlit Shader如果你更喜歡代碼的精確控制下面是一個(gè)簡(jiǎn)化的Unlit Shader核心片段Shader Custom/CartoonCloudDissolve { Properties { _MainTex (Base Color, 2D) white {} _SDFTex (SDF Texture, 2D) white {} _DissolveThreshold (Dissolve Threshold, Range(0, 1)) 0.0 _EdgeWidth (Edge Width, Range(0, 0.3)) 0.1 _EdgeColor (Edge Color, Color) (1,1,1,1) _NoiseTex (Noise Tex, 2D) white {} _NoiseStrength (Noise Strength, Range(0, 0.5)) 0.05 } SubShader { Tags { RenderTypeTransparent QueueTransparent } Blend SrcAlpha OneMinusSrcAlpha Cull Off // 雙面渲染云朵通常需要 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include UnityCG.cginc struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; float3 worldPos : TEXCOORD1; // 用于世界空間噪波 }; struct v2f { float2 uv : TEXCOORD0; float2 uvSDF : TEXCOORD1; float3 worldPos : TEXCOORD2; float4 vertex : SV_POSITION; }; sampler2D _MainTex, _SDFTex, _NoiseTex; float4 _MainTex_ST, _SDFTex_ST, _NoiseTex_ST; float _DissolveThreshold, _EdgeWidth, _NoiseStrength; float4 _EdgeColor; v2f vert (appdata v) { v2f o; o.vertex UnityObjectToClipPos(v.vertex); o.uv TRANSFORM_TEX(v.uv, _MainTex); o.uvSDF TRANSFORM_TEX(v.uv, _SDFTex); // 假設(shè)模型UV與烘焙UV一致 o.worldPos mul(unity_ObjectToWorld, v.vertex).xyz; return o; } fixed4 frag (v2f i) : SV_Target { // 采樣基礎(chǔ)顏色和SDF fixed4 col tex2D(_MainTex, i.uv); float sdf tex2D(_SDFTex, i.uvSDF).r; // SDF存儲(chǔ)在r通道 // 添加基于世界坐標(biāo)的噪波到閾值上使邊界不規(guī)則 float2 noiseUV i.worldPos.xz * _NoiseTex_ST.xy _NoiseTex_ST.zw * _Time.y; // 讓噪波動(dòng)起來(lái) float noise tex2D(_NoiseTex, noiseUV).r; float adjustedThreshold _DissolveThreshold (noise - 0.5) * _NoiseStrength; // 核心消散計(jì)算 float delta sdf - adjustedThreshold; // 假設(shè)sdf值越大越靠近外部 // 計(jì)算Alphadelta越小越內(nèi)部alpha越接近1 float alpha 1 - smoothstep(0, _EdgeWidth, delta); // 計(jì)算邊緣光暈因子 float edgeFactor smoothstep(0, _EdgeWidth, delta) - smoothstep(_EdgeWidth - 0.01, _EdgeWidth, delta); // 混合邊緣色 col.rgb lerp(col.rgb, _EdgeColor.rgb, edgeFactor * _EdgeColor.a); // 最終輸出Alpha為0時(shí)完全裁剪 clip(alpha - 0.001); return fixed4(col.rgb, alpha); } ENDCG } } FallBack Diffuse }這個(gè)Shader實(shí)現(xiàn)了基礎(chǔ)消散、動(dòng)態(tài)噪波邊界和邊緣著色。將材質(zhì)賦給導(dǎo)入的立方體模型即我們的“烤箱”模型調(diào)整_DissolveThreshold參數(shù)就能看到云朵逐漸消散的效果。4.3 效果優(yōu)化技巧深度寫(xiě)入ZWrite與渲染隊(duì)列對(duì)于半透明物體通常設(shè)置ZWrite Off并放在QueueTransparent。但多個(gè)云朵疊加時(shí)可能出現(xiàn)排序問(wèn)題。如果云朵是獨(dú)立不重疊的可以嘗試ZWrite On和QueueAlphaTest利用clip進(jìn)行硬裁剪性能更好且無(wú)排序問(wèn)題。性能優(yōu)化SDF紋理分辨率不宜過(guò)高512x512或1024x1024對(duì)于卡通風(fēng)格通常足夠。如果場(chǎng)景中云朵很多考慮使用紋理圖集Texture Atlas將多個(gè)SDF打包到一張大圖上減少Draw Call。動(dòng)態(tài)變化除了整體閾值還可以根據(jù)世界坐標(biāo)、視角方向來(lái)擾動(dòng)閾值實(shí)現(xiàn)“風(fēng)吹散”的方向性效果。例如將_DissolveThreshold與dot(worldNormal, windDirection)結(jié)合讓背風(fēng)面先消散。5. 常見(jiàn)問(wèn)題、排查與效果增強(qiáng)在實(shí)際操作中你肯定會(huì)遇到一些預(yù)期之外的情況。這里我把常見(jiàn)問(wèn)題和解決方案整理成表方便你快速排查。問(wèn)題現(xiàn)象可能原因解決方案模型全黑/全白無(wú)消散效果1. SDF紋理采樣UV錯(cuò)誤。2. SDF紋理導(dǎo)入U(xiǎn)nity時(shí)未取消sRGB。3. Shader中SDF值與閾值比較邏輯反了。1. 檢查模型UV通道確保與烘焙UV一致。在Shader中可視化UV輸出為顏色檢查。2. 在Unity中檢查SDF紋理導(dǎo)入設(shè)置確?!皊RGB (Color Texture)”未勾選。3. 嘗試反轉(zhuǎn)SDF值1.0 - sdf或反轉(zhuǎn)閾值比較邏輯threshold - sdf。消散邊緣鋸齒嚴(yán)重1. SDF紋理分辨率過(guò)低。2. 邊緣過(guò)渡計(jì)算太硬未使用smoothstep。3. 模型本身面數(shù)過(guò)低UV展開(kāi)有拉伸。1. 嘗試使用更高分辨率的SDF紋理如2048x2048。2. 確保使用smoothstep進(jìn)行軟邊緣插值并適當(dāng)增加_EdgeWidth。3. 檢查烘焙用的立方體模型UV是否均勻展開(kāi)避免極端拉伸。效果不隨閾值均勻變化中間有跳變SDF紋理數(shù)據(jù)有誤可能存在無(wú)效區(qū)域或烘焙錯(cuò)誤?;谺lender檢查烘焙結(jié)果。在圖像編輯器中將視圖切換到“著色Rendered”檢查SDF灰度圖是否平滑連續(xù)有無(wú)異常的色塊或斷層。確保烘焙時(shí)模型和立方體位置沒(méi)有意外移動(dòng)。多個(gè)云朵共用Shader時(shí)消散動(dòng)畫(huà)不同步所有材質(zhì)實(shí)例共享同一個(gè)_DissolveThreshold屬性。為每個(gè)云朵創(chuàng)建獨(dú)立的材質(zhì)實(shí)例Material Instance然后通過(guò)腳本分別控制每個(gè)實(shí)例的_DissolveThreshold。移動(dòng)相機(jī)時(shí)邊緣出現(xiàn)閃爍或抖動(dòng)可能是深度測(cè)試ZTest與Alpha裁剪沖突或紋理過(guò)濾問(wèn)題。嘗試將Shader的深度測(cè)試模式改為ZTest LEqual或關(guān)閉深度寫(xiě)入ZWrite Off。確保SDF紋理的過(guò)濾模式Filter Mode設(shè)置為“Bilinear”或“Trilinear”。想要更“蓬松”的云內(nèi)部?jī)H靠SDF邊界變化內(nèi)部缺乏細(xì)節(jié)。在Shader中除了邊界消散還可以根據(jù)SDF值即到表面的距離來(lái)調(diào)制內(nèi)部的不透明度或顏色。例如讓云中心更不透明越靠近邊緣越透明。公式internalDensity saturate(-sdf * _DensityScale)假設(shè)內(nèi)部sdf為負(fù)。5.1 效果增強(qiáng)思路基礎(chǔ)消散效果實(shí)現(xiàn)后可以進(jìn)一步豐富細(xì)節(jié)粒子增強(qiáng)在云朵消散的邊緣通過(guò)Unity的粒子系統(tǒng)Particle System生成一些細(xì)小的、飄散的白色粒子點(diǎn)模擬云被吹散的碎末。粒子發(fā)射器的形狀可以綁定到云朵模型上并根據(jù)消散閾值控制粒子的發(fā)射率。頂點(diǎn)動(dòng)畫(huà)在Shader中對(duì)云朵模型的頂點(diǎn)沿法線方向進(jìn)行輕微的、隨機(jī)的波動(dòng)模擬云朵柔軟、流動(dòng)的質(zhì)感。這個(gè)動(dòng)畫(huà)強(qiáng)度也可以與消散閾值關(guān)聯(lián)在消散時(shí)波動(dòng)更劇烈。多層SDF疊加烘焙兩張不同“密度”的SDF紋理。一張用于控制整體的外形消散另一張精度更高或經(jīng)過(guò)不同模糊處理的用于模擬內(nèi)部更細(xì)碎的孔洞消散兩者結(jié)合可以產(chǎn)生更豐富的層次感。與風(fēng)場(chǎng)交互在游戲世界中定義一個(gè)風(fēng)場(chǎng)向量。在Shader中根據(jù)像素點(diǎn)在世界空間中的位置和法線方向計(jì)算與風(fēng)場(chǎng)的點(diǎn)乘用這個(gè)值來(lái)偏移_DissolveThreshold從而實(shí)現(xiàn)風(fēng)從特定方向吹散云朵的效果。6. 完整項(xiàng)目集成與性能考量將制作好的云朵預(yù)制體集成到項(xiàng)目中時(shí)還需要考慮一些工程化和性能問(wèn)題。預(yù)制體制作一個(gè)完整的云朵預(yù)制體應(yīng)包含帶Mesh Filter和Mesh Renderer的立方體模型承載SDF UV、上面編寫(xiě)的材質(zhì)、以及一個(gè)控制腳本如CloudDissolveController。控制腳本示例using UnityEngine; public class CloudDissolveController : MonoBehaviour { public float dissolveSpeed 0.5f; private Material _material; private float _currentThreshold 0f; private bool _isDissolving false; void Start() { _material GetComponentRenderer().material; // 獲取材質(zhì)實(shí)例 _material.SetFloat(_DissolveThreshold, 0f); } void Update() { if (_isDissolving) { _currentThreshold Time.deltaTime * dissolveSpeed; _material.SetFloat(_DissolveThreshold, _currentThreshold); if (_currentThreshold 1f) { _isDissolving false; // 可以在這里觸發(fā)銷毀對(duì)象或回收 // gameObject.SetActive(false); } } } // 供其他腳本調(diào)用開(kāi)始消散 public void StartDissolve() { _isDissolving true; } }性能優(yōu)化批處理Batching確保所有云朵模型使用相同的Mesh立方體和材質(zhì)。通過(guò)材質(zhì)屬性塊MaterialPropertyBlock來(lái)分別設(shè)置每朵云的_DissolveThreshold而不是創(chuàng)建多個(gè)材質(zhì)實(shí)例這樣可以保持動(dòng)態(tài)合批Dynamic Batching或GPU Instancing的有效性。LOD多層次細(xì)節(jié)對(duì)于遠(yuǎn)處的小云朵可以使用更低分辨率的SDF紋理甚至用更簡(jiǎn)單的Shader變體比如去掉噪波和邊緣色。視錐體剔除Frustum Culling這是自動(dòng)的但要確保云朵的Renderer組件和Collider如果有設(shè)置合理不要過(guò)大。對(duì)象池Object Pooling對(duì)于頻繁出現(xiàn)和消失的云朵如被擊散的云使用對(duì)象池進(jìn)行復(fù)用避免頻繁的Instantiate和Destroy操作。從Blender的一個(gè)簡(jiǎn)單球體開(kāi)始經(jīng)過(guò)SDF烘焙、Shader編寫(xiě)、到Unity中的集成與控制一套完整的、可定制的卡通云消散效果管線就搭建完成了。這套方法的美妙之處在于其靈活性和數(shù)據(jù)驅(qū)動(dòng)性。一旦管線打通美術(shù)設(shè)計(jì)師可以自由地創(chuàng)造各種形狀的云朵甚至其他物體烘焙SDF而程序只需微調(diào)Shader參數(shù)就能獲得風(fēng)格一致、性能可控的動(dòng)態(tài)效果。它不僅僅是實(shí)現(xiàn)了一個(gè)效果更是提供了一種解決風(fēng)格化動(dòng)態(tài)形變問(wèn)題的思路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91肏| 国产性爱一级| 蜜桃婷婷狠狠久久| 国产全是老熟女太爽了| 午夜成人网站在线观看| 五月婷婷人妻| 五月丁香人人婷婷在线观看| 丁香综合伊人| 99综合免费视频| 无码激情AAAAA片-区区| 婷婷六月综合激情| 99碰超| 69婷婷丁香午夜| 超碰资源在线| 操97免费超级视频| 秋霞丝袜啪啪啪| 操骚货在线| 丁香五月五月婷婷五月天激情四射| 国产精品涩涩涩视频网站| 久色资源| 九九免费精品| 亚艹艹| AV色五月婷婷| 99色婷婷视频| 日韩欧美颜射| 婷婷五月丁香啪啪| 五月丁香六月成人| 色综合久久88色综合天天看| 久久9RE热视频精品98| 99久久九九视频| 久久停停超碰| 激情五月天婷婷五月天| 天天干天天日天天操| 99色色视频| 色情一区二区播放| 精品三区影院| 综合激情五月天六月婷免费视频| 久久婷婷五月天激情新地址| 亚洲中文字幕AV| 超碰国产在线观看| 成人中文字幕在线| 中文色婷婷| 婷婷五月天亚洲综合网| 26uuu色五月| 色色亚洲| 狠狠色 综合色区| 狠狠色丁香| 激情五月天电影| 中文无码婷婷| 久久五月视频| 真实的国产乱XXXX在线91| 色婷婷激情| 99热精品在线在线| 校花娇喘呻吟校长陈若雪视频| 直接看的AV| 丁香婷婷色五月天| 日日日日操| 青青草原99热| 五月天婷婷免费视频| 九九热视频精品| 天堂草在线看www| 久久久久久五月天| 综合网啪| 日日色综合| av九九| 五月丁香| 五月色情精品| 99热最新| 五月婷婷视频ab| 丁香五月停停av| 好好干av| 新97人人上人人| 99操视频| 婷婷九月丁香中文| 九九RE视频在线精品| 中文字幕在线免费| 99热这里只是精品| 99这里有精品视频| 香蕉97碰碰碰欧美| 婷婷五月天奸女| 九月婷婷综合| 色婷婷丁香五月天| 99爱视频在线观看这里只有精品| 欧洲亚洲精品| 日本操B片| 美女黄频aⅴ视频| 26uuu青青| 婷婷激情五月天色| 99热这里只有精品1025| 99热人人艹| 婷婷玖玖丁香| 美女主播野战视步页| 五月丁香六月婷婷亚洲综合| 99久久久久| 青青草伊人婷婷| 9久9久| 色热久资源| 五月天婷爱综合| 99久久久| 五月激情四射网站| 五月婷婷综合激情网| 色色网站在线免费观看视频| 色碰碰| 亚洲妇女熟BBW| 亚洲激情五月| 欧美成人精品一区二区| 桃色成人网| 97碰碰在线观看视频| 丁香午月AV中文字幕| 成人精品99| www.婷婷五月| 天天综合网~91综合网| 六月丁香激情网| 99综合| 99精品丰满| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 五月花激情| 嫩草免费视频| 全国最新疫情| 狠狠干,狠狠操| 99热在线爱| 五月丁香日本在线视频观看| 久热大香蕉| ZpRSw| 思思久久网| 久久精热| 免费超碰在线| 九色啦蜜臀| 精品综合网在线| 五月亭亭六月色| 一区二区免费看| 不卡的AV网站| 婷婷激情啪啪| 久热99视频在线观看| eeuus五月婷| 夜夜谢天天干| 伊人大香蕉综合在线| 久久只这里有精品| 婷婷综合仓库中文| 国产精品色一哟哟| 热久综合| 婷婷va| 碰99在线| www99热| 丰满少妇乱A片无码| 九九热只有精品6| 91色综合网| 亚洲综合另类| 婷婷午夜精品久久久| 五月婷婷www| 99热的无码| 亚洲第一成人无码A片| 婷婷激情五月天网站| 91久久婷婷| 91色逼| 九九视频在线| 99日本精品视频热| 九月婷婷综合| 99热这里只有精品 搜| 青草视频在线观看视频 | 五月婷婷综合在线视频| 色五月婷婷五月| 色色97丁香婷婷五月天| 欧美日本黄色| 色婷婷五月天激情久久| 五月天另类小说久久小说网| 色播播五月天| 色久婷婷五月| 超碰在线99| 五月丁香婷婷成人网| 色婷婷六月天在线| 色五月天 丁香| 大天天伊人| 五月婷婷综合影院| 91九色丨国产丨爆乳| 天天爽天天操| 五月丁香亚洲五月| 色很久综合| 日本天堂免费99| 狠狠99| 日韩999| 婷婷爱在线观看| 丁香六月婷| 久久一热免费视频| 婷婷丁香综合在线| 很很干天天干| 五月色婷婷在线观看| 高清一区二区三区日本久| \\五月天婷婷激情| 婷婷色五月开心五月| 秋霞A V毛片| 久久婷婷五月国产色综合激情| 综合图区激情| 9久国产精品| 四色永久成人网站| 四月婷婷丁香| 99惹在线精品免费观看| 亚洲激情六月丁香| 99ER热精品视频| 婷婷播5月| 91操片| 婷婷深爱五月| 丁香六月婷婷综合缴| 91人妻PORNY九色大屁股| 亚洲最大成人综合网720P| 五月婷婷在线综合| 婷丁香五月天| 欧美99| 五月婷婷综合成人| 日日影院 | 欧美色色色色色| 天天色综和网| 五月婷婷久久久久| 啪啪日本欧美| 99在线精品免费视频| 六月激情久久| 一本伊人色婷| 色婷婷丁香五月高清在线| 日韩精品无码AV| 超碰在线91| 四月婷婷五月丁香| 亚洲婷婷激情五月天| 五月丁香六月在线欧美| 色五月婷婷在线| 婷婷影院A成人| 99热这里只有精品66| 天天操天天日天天操| 亚洲九九夜夜| 九月婷婷久久| 激情久久久久久| 综合色图婷婷| 超级碰碰97在线| 色五月天在线观看| 欧美97色| 九九激情综合| 五月婷婷五月天| 色爱亚洲| 五月六月伦理| 婷婷五月天激情诱惑| 人妻操逼| 99久久这里只有精品免费官网| 乱乱av| 九九视频在线| 亚洲无码99| 七七色色综合| 99色在线观看视频| 欧美在线操| 天堂草在线看www| 五月天综合区| 丁香成人色情五月天| 美女婷婷六月色| 丁香五月天在线观看视频| 亚洲午夜电影| 伊人激情综合网| 久久久久久久久久久44| 99啪99| 婷婷色情五月| 激情综合国产| 五六月婷婷| 色综合久| 丁香五月六月婷婷自拍| 五月天婷婷丁香视频| 五月婷婷色丁香| 婷婷偷拍网| 99re免费精品视频| 久久久妻人人人| 大香蕉九九| www.久久久.com| www.91操| 天天操夜夜夜拍拍拍| 五月六月激情婷婷| 欧美日本va| 天天爽夜爽| 噜噜狠狠色综无码久久合欧美| 婷婷六月婷婷| 天堂草在线观| 婷婷射丁香| 久久婷婷色色| 久久婷婷五月天| 最近中文字幕2019视频1| 99热综合| 123日本不卡在线| 色综合99色| 亚洲AV另类| 人人干99| 嫩BBB槡BBBB搡BBBB视频| 婷婷五月噜噜| 啪啪啪综合网| 99热最新国内| 狠狠做五月| 亚州激情网站无码| 日本成人噜噜噜| 成人网在线视频| 久久久18| 丁香六月欧美| 丁香六月婷婷久久综合八月| 色色色成人网| 狠狠操狠狠插| 婷婷激情五月视频| 婷婷大美在线| 五月天婷婷色色网| 婷婷D区| 女人天堂久久| 六月狠狠综合| 狠狠干五月天| 伊人五月天97| 婷婷五月天首页| 亚洲成人超碰| 欧美久久九九| 九九视频这里只有精品在线播放| 西瓜美女a片| 丁香婷婷基地| www.色五月| 婷婷五月天丁香激情| 激情色播| 超碰不卡在线| 国内自拍97在线| 色色色婷婷五月天| 另类激情网| 久久九色| 激情文学久久| 99热这里都是精品| 婷婷六月香| 六月五月丁香五月欧美| 久婷婷婷| 99热加勒比| 5月婷婷性视频| 国产成人+综合亚洲+天堂| 99视频免费播放| 天天日天天舔天天摸| 丁香五月激情啪啪| 玖玖婷婷色欲| 先锋资源 996| 国产又爽又猛又粗的视频A片| 丁香五月激情图片婷婷| 九九热这里有精品视频| 99人人干| 久综合网| 色婷婷成人| 亚州婷婷五月激情综合| 蜜桃五月天| 国外亚洲成AV人片在线观看| 色色色99韩| 成人网站免费在线播放| 91九色欧美| 婷婷中文字幕版| 婷婷五月天伊人| 午夜激情婷婷| 久久99视频| 射久久丁香五月| 99综合一区| 日韩一区二区A片免费观看| 大香网伊人久久综合| 深爱五月天| 丁香五月很很肏| 狠婷婷五月| 丁香情色五月| 国产成人99久久亚洲综合精品| 国产99久久久| 玖玖爱伊人| 网站免费一站二站| 久草性爱| 久久婷婷亚洲| 五月丁激情| 粉嫩AV久久一区二区三区| 999热在线视频| 婷婷久久亚洲| 五月天激情播播网| 久久综合九色综合97婷婷| 亚洲色婷婷99一9|| 婷婷五月丁香国产| 五月婷婷综合在线| 丁香五月婷婷啪啪| 内射人妻视频国内| 五月丁香激情深爱婷婷| 狠狠情色| 九九热免费视频| 开心婷婷五月天综合| 这里只有精品免费视频| 丁香五月天在线直播观看| 狠狠CAO日日穞夜夜穞AV | 日日操日日爽| 99九九视频精彩在线| 激情婷婷五月天| 97五月天婷婷综合激情网| 成人免费在线电影| 激情婷婷五六月天| 国产色香蕉精品五夜婷| 97天堂| 99热这是里只有精品| 国产精品扒开腿做爽爽爽A片唱戏| 亚洲操逼片| 九九热精品| 五月天激情网页| 日本情色一区二区| 中文av网| 色永久| 色综合中文| 五月丁香六月激情在线| 天天干狠狠艹| 久久色五月天| 激情婷婷22月间| 婷婷五月电影院| 激情五月综合六月丁香婷婷狠狠干| 久久久久人妻网址| 99久久免费精品| 久操97| 99热九九热| 丁香五月天啪啪激情综和网| 影音先锋按摩| 亚洲色图日韩网址| 亚洲经典三级| 丁香五月性| 亚洲va欧美va国产综合久久久| 新激情五月天| 亚洲操B| 啄木鸟丝袜美女福利视频| 久久激情五月婷婷| 亚韩精品视频1区| 99综合久久| 五月婷婷激情综合视频| 久思思久视频| 九九大香蕉黄色影院| 全部老头和老太XXXXX| 黄网在线观看免费| 国产,欧美,日韩,性爱| 激情九月综合| 五月丁香综合成人社区| www.99.色| 日韩aaaaa| 丁香五月影院| 天天色天天爱天天爱天天爱y| 无码九九九九| 激情五月婷婷色综合| 婷婷啪啪| 超碰色综合| 九九热经典视频在线观看| 99视频色在线观看| 人妻激情综合| 欧洲亚洲午夜| 另类视在线| av婷婷丁香| 婷婷九月色| 9久久久久久久久久久| 久久色五月天综合网| 综合色天天| 99操久久| 超碰在线人人| 婷婷99中文字幕| 色五月婷婷伊人| 97超级啪啪在线观看| www.色婷婷| 99爱视频在线| 91日本在线观看| 天天摸天天肏| 久久九九综合| 久久a热| 性天堂久久| 欧美狠狠色| 日韩无码色色| 日熟女| 日日噜噜夜夜狠狠久久丁香六月| 五月丁香在线偷拍视频| 国产精品蜜臀99| 天天干天天干天天干天天干天天干天天干天天| tingting五月天亚洲| 99热欧美在线观看| 九九热视频首页/这里只有精品| 一级七香蕉| 99啪视频在线观看| 色色婷婷丁香五月天| 另类亚洲视频| 色色色综合网| 亚洲欧洲自拍图片专区五月天| 五月天久久www| 啪啪婷婷五月天激情| 婷婷综合影院| 婷婷丁香射射| 亚洲国产精品成人va在线观看| 大香蕉五月天婷婷| 久久黄色免费视频| 亚洲色婷婷视频| 五月丁香六月香综合激情| 人人人操B超碰| 丁香色综合| 久久久精品色| 99久久婷婷国产综合| 91丨九色丨东北熟女| 开心激情站| 少妇AB又爽又紧无码网站| 久久久天堂国产精品女人| 香蕉久久av一区二区三区| 国产在线网| 五月天激情黄色网址| 九九热精品99| 五月久久噜噜| 涩综合婷婷| 日本精品99网站| 91五月天| 婷婷自拍| 久久精品国产色| 色青五月天| 色色色热热热| 99精品成人无码A片观看金桔| 色婷婷六月天| 高清 码 免费看片短视频| 97精品综合| 大狠狠在线| 色五月天成人| 可以免费观看的AV| 精品动漫 无码av| 天天色播| 伊人五月综合网| 啪啪啪大香蕉| 婷婷综合在线视频| 亚洲综合网激情五月天| 色色色婷婷| 无码人妻少妇色欲AV一区二区| 午夜69成人做爰视频| 中文av在线观看| 欧美成人Va| 日韩精品二三区| 国产性爱亚洲是图| 婷婷五月综合色中文字幕| 婷婷丁香五月av| 五月天婷婷色综合| 国产AV一区二区三区最新精品| 久久99国产综合精品免费| 高清国产AV| 成人深爱丁香五月| 97色片| 91黄色五月天视频| 国产色色在线| 婷色五月天| 亚洲AV日韩在线观看| 国产亚洲99| 无码色| 天天干在线播放| 另类在线| 欧美日朝成人| av无码电影| 99热只有这里才是精品| 亚洲亚洲人成综合网络| 五月丁香六月在线欧美| 强伦轩人妻一区二区电影| 爱操天堂| 久久99热精品a片在线观看| 激情综合五月| 久久人人超| 九九热精品在线| 五月丁香狠狠爱婷婷综合| 中文久久久人妻| 婷婷五月激情五月激情| 99自拍视频在线观看| www.婷婷五月天.com| 伊大人久久| 26uuu国产精品| 日日干日日| 亚洲五月婷婷| 九九视频这里只有精品| 五月色婷| 五月综合视频| 婷婷丁香色五月天久久88| 国产精品久久久久久白浆色欲| 青青久久五月| 色婷婷狠狠久久综合五月| 双性美人被调教到喷水A片| 六月丁香婷婷综合色播| 五月丁香啪啪网| 99在线精品视频免费| 色色婷婷五月| 轮奸综合网| 丁香五月Av| 日韩免费视频| 97超碰免费超级在线观看| 久热婷婷| 久草五月天| 性一交一乱一交A片久久四色| 大香蕉婷婷丁香天堂AV| 欧洲激情五月天| 精品一二三区久久AAA片| 婷婷丁香五月天欧美| 福利视频在线播放| 六月丁香激情婷婷| 人人97操| 欧美婷婷丁香五月社区| 丁香五月AV综合| 国产人妻人伦精品一区二区| 天插天啪天啪天啪| 五月婷九九草| 99久久久久久| 丁香六月av| 亚洲第一成人无码A片| 天天草天天日| 九九人人看| 狠狠爱婷婷丁香| 五月婷婷黄色| 国产99久久久国产精品免费看| 丁香婷婷大香蕉| 天天干天天做| 亚洲丁香五月| 五月丁香大相交| 五月天综合视频| 爱草视频在线观看| 亚洲在线播放| 思思热在线| 久热这里只有精品视频6| 久色大香蕉| 久操人妻| 严洲天天插| 婷婷激情综合色五月久久图片| 欧美日本va| 久大香蕉| 色涩视频久久| 另类图片激情五月| 婷婷成人综合免费视频| Caoub青青超碰 | 婷五月丁香| 激情色五月天| 久热伊人| 99免费| 中文激情网| 超碰操日| 五月综合激情| 久久狠狠干| 日韩一区二区在线播放| 中日韩狠狠色| 日比网免费国产| 五月婷婷丁香大陆免费| 婷婷丁香激情| 狠狠色婷婷在线| 日韩有码一区| 丁香五月激情五月| 久久多色| 激情五月婷婷五月丁香五月开心五月| 99久久精品国产色欲| 婷婷五月天福利| 五月婷婷中文字幕AV| 思思视频这里是精品| 久久五月婷婷视频| 色五月综合激情网| 丁香五月综合| 久9久9热久热| 丁香五月婷婷视频| 天天插天天| 综合激情五月四射婷婷| 超级黄色片| 婷婷六月香| 天天日夜夜| 色情五月综合婷婷| 狠狠综合网| 天天爽天天摸| 亚洲九九99精品视频在线播放| 伊人久久丁香五月91| 另类视频五月天| 日本激情91| 天天婷婷色六月| 国产精品色色色色| 一區四區歐美日韓| 九九成人高清视频| 99这里是99在线视频| 欧美三级欧美一级| 色天使色婷婷| 丁香六月婷婷综合啪啪| 日本99婷婷| 99热欲| 日韩熟女啪啪视频| 久久久天堂国产精品女人| 六月丁香网| 午夜丁香| 欧美成人AAA片一区国产精品| 色婷婷的五月天| 成人丁香婷婷| 色婷久久| 91久久综合亚洲鲁鲁五月天| www.henhenl| 婷婷五月天激情电影| 99色综合| 九九99免费视频| 日本久久高清| 开心激情网五月天| 日本天天操| 欧美槡BBBB槡BBB少妇| 国产精品99久久久久久久女警| 天天肏高清在线| 超碰人人99| 熟女激情网| 人妻操逼视频| 欧美性生交A片免费看| 日产精品久久久久久久蜜臀| 丁香五月综合狠狠| 97自拍99| 99综合| 另类婷婷丁香| 五月丁香婷婷成人综合网| 五月色综合网| 色婷婷操逼| 在线不卡视频| 玖玖婷婷五月天毛片| 久久蜜臀婷婷| 粉嫩av蜜桃av蜜臀av| 另类激情五月天。| 激情影院免费视频婷婷五月天| 婷婷开心深爱五月天| 亚洲色爽| 成人丁香五月天| 色狠狠综合网| 国产成人精品亚洲线观看| JlZZJlZZ8JlZZ亚洲熟女| 久久影视婷婷五月| 久久97| 午夜婷婷五月天在线| 久久久久这里只有精品| 99这里只有精品视频| 热91久| 第四色五月婷婷| 色婷婷五月天天天天天| 婷婷五月天啪啪| 五月丁香啪啪啪综合网| 丁香六月婷婷色XXXX| 99超碰在线观看| 日韩砖区| 婷婷五月色情| 91九色最新视频| 99在线公开视频| 色五月婷婷激情五月| 久久伊人9| 亚洲第一成人无码A片| 日韩精品成人在线| 五月丁香在线婷婷蜜桃| 99热这里只有精品1025| 草草夜夜操| 久热 91| 五月天婷婷五月| 亚洲激情婷婷| 中文字幕av久久爽| 婷婷成人网五月天| 99热只有这里有精品| 成人精品视频99在线观看免费| 91 九色大美女| 91一起操| 96丁香六月婷婷蜜桃综合久久| 久久总和99| 人妻在线观看视频| 综合xx网| 五月婷婷激情综合网| 玖玖热99| 精品成人无码A片观看香草视频| 五月丁香无码| 中文字幕按摩做爰| 日本久久精品| 亚洲午夜一区二区| 久久九九激情五月天 | 激情五月亚洲| 丁香五月激情网| www.99久久久| www.yw色| 人人搡人人| 五月婷婷开心综合| 碰碰碰97国产| 五月色丁香国产在线视频| 99热这里全都是精品| 成人丁香色| 另类激情综合| 色青五月天| 五月天天天色| 偷拍99在线视频观看| VA婷婷亚洲| 久久国产一区二区三区| 永久99免费视频网站| 色五月av| 成人看片网站| 99热这里只有精品3| www.久久99热地址发布| 久久色亭亭五月天| 丁香五月激情月| 丁香色婷婷五月天| 96色婷婷| 爽天天天天天天天| 99啪在线| 日本婷久久| 婷婷中文无码| 成人精品在线| 女人露出p毛视频www网站| 国产免费一区二区在线A片视频| 日韩av免费版| www.婷婷.com| 天天色99| 色婷婷www| 那里有AV网址| 久久婷婷五月天| 五月婷婷久久开心网| 免费看欧美成人A片无码| 欧洲激情五月天| 超碰在线观看三级片| 五月丁香激情六月| 免费播放AV| 中文AV在线观看| 97人人操在线| 99久久网站| 美女激情婷婷| 99热日本精品| 任我肏| 综合激情五月四射婷婷| 欧美私人家庭影院| 伊人狠狠操| 色色五月天com| 中文字幕AV在线播放| 综合激情五月四射婷婷| 高清资源站日A美A欧亚…| 狠狠插日日干撸| 国内久久亭亭| 99热亚洲| 热99只有里视频| 99热销国产这里有精品| 五月丁香六月在线| 99久久综合精品五月天| 97久久五月丁香婷婷| 五月婷婷AV| 欧美综合在线五月天色婷婷| 综合 蜜月 婷婷| 九九色逼| 婷婷六月色播| www.五月婷婷| 国产操B| 五月停停色色丁香| 婷婷五月天综合蜜桃| 97碰碰人人视频| 人妻内射视频| 六月丁香久久| 丁香五月综合久久八| 沈娜娜av| 久久人人妻| 99免费热视频| 亚洲综合视频天天精品| 狠狠色狠狠色综合日日91| 狠狠干狠狠色| 日日操夜夜骑| 888精品福利地址| 婷婷亚洲久久| 色婷婷电影网| 亚洲综合无码| 亚洲色综久久五月| 另类专区在线观看| 热99.com婷婷| 九九在线精品| 久久婷婷五月丁香网| av人人操| 深情六月婷婷综合久久| 七七色色综合| 成人AV播放| 大香蕉啪啪网| 99在线热| 亚美欧色影院| 伊人五月人妻精品| 色色五月婷| 丁香五月综合久久| 中文字幕视频色婷婷| 五月激情婷婷丁香| 婷婷五月丁香色综合| 中文字幕色色色| 99 色色吧| 色五月婷婷基地| 视频1区2区| 91国产精品视频播放| 婷婷五月丁香五月| 激情av| 婷婷玖玖五月天| 色五月激情婷婷| 99热这里只有精品69| site:901-07.com| 国产熟女一区二区三区五月婷| EEUSS鲁片一区二区三区| 丁香激情网| 五月天开心网| 夜夜爽天天爽| 日日操天天| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 激情小说 五月天| 欧美性爱特黄一级aaaassss| 天天插综合在线| 久热精品视频在线观| 超碰在线免费9| a在线免费v| 九九激情视频| 超碰色人妾| 热久久婷婷| 伊人超碰在线| 久久久潮喷-久久久九九-成人AV| www.激情五月| 日日杆天天| 人妻久久久| 色婷网| 狠狠穞A片一區二區三區| 99re这里只有| 婷婷午夜| 精品9197碰| 日本三级99人妇网站| 精品综合网在线| 亚洲人成网站999综合| 久婷婷视平| 婷婷五月激情小说| 伊人超碰在线| 色玖玖综合| 另类伊人婷婷| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| Y11111111111少妇电影院| 婷婷性爱五月天丁香网| 丁香天堂夜| 成人在线综合| 91蜜桃婷婷狠狠久久综合9色| 久久日九九| 久久大香蕉同僚| 亚洲天堂热| 99极品视频| 91精品国产综合久久密臀| 俺也去在线视频| 天天干天天干天天| 91超级碰碰碰| 免费视频WWW在线观看网站| AA片在线观看视频在线播放| 玖玖@三月天天丁香婷婷| 色五月自偷自拍婷婷婷婷| 99热主页日本| 色五月婷婷天天干| 日韩欧美骚货| 久婷久婷| 国产成人精品亚洲线观看| 国成人网| 综合99久久| 77799热| 色色网五月激情| 99日在线视频| 午夜不卡久久精品无码免费| 色玖玖网| 99热自拍| 亚洲激情精品| 日夜操B| 日韩一级一片内射视频4K| 丁香六月婷婷开心婷婷网| 少妇激情基地| 婷婷五月天成人网站| 91婷色| www.9操| 婷婷大乡焦噜噜| 99热日韩这里只有精品| 伊人啪啪网| 99九九视频| 国产三级在线播放| 操碰97| 六月婷婷久久| 超碰在线看| 中文字幕性爱视频| 香蕉婷婷色五月| 婷婷五月天无码| 中字幕视频在线永久在线观看免费| 青青草国产亚洲精品久久| 综合色吧| 五月天成人在线| 亚州操人在线视频| 97人碰人操| www.99热| 免费播放片大片| 七月婷婷色香综合网| 日本不卡中文字幕| 99免费视频在线观看爱| 色丁香五月婷婷| 国内久久亭亭| www.六月丁香看AV| 激情五月天婷婷丁香| 狠狠色噜噜狠狠亚洲A∨| 另类综合激情| 超碰国产在线| 色欲影香| 欧洲激情精品婷婷| 成人国产欧美大片一区| 五月丁香久久网| 99色精品| 狠狠色综合图片| 五月婷无码| 色婷婷视频在线| 玖玖午夜视频| 色色亚洲五月天| 一本色道久久综合狠狠躁一二三 | 婷婷成人小说综合| 五月婷婷综合在线| 五月天婷婷免费| 99热这里只有是亚洲国产| 被强行糟蹋的女人A片| 九九aV| 欧美大香蕉视频| 色噜久| 婷婷丁香激情综合色情| 日韩色色色色| 先锋男人99资源| 色欲久久综合| 亚洲色久| 99视频内射三四| 婷婷综合色| 激情五月婷| 在线观看欧美| 国产avapp 网| 久久精品夜色噜噜亚洲a∨| 亚洲激情免费视频观看| 久久免费高| 国产精品婷婷午夜在线观看| 婷婷五月久久| 久久婷婷操| 五月天久久色| 国产精品蜜臀99| 丁香五月激情图片婷婷| 99热最新网址| 免费碰碰视频久| 草做免费在线观看| 91日婷婷在线| 亚洲这里只有精品| 婷婷的色色五月天| 中文字幕综合| 亚洲精品无码久久| 成人精品在线观看| 丁香六月婷婷五月天| 色啪网| 热热久久久久久久久| 精品亚洲国产成AV人片传媒| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 超碰9在| 91视频综合网| 日韩成人综合网| 日本久久精品| 先锋av性爱成人电影| 激情五月成年| 五月丁香免费看| 婷婷五月,偷窥偷拍网| 五月丁香综合激情网| 啊V视频在线观看| 五月天亚洲最大成人| 五月久久丁香| www.婷婷六月天| 操人无码| 中文中文在线| 深情五月天| 97影院一级片| 六月婷婷综合| 天天插AV丝袜中| 久久久久8888| 久久久网站| 牛牛碰免费| 色婷婷五月天偷拍| 五月综合久久| 婷婷五月图片小说视频| AV成人在线播放| 日韩成人精品中文字幕| 激情婷婷五月天日本系列| 色五月婷婷91| 开心婷婷五月| 色色网站| 美女va| www.99热精品99.com| 色优久久| 激情五月天色婷婷| 五月婷婷啪啪啪| 99国产在线精品视频| 激情五月天偷拍综合网| 丁香五月天在线视频| 91婷婷丁香五月亚洲| 亚洲五月婷| 思思久热6| 五月丁香婷婷在线| 丁香五月综合网| 超碰免费99| 色五月视频,小说| 久99| 97久久超视频| 五月天综合在线| 五月婷婷在线免费观看| 蜘蛛女免费观看完整版高清电影| 欧美成人精品三区综合A片| 夜夜躁爽日日| 五月婷婷co.m| 久久久久久久97| 日本97在线观看| 天天艹夜夜艹| 9九色首页| 久热视频这里只有精品68| 九九色99| 五月天基地| www,黄色在线,con| 婷婷五月天精品| 激情综合五月开心狠狠| 久久五月丁香综合17C| www久久99| 免费V片在线| 99精品成人无码A片观看金桔| 99精品22| 天天色综合色| 另类激情五月| 日韩AV中文字幕在线| 在线18av | A久久| 欧美综合五月丁香六月婷| 开心五月天激情网站| 色婷婷精品小视频| 国产91视频| 丁香五月婷婷综合精品素人| 婷婷色综合网日韩国产| 成人做爰高潮A片免费视频| 97干在线视频| 丁香五月婷婷基地| 情婷婷五月天| 婷婷基地五月色| 狠狠五月天婷婷| 久久婷婷五月国产色综合激情| 色婷婷亚洲综合网站| 香蕉久久av一区二区三区| 婷婷五月婷婷| 五月天色色网站| 五月婷婷天堂| 婷婷玖玖五月天| 婷婷五月天美女21p| 综合综合网| 丁香激情六月天婷婷| 99热www.| 妻久久久久| 九九热在视频| 小视频在线亚洲| 婷婷五月天视| 秋霞三级色戒| 日韩一区二区在线播放| 欧洲激情网站| 国产五月丁香在线| 狠狠操之狠狠操| 亚洲五月天综合色| 婷婷六月激情小说网| 久久综合丁香五月| 久久黄A片| 免费视频舔| 久久6这里只有精品| 美女婷婷六月色| 无码激情精品色婷婷久久久久| 久久精品4| 色情五月婷婷| 五月天婷综合网站| 天天网站天天爽| 乱抡小BB| 五月天婷婷丁香六月| 免费观看的婷婷五月视频在线| 亚洲视频丁香网va| 五月社区婷婷激情| 亚洲激情五月丁香久久久久| 蜜臀嫩草| 泰州成人视频| av色婷婷| 99九九视频| 亚洲欧洲中文日韩久久AV乱码| 丁香婷婷色五月| 99热99色| 五月丁香婷婷色啪| www.婷婷五月天,com| 第四色五月婷婷| 日本99在线| 久久这里这里有精品免费视频| 久草狼人| 人人操 色| 91超级碰| 日日射天天射| 五月亚洲| 99无码视频| 亚洲亚洲人成综合网络| 五月婷婷综合在线亚洲视频| 日本三日本三级少妇三级66| 激情久久久久久| 五月婷婷色男女| 婷婷丁香五月高清| 超碰人人超碰| 欧美大肥婆大肥BBBBB| 丁香五月熟女| 国产精品久久..4399| 丁香婷婷久久激情| 五月天最新网| 久久97| 99色综合久久| 婷婷人人操| 26uuuavcom| 五月天社区婷婷丁香社区| 五月婷婷影院| 亚洲国产色婷婷| 九九热这里只有精品7| 激情五月婷婷在线| 久久婷婷色色| 97久久人人操| 婷婷丁香色性爱| 中海油常州环保涂料有限公司| 六月丁香综合| 婷婷综合激情五月综合| 猫咪伊人久久| 亚洲国产无线乱码在线观看| 97人妻碰碰碰碰碰久久久久久| 黄色一极大片| 久一这里有精品国产| 五月天婷婷在线视频| 成人无码髙潮喷水A片| 在线91日韩| 五月丁香拍拍激情综合| 五月天另类激情在线| 日本欧美成人片AAAA| 欧美三日本三级少妇三99| 久久网思思| 久久久久er热| 久久五月天免费网站| 婷婷五月天AV激情| 97视频.干com| 狠狠色噜噜狠狠狠狠狠色综合久久| 99ri国产精品| 色婷婷色五月丁香| 欧洲亚洲免费视频9| 免费日本aⅴ中文字幕| 人人爱干人人爱草| 无码99| 99热热热天天人人人超超碰| 丁香六月激| 人妻视频在线| Av在线不卡一区| 白天AV月月| 五月丁香啪啪| 激情综合国产| 久久久久这里只有精品| 激情婷婷丁香| 五月色丁香综合| av在线观看免费| 激情图片婷婷丁香五月| 色操b| 中文中文在线| 色婷婷久久| 六月婷久久| 好色婷婷| 深爱激情综合网| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 久久婷婷热| 欧美日韩国产伦精品日韩人妻一| 秋霞黄色一级久久| 婷婷五月丁香六月| 色婷婷91| 青青草五月天| 婷婷五月色花丁香社区| 99热视精品| 丁香六月婷婷色XXXX| 婷婷五月天另类视频| 26uuu在线观看| 综合婷婷| 五月激情婷婷在线| 97人人操人人爽| 一区二区三区视频| 九九99九九99偷拍视频免费看| 呦呦视频无码播放| 欧美顶级少妇做爰HD| 日本婷婷丁香五月| 综合色色网| 色七色九九| 99精品在线观看| 操人妻90p| 成人精品视频99在线观看免费 | 精品色| 激情亭亭五月| 亚洲在线综合| 大香蕉综合网| 狠狠干狠狠干|