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

ARTICLE DETAIL

資訊詳情

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

UE5 Niagara粒子系統(tǒng):GPU模擬、數(shù)據(jù)接口與性能優(yōu)化實(shí)戰(zhàn)

UE5 Niagara粒子系統(tǒng):GPU模擬、數(shù)據(jù)接口與性能優(yōu)化實(shí)戰(zhàn) 1. Niagara 粒子系統(tǒng)的核心架構(gòu)與設(shè)計(jì)思路Niagara 是 UE5 里負(fù)責(zé)粒子特效和視覺(jué)模擬的核心模塊它跟老一代的 Cascade 完全不是一個(gè)量級(jí)的東西。Cascade 本質(zhì)上是一個(gè)固定管線的粒子編輯器你只能在預(yù)設(shè)的模塊里調(diào)參數(shù)Niagara 則把整個(gè)系統(tǒng)拆成了可編程的模塊化結(jié)構(gòu)每個(gè)發(fā)射器、每個(gè)粒子、每一幀的行為都可以用節(jié)點(diǎn)圖去定義。這意味著你不再受限于引擎給你什么而是可以自己造輪子。我第一次從 Cascade 遷移到 Niagara 的時(shí)候最大的感受就是“自由但陡峭”。自由在于你可以控制粒子的每一個(gè)屬性從位置、速度、顏色到自定義的任意數(shù)據(jù)通道陡峭在于你需要理解它背后的三層架構(gòu)System、Emitter、Particle。System 是頂層容器管理多個(gè) Emitter 的調(diào)度和生命周期Emitter 負(fù)責(zé)生成和管理一批粒子定義它們的生成速率、初始狀態(tài)和更新規(guī)則Particle 則是最終的個(gè)體每個(gè)粒子都攜帶一組屬性數(shù)據(jù)在 GPU 或 CPU 上被逐幀計(jì)算。為什么 Niagara 要設(shè)計(jì)成這種三層結(jié)構(gòu)核心原因是為了復(fù)用和組合。你可以把一個(gè)做好的 Emitter 當(dāng)成模板拖到不同的 System 里改一改參數(shù)就能產(chǎn)生完全不同的效果。這在 Cascade 時(shí)代是很難做到的因?yàn)?Cascade 的 Emitter 和 System 耦合太緊遷移成本很高。Niagara 的這種設(shè)計(jì)讓特效師可以像搭積木一樣組合效果極大提升了迭代效率。另一個(gè)關(guān)鍵設(shè)計(jì)是 Niagara 的數(shù)據(jù)接口機(jī)制。它允許粒子系統(tǒng)與外部數(shù)據(jù)源進(jìn)行通信比如讀取一張紋理的數(shù)據(jù)、接收藍(lán)圖傳入的參數(shù)、甚至通過(guò) Data Channel 在多個(gè) System 之間共享數(shù)據(jù)。這個(gè)機(jī)制是 Niagara 從“好看的特效工具”進(jìn)化為“數(shù)據(jù)可視化平臺(tái)”的關(guān)鍵一步。你可以用 Niagara 做音頻可視化、科學(xué)數(shù)據(jù)模擬、甚至實(shí)時(shí)金融數(shù)據(jù)流的粒子呈現(xiàn)只要你能把數(shù)據(jù)喂給它。在實(shí)際項(xiàng)目里我通常會(huì)把 Niagara 的使用場(chǎng)景分為三類第一類是純視覺(jué)特效比如爆炸、煙霧、魔法粒子這類需求重點(diǎn)在渲染質(zhì)量和性能第二類是交互式效果比如角色技能、環(huán)境反饋這類需要和藍(lán)圖、動(dòng)畫(huà)系統(tǒng)深度聯(lián)動(dòng)第三類是數(shù)據(jù)驅(qū)動(dòng)的模擬比如用粒子展示傳感器數(shù)據(jù)、網(wǎng)絡(luò)流量、金融指標(biāo)這類就需要用到 Niagara 的數(shù)據(jù)接口和 GPU 模擬能力。三類場(chǎng)景對(duì)技術(shù)棧的要求完全不同選型時(shí)要想清楚。2. GPU 模擬與 CPU 模擬的選型邏輯2.1 兩種模擬方式的本質(zhì)區(qū)別Niagara 支持 CPU 和 GPU 兩種模擬模式這不是一個(gè)“哪個(gè)更好”的問(wèn)題而是一個(gè)“哪個(gè)更合適”的問(wèn)題。CPU 模擬的意思是粒子的生成、更新、碰撞等邏輯都在 CPU 上逐幀計(jì)算算完之后把結(jié)果傳給 GPU 渲染。GPU 模擬則是把粒子數(shù)據(jù)放在顯存里用 Compute Shader 并行計(jì)算粒子的狀態(tài)更新CPU 只負(fù)責(zé)下發(fā)指令和讀取結(jié)果。這兩種方式的性能特征完全不同。CPU 模擬的優(yōu)勢(shì)在于靈活性和可調(diào)試性。你可以在 CPU 上做復(fù)雜的邏輯判斷、訪問(wèn)藍(lán)圖數(shù)據(jù)、調(diào)用外部接口而且調(diào)試的時(shí)候可以逐幀查看每個(gè)粒子的狀態(tài)。缺點(diǎn)是粒子數(shù)量一上去CPU 就成了瓶頸。我實(shí)測(cè)過(guò)在普通臺(tái)式機(jī)上CPU 模擬的粒子數(shù)量超過(guò) 5000 個(gè)左右就會(huì)開(kāi)始明顯掉幀超過(guò) 2 萬(wàn)個(gè)基本就沒(méi)法用了。GPU 模擬則完全相反。它的并行計(jì)算能力極強(qiáng)輕松跑幾十萬(wàn)甚至上百萬(wàn)粒子都不在話下。但它的限制也很明顯不能直接訪問(wèn) CPU 端的數(shù)據(jù)不能做復(fù)雜的邏輯分支調(diào)試起來(lái)非常困難。你在 GPU 上寫(xiě)錯(cuò)一個(gè)參數(shù)可能什么都看不到也不知道錯(cuò)在哪里。2.2 選型決策表考量維度CPU 模擬GPU 模擬粒子數(shù)量上限約 5000-20000約 50 萬(wàn)-200 萬(wàn)邏輯復(fù)雜度支持復(fù)雜分支和藍(lán)圖交互僅支持簡(jiǎn)單數(shù)學(xué)運(yùn)算調(diào)試難度低可逐幀查看高需要特殊工具數(shù)據(jù)接口訪問(wèn)可直接讀取藍(lán)圖和外部數(shù)據(jù)需要通過(guò) Data Channel 中轉(zhuǎn)碰撞檢測(cè)支持精確碰撞僅支持深度緩沖碰撞適用場(chǎng)景交互特效、技能效果大規(guī)模環(huán)境特效、數(shù)據(jù)可視化這張表是我在實(shí)際項(xiàng)目中總結(jié)出來(lái)的不是引擎文檔里的理論值。粒子數(shù)量上限取決于你的硬件配置和每個(gè)粒子的計(jì)算復(fù)雜度如果你每個(gè)粒子要跑幾十個(gè)模塊那 CPU 模擬可能 2000 個(gè)就卡了。GPU 模擬的上限也取決于你的顯存和 Shader 復(fù)雜度但總體來(lái)說(shuō)比 CPU 高出一個(gè)數(shù)量級(jí)。2.3 混合使用的實(shí)戰(zhàn)策略在實(shí)際項(xiàng)目里我很少純用 CPU 或純用 GPU更多是混合使用。比如一個(gè)角色釋放技能技能的核心粒子用 CPU 模擬因?yàn)樾枰徒巧趋?、碰撞盒做精確交互技能周圍的環(huán)境氛圍粒子用 GPU 模擬因?yàn)閿?shù)量大但邏輯簡(jiǎn)單。這樣既保證了交互精度又保證了視覺(jué)效果。混合使用的關(guān)鍵是要處理好兩者之間的數(shù)據(jù)同步。CPU 模擬的粒子位置可以通過(guò) Data Channel 傳給 GPU 模擬的粒子讓它們產(chǎn)生聯(lián)動(dòng)效果。比如 CPU 粒子爆炸后GPU 粒子根據(jù)爆炸中心的位置向外擴(kuò)散。這個(gè)同步過(guò)程需要注意時(shí)序問(wèn)題因?yàn)?GPU 模擬的更新頻率和 CPU 不一定一致可能會(huì)出現(xiàn)一幀的延遲。注意GPU 模擬的粒子無(wú)法直接讀取 CPU 端的內(nèi)存數(shù)據(jù)所有跨模擬方式的數(shù)據(jù)傳遞都必須通過(guò) Data Channel 或紋理烘焙的方式完成。如果你在 GPU 模擬的模塊里直接引用了一個(gè)藍(lán)圖變量引擎不會(huì)報(bào)錯(cuò)但運(yùn)行時(shí)那個(gè)值永遠(yuǎn)是默認(rèn)值。3. Niagara 數(shù)據(jù)接口的實(shí)戰(zhàn)應(yīng)用3.1 數(shù)據(jù)接口的四種類型Niagara 的數(shù)據(jù)接口不是單一功能而是一組機(jī)制的統(tǒng)稱。根據(jù)我的使用經(jīng)驗(yàn)可以把它分為四類藍(lán)圖參數(shù)接口、Data Channel、紋理數(shù)據(jù)接口、外部數(shù)據(jù)接口。藍(lán)圖參數(shù)接口是最基礎(chǔ)的一種。你在 Niagara System 里定義 User Parameter然后在藍(lán)圖里通過(guò) Set Niagara Variable 節(jié)點(diǎn)把值傳進(jìn)去。這種方式適合傳遞少量、低頻更新的數(shù)據(jù)比如角色的速度、顏色主題、技能等級(jí)。缺點(diǎn)是每次傳值都有一定的開(kāi)銷如果你每幀傳幾十個(gè)參數(shù)性能會(huì)受影響。Data Channel 是 Niagara 內(nèi)部的數(shù)據(jù)總線。它允許不同的 System 之間共享數(shù)據(jù)也允許 CPU 和 GPU 之間傳遞數(shù)據(jù)。Data Channel 的讀寫(xiě)是在 GPU 上完成的所以速度很快適合高頻更新的數(shù)據(jù)。我通常用它來(lái)做粒子之間的通信比如一群粒子跟隨另一群粒子的運(yùn)動(dòng)。紋理數(shù)據(jù)接口是指把數(shù)據(jù)烘焙到紋理里然后在 Niagara 里采樣這張紋理。這種方式適合傳遞大量靜態(tài)或低頻更新的數(shù)據(jù)比如地形高度圖、流體模擬結(jié)果、預(yù)計(jì)算的風(fēng)場(chǎng)。紋理的優(yōu)點(diǎn)是 GPU 采樣極快缺點(diǎn)是數(shù)據(jù)更新需要重新烘焙紋理實(shí)時(shí)性差。外部數(shù)據(jù)接口是指 Niagara 通過(guò) C 或藍(lán)圖從引擎外部獲取數(shù)據(jù)比如讀取文件、調(diào)用網(wǎng)絡(luò)接口、接收傳感器數(shù)據(jù)。這部分需要寫(xiě)代碼來(lái)實(shí)現(xiàn)Niagara 本身不提供直接的外部數(shù)據(jù)讀取功能。但一旦數(shù)據(jù)進(jìn)入引擎就可以通過(guò)前面三種接口傳給粒子系統(tǒng)。3.2 用 Data Channel 實(shí)現(xiàn)粒子間通信Data Channel 是我用得最多的數(shù)據(jù)接口因?yàn)樗鉀Q了 GPU 模擬中粒子之間無(wú)法直接通信的問(wèn)題。在 GPU 模擬模式下每個(gè)粒子是獨(dú)立計(jì)算的粒子 A 不知道粒子 B 在哪里。但通過(guò) Data Channel粒子 A 可以把它的位置寫(xiě)到一個(gè)共享緩沖區(qū)粒子 B 可以從緩沖區(qū)讀取粒子 A 的位置。具體操作步驟是這樣的首先在 Niagara System 里創(chuàng)建一個(gè) Data Channel命名為比如 “ParticlePosition”。然后在發(fā)射器 A 的 Particle Spawn 或 Particle Update 階段添加一個(gè) Write Data Channel 模塊把粒子的位置寫(xiě)入這個(gè) Channel。接著在發(fā)射器 B 的 Particle Update 階段添加一個(gè) Read Data Channel 模塊讀取 Channel 里的位置數(shù)據(jù)用來(lái)影響粒子 B 的運(yùn)動(dòng)。這里有個(gè)細(xì)節(jié)需要注意Data Channel 的寫(xiě)入和讀取是有順序的。如果你在同一個(gè)幀里既寫(xiě)又讀讀到的可能是上一幀的數(shù)據(jù)。這個(gè)延遲在大多數(shù)場(chǎng)景下可以接受但如果你需要精確的同步就需要用雙緩沖或者調(diào)整更新順序。實(shí)操心得Data Channel 的緩沖區(qū)大小是有限的默認(rèn)好像是 256 個(gè) float。如果你要傳遞的數(shù)據(jù)超過(guò)這個(gè)限制需要在項(xiàng)目設(shè)置里調(diào)整。我踩過(guò)一次坑傳遞 500 個(gè)粒子的位置時(shí)發(fā)現(xiàn)只有前 256 個(gè)生效排查了半天才發(fā)現(xiàn)是緩沖區(qū)溢出了。3.3 紋理數(shù)據(jù)接口做風(fēng)場(chǎng)模擬風(fēng)場(chǎng)模擬是紋理數(shù)據(jù)接口的經(jīng)典應(yīng)用場(chǎng)景。你可以用一張 HDR 紋理來(lái)存儲(chǔ)風(fēng)的方向和強(qiáng)度然后在 Niagara 里采樣這張紋理根據(jù)粒子的世界位置查表得到風(fēng)力再施加到粒子的速度上。制作風(fēng)場(chǎng)紋理的流程一般是在 Houdini 或其他 DCC 工具里生成風(fēng)場(chǎng)數(shù)據(jù)導(dǎo)出為 EXR 格式的紋理然后導(dǎo)入 UE5。在 Niagara 里你需要把粒子的世界坐標(biāo)映射到紋理的 UV 空間這通常需要知道風(fēng)場(chǎng)覆蓋的世界范圍。比如風(fēng)場(chǎng)覆蓋 1000x1000 的世界單位紋理分辨率是 512x512那么 UV 就是 (WorldPos.X / 1000 0.5, WorldPos.Y / 1000 0.5)。采樣紋理的時(shí)候要注意紋理的尋址模式。如果你的粒子跑到了風(fēng)場(chǎng)范圍之外UV 會(huì)超出 0-1 的范圍。這時(shí)候你可以把尋址模式設(shè)為 Clamp讓邊緣的風(fēng)場(chǎng)延伸出去或者設(shè)為 Wrap讓風(fēng)場(chǎng)循環(huán)。具體用哪種取決于你的場(chǎng)景需求。3.4 外部數(shù)據(jù)接入的工程實(shí)踐把外部數(shù)據(jù)接入 Niagara 是一個(gè)系統(tǒng)工程不是改幾個(gè)參數(shù)就能搞定的。我以金融數(shù)據(jù)可視化為例講一下完整的流程。假設(shè)你要做一個(gè)實(shí)時(shí)股票價(jià)格的可視化用粒子系統(tǒng)展示價(jià)格波動(dòng)。數(shù)據(jù)源是一個(gè) Python 腳本通過(guò)接口獲取實(shí)時(shí)行情。第一步是讓 Python 腳本把數(shù)據(jù)寫(xiě)入一個(gè)文件或者發(fā)送到一個(gè)本地服務(wù)。第二步是在 UE5 里寫(xiě)一個(gè) C 或藍(lán)圖模塊定時(shí)讀取這個(gè)文件或接收服務(wù)推送的數(shù)據(jù)。第三步是把讀到的數(shù)據(jù)通過(guò)藍(lán)圖參數(shù)接口或 Data Channel 傳給 Niagara System。第四步是在 Niagara 里根據(jù)數(shù)據(jù)值調(diào)整粒子的屬性比如價(jià)格漲了粒子變綠向上價(jià)格跌了粒子變紅向下。這個(gè)流程里最容易出問(wèn)題的是數(shù)據(jù)頻率和引擎幀率的匹配。金融數(shù)據(jù)可能每秒更新幾十次但引擎只跑 60 幀。如果你每收到一個(gè)數(shù)據(jù)就更新一次粒子會(huì)造成大量無(wú)效更新。我的做法是在引擎端做一個(gè)緩沖隊(duì)列每幀從隊(duì)列里取最新的數(shù)據(jù)丟棄過(guò)時(shí)的數(shù)據(jù)。這樣既保證了實(shí)時(shí)性又不會(huì)浪費(fèi)性能。4. 性能優(yōu)化與常見(jiàn)問(wèn)題排查4.1 性能優(yōu)化的五個(gè)關(guān)鍵點(diǎn)Niagara 的性能優(yōu)化是一個(gè)老生常談的話題但很多人只知道“減少粒子數(shù)量”這一條。實(shí)際上優(yōu)化是一個(gè)多維度的工程我總結(jié)了五個(gè)關(guān)鍵點(diǎn)。第一是模塊的精簡(jiǎn)。每個(gè)粒子在每一幀都會(huì)執(zhí)行所有啟用的模塊模塊越多計(jì)算量越大。我見(jiàn)過(guò)一個(gè)特效用了 30 多個(gè)模塊其中一半是默認(rèn)值沒(méi)改過(guò)的。刪掉這些無(wú)用模塊性能直接提升 40%。你要養(yǎng)成習(xí)慣每加一個(gè)模塊都問(wèn)自己這個(gè)模塊真的需要嗎第二是更新頻率的控制。不是所有粒子都需要每幀更新。比如背景里的塵埃粒子每三幀更新一次完全看不出區(qū)別。Niagara 里可以設(shè)置 Emitter 的更新頻率或者用模塊里的條件判斷來(lái)控制更新。這個(gè)技巧在大規(guī)模場(chǎng)景里效果非常明顯。第三是 LOD 策略。遠(yuǎn)處的粒子用低精度模擬近處的用高精度。Niagara 支持基于距離的 LOD你可以為每個(gè) LOD 級(jí)別設(shè)置不同的粒子數(shù)量、模塊復(fù)雜度、甚至不同的模擬方式。我通常會(huì)把最遠(yuǎn)的 LOD 設(shè)為 GPU 模擬加簡(jiǎn)單材質(zhì)最近的 LOD 設(shè)為 CPU 模擬加完整模塊。第四是渲染優(yōu)化。粒子的渲染開(kāi)銷往往被低估。半透明粒子的 Overdraw 是性能殺手尤其是大面積的煙霧和火焰。你可以通過(guò)調(diào)整粒子的尺寸、減少重疊、使用 Cutout 材質(zhì)代替半透明材質(zhì)來(lái)降低 Overdraw。另外粒子材質(zhì)的復(fù)雜度也要控制一個(gè)簡(jiǎn)單的 Unlit 材質(zhì)比復(fù)雜的 PBR 材質(zhì)快好幾倍。第五是內(nèi)存管理。GPU 模擬的粒子數(shù)據(jù)存在顯存里每個(gè)粒子占用的顯存取決于它攜帶的屬性數(shù)量。如果你給粒子加了很多自定義屬性顯存占用會(huì)快速上升。我建議只保留必要的屬性不需要的通道及時(shí)刪除。4.2 常見(jiàn)問(wèn)題速查表問(wèn)題現(xiàn)象可能原因排查方法解決方案粒子不顯示Emitter 未啟用或生成速率為 0檢查 Emitter 的 Spawn Rate 和 Enabled 狀態(tài)啟用 Emitter調(diào)整 Spawn RateGPU 粒子位置錯(cuò)亂模擬空間設(shè)置錯(cuò)誤檢查 Emitter 的 Sim Target 和 Fixed Bounds切換模擬空間或調(diào)整邊界Data Channel 讀取不到數(shù)據(jù)緩沖區(qū)溢出或時(shí)序錯(cuò)誤檢查 Channel 名稱和緩沖區(qū)大小增大緩沖區(qū)調(diào)整讀寫(xiě)順序粒子閃爍排序問(wèn)題或深度沖突檢查材質(zhì)排序和深度測(cè)試設(shè)置調(diào)整排序優(yōu)先級(jí)啟用深度測(cè)試性能驟降粒子數(shù)量過(guò)多或模塊復(fù)雜用 Profiler 查看 GPU/CPU 耗時(shí)減少粒子數(shù)精簡(jiǎn)模塊啟用 LOD藍(lán)圖參數(shù)不生效參數(shù)名稱不匹配或未設(shè)置檢查藍(lán)圖節(jié)點(diǎn)和 Niagara 參數(shù)名確保名稱一致檢查 Set 節(jié)點(diǎn)執(zhí)行時(shí)機(jī)這張表里的每一個(gè)問(wèn)題我都實(shí)際遇到過(guò)尤其是 Data Channel 那個(gè)當(dāng)時(shí)排查了整整一個(gè)下午。后來(lái)我發(fā)現(xiàn)Niagara 的參數(shù)名是大小寫(xiě)敏感的藍(lán)圖里寫(xiě) “particlePosition” 和 Niagara 里的 “ParticlePosition” 不匹配引擎不會(huì)報(bào)錯(cuò)只是靜默失敗。這個(gè)坑希望大家不要再踩。4.3 調(diào)試 GPU 模擬的獨(dú)門技巧GPU 模擬的調(diào)試是 Niagara 使用中最讓人頭疼的部分。因?yàn)榱W釉?GPU 上計(jì)算你沒(méi)法像 CPU 那樣打斷點(diǎn)或者逐幀查看。我摸索出幾個(gè)實(shí)用的調(diào)試技巧。第一個(gè)技巧是用 Debug Draw 模塊。Niagara 提供了一些調(diào)試模塊可以把粒子的位置、速度、顏色等信息畫(huà)成線條或點(diǎn)。雖然 GPU 模擬的粒子不能直接用這些模塊但你可以通過(guò) Data Channel 把 GPU 粒子的數(shù)據(jù)傳回 CPU然后用 CPU 粒子來(lái)可視化這些數(shù)據(jù)。這個(gè)方法有點(diǎn)繞但非常有效。第二個(gè)技巧是分階段驗(yàn)證。不要一次性把整個(gè) GPU 模擬搭好而是先做一個(gè)最簡(jiǎn)單的版本比如只生成粒子并給一個(gè)固定速度。確認(rèn)這個(gè)版本能跑通后再逐步添加模塊。每加一個(gè)模塊就驗(yàn)證一次這樣出問(wèn)題的時(shí)候你立刻知道是哪個(gè)模塊導(dǎo)致的。第三個(gè)技巧是用固定隨機(jī)種子。GPU 模擬的隨機(jī)數(shù)生成和 CPU 不一樣有時(shí)候你看到的結(jié)果不穩(wěn)定是因?yàn)殡S機(jī)種子在變。把隨機(jī)種子固定下來(lái)結(jié)果就可復(fù)現(xiàn)了排查問(wèn)題會(huì)容易很多。第四個(gè)技巧是降低粒子數(shù)量。調(diào)試的時(shí)候把粒子數(shù)量降到幾十個(gè)這樣即使有問(wèn)題也容易觀察。等邏輯調(diào)通了再恢復(fù)到正常數(shù)量。注意GPU 模擬的粒子在編輯器里可能顯示不正常但在運(yùn)行時(shí)是好的。這是因?yàn)榫庉嬈鞯念A(yù)覽模式和運(yùn)行時(shí)的模擬模式有差異。如果你在編輯器里看到粒子亂飛先別急著改代碼按一下 Play 看看運(yùn)行時(shí)是否正常。5. Niagara 與 UE5 其他系統(tǒng)的聯(lián)動(dòng)5.1 與動(dòng)畫(huà)系統(tǒng)的結(jié)合Niagara 和 UE5 動(dòng)畫(huà)系統(tǒng)的結(jié)合是一個(gè)很有價(jià)值的方向。你可以用動(dòng)畫(huà)骨骼的位置來(lái)驅(qū)動(dòng)粒子發(fā)射比如角色揮劍時(shí)劍刃軌跡上生成粒子拖尾。實(shí)現(xiàn)方式是在動(dòng)畫(huà)藍(lán)圖里獲取骨骼的 Socket 位置然后通過(guò)藍(lán)圖參數(shù)接口傳給 NiagaraNiagara 根據(jù)這個(gè)位置來(lái)生成粒子。更高級(jí)的用法是用動(dòng)畫(huà)曲線來(lái)控制粒子的參數(shù)。比如角色跳躍時(shí)動(dòng)畫(huà)曲線里有一個(gè) “JumpHeight” 的值你可以把這個(gè)值傳給 Niagara讓粒子的發(fā)射速度隨跳躍高度變化。這樣粒子和角色的動(dòng)作就是完全同步的不會(huì)出現(xiàn)脫節(jié)的感覺(jué)。5.2 與物理系統(tǒng)的交互Niagara 的 GPU 粒子可以和物理系統(tǒng)做一定程度的交互但限制比較多。GPU 粒子支持深度緩沖碰撞意思是粒子可以和場(chǎng)景中的不透明物體碰撞但無(wú)法和物理剛體做精確碰撞。如果你需要粒子和物理剛體交互只能用 CPU 模擬。CPU 模擬的粒子可以通過(guò)藍(lán)圖和物理系統(tǒng)交互。比如你可以用 Line Trace 檢測(cè)粒子前方是否有碰撞體如果有就改變粒子的運(yùn)動(dòng)方向。這種方式適合做小規(guī)模的精確交互比如子彈擊中墻壁產(chǎn)生的火花。5.3 與音頻系統(tǒng)的聯(lián)動(dòng)音頻可視化是 Niagara 的一個(gè)熱門應(yīng)用場(chǎng)景。UE5 的音頻系統(tǒng)可以分析音頻的頻譜把頻譜數(shù)據(jù)通過(guò)藍(lán)圖傳給 NiagaraNiagara 根據(jù)頻譜值來(lái)調(diào)整粒子的顏色、大小、速度。這個(gè)效果在音樂(lè)播放器、節(jié)奏游戲里很常見(jiàn)。實(shí)現(xiàn)的關(guān)鍵是音頻數(shù)據(jù)的獲取和傳遞。UE5 提供了 Audio Synesthesia 插件可以實(shí)時(shí)分析音頻的頻譜、節(jié)拍、響度等數(shù)據(jù)。你把這些數(shù)據(jù)綁定到 Niagara 的參數(shù)上就能做出隨音樂(lè)跳動(dòng)的粒子效果。需要注意的是音頻數(shù)據(jù)的更新頻率很高建議用 Data Channel 而不是藍(lán)圖參數(shù)來(lái)傳遞否則性能開(kāi)銷會(huì)比較大。5.4 與 UI 系統(tǒng)的配合Niagara 粒子也可以用在 UI 上比如按鈕點(diǎn)擊時(shí)的粒子反饋、界面切換時(shí)的過(guò)渡效果。UE5 的 UMG 系統(tǒng)支持在 Widget 里嵌入 Niagara 組件但性能上需要特別注意。UI 粒子的數(shù)量要嚴(yán)格控制材質(zhì)要盡量簡(jiǎn)單否則會(huì)拖累整個(gè) UI 的渲染。我個(gè)人的經(jīng)驗(yàn)是UI 粒子最好控制在 100 個(gè)以內(nèi)用 CPU 模擬材質(zhì)用 Unlit 加半透明。如果效果需要更多粒子考慮用序列幀動(dòng)畫(huà)或者材質(zhì)動(dòng)畫(huà)來(lái)代替性能會(huì)好很多。6. 從零搭建一個(gè)數(shù)據(jù)驅(qū)動(dòng)的粒子可視化系統(tǒng)6.1 需求分析與方案設(shè)計(jì)假設(shè)我們要做一個(gè)實(shí)時(shí)數(shù)據(jù)監(jiān)控面板用粒子系統(tǒng)展示服務(wù)器的 CPU 使用率、內(nèi)存占用、網(wǎng)絡(luò)流量三個(gè)指標(biāo)。CPU 使用率用粒子的密度表示內(nèi)存占用用粒子的顏色表示網(wǎng)絡(luò)流量用粒子的運(yùn)動(dòng)速度表示。這個(gè)需求的核心是數(shù)據(jù)驅(qū)動(dòng)粒子系統(tǒng)本身不產(chǎn)生數(shù)據(jù)只是數(shù)據(jù)的可視化載體。方案設(shè)計(jì)上我選擇 CPU 模擬加藍(lán)圖參數(shù)接口的方式。原因是數(shù)據(jù)量不大三個(gè)指標(biāo)更新頻率中等每秒一次CPU 模擬完全夠用而且調(diào)試方便。6.2 數(shù)據(jù)接入與參數(shù)映射數(shù)據(jù)接入部分我用一個(gè) Python 腳本模擬數(shù)據(jù)源每秒生成一組隨機(jī)數(shù)據(jù)寫(xiě)入 JSON 文件。UE5 端用一個(gè)藍(lán)圖 Actor 定時(shí)讀取這個(gè)文件解析出三個(gè)指標(biāo)的值然后通過(guò) Set Niagara Variable 節(jié)點(diǎn)傳給 Niagara System。參數(shù)映射的邏輯是這樣的CPU 使用率 0-100% 映射到粒子的 Spawn Rate 0-1000內(nèi)存占用 0-100% 映射到粒子的顏色從綠色漸變到紅色網(wǎng)絡(luò)流量 0-1000 Mbps 映射到粒子的初始速度 0-500。這些映射關(guān)系在 Niagara 里用 Map Range 模塊實(shí)現(xiàn)輸入是藍(lán)圖傳入的參數(shù)輸出是粒子的屬性值。6.3 Niagara 系統(tǒng)的搭建步驟第一步創(chuàng)建一個(gè) Niagara System添加一個(gè) Emitter模擬目標(biāo)設(shè)為 CPU。第二步在 Emitter 的 Particle Spawn 階段添加 Spawn Rate 模塊把 Spawn Rate 綁定到一個(gè) User Parameter命名為 “CPURate”。第三步在 Particle Spawn 階段添加 Initialize Particle 模塊設(shè)置粒子的初始位置為發(fā)射器原點(diǎn)周圍隨機(jī)分布初始速度綁定到 User Parameter “NetworkSpeed”。第四步在 Particle Update 階段添加 Color 模塊把顏色綁定到 User Parameter “MemoryColor”。第五步在 Particle Update 階段添加 Gravity 和 Drag 模塊讓粒子有自然的運(yùn)動(dòng)衰減。第六步設(shè)置渲染器為 Sprite Renderer材質(zhì)用一個(gè)簡(jiǎn)單的 Unlit 半透明材質(zhì)顏色從粒子屬性讀取。6.4 藍(lán)圖端的實(shí)現(xiàn)細(xì)節(jié)藍(lán)圖端的核心是一個(gè)定時(shí)器每隔一秒觸發(fā)一次數(shù)據(jù)讀取和參數(shù)設(shè)置。讀取 JSON 文件用 UE5 的 File IO 功能解析 JSON 用 Json Blueprint 插件。解析出來(lái)的值通過(guò) Set Niagara Variable (Float) 和 Set Niagara Variable (Linear Color) 節(jié)點(diǎn)傳給 Niagara System。這里有個(gè)細(xì)節(jié)要注意Set Niagara Variable 節(jié)點(diǎn)需要指定 Niagara System 的引用和參數(shù)名稱。參數(shù)名稱必須和 Niagara 里定義的 User Parameter 完全一致包括大小寫(xiě)。我建議在 Niagara 里定義參數(shù)時(shí)就做好命名規(guī)范比如統(tǒng)一用 “Param_” 前綴避免混淆。6.5 效果驗(yàn)證與調(diào)優(yōu)搭好之后運(yùn)行引擎觀察粒子的表現(xiàn)。如果 CPU 使用率升高粒子應(yīng)該變密內(nèi)存占用升高粒子應(yīng)該變紅網(wǎng)絡(luò)流量增大粒子應(yīng)該飛得更快。如果某個(gè)指標(biāo)沒(méi)反應(yīng)先檢查藍(lán)圖端的 Set 節(jié)點(diǎn)是否執(zhí)行了再檢查 Niagara 端的參數(shù)名是否匹配。調(diào)優(yōu)方面我調(diào)整了粒子的生命周期和發(fā)射范圍。生命周期設(shè)為 2 秒這樣粒子不會(huì)堆積太多。發(fā)射范圍設(shè)為球形半徑 200 單位讓粒子分布更自然。渲染材質(zhì)加了點(diǎn)發(fā)光效果讓數(shù)據(jù)變化更醒目。這個(gè)系統(tǒng)雖然簡(jiǎn)單但涵蓋了 Niagara 數(shù)據(jù)接口的核心流程外部數(shù)據(jù)接入、藍(lán)圖參數(shù)傳遞、Niagara 參數(shù)映射、粒子屬性綁定。你把這個(gè)流程跑通了換成任何其他數(shù)據(jù)源都是一樣的套路。7. 一些踩過(guò)的坑和實(shí)用建議Niagara 這個(gè)工具文檔寫(xiě)得不算差但很多細(xì)節(jié)只有實(shí)際用過(guò)才知道。我挑幾個(gè)印象深刻的坑分享一下。第一個(gè)坑是 GPU 模擬的邊界問(wèn)題。GPU 粒子需要一個(gè) Fixed Bounds 來(lái)定義模擬范圍如果粒子跑出了這個(gè)范圍就會(huì)被裁剪掉。我一開(kāi)始不知道這個(gè)機(jī)制做出來(lái)的粒子飛著飛著就消失了還以為是 Bug。后來(lái)在 Emitter 屬性里找到 Fixed Bounds把范圍調(diào)大就解決了。建議在做 GPU 粒子時(shí)先把邊界設(shè)得比實(shí)際需要大一圈確認(rèn)效果后再收緊。第二個(gè)坑是 Data Channel 的命名沖突。如果你在多個(gè) System 里用了同名的 Data Channel它們會(huì)互相干擾。我建議給每個(gè) Data Channel 加項(xiàng)目前綴比如 “MyProject_WindData”避免沖突。第三個(gè)坑是材質(zhì)和模擬空間的匹配。Niagara 的模擬空間有 World、Local、Custom 三種。如果你用 Local 空間模擬但材質(zhì)里用了 World Position 來(lái)計(jì)算顏色結(jié)果就會(huì)錯(cuò)亂。模擬空間和材質(zhì)空間必須一致這個(gè)在搭建時(shí)就要確定好。第四個(gè)坑是版本兼容性。UE5 的不同小版本之間Niagara 的模塊和參數(shù)有時(shí)會(huì)變。如果你從網(wǎng)上抄了一個(gè)教程發(fā)現(xiàn)節(jié)點(diǎn)對(duì)不上很可能是版本差異。建議以你當(dāng)前使用的引擎版本為準(zhǔn)教程只做參考。第五個(gè)坑是性能分析的誤區(qū)。很多人看 Niagara 的性能只看粒子數(shù)量其實(shí)模塊的復(fù)雜度影響更大。一個(gè)粒子跑 50 個(gè)模塊比 10 個(gè)粒子各跑 5 個(gè)模塊要慢得多。用 Unreal Insights 或者 GPU Profiler 去看實(shí)際的耗時(shí)分布才能找到真正的瓶頸。最后分享一個(gè)實(shí)用建議養(yǎng)成做筆記的習(xí)慣。Niagara 的參數(shù)和模塊太多了你今天調(diào)好了一個(gè)效果過(guò)兩周可能就忘了怎么調(diào)的。我通常會(huì)在 Niagara System 的 Description 里寫(xiě)清楚每個(gè)參數(shù)的用途和取值范圍方便以后查閱也方便團(tuán)隊(duì)協(xié)作。這個(gè)習(xí)慣看起來(lái)不起眼但長(zhǎng)期來(lái)看能省很多時(shí)間。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97高清啪啪| 亚洲精品久久一区二区三区蜜桃臀| 欧洲乱码视频| 91精品免费| 久久久久久九九九| 五月婷婷啪啪| 77777亚洲蜜臀精品久久综合蜜臀| 18禁久极品美女久久哦哟呀!| 精品人妻一区二区三区四区不卡在| 少妇干B| 欧洲精品二区| 久久久免费视频18| 91久久久亚洲| 欧美熟妇乱码在线一区| 毛片一区二区| 欧美激情亚洲色图| 午夜精品久久一区二区| 日韩国语字幕| 天天干天天舔| 九九热免费在线国产视频伊人五月| 少妇无码999| 牛牛aV| 粉嫩久久久久| 久久久久久99AV无码免费网站| 亚洲一区二区中文字幕| 国产成人无码久久精品| 97久久天天综合色天天综合色电影| 久久久一区二区三区三州| 97人肏| 91精品人妻一区二区三区蜜桃| 黄片www.| 玖玖爱伊人玖玖爱| www国产天美久久久| 日韩精品电影| 无码高清专| 国产精品久久久777| 免费精品无码一级毛片牛牛影视 | 久久久久久久久女黄| 亚州免费啪啪视频| 性爱AV天堂| 欧美精品xxxwww| 天天色踪合| 18禁美女裸体无遮挡啪啪| 乱理日韩中文| 欧美性爱第一区| 激情视频网址| 亚洲精品一区中文字幕乱码| 精品人妻一区二区三区不卡断| 超碰无码加勒比| 亚洲限制级| 亚洲日韩美国人妻| 亚洲国产福利视频| 久久久久久亚洲精品中文字幕人妻| 另类图片五月| 国产精品欧美激在线| 一级婬片120分钟试看| 久久久9品一区二区三区| 超碰色大香蕉| 99久久com免费视频′| 欧美第二页午夜| 福利视频一区二区微拍| 极品肉射| 白丝jkav| 中国AAAAAA黄色片| 日本一区二区三区四区免费观看| 中文字幕人妻丝袜乱一区三区| 久久草大香蕉| 精品在线78| 色婷婷五月综合| 久久的免费性爱视频| 手机在线看片免费人成视频| 成人小电影网站tex| 日韩精品三区四区| 人妻熟女av国产网站| 久久久久久久久久久久欧美日| 乱伦熟女论坛| 久久草大香蕉| 日韩AV无码网站| 成人久久久精品| 久久女人一区二区三区| 精品国产无码中文| 国语av狠狠色丁香婷婷综合激情| 97超碰天天爱天天爱| 五十路六十路七十路熟婆| 亚洲影视高清第一页| 日本123区操B视频| 国产亚洲精品无码三区| 麻豆区久久久久亚| 欧美超碰96| 婷婷中文网| 国产一级高清免费观看| 日韩欧美久久婷婷网站| 中文有码第五页| 69精品久久久久中文字幕| 91人妻人人澡人人爽人人精品| 久久国模av| 337p大胆噜噜噜噜噜91Av| 极品欧美一区二区三区| 偷拍导航视频网站| 日本美女性生活久久久久久久| 久操网视频| 亚洲精品97| 99热这里只有是精品10| 欧美日韩性感| 欧美精品1区2区3区| 97久久超碰| 99re99视频在线免费观看| 99这里只有精品| 爱av免费| 乱抡国产91| 91天堂| 人妻无码一区二区三区久久99| 污污汅18禁网站在线永久免费观看 | 97AV爱| 美女极品一区二区三区| 91综合网| 亚洲国产成人7777| 啊啊啊啊啊好多水| 日本久久久久久久久久| 欧美天堂日韩三级国产传媒| 丁香六月激情综合| 丁香五月天婷婷姐| 密桃99999| 五月丁香激情啪啪| 九九热精品| 欧美日韩性爱视屏免费看了| 99久久久er直播网址| 国产无马在线| 韩国手机不卡无码三级视频| 亚洲精品白浆高清久久久久久| 97在线免费观看| 黄色网址久久精品欧美喷水| 亚洲黄色AV电影| 日韩欧美成人大香蕉| 久久综合99| 思思热久久成人| 农村女一级毛卡片| 色香AV| 69精品人人人人| 天天干天天日天天射黄色大片 | 欧美日韩高潮喷水91| 小情侣高清国产在线视频| 国产日产精品久久快鸭的功能介绍| 精品美女少妇一区二区| 色九九九九九九| 高清孕妇孕交 交孕妇| 国桃视频产巨乳精品一区二区在线| 婷婷香网站| 99在线观看无大码| 日韩 欧美 国产 麻豆| 青青操97| 在线观看A啊啊啊| 成人性爱电影一区二区| 亚洲国产一级黄色视频| 人妻一区视频| 8050午夜少妇无码| 亚洲色综合| 91丨国产丨白浆| 久久久久久久久久久人妻| 五月婷婷综合网| renqi久久久久久久久久久久| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 操逼视频国产无套| 亚洲春色一区二区三区| 美女操逼A A| 干干干天天| 国产精品一区二区 尿失禁| 欧美精品日韩一区二区| 九久久九九久视频| 久操网址| 日本亚洲熟女视频| 日韩三级久久久| 麻豆黄四叶草网站| 久湿久久| 亚洲成人贴图| 九九综合九九综合| 手机在线中文字幕国产| 亚洲av乱伦色图网站| 欧苏综合色综合| 999久久久久久久精| 日本啊啊啊啊啊视频| 欧美天堂第二区| 精品国产乱码久久久影院| 国产精品久久泡妞网站| 天天弄天天操| 国产精品久久久亚洲一区| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 九色精品视频导航1| 日本在线不卡v二区| AV免费在线播放一区| 中文字幕成人| 超碰欧美在线欧美| 欧美色图 色综合图| 亚洲**2021在线观看| 免费作爱一级视频| 啊啊啊啊啊啊在线看| 国产欧美一区二区| 人妻喷水| 国产一区在线观看无码AV| 99精彩视频| 成人色女网| 夜夜黄| 激情黄色片在线观看| 自拍大香蕉乱插| 天天添天天干电影| 久艹免费| 久久一级无码精品毛片6| 艳美熟妇先锋一二三区| 天天色综合影视网| 黄色电影观看久久9| 亚洲精品成人| 亚洲系列欧美| 黄色激情电影在线观看| 黑人操一区二区| 按摩中文字幕| 欧美97超碰| 日本护士高潮| 日本黄页视频在线观看| 东京热视频网| 亚洲综合在线视频| JuliaAnnXXX888| 377p欧洲日本亚洲大胆| 97高清啪啪| 亚洲男人在线观看天堂| 精品性爱无码在线播放| 人妻天天爽| 高清无码在线播放网站| 人妻精品一区二区全免费| AV中亚| 久久婷色| 欧美性爱一区二区三区| 欧美日韩香蕉| 久久久久9999精品九九九| 在线人成亚洲视频免费观看| 亚洲色图大香| 97 国产精品| 亚洲一区中文字幕| 成人无码影片视频在线| 久久综合女优| 日韩中文字幕国产| 97一区二区三区视频| 欧美极品美女aaaaaa级黄片| 柠檬AV导航| 91国内外在线| 久久久久久日韩| 欧美亚洲第1页| 激情小说亚洲| 国产精品对白内射| 国产精品一区二区三区四区五区| 丁香六月激情| 欧美91在线| 天天看综合网| 天天操天天干美女网址导航| 在线看免费无码AV天堂的| 91熟女.com| 国产女生在线| 淫淫综合网| 亚洲男人天堂2019| 在线免费观看高清无码视频| 欧美欲色| 国产Aα| 欧美亚洲宗合色性图| 性在久久久久久| 夜夜免费视频| 久久九九网| 欧美亚洲天天| 九九玖玖精品| 琪琪精品免费一区二区三区 | 日韩综合97p| 99爱在线视频| 欧美日韩欧美| 国产极品999| 超碰精品国产无码| 午夜久久久| 色婷婷成人| 亚洲加勒比久久日本道| 亚洲免费精品一区| 久久91精品国产9丨久久分亭| 乱色老一区二区三区的观看方式| 五月婷婷综合网| 超碰97人妻自拍| 久久久久久久极品香蕉视频| 国产女s强制榨精视频| 龙兴卡官方查询| 日本片日本片祼观看网站在线看中文版网页在线看 | 九九九久千久久激情蜜桃在线看| 综合国产影视三级| 乱人乱色一区二区三区免费| 久久婷婷在线观看视频| 三级网色| 亚洲影视综合| 男人天堂网手机版婷婷| 嗯嗯,啊啊,国产精品| 日韩中文字幕视频| 精品少妇一区二区三区| 人妻插插人妻人| 性开放中文AV高清无码免费看| 午夜福利 成人 91| 一区二区三区男女操逼黄色小电影| 欧美日韩国产三级黄色| 欧美性夜| 91女优在线观看 | 五月天精品| 囯戸精品高潮呻吟旡码| 天天综合~91| 青青草十区九区爱夜| 日韩一区二区三区四区五区| 国产精品视频自拍在线| 台湾佬大香蕉| 97精品国产精品免费观看| 92福利社视频| 国产亚洲国产超碰| 手机在线中文字幕国产| 色姑娘综合网| 色九九九九九九| 91成人在线| 丁香五月成人| 欧亚性爱视频免费看| 日韩成人性日韩成人性爱视频在线免费观看| 91亚洲欧美综合高清在线| 熟妇人妻一区二区三区| 亚洲色图91欧美日韩| AV污污污污| 国产无码精品久久久久久| 超碰97人人乐| 天天综合站| 素颜老阿姨乱情色| 麻豆天美制片厂网站视频| a网站免费观看| 国产一级作爱毛片| 国产毛片在线| 久久天天艹| 天美传媒婬乱| 偷拍精品一区二区三区| 少妇熟女视频一区二区三区| 福利一级版子| 久久亚洲不卡一区二区三区| 婷婷成人久久久精品| 一区在线观看中文字幕| 亚洲无码一区二区三区三州| 亚州AV无码国产精品| 国产精品一区二区亚洲人成毛片| 精品人妻一区二区三区在| 2017天天透天天通天天擦| 三级网站超变态精品| 精品人人| 亚洲精品丝袜| 国产性感在线观看| 精品视频97| 青青草久久一区网| 亚洲91极品| 久久精品人体AV| 国产超碰在线| 开心五月激情网| 亚洲 日韩 欧美 国产综合体| 新版天堂中文资源8在线| 夜间福利片1000无码| 久久久久免费看少妇A片特黄| 黄色免费网| 91久久青青草原精品| 精品一区二区三区18| 伊人宅男大香蕉| 欧美色综合网| 懂色aV一区二区天美传媒| 亚洲综合第一页| 久久色精品视频在线| 欧美天天综合网| 日本一二区不卡| 欧美在线91| 国产精品第一区第一页| 黑人美精品 A片| 国产AV久久野战精品| 欧美成人性爱视频免费观看| 欧美视频边做饭边橾| 91动漫操逼视频| 日本中文字幕在线视频| 乱伦系列一区二区| 婷婷久久综合久| 天无日色综合| 日本久久综合| 亚洲图片小说欧洲| 麻豆国产97在线| 久久亚洲AV无码白度| 国产无码高清操逼视频| 伊人五月天激情| 国产JDAV无码视频在线观看| 97久久久| 国产夜夜操| www黄片免费看com| 亚卅熟女乱色| 国产午夜福利电影免费在线观看 | 97在线视频免费看| 九九综合九九综合| 欧美性爱中文字幕无线码| 日本精品一区二区中文字幕| 女同亚洲欧美一二三区久久电影| 欧美一区二区三区大综合| 一本色道久久综合熟妇| 91日韩国产欧美亚洲另类精盘州至城都| 欧美亚洲91| 国产av强奸美女| 欧美日韩性爱精品| 久久嫩草国产成人一区| 超碰9 7女人| 中文字幕丰满子伦无码专区在线视频最新 | 久久97超碰| 久久91精品国产9丨久久分亭| 国产乱伦性爱AV| 欧美人妻二区三区| 麻豆色99999| 探花视频免费观看国产专区| 亚洲 国产 精品一区| 欧美婷婷| 东京热大香焦| 不卡日本一区二区| 色五天伊人| 亚州色图第三区| 97欧美久久久久久久| yaouchengrenav| 九九伊人网| 青青草无码视频| 日韩免费a级毛片无码a∨| 91精品无码人妻系列| 极品色社| 激情婷婷丁香网| 日日操免费视频| 91狠狠色丁香婷婷综合久久精品| 亚洲和欧美裸体美女双飞视频| 另类小说欧美激情校园春色| 很黄很色的视频在线观看| 国产黄a三级三级三级av在线看| 中文在线视频| 国产久久成人| 有码人妻系列| 女人香蕉久久毛毛片精品| 国产日韩精品人妻久久久久色欲网站| 91熟女熟妇视频网站| 久艹99| 中文字幕日韩人妻视频| 久久一区,青青青青草视频在线播放| 九九九九九九综合| 欧美成人一级免费电影| 日韩色女精品| 人人爱人人操人人性| 亚洲熟女一区| 日本女优在线视频福利| 97网址97| 男女激情黄色网址| 欧美综合777| 少妇干B| 九9热伊人| 国产精品久久99日日| 日韩78m视频| 国产欧美精选激情视频| #NAME?| 91艹B视频| 欧洲大香蕉| 天堂中文日本在线观看| 久操| 91久久久久久久| 人人操人人操人妻人| 亚洲一区日韩| rion磁力链接| 免费看美国人人爽,人人操| 亚洲一区二区在线观看91| 台湾佬激情综合| 国产真实子伦对白| 蜜臀久久在线视频| 国产精品探花视频| 中文字幕欧洲有码| 97久久精品亚洲| 国产精品 视频| 岛国毛片在线观看免费| 女人被添高潮免费视频| 日日骚网站| 97色冈| 蜜乳视频网站| 国产女主播视频在线观看| 中文字幕av乱伦| 97在线观| 日韩激情视频| 日韩欧美经典在线观看| 天美91| 97香蕉人人乳| 日本操BAV| 91性网| 色爱欲亚洲| 日韩无码黄色片| 91白嫩| 欧亚乱色熟一区二区三四区| 国产麻豆福利av在线播放| 天堂亚洲精品| 午夜天堂精品久久| 日韩精品中文字幕二区| 狠狠婷婷亚洲中文综合久久| 天堂综合| 国产少妇与亚洲av| 日韩欧美tv一区二区在线观看| 91狠狠狠| 91成人在线| 大地资源在线观看中文第二页| 国产三级片在线观看| 自拍欧美| 天天干人人乐| 少妇无码999| 久热大香蕉| 日韩欧美蜜桃精品久久中文字幕久久| 天天爽天天| 精品人妻1区| 四虎AV在线播放| 大吊色| 岛国激情视频在线观看| 久草这里只有精品| 日韩资源网| 国产精品一二三区福利| 日韩操逼HD| 91精品人妻一区二区三区蜜桃| 怡红院成人av| 怡红院视频在线| 国产精品视频一区二区三区八戒| 天天综合网网欲色| 妇女乱色二区| 国产白丝在线| 伊人国产av| 天天爽天天操| 欧美日韩国内不卡| 色操逼网| V A在线| 亚州欧美在线| 久久精品高清无码一区| 黄色二级片网站| 啪啪啪大香蕉| 日韩探花精品在线视频| 人人 操人人 操人人| 精品91| 亚洲欧美校园| 国产熟女自拍| 欧美少妇高潮久久91| 偷拍欧美激情| 香蕉在线一区二区三区| 国产真乱mangent| 九九九只有精品| www成人啪啪18秘 免费| 老熟女乱伦片| 久久粉色| 亚洲精品国产熟女| 久久97资源 网| 艹比视频国产精品| 小视频国产| 亚洲无码国产探花在线观看| 97在线免费视频| 狼人狠干| 五十路熟女人妻一区二区在线观看| AV在线播放网址| 青青草日韩免费观看高清在线| 亚洲色图加勒比| 无码一区二区三区四区五区六区七区八区九区十区视频 | 俺也射| 色在线69堂| 午夜综合在线| 亚洲九九视频在线观看| 97超色| 亚洲天堂资源| 97资源站久久| 亚洲综人网| 国产精品禁久久久精品| 超碰97人人乐| 天堂成人网| 九九热九九| 欧美亚洲天堂| 亚洲日韩精品久久久久一区壹牛| 伊人一级免费黄片| 成人免费看吃奶视频网站| 亚洲男人久久综合天堂| 大黄片做爱的大的| 91在线精品| 日韩中文字幕视频在线观看| 国产高潮AA片免费看| 色色五月天激情| 香蕉在线一区二区三区| 日韩内射视频| 欧美亚洲日韩16色| 精品二区三四区五电影 | 欧美一区二区三区不卡高清视频| 伊人热综合| 天天激情干| 国产亚洲精品久久久久小| 国产亚洲色婷婷久久99精品91葵花宝典 | 加勒比综合a∨| 99在线观看| 99精品网| 东京热一区二区三区四区五区六区| 嗯嗯啊啊用力视频免费| 欧美在线55555| 久男人久久| 欧美+日产+中文| 午夜成人爽爽爽爽A片李冰冰| 免费少妇一区二区| 黄片在线免费在线观看| 性色一线| 小骚逼被操的爽不爽| 欧美第五页| 亚洲色图91| 人人看人人爰人人操| 最近的最新的中文字幕视频| 亚洲综合色男人网| 亚洲视频二区| 亚州性色| 97精品熟女少妇一区| 任你草| 久久欧洲| 亚洲综合嫩| 爱妃国产亚洲视频中文字幕| 在线v中文字幕一区二区三区| 亚洲国产一区二区三区在线 | 欧美激情综合网| 国产精品极品美女视频| 美女91色黄18| 伦理弟一页| 狠狠入| www.91人妻.com| 99超级碰免费视频| 婷婷另类小说| 中出欧美| 国产超碰人人爽人人做| 国产白领连续中出在线观看| 超碰 国产熟女精品一区| 狠狠超| 中文字幕成人理论在线| av操操不卡| 国产999精品久久久| 伊人黄色片| 97五月天| 亚洲图片偷拍欧美| 国产精品麻豆成人av| 亚洲国产日韩欧美熟妇在线| 青青国产在线拍揄自揄拍| 欧美日韩亚洲天堂| 天天干天天操天天干天天操| 亚洲日韩青青草色月| 国产区在线| 男人高清无码一区二区| 日韩久久超碰色| 97超碰超| 在线啊v一区| 爱爱久久| 人人做,人人操,人人摸| 天美国产三级传媒| 精精品人妻一区二区三区| 国产综合网站在线播放 | 嗯嗯,啊啊,国产精品| 骚熟女AV网| 日本五十路熟女一区二区| 欧美久久久15P| 激情小说图片亚洲首页| 熟妇熟女一区二区三区| 国产成人免费观看在线视频| 大吊色| 日本一区二区中文字幕久久| 国产亚洲在线| 亚洲中文字幕av| 日韩免费看黄片| 欧美999999| 熟女人妻精品一区二区视频| 无码精品久久久天天影视| 国产版a级片直播在线| 18禁久极品美女久久哦哟呀!| 欧美精品99久久久**| 青青草在线成人视频| 亚洲啪啪视频一区二区| 色97干| 国产中文字幕在线观看| 91美女视频| 国产精品一区二区三区四区五区| 国产一区二区三区影片| 日本欧美m v精品网站加| 亚洲欧洲无码bt精品合集| 91人妻丝袜无码| 熟妇乱伦一区二区| 久久久久久久久久久97| 日韩成人性日韩成人性爱视频在线免费观看| 天天干美少妇一区| 久久久久久九九九| 北条麻妃99精品青青久久| 九九九免费视频| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 人妻一二三区| 9999亚洲精品| 最新日产中文在线麻豆| 91狠狠狠| 99无码视频| 玖草在线视频| 久久AV无码1区2区3区| 国产精品探花色| 九九九九九九九九九九九九九九九女| 亚欧无码在线| 亚洲清纯综合| 男人的天堂2019AV| 97超碰人人操人人操| 亚洲综合有玛| 萌白酱自拍视频| 日本不卡免费二区| 在线观看一卡二卡| 亚洲 小说 欧美 激情 另类| 久久人爽| 亚洲福利中文字幕在线| 天天射日日干| 97 国产一区| 国产一区二区三区导航| 在线二区不卡| 亚洲啪啪综合?v一区综合精品区| 秋霞欧美性爰视频| 易易A毛视频| 思思热国产高清| 亚洲第2页| 日韩欧美麻豆| 天天干天天日天天射黄色| 熟妇xxxxx性春色| 色香91| 玖色AV| 日韩精品在线视频在线观看| 欧美日韩亚洲国产中文永久天天看| 涩五月婷婷| 97国产精品一区| 亚洲国产成人精品女人久久久| 九九久久国产精品怡红院| 久久久久久九九九九九| 综合影院永久入口国产| 亚洲精品aa久久伊人| 日本一区二区三区欧美日韩中文字幕| 日逼97| 日本熟妇熟色97一本在线观看| 久久天天艹| 久久超碰天天| 日本精品国产视频| 亚洲精品成人激情在线| 欧美色www亚洲国产阿娇要播| 日韩淫色网| 蜜色网色哟哟| A 天堂在线观看视频| 久久久久白虎| 丰满人妻av一区二区三区| 欧美自拍偷拍免费观看| 丝袜综合色图| 97亚洲中文| 欧日a| 亚洲图片欧美另类综合免费视频大大香| 麻豆国产96在线| 98超碰日本| 欧美78p| 亚洲欧美日韩精品久久久一区二区| 婷婷综合伊人一区| 女同性恋中文字幕| 性欧美天天| 大香蕉手机视频| 欧美精品xxxwww| 蜜桃av色偷偷av老熟女| 久久成人东京热人妻| 中文字幕97色| 一区二区三区 丝袜 高跟 美腿| 日韩亚洲Av人人夜夜澡人人爽| 天堂v无码免费视频| 青青草一区二区高清无码视频| 97视频www| 女人一区| 久久人妻四季| 亚洲少妇色| 日本熟女中文| 国产女人操逼视频| 亚洲阿v天堂无码z2018| 四虎国产精品永久在线囯在线| 中文字幕国产| 久久久少妇诱惑精品视频| 日韩情色AV| 日韩欧亚太美不卡| www.狠狠干.coom| 另类天堂| 综合久| 久草视频分类在线| 久久久久久AV无码免费网站| 天堂中文日本在线观看| 中日亚韩免费视频| 6080YYY午夜理论片在线观看| 中文字幕在线免费观看2| 熟女人妻一区二区三区| 精品无码少妇| 大鸡巴久久| 精品国产乱子伦一区二区三区,精品一| 欧美手机在线综合| 亚洲色图第一页| 久久一本大香蕉 | 国产一进一出视频网站| 操逼无码操逼| 黄色片A级一区二区三区| 伊人天天久久动态图| 91处女在线观看| 99热| 免费家庭乱伦视频| 日B操| 日本人妻中文字幕 | 欧美日综合| 伊人婷婷五月天| 久久曰曰| 色久综合| 国产精品一区二区在钱播放| 欧美色图97| 欧美日本天堂| 久草色悠悠在线视频| 日产中文字幕2020| 91在线丝袜视频| 99re99视频在线免费观看| 制服诱惑亚洲一区二区三区在线观看| 中国小夫妻勾搭露脸淫荡对白| AV丝袜东京热| 久草成人影片| 男人的天堂久久| 97干在线视频| 久久精品国产亚洲AV清纯| 国产亚洲精品A在线观看下载| 久久综合国产精品国产| 中文字幕狠狠玩| 色五月综合| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 日本孕妇一区二区视频操逼免费看 | 伊人午夜福利视频| 综合五月天| 久久AV无码AV| 欧美一级国产一级| 影音先锋国产精品| 台欧久久精品视频| 欧美性生活内射| 97在线播放 | 人妻少妇精品一区二区三区| 热天堂一区二区| 日韩黄色一区二区三区| 91超碰人人操| 欧美在线观看综合国产| 色五月婷婷五月天| 99啪啪| 中文字幕第95页| 上特色A在线| 欧美一级久久久久久久大片动画| 久草视频分类在线| 9久久9综合| 久久久91福利姬| 91天天综合网| 欧美丝袜制服久久| 久久久久13| 欧美 亚洲 91| 亚洲综合97| 亚洲日韩美女中文字幕乱| 欧美有码激情视频一区二区三区| 九九夜精品九九在线| 蜜汁欧美| 天天色黄色影院天天操| 五月丁香综合网| 亚洲欧美精品久| 91黄站| 黄骗免费| 日本一区二区三区精品| 九久久精品| 亚洲视频中文一区| 国产精品熟女乱伦| 男人天堂日日夜夜| 青草地一本线一区二区三区| 免费观看国产不卡av| 2020视频1区2区3区| 射丝袜大香蕉| 桃花色综合影院| 五月天激情小说| 风月影院男女十八禁| 极品国产内射| 婷婷久久大香蕉| 国产精品天干天干综合网麻豆 | 国产精品制服丝袜中文字幕日韩一区二区三区| 麻豆天美在线喷水AV| 日本不卡一区| 久99| 91激情国产| 亚洲伊人a线观看视频| 欧美成人9797| 麻豆天天躁天天揉揉AV| 综合在线导航一区| 欧美色图片91| 热热色中文无码| 欧美成va视频网站| 日韩欧美中文字| 国产精品4p在线观看| 亚欧精品久久久久久久久久久| 日本五区不卡| 无码操逼网| 天天看特黄的免费网站| 久久婷婷电影网| 日韩精品99999| 精品国产乱码久久久久久免费| 天天色天天干天天射| 另类av天堂| 青娱乐淫乱1314| 色老汉玖玖爱| 久久人妻熟女一区二区| 丰满的三级少妇欧美久久久| 丝袜美女诱惑 91 视频| 久久精品日韩| 91高跟美女在线播放| 操b在线观看| 大香蕉伊人一区在线观看| 婷婷爽人人婷婷爽视频| 久久思思热| 欧美色九九| 91超级碰碰| 九九九999久久久网站| 强免费黄色网址| 中日992视频| 久久亚洲精品成人av| 夜色97| A片三级无码| 啊啊啊轻点在线观看| 久久亚洲AV成人精品无码| 色天欧美| 天天天天天天天天天天干美女| 国产精品久久久久久久免牛肉蒲团 | 秋霞成人一级在线观看| 欧美成人色| 久久亚洲AV无码专区首页| 精品人妻一区春色| AV网站高清无码在线观看| 国产第二页| 亚洲αv一区二区三区| 呻吟 欧美 日本 中出| 久久精品色欧美aⅴ一区二区| 夜夜爽夜夜摸夜夜操免费视频| 大香网站| 色原狠狠天天天| 激情五月天网| 人妻三级在线中文字幕| 久久免费看高潮毛片韩国| 亚洲男人久久综合天堂| 欧美天堂亚洲电影院一区在线播放| 欧美日韩国产高清在线一二三区 | 日本孕妇一区二区视频操逼免费看 | 天天天乱色综合全| 欧美一级特黄淫片在线观看| 手机av亚洲丝袜美腿日韩第一页二页| 艹比视频国产精品| 东京热,男人的天堂| 蜜桃久久综合视频| 久久久久久久久久va| 97频视在线| 少妇滛荡视频| av中亚| 久久鲁夜| 欧美色综合影院| 久草午夜| 久久精品视频在线观看| 婷婷五月天激情网| 美女网站91| 欧美精品偷拍| 天天操天天舔| 97超碰久久| 青娱乐手机日韩在线视频| www.色操逼| 97久久久| 亚洲啪啪啪啪视香蕉| 九九色综合| 天天爽夜夜爽夜夜爽精| 亚洲风情综合网| 熟女日韩| 99在线无码精品秘 入口黑人| 国产白丝网站| 香蕉久久精品| 精品国产肉丝袜在线拍国语| 翔田千里AV无码秘 三区| 日韩无码AB| renqi久久久久久久久久久久| 免费一级性爱久久| 久久香蕉国产线看观看亚洲女人 | 欧美日韩另类在线播放| 超碰97人妻自拍| 麻豆伊人网| 久热超碰| 黄色AAAAA欧美| 美女网站91| 日本孕妇孕交| 欧美AB在线观看| 激情综合网五月婷婷五月天| 97免费在线| 亚欧操逼片在线观看 | 亚洲有薄码区日本系列中文字幕| 成人一级性爱| 韩国三级色呦呦| 欧亚韩国999| 亚洲网自拍| 色色色综合| 极品尤物女神在线观看| 中文字幕av亚洲精品| 欧美另类天堂| 成人精品一区二区三区| 久久黄黄| 中文字幕日本久久| 天天艹天天日| av三级电影在线播放| 黑丝制服中文字幕 | 精品高清av中文字幕| 少妇熟女一区二区三区| 久久超碰av在线| 夜夜久久| 中文字幕艹艹| 色五月亚洲| 亚洲砖码砖专无区2023| 亚洲,日韩,欧美,成人播放| 天天综合-91入口| 精品久久久一本一道| av72网| 91在线色| 日本一区二区三区欧美日韩中文字幕| 亚洲国产一区二区三区四区国产| 欧美日韩另类在线播放| 国产精品内射婷婷一级二| 日韩精品人妻一区二区| 青青草五月份天| 日本精品九九九| 桃色人妻在线视频| 久久精品老司| 久久一区,青青青青草视频在线播放| 亚洲丝袜二区| 亚洲色啪| 超碰人人干| 一区二区三区视频在线观看免费| 欧美成人四级在线播放| wwwxxx日本爽| 精品无码一区二区三区| 黑人娇小av在线播放| 欧美97爱| 久久区| 色五月av| 91五十路| 91美女视频| 蜜桃av色偷偷av老熟女| 特色a在线上| 国产97视频| 久草午夜| 欧美精品成人一区二区在线观看 | 99无码| 日韩精品区二区三区不卡| 九九热在线精品视频| 丁香六月激情综合| 日本久久网| 色老汉玖玖爱| 精品一区二区三区最新| 91色综合激情| 抽插爽| 金典av| 欧美天天在线| 久久久性少妇| 99re28在线观看| 香蕉视频精品亚洲一区二区三区在线播| 夜夜夜夜久久久久| 大香蕉综合网| 欧美性爱精品七区| 八戒无码国产午夜福利| www.99中文字幕| 久久香蕉国产线看观看猫咪av| 欧洲熟妇xxXx欧美老妇裸体| 色婷婷丁香五月天| 色香色香欲天天天影视综合网| 九九热免费国产视频婷婷伊人| 久久久久久亚洲精品中文字幕人妻| 99r九九| 黄色不卡视频| 久久是精品| 日韩综合97p| 国产捆绑一区| 素人一区二区三区日韩| 日本欧美亚洲高清在线看| 在线日韩视频| 亚洲男人天堂网久久| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 素人无码中文字幕| 中文字幕av片| 久草加勒比一区在线| 亚洲无码太久| 静品嫩模一区二区| 嗯嗯嗯啊啊啊在线免费观看| 精品国产99| 澳门成人网站久国产日韩| 欧洲乱码一区二区| 欧美色图天堂在线| 老熟女熟妇| 国产AV天美传媒一区二区三区| 91精品人妻一区二区三区蜜桃| 久久精品国产精品一区| 日本欧美一区二区三区免费| 9久久精品| 成人老鸭窝人人在线视频| 国产欧洲精品亚洲午夜拍精品| 国产免费内射视频| 激情黄色片在线观看| 国产亚州高清国产拍精| 日日干男人的天堂| 亚洲天堂一区二区久久| 怡红院一区二区熟女人妻| 伊人天堂在线| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 少妇久久久久久| 一级黄色性爱A级片| 日韩有码免费视频| 欧美大战久久久伊人| 欧美性暴力猛交| 性爱免费视频成人| 艹我哪美一区无码| 中文一区在线日| 色网色网色网色网色网色| 99久久e免费热视| 久热69九色熟妇97| 91网站18+| 9色国产精品一区粉嫩| 日本护士高潮| 色性综合| 久久思思热| 美女淫穴| 性欧美| AA级电影三区| 91久操| 1204av韩国| 久草成人| 久久香蕉国产线看观看猫咪av| 蜜桃视频精品一区二区| 天天影视之亚洲综合网| 欧美天天综合| 国产精品一区二区久久精品| 国产激情av女片自拍| 69精品久久久久中文字幕| 91九色丨国产丨爆乳| 自拍啪啪视频| 亚洲国产婷婷在线播放| 狼人综合婷婷激情四射| 黑人精品欧美一区二区蜜桃| 国产一区二区三区免费视频在性观看 | av大香蕉| 欧美性五月| 亚洲国产一区二区入口| 动漫片子网站3黄| 日韩超碰97| 免费黄色片子| 狠狠干妹子| 377p欧洲日本亚洲大胆| 久久av色| 小说区 图片区色 综合区| 亚洲男人的天堂亚洲| 中文字幕av片| 操逼视频亚洲| 吉川爱美亚洲二区在线 | 国产成人精品亚洲日本| 国内97干免费看| 无码高清少妇久久| 日韩美女久久一区二区三区| 久久内射| 这里只有精品视频在线| 97中文字幕一区| 在线啊v一区|