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

ARTICLE DETAIL

資訊詳情

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

游戲引擎原理與實(shí)踐:渲染、物理、AI與工具鏈核心解析

游戲引擎原理與實(shí)踐:渲染、物理、AI與工具鏈核心解析 1. 從一本書(shū)聊起游戲引擎到底是個(gè)什么東西第一次翻開(kāi)《游戲引擎原理與實(shí)踐》這本書(shū)的時(shí)候我腦子里其實(shí)只有一個(gè)很樸素的問(wèn)題我平時(shí)用Unity、Unreal做東西點(diǎn)一下播放鍵角色就跑起來(lái)了這背后到底發(fā)生了什么書(shū)里第一章沒(méi)有直接甩代碼而是先講了一個(gè)概念——游戲引擎本質(zhì)上是一套“把重復(fù)勞動(dòng)抽象出來(lái)的中間層”。這句話看著簡(jiǎn)單但真正理解它花了我差不多兩年時(shí)間。打個(gè)比方你要蓋一棟房子。如果沒(méi)有引擎你得自己去燒磚、砍樹(shù)、煉鋼每一塊磚從泥土開(kāi)始做。而游戲引擎就是那個(gè)“建材市場(chǎng)加施工隊(duì)”它給你準(zhǔn)備好了磚頭渲染管線、水泥物理系統(tǒng)、水電圖紙腳本系統(tǒng)、裝修工人工具鏈你只需要告訴它“我要一棟三室兩廳”它就能幫你把大部分基礎(chǔ)工作干掉。這就是為什么現(xiàn)在做游戲幾個(gè)人小團(tuán)隊(duì)也能搞出像樣的3D作品放在二十年前這得幾十號(hào)人干一年。這本書(shū)最讓我覺(jué)得值回票價(jià)的地方是它沒(méi)有停留在“怎么用引擎”的層面而是把引擎拆開(kāi)給你看里面的齒輪是怎么咬合的。渲染、物理碰撞、AI、工具鏈這四個(gè)詞基本就是現(xiàn)代游戲引擎的四根柱子。你平時(shí)在編輯器里拖拖拽拽背后就是這四套系統(tǒng)在瘋狂運(yùn)轉(zhuǎn)。我讀這本書(shū)的時(shí)候正好在做一個(gè)小的3D項(xiàng)目邊讀邊對(duì)照自己項(xiàng)目里的現(xiàn)象那種“原來(lái)如此”的感覺(jué)特別密集。這篇文章我打算按自己的閱讀順序和實(shí)際踩坑經(jīng)驗(yàn)來(lái)寫(xiě)不搞教科書(shū)式的章節(jié)復(fù)述。我會(huì)把書(shū)里講的核心原理結(jié)合我自己在Unity和Godot里遇到的實(shí)際問(wèn)題掰開(kāi)揉碎了講。不管你是剛?cè)胄械男氯诉€是做了幾年但一直停留在“調(diào)參”層面的朋友應(yīng)該都能從里面找到一些能直接拿去用的東西。尤其是那些“為什么我的角色會(huì)穿墻”“為什么渲染順序不對(duì)”“為什么AI像傻子”這類問(wèn)題書(shū)里給的答案比我翻論壇翻到的要透徹得多。2. 渲染管線從一堆頂點(diǎn)到屏幕上的畫(huà)面2.1 渲染到底在干什么把數(shù)學(xué)變成像素書(shū)里講渲染的那一章我反復(fù)看了三遍。第一遍覺(jué)得“哦就是畫(huà)圖”第二遍覺(jué)得“好像沒(méi)那么簡(jiǎn)單”第三遍才真正意識(shí)到渲染管線其實(shí)是一條高度標(biāo)準(zhǔn)化的流水線每一個(gè)環(huán)節(jié)都在做一件事把三維空間里的幾何信息一步步轉(zhuǎn)換成屏幕上二維的像素顏色。你可以把它想象成一條汽車(chē)裝配線。原材料是頂點(diǎn)數(shù)據(jù)一堆帶坐標(biāo)的點(diǎn)第一站是頂點(diǎn)著色器負(fù)責(zé)把每個(gè)點(diǎn)從模型空間搬到屏幕空間順便算算光照方向第二站是圖元裝配把點(diǎn)連成三角形第三站是光柵化把三角形變成一個(gè)個(gè)像素點(diǎn)第四站是片元著色器決定每個(gè)像素最終是什么顏色最后一站是輸出合并處理透明、深度測(cè)試這些收尾工作。每一站都有明確的輸入和輸出前一站的輸出就是后一站的輸入。這個(gè)流程之所以重要是因?yàn)槟阌龅降慕^大多數(shù)渲染問(wèn)題都能定位到具體是哪一站出了岔子。比如角色模型邊緣有鋸齒那是光柵化階段的事開(kāi)抗鋸齒就行比如兩個(gè)物體前后遮擋關(guān)系不對(duì)那是深度測(cè)試的問(wèn)題比如半透明物體看起來(lái)怪怪的那是輸出合并階段混合模式?jīng)]設(shè)對(duì)。我以前遇到渲染問(wèn)題就瞎調(diào)參數(shù)讀完這一章之后我學(xué)會(huì)了先問(wèn)自己這個(gè)問(wèn)題發(fā)生在管線的哪個(gè)階段問(wèn)完基本就有方向了。2.2 頂點(diǎn)著色器和片元著色器兩個(gè)最常打交道的家伙書(shū)里對(duì)這兩個(gè)著色器的講解非常接地氣。頂點(diǎn)著色器是“按點(diǎn)算”每個(gè)頂點(diǎn)跑一次片元著色器是“按像素算”每個(gè)像素跑一次。這意味著片元著色器的計(jì)算量通常遠(yuǎn)大于頂點(diǎn)著色器因?yàn)橐粠?huà)面動(dòng)輒幾百萬(wàn)像素而頂點(diǎn)可能只有幾十萬(wàn)個(gè)。這個(gè)區(qū)別直接影響了我們?cè)趺磳?xiě)Shader。書(shū)里給了一個(gè)很實(shí)用的建議能放在頂點(diǎn)著色器里算的就別放在片元著色器里算。比如一些變化頻率很低的光照計(jì)算完全可以放到頂點(diǎn)階段算完再插值給片元。我在一個(gè)移動(dòng)端項(xiàng)目里試過(guò)這個(gè)優(yōu)化把一部分逐像素光照改成逐頂點(diǎn)光照幀率直接從28幀拉到了45幀畫(huà)面效果肉眼幾乎看不出差別。當(dāng)然代價(jià)是光照過(guò)渡會(huì)稍微生硬一點(diǎn)但對(duì)于性能吃緊的移動(dòng)端來(lái)說(shuō)這個(gè)取舍非常劃算。還有一個(gè)點(diǎn)書(shū)里講得很清楚頂點(diǎn)著色器不能創(chuàng)建或銷毀頂點(diǎn)它只能修改傳入的頂點(diǎn)信息。這意味著你不能在著色器里動(dòng)態(tài)生成幾何體那是幾何著色器或者計(jì)算著色器的活。我一開(kāi)始學(xué)的時(shí)候老想著“能不能在Shader里讓模型長(zhǎng)出一棵樹(shù)”后來(lái)才明白這屬于幾何生成的范疇得用別的工具。2.3 渲染順序?yàn)槭裁茨愕陌胪该魑矬w看起來(lái)像鬼片書(shū)里專門(mén)用了一節(jié)講渲染順序這一節(jié)我建議每個(gè)做3D的人都反復(fù)讀。渲染順序的核心原則是不透明物體從前往后畫(huà)半透明物體從后往前畫(huà)。為什么因?yàn)椴煌该魑矬w有深度測(cè)試前面的畫(huà)完了后面的如果被擋住就直接丟棄省了片元著色器的計(jì)算而半透明物體需要和后面的顏色混合必須從后往前畫(huà)才能得到正確的疊加效果。我踩過(guò)的一個(gè)經(jīng)典坑是場(chǎng)景里有一塊玻璃玻璃后面有一團(tuán)火結(jié)果火看起來(lái)像是浮在玻璃前面。排查了半天發(fā)現(xiàn)是玻璃的渲染隊(duì)列設(shè)成了和普通不透明物體一樣導(dǎo)致它在火之前就被畫(huà)了火再畫(huà)上去的時(shí)候深度測(cè)試沒(méi)通過(guò)直接被丟棄。解決辦法很簡(jiǎn)單把玻璃的材質(zhì)渲染隊(duì)列改成Transparent引擎就會(huì)自動(dòng)把它排到不透明物體之后渲染。書(shū)里還提到了一個(gè)更隱蔽的問(wèn)題多個(gè)半透明物體之間的排序。引擎通常按物體中心點(diǎn)到相機(jī)的距離排序但如果兩個(gè)半透明物體互相穿插按中心點(diǎn)排序就會(huì)出錯(cuò)。這種情況書(shū)里建議用逐像素排序或者手動(dòng)拆分網(wǎng)格雖然麻煩但效果最穩(wěn)。我在做角色頭發(fā)的時(shí)候遇到過(guò)這個(gè)問(wèn)題頭發(fā)和身體穿插按中心點(diǎn)排怎么都不對(duì)最后是把頭發(fā)拆成前后兩層分別設(shè)置渲染隊(duì)列才解決的。2.4 渲染性能優(yōu)化別讓GPU閑著也別讓它累死書(shū)里講性能優(yōu)化的時(shí)候反復(fù)強(qiáng)調(diào)一個(gè)觀點(diǎn)渲染優(yōu)化的本質(zhì)是減少Draw Call和減少Overdraw。Draw Call是CPU告訴GPU“畫(huà)這個(gè)”的指令每次Draw Call都有固定開(kāi)銷所以能合并的網(wǎng)格盡量合并。Overdraw是同一個(gè)像素被畫(huà)了多次比如你畫(huà)了一個(gè)大背景又在上面畫(huà)了一個(gè)不透明的前景那背景被前景蓋住的部分就是浪費(fèi)的Overdraw。我實(shí)測(cè)過(guò)一個(gè)場(chǎng)景一個(gè)2D游戲背景是一張大圖上面有幾十個(gè)角色。一開(kāi)始每個(gè)角色一個(gè)Sprite RendererDraw Call直接飆到80多。后來(lái)用了Sprite Atlas把角色圖集合并Draw Call降到了個(gè)位數(shù)幀率從30幀穩(wěn)到了60幀。這個(gè)優(yōu)化在書(shū)里叫“批處理”Unity里有靜態(tài)批處理和動(dòng)態(tài)批處理兩種靜態(tài)批處理適合不動(dòng)的物體動(dòng)態(tài)批處理適合會(huì)動(dòng)但頂點(diǎn)數(shù)少的物體。還有一個(gè)書(shū)里提到的技巧是遮擋剔除。簡(jiǎn)單說(shuō)就是如果某個(gè)物體被前面的墻完全擋住了那就不畫(huà)它。Unity和Unreal都有內(nèi)置的遮擋剔除系統(tǒng)但需要手動(dòng)烘焙。我在一個(gè)室內(nèi)場(chǎng)景里試過(guò)烘焙完之后Draw Call直接少了一半因?yàn)榉块g外面的東西全被剔掉了。不過(guò)要注意遮擋剔除對(duì)動(dòng)態(tài)物體效果有限而且烘焙時(shí)間可能很長(zhǎng)場(chǎng)景越大越久。3. 物理碰撞讓虛擬世界遵守牛頓定律3.1 碰撞檢測(cè)和碰撞響應(yīng)兩件容易混淆的事書(shū)里把物理系統(tǒng)拆成了兩塊碰撞檢測(cè)和碰撞響應(yīng)。碰撞檢測(cè)是“判斷兩個(gè)物體有沒(méi)有碰上”碰撞響應(yīng)是“碰上了之后怎么動(dòng)”。這兩件事經(jīng)常被混在一起說(shuō)但實(shí)際開(kāi)發(fā)中它們是分開(kāi)處理的而且各有各的坑。碰撞檢測(cè)的核心是包圍盒。引擎不會(huì)去精確計(jì)算兩個(gè)復(fù)雜模型有沒(méi)有相交那樣太慢了。它會(huì)給每個(gè)物體套一個(gè)簡(jiǎn)單的幾何體比如AABB軸對(duì)齊包圍盒、OBB有向包圍盒或者球體先判斷這些簡(jiǎn)單形狀有沒(méi)有相交。如果包圍盒都沒(méi)碰上那精確模型肯定也沒(méi)碰上直接跳過(guò)。如果包圍盒碰上了再進(jìn)一步做精確檢測(cè)。這個(gè)思路在書(shū)里叫“粗篩加精篩”和數(shù)據(jù)庫(kù)查詢先走索引再掃表是一個(gè)道理。我一開(kāi)始不理解為什么角色明明看起來(lái)沒(méi)碰到墻卻被擋住了后來(lái)發(fā)現(xiàn)是角色的包圍盒比模型大了一圈視覺(jué)上沒(méi)碰到物理上已經(jīng)碰上了。解決辦法是調(diào)整包圍盒的大小或者用更精確的碰撞體形狀。3.2 剛體、碰撞體和觸發(fā)器三個(gè)容易搞混的概念書(shū)里用了一個(gè)很形象的比喻剛體是物體的“物理身份”碰撞體是物體的“物理形狀”觸發(fā)器是物體的“感應(yīng)區(qū)域”。一個(gè)物體可以有剛體但沒(méi)有碰撞體那它會(huì)受重力影響但不會(huì)和別人碰撞也可以有碰撞體但沒(méi)有剛體那它會(huì)擋住別人但自己不動(dòng)觸發(fā)器則是一種特殊的碰撞體它不產(chǎn)生物理阻擋只用來(lái)檢測(cè)“有沒(méi)有東西進(jìn)來(lái)了”。我在做拾取道具功能的時(shí)候一開(kāi)始給道具加了剛體和碰撞體結(jié)果道具掉在地上彈來(lái)彈去玩家走過(guò)去還會(huì)被彈開(kāi)。后來(lái)把剛體去掉碰撞體設(shè)成觸發(fā)器問(wèn)題就解決了。觸發(fā)器不會(huì)產(chǎn)生物理響應(yīng)但會(huì)觸發(fā)OnTriggerEnter事件正好用來(lái)做拾取檢測(cè)。書(shū)里還提醒了一個(gè)細(xì)節(jié)觸發(fā)器的檢測(cè)需要至少一方有剛體。如果兩個(gè)物體都是純碰撞體沒(méi)有剛體觸發(fā)器事件不會(huì)觸發(fā)。這個(gè)坑我踩過(guò)當(dāng)時(shí)兩個(gè)物體都設(shè)了觸發(fā)器怎么都不觸發(fā)事件查了半天文檔才發(fā)現(xiàn)需要加剛體。加了個(gè) kinematic 剛體之后事件正常觸發(fā)了。3.3 物理材質(zhì)摩擦力、彈力和那些反直覺(jué)的參數(shù)書(shū)里講物理材質(zhì)的時(shí)候我印象最深的是摩擦力和彈力的組合效果非常反直覺(jué)。比如一個(gè)球從斜坡上滾下來(lái)如果摩擦系數(shù)是0球會(huì)一直滑到底如果摩擦系數(shù)是1球可能滾到一半就停了。但如果你把彈力設(shè)成1球又會(huì)彈起來(lái)和摩擦力互相干擾。我做過(guò)一個(gè)彈球游戲一開(kāi)始球的彈力設(shè)成0.8結(jié)果球越彈越低最后停在地上。書(shū)里解釋說(shuō)這是因?yàn)槊看闻鲎捕加心芰繐p失彈力0.8意味著每次碰撞后速度變成原來(lái)的0.8倍幾次之后就趨近于0了。要讓球一直彈彈力得設(shè)成1但這樣又永遠(yuǎn)不會(huì)停。最后我的方案是彈力設(shè)0.95再加一個(gè)最小速度閾值低于閾值就停止彈跳效果比較自然。還有一個(gè)書(shū)里提到的坑是物理材質(zhì)的優(yōu)先級(jí)。兩個(gè)物體碰撞時(shí)用哪個(gè)的物理材質(zhì)Unity的規(guī)則是取兩個(gè)材質(zhì)中摩擦力較小的那個(gè)彈力取較大的那個(gè)。這個(gè)規(guī)則我一開(kāi)始不知道調(diào)了半天參數(shù)都沒(méi)效果后來(lái)才發(fā)現(xiàn)是被另一個(gè)物體的材質(zhì)覆蓋了。3.4 物理更新和幀率為什么低幀率下物理會(huì)爆炸書(shū)里專門(mén)講了一節(jié)物理更新和幀率的關(guān)系這一節(jié)解決了我長(zhǎng)期以來(lái)的一個(gè)困惑為什么游戲卡的時(shí)候物體會(huì)突然穿墻或者飛出去原因是物理引擎通常以固定時(shí)間步長(zhǎng)更新比如每秒50次但渲染幀率是變化的。如果某一幀渲染花了太長(zhǎng)時(shí)間物理引擎需要補(bǔ)上多次更新補(bǔ)的次數(shù)太多就會(huì)導(dǎo)致計(jì)算量爆炸物體位置跳變。Unity的解決辦法是插值和外推。插值是在兩個(gè)物理幀之間平滑過(guò)渡外推是預(yù)測(cè)下一個(gè)物理幀的位置。書(shū)里建議把物理更新頻率設(shè)成和渲染幀率解耦并且開(kāi)啟插值。我試過(guò)把固定時(shí)間步長(zhǎng)從0.02改成0.01物理精度提高了但CPU開(kāi)銷也上去了。最后折中用了0.0167差不多60Hz配合插值效果和性能比較平衡。還有一個(gè)書(shū)里提到的技巧是限制最大物理更新次數(shù)。Unity默認(rèn)最多補(bǔ)5次物理更新超過(guò)就丟棄。這個(gè)設(shè)置可以防止卡頓時(shí)的“死亡螺旋”——幀率越低物理更新越多CPU越忙幀率更低。我在一個(gè)低端機(jī)上測(cè)試過(guò)把最大更新次數(shù)從5改成3卡頓時(shí)的表現(xiàn)明顯更穩(wěn)定雖然物理精度略有下降但玩家?guī)缀醪煊X(jué)不到。4. AI系統(tǒng)讓NPC看起來(lái)不那么像機(jī)器人4.1 有限狀態(tài)機(jī)最基礎(chǔ)但也最實(shí)用書(shū)里講AI的第一種方案是有限狀態(tài)機(jī)簡(jiǎn)稱FSM。它的思路非常簡(jiǎn)單NPC有一組狀態(tài)比如巡邏、追擊、攻擊、逃跑每個(gè)狀態(tài)有進(jìn)入條件、退出條件和更新邏輯。同一時(shí)間只能處于一個(gè)狀態(tài)狀態(tài)之間通過(guò)條件切換。這個(gè)方案之所以經(jīng)典是因?yàn)樗銐蚝?jiǎn)單足夠可控。你隨時(shí)可以知道NPC在干什么調(diào)試起來(lái)也方便。我在做一個(gè)潛行游戲的時(shí)候守衛(wèi)的AI就是用FSM寫(xiě)的平時(shí)巡邏看到玩家進(jìn)入追擊追到一定距離進(jìn)入攻擊血量低進(jìn)入逃跑。整個(gè)邏輯用Switch-Case就能寫(xiě)清楚代碼量不大效果也還行。但FSM的缺點(diǎn)也很明顯狀態(tài)一多就爆炸。如果NPC有10個(gè)狀態(tài)狀態(tài)之間的切換條件可能有幾十條維護(hù)起來(lái)非常痛苦。書(shū)里建議如果狀態(tài)超過(guò)7個(gè)就該考慮用行為樹(shù)或者分層狀態(tài)機(jī)了。我后來(lái)做另一個(gè)項(xiàng)目NPC有巡邏、警戒、追擊、搜索、攻擊、撤退、求援、眩暈、死亡九個(gè)狀態(tài)用FSM寫(xiě)到最后自己都繞暈了果斷換成了行為樹(shù)。4.2 行為樹(shù)把AI邏輯變成一棵可讀的樹(shù)行為樹(shù)是書(shū)里重點(diǎn)介紹的第二種AI方案。它的核心思想是把AI邏輯組織成一棵樹(shù)葉子節(jié)點(diǎn)是具體動(dòng)作或條件內(nèi)部節(jié)點(diǎn)是控制流比如選擇、順序、并行。執(zhí)行時(shí)從根節(jié)點(diǎn)開(kāi)始按一定規(guī)則遍歷直到找到一個(gè)可執(zhí)行的動(dòng)作。行為樹(shù)最大的好處是可讀性和可擴(kuò)展性。你看著一棵樹(shù)就能大概知道NPC會(huì)干什么。加一個(gè)新行為只需要在樹(shù)上掛一個(gè)新節(jié)點(diǎn)不用改現(xiàn)有邏輯。我在一個(gè)RTS項(xiàng)目里用行為樹(shù)管理單位AI每個(gè)單位的行為樹(shù)大概有二十幾個(gè)節(jié)點(diǎn)包括采集、建造、攻擊、撤退、巡邏等。策劃想加一個(gè)“優(yōu)先攻擊最近敵人”的行為我直接在樹(shù)上加了一個(gè)選擇節(jié)點(diǎn)十分鐘就搞定了。書(shū)里還提到了行為樹(shù)的兩種執(zhí)行方式事件驅(qū)動(dòng)和輪詢。事件驅(qū)動(dòng)是條件變化時(shí)才重新評(píng)估樹(shù)輪詢是每幀都從頭遍歷。事件驅(qū)動(dòng)性能好但邏輯復(fù)雜輪詢簡(jiǎn)單但性能差。我一般用輪詢加一個(gè)更新間隔比如每0.2秒評(píng)估一次既簡(jiǎn)單又不會(huì)太耗性能。4.3 導(dǎo)航網(wǎng)格讓NPC知道路怎么走書(shū)里講AI尋路的時(shí)候重點(diǎn)講了導(dǎo)航網(wǎng)格。它的思路是把可行走區(qū)域烘焙成一張網(wǎng)格NPC在網(wǎng)格上尋路而不是在原始場(chǎng)景幾何體上尋路。這樣做的好處是尋路速度快路徑平滑。Unity的NavMesh系統(tǒng)就是基于導(dǎo)航網(wǎng)格的。我做過(guò)一個(gè)塔防游戲敵人從出生點(diǎn)走到終點(diǎn)用NavMesh尋路非常方便。但書(shū)里提醒了一個(gè)坑導(dǎo)航網(wǎng)格是靜態(tài)烘焙的動(dòng)態(tài)障礙物需要額外處理。比如玩家在路中間放了一個(gè)塔敵人得繞過(guò)去。Unity提供了NavMeshObstacle組件可以動(dòng)態(tài)挖洞但性能開(kāi)銷比靜態(tài)網(wǎng)格大。我的做法是塔放下去的時(shí)候重新烘焙一小塊區(qū)域的導(dǎo)航網(wǎng)格雖然有點(diǎn)卡但比每幀動(dòng)態(tài)計(jì)算要快。還有一個(gè)書(shū)里提到的細(xì)節(jié)是導(dǎo)航網(wǎng)格的生成參數(shù)。Agent Radius決定NPC能過(guò)多窄的縫Agent Height決定NPC能過(guò)多矮的洞Max Slope決定NPC能爬多陡的坡。這些參數(shù)設(shè)錯(cuò)了NPC要么卡在門(mén)口進(jìn)不去要么穿墻走捷徑。我一開(kāi)始Agent Radius設(shè)得太小NPC貼著墻走看起來(lái)像在蹭墻后來(lái)調(diào)大了一點(diǎn)路徑就正常了。4.4 AI的感知系統(tǒng)讓NPC“看得見(jiàn)”和“聽(tīng)得見(jiàn)”書(shū)里講AI感知的時(shí)候我印象最深的是視覺(jué)感知的視錐體檢測(cè)。NPC的視野是一個(gè)錐形區(qū)域只有在這個(gè)區(qū)域內(nèi)、沒(méi)有被遮擋、并且光照條件允許的情況下NPC才能看到玩家。這個(gè)檢測(cè)每幀都要做所以性能優(yōu)化很重要。我的做法是分層檢測(cè)先用距離做粗篩超過(guò)視野距離的直接跳過(guò)再用角度做第二層篩選不在視錐體內(nèi)的跳過(guò)最后用射線檢測(cè)做精確判斷看有沒(méi)有遮擋。這樣大部分物體在第一層就被過(guò)濾掉了性能開(kāi)銷很小。聽(tīng)覺(jué)感知相對(duì)簡(jiǎn)單通常是事件驅(qū)動(dòng)的。玩家開(kāi)槍、跑步、開(kāi)門(mén)都會(huì)發(fā)出聲音事件NPC根據(jù)聲音的距離和響度決定要不要去查看。書(shū)里建議給聲音加一個(gè)衰減曲線距離越遠(yuǎn)響度越低超過(guò)一定距離就聽(tīng)不到了。我在一個(gè)潛行游戲里用了這個(gè)方案玩家蹲著走聲音很小守衛(wèi)聽(tīng)不到跑起來(lái)聲音大守衛(wèi)就會(huì)過(guò)來(lái)查看。5. 工具鏈引擎背后的那些“看不見(jiàn)的手”5.1 資源管線從美術(shù)軟件到引擎的最后一公里書(shū)里講工具鏈的時(shí)候第一個(gè)講的就是資源管線。美術(shù)在Maya里做好模型導(dǎo)出FBX導(dǎo)入引擎這中間其實(shí)有一大堆自動(dòng)化處理模型要減面、要生成LOD、要計(jì)算法線、要壓縮紋理、要生成碰撞體。這些工作如果全靠手動(dòng)一個(gè)項(xiàng)目幾百個(gè)模型根本做不完。書(shū)里介紹了一種常見(jiàn)的資源管線方案約定大于配置。美術(shù)按照固定的命名規(guī)則和目錄結(jié)構(gòu)存放文件工具自動(dòng)掃描目錄按照規(guī)則處理資源。比如模型文件放在Models目錄下紋理放在Textures目錄下工具自動(dòng)把紋理關(guān)聯(lián)到模型上自動(dòng)生成LOD自動(dòng)壓縮紋理格式。我在一個(gè)團(tuán)隊(duì)里推行過(guò)這套方案一開(kāi)始美術(shù)很抵觸覺(jué)得限制太多。但用了兩個(gè)月之后大家發(fā)現(xiàn)再也不用擔(dān)心“這個(gè)紋理忘了壓縮”“那個(gè)模型忘了生成LOD”了效率反而提高了。書(shū)里有一句話我特別認(rèn)同好的工具鏈?zhǔn)亲屨_的事情變得容易讓錯(cuò)誤的事情變得困難。5.2 構(gòu)建和打包一鍵出包有多難書(shū)里講構(gòu)建系統(tǒng)的時(shí)候我差點(diǎn)笑出聲因?yàn)樘鎸?shí)了。書(shū)里說(shuō)很多團(tuán)隊(duì)的一鍵出包腳本其實(shí)是“一鍵出包然后手動(dòng)修一堆問(wèn)題”。構(gòu)建系統(tǒng)要處理的事情太多了代碼編譯、資源打包、版本號(hào)注入、渠道配置、簽名、上傳每一步都可能出錯(cuò)。我做過(guò)一個(gè)多平臺(tái)項(xiàng)目要同時(shí)出Windows、Android和iOS三個(gè)平臺(tái)的包。一開(kāi)始每個(gè)平臺(tái)一個(gè)腳本維護(hù)起來(lái)非常痛苦。后來(lái)參考書(shū)里的思路把構(gòu)建流程拆成幾個(gè)獨(dú)立的步驟準(zhǔn)備資源、編譯代碼、打包資源、生成安裝包、上傳分發(fā)。每個(gè)步驟是一個(gè)獨(dú)立的腳本可以單獨(dú)運(yùn)行也可以串起來(lái)跑。這樣調(diào)試的時(shí)候只需要跑出問(wèn)題的那一步不用每次都從頭來(lái)。書(shū)里還提到了構(gòu)建緩存的重要性。如果每次構(gòu)建都重新編譯所有代碼、重新打包所有資源那構(gòu)建時(shí)間會(huì)非常長(zhǎng)。合理的做法是只重新編譯改動(dòng)的代碼只重新打包改動(dòng)的資源。Unity的增量構(gòu)建做得還不錯(cuò)但有時(shí)候會(huì)抽風(fēng)該重新編譯的不編譯導(dǎo)致運(yùn)行時(shí)出錯(cuò)。我的經(jīng)驗(yàn)是如果遇到莫名其妙的運(yùn)行時(shí)錯(cuò)誤先試試全量構(gòu)建大概率能解決。5.3 調(diào)試工具引擎自帶的和自己寫(xiě)的書(shū)里講調(diào)試工具的時(shí)候強(qiáng)調(diào)了一個(gè)觀點(diǎn)引擎自帶的調(diào)試工具只能解決通用問(wèn)題項(xiàng)目特有的問(wèn)題需要自己寫(xiě)工具。Unity有Profiler、Frame Debugger、Console這些能解決大部分性能問(wèn)題和邏輯錯(cuò)誤。但如果你想知道“為什么這個(gè)技能在特定情況下傷害計(jì)算不對(duì)”那就得自己寫(xiě)日志工具或者可視化工具。我做過(guò)一個(gè)戰(zhàn)斗系統(tǒng)傷害計(jì)算涉及十幾個(gè)參數(shù)出了問(wèn)題根本不知道是哪一步算錯(cuò)了。后來(lái)寫(xiě)了一個(gè)傷害計(jì)算的可視化工具把每一步的中間結(jié)果都打出來(lái)一目了然。這個(gè)工具花了我兩天時(shí)間但后面省下的調(diào)試時(shí)間至少有兩周。書(shū)里還提到了遠(yuǎn)程調(diào)試。移動(dòng)端開(kāi)發(fā)尤其需要這個(gè)因?yàn)槭謾C(jī)上沒(méi)法直接看日志。Unity的Remote Profiler可以連到手機(jī)上實(shí)時(shí)看性能數(shù)據(jù)。但書(shū)里提醒遠(yuǎn)程調(diào)試會(huì)引入額外的網(wǎng)絡(luò)開(kāi)銷可能影響性能數(shù)據(jù)的準(zhǔn)確性。我的做法是先用遠(yuǎn)程調(diào)試定位大致范圍再在本地復(fù)現(xiàn)精確測(cè)量。5.4 版本管理和資源熱更那些年我們追過(guò)的更新包書(shū)里講版本管理的時(shí)候我最有共鳴的是資源熱更這一塊。熱更的核心思路是把資源和代碼分開(kāi)資源可以單獨(dú)更新不用重新下載整個(gè)安裝包。這樣玩家更新成本低留存率也高。但熱更的坑非常多。書(shū)里列了幾個(gè)常見(jiàn)的資源版本對(duì)不上、熱更后舊資源沒(méi)清理、熱更腳本和主工程不兼容。我踩過(guò)最慘的一個(gè)坑是熱更之后游戲直接黑屏排查了半天發(fā)現(xiàn)是熱更腳本里用了一個(gè)新API但主工程里沒(méi)有這個(gè)API運(yùn)行到那一行就崩了。后來(lái)學(xué)乖了熱更腳本必須做兼容性檢查不支持的API要有降級(jí)方案。書(shū)里還提到了熱更的原子性。熱更過(guò)程中如果斷網(wǎng)或者閃退不能把游戲搞壞。常見(jiàn)的做法是先下載到臨時(shí)目錄下載完了再替換正式目錄。替換的時(shí)候用文件鎖或者版本標(biāo)記確保要么全換要么不換。我在一個(gè)項(xiàng)目里用了這個(gè)方案熱更失敗率從5%降到了0.1%以下。6. 閱讀這本書(shū)的幾個(gè)實(shí)用建議6.1 不要跳過(guò)原理直接看代碼這本書(shū)里有很多代碼示例但我建議第一遍讀的時(shí)候不要急著看代碼先把原理看懂。比如渲染管線那一章代碼可能只有幾十行但背后的數(shù)學(xué)和工程決策非常密集。如果你不理解為什么要有頂點(diǎn)著色器和片元著色器之分看代碼只能看到一堆矩陣乘法學(xué)不到真正的東西。我的做法是第一遍讀原理第二遍讀代碼第三遍自己動(dòng)手改代碼。比如書(shū)里講陰影映射我第一遍看懂了原理第二遍看了代碼實(shí)現(xiàn)第三遍自己改了一個(gè)參數(shù)把陰影貼圖分辨率從1024改成2048觀察畫(huà)質(zhì)和性能的變化。這樣折騰一遍比單純讀十遍都管用。6.2 結(jié)合自己的項(xiàng)目邊讀邊改書(shū)里的例子是通用的但你的項(xiàng)目是具體的。我建議每讀一章就想想自己項(xiàng)目里有沒(méi)有對(duì)應(yīng)的場(chǎng)景。比如讀到物理碰撞就看看自己項(xiàng)目里的碰撞體設(shè)置有沒(méi)有問(wèn)題讀到AI就看看自己項(xiàng)目里的NPC是不是像個(gè)傻子。帶著問(wèn)題去讀收獲會(huì)大很多。我在讀導(dǎo)航網(wǎng)格那一章的時(shí)候正好項(xiàng)目里有個(gè)NPC卡在門(mén)口的問(wèn)題照著書(shū)里的思路檢查了Agent Radius和導(dǎo)航網(wǎng)格的烘焙參數(shù)果然找到了原因。這種“書(shū)里剛講完項(xiàng)目里就驗(yàn)證了”的體驗(yàn)比單純讀書(shū)要深刻得多。6.3 工具鏈那部分值得反復(fù)讀很多人讀引擎相關(guān)的書(shū)會(huì)跳過(guò)工具鏈部分覺(jué)得那是“打雜的活”。但我的經(jīng)驗(yàn)是工具鏈決定了團(tuán)隊(duì)的效率上限。一個(gè)項(xiàng)目如果工具鏈做得好美術(shù)和策劃能自己搞定大部分資源導(dǎo)入和配置工作程序就能騰出手來(lái)做核心玩法。如果工具鏈做得差程序天天幫美術(shù)導(dǎo)模型、幫策劃配表哪還有時(shí)間寫(xiě)代碼。書(shū)里工具鏈那一章我讀了四遍每一遍都有新的收獲。第一遍了解了資源管線的整體流程第二遍看懂了構(gòu)建系統(tǒng)的設(shè)計(jì)思路第三遍琢磨了調(diào)試工具的實(shí)現(xiàn)方式第四遍結(jié)合自己團(tuán)隊(duì)的情況做了改進(jìn)方案。如果你在團(tuán)隊(duì)里負(fù)責(zé)工具鏈這一章建議精讀。6.4 別指望一遍讀懂常讀常新這本書(shū)我讀了三遍第一遍大概懂了六成第二遍懂了八成第三遍才發(fā)現(xiàn)之前有些理解是錯(cuò)的。比如渲染順序那一章我第一遍以為“從后往前畫(huà)半透明”是絕對(duì)的第三遍才發(fā)現(xiàn)如果半透明物體之間沒(méi)有重疊順序其實(shí)無(wú)所謂引擎的排序只是為了處理重疊情況。所以我的建議是第一遍快速通讀不求甚解第二遍精讀邊讀邊做筆記第三遍帶著問(wèn)題讀把書(shū)里的知識(shí)和自己的經(jīng)驗(yàn)對(duì)照。每次讀都會(huì)有新的發(fā)現(xiàn)這大概就是經(jīng)典技術(shù)書(shū)的魅力。7. 最后聊幾句個(gè)人體會(huì)這本書(shū)最讓我佩服的地方是它把游戲引擎這個(gè)龐然大物拆解得非常清晰但又沒(méi)有失去整體感。很多技術(shù)書(shū)要么講得太淺看完只知道“有這么個(gè)東西”要么講得太深滿篇公式和代碼看完不知道有什么用。這本書(shū)在深度和可讀性之間找到了一個(gè)很好的平衡點(diǎn)。我在實(shí)際工作中遇到引擎相關(guān)的問(wèn)題時(shí)經(jīng)常會(huì)翻回這本書(shū)的對(duì)應(yīng)章節(jié)。比如有一次遇到一個(gè)渲染順序?qū)е碌漠?huà)面錯(cuò)誤翻到渲染那一章看到書(shū)里講的“不透明從前往后半透明從后往前”一下子就定位到了問(wèn)題。這種“書(shū)到用時(shí)方恨少翻到對(duì)應(yīng)章節(jié)剛剛好”的體驗(yàn)讓我覺(jué)得這本書(shū)值得放在手邊隨時(shí)查閱。如果你剛開(kāi)始學(xué)游戲開(kāi)發(fā)我建議先看渲染和物理那兩章因?yàn)檫@兩個(gè)是最直觀、最容易看到效果的。如果你已經(jīng)做了一段時(shí)間想提升項(xiàng)目的工程化水平那工具鏈和AI那兩章會(huì)更適合你。不管怎樣這本書(shū)值得你花時(shí)間慢慢啃啃完之后再回頭看自己做的項(xiàng)目很多之前不理解的現(xiàn)象都會(huì)豁然開(kāi)朗。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
黄色成品网站| 精品78| 中文字幕精品一区二区精| 美女骚尻视频| 亚洲色欲一区二区三区| 国产精品一区二区黄片| 天天看天天日天天操| 一区二区视频你懂的| 男人的天堂啪啪| 我要去看2个日本美女.com曹逼| 天天干天天中出av| 激情五月婷婷| 偷拍自拍在线视频观看| 亚洲精品国语在线播放| 91欧美丝袜| 老鸭窝亚洲毛片| AV不卡在线| 伊人网高清| 亚洲熟女乱综合一区二区三区| 人、人、摸,人、人、草| а√天堂资源官网在线资源| 久久久999国产| 天天肏美女| 国产原创剧情在线丝袜| 国产最新小视频在线播放下载| 99自拍B亚洲| 91free福利| 午夜亚洲国产理论秋霞| aa片毛片| 亚洲色图 欧美| 男人的天堂日韩| 欧洲乱码一区二区| 大胆91| 亚欧国产无码精品在线| 亚洲暴力强奸AV| 九九操久久国产免费视频| 曰韩少妇无码| 亚洲色图 图片| 激情欧美日韩女同久久| 少妇被玩视频二三区| 凹凸视频特色日本特黄| 亚洲操逼无码| av日韩在线观看电影| 色y情视频免费看| 97日韩欧美| 懂色Av一区二区三区| 91亚洲黄色网| 九九九九九九精品| 91综合网站| 漂亮人妻被强中文字幕hd| 日韩色女精品| 日本 欧美 国产一区| 日产操逼| 超碰亚洲97| 久久婷婷五月天| 大香交伊人网| caopeng97人妻| 高清不卡视频| 97久久精品国产| 青青草白白色| 亚州,欧美在线| 97欧美久久久久久久| 亚洲成人久久美女| 少妇一区二区三区| 欧州一区二区三区四区| av天堂手机版追回| 日日操天天操| 日本天堂网| 青青欧洲黑| 久久久少妇诱惑精品视频| 欧美丰满少妇交换91欧美精品| 久久久96精品| 欧美96精品在线| 啊啊啊网站| 超碰在线看| 999久久久久久久精| 欧美久久婷婷| 视频不卡中文字幕| 26uuu性物| 亚洲精品 大香蕉| 91亚州日韩高清| 青青草视频爽一爽| 在线视频免费观看午夜| 黄片免费看黄片免费看| 91neishe| 2017天天插| 制度丝袜99| 激情综合亚洲| 97日视频| 一本一道波多野毛片中文在线| 亚州精人品大香蕉| 国产熟女| 2017天天操天天日| 亚洲成人一区二区精品| 中文字幕视频在线观看一区二区| 91天天综合在线| 亚洲精品乱码线路中文字幕| 亚洲欧洲无码一区夜| 日韩av乱伦| 久久久久久久六六| 欧美综合另类| 日本国产欧美高清在线| 91视频观看网站| 欧美综合色,www| 特级特黄一级毛片免费| 天天综和| 在线午夜成人无码视频| 秋霞视频一区二区 | 熟女这里只有精品6| 久久九九网| 久久男人网| 日夜伊人网| 九九黄色网| 欧美精品久久96人妻无码| 欧洲亚洲人人爽爽视频| 18禁免费视频| 69久久久久久久久久久久久| 91精品国产91久久青草 | 国产日韩中文字幕欧美| 人人操人人叉人人插人人| 97亚洲一区| 精品人妻一区二区三区免费视频| 插穴性爱视频在线观看| 亚洲综合校园春色| 天天操人人操狠狠插| 麻豆人妻精品一区二区| 狠久久| 91丨熟女丨丰满熟女| 伊人国产视频| 国产欧美一级在线观看| 无码九九| 亚洲欧美日韩夜夜| 狠狠色五月亚洲91| 爽 好舒服 无码刺激久久| 九九九精品色乱九九九| 美中日韩无码| 日本顶级天天操狠狠操夜夜操中文字幕 | 久久黄片国产一区二区| AV色天香在线| 俺去啦俺来也久久综合| 亚洲限制级| www.黄色在线| 男人的天堂1024| 久久精品99| 天天操福利视频综合网站| 一区二区三区精品视频| 久久久夜夜夜| 日韩av三四区| 天堂а√在线最新版在线| 丁香激情五月天| 韩国一级做a久久久久| AV一二区| 久久免费99精品久久久久久| 国产九区| 欧美特大黄一级片片免费| 久久久久久人| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 99re免费| 亚洲。日韩。欧美| AV网站高清无码在线观看| 日日摸日日碰| 亚洲精品99| 色哟哟AⅤ| 骚逼自拍99| 极品极品色影院| 国产精品一区二区a| 人妻 欧美 中文| 国产区91柔拿会所技师| 98超碰欧美| 91色黑人少妇| 99ri精品| 无码区蜜乳| 国产乱子伦一区二区三区免看| 色999五月色| 91春色| 中文在线久久字幕| 99热伊人| 日韩欧美中文| 尤物网站91| 欧美大战久久久伊人| 五月开心网| 黑丝自慰喷水网站| 色图综合网| 欧美熟女丝袜| 97免费免费视频网| 超碰免费人人| 国产成人精品日本亚洲语言| 亚洲男人电影天堂| 91天美免费| 东北老女人的激情视频| 1956日韩精品| baisiav| 艹比视频国产精品| 色哟哟综合| 九九九九亚洲| 中文字幕午夜精品久久久| 青青草视频久久久久| AV中文在线| 777奇米影视777四色| 一区二区三区免费视频入口| 亚洲国产97| 亚洲日韩乱码中文无码蜜桃臀网站 | 95精品在线| 中国探花熟女| 日韩成人精品| 亚洲天堂7777| 国产成年精品高清在线观看91| 九九操久久国产免费视频| 欧美亚洲清纯| 午夜精品久久久99热蜜桃的功能特点| 91扒丝袜综合在线| 深夜啪啪啪视频免费| 激情五月丁香五月| 双插性欧美一二三区| 日本孕妇一区二区视频操逼免费看 | 97超碰9| 男女性扦B| 日韩资源网| 亚洲国产精品久久久男人的天堂| 色五月第四色| 九九热免费国产视频婷婷伊人五月 | 久久久久久人妻| 乱伦一二三区| 午夜寂寞欧美| 国产三区免费在线观看| 蜜臀久久99精品| 有码免费观看| 一本大道综合伊人精品热热| baisiav| 欧美性,亚州色| 99自拍B亚洲| 久悠悠av| 在线视频资源| 国产亚洲色停停久久99精品91| 丰满人妻一区二区三区蜜桃视频| 后入国产| 日韩丰满熟妇| 超碰99在线| 91蜜臀熟女| 殴美日韩m| 夜夜国产一区| julia ann久久| 久久夜嗨| 校园春色亚洲色图| 无码直播久久久| www.99中文字幕| 日韩黄色电影网站| 欧美天天插| 大香蕉宗合网在线| 九九毛片这里只有精品| 国产精品久久久久久久无码AV| 99视频自拍区| 久操视频资源站公开| 亚洲最新Av| 影音先锋新男人| 国产 无码 一区二区| 国产18精品亚洲精品| AV九九| 中国黑人三级片网站上区| 国产一区二区久久| 好爽视频在线观看视频| 激情抓乳插进去啪啪啪日韩| 婷婷中文字幕| 884t在线| 亚洲色交| 嫩草影院在线观看精品| 亚洲狼狼干综合1| 天天操天天日天天干| 日韩猛交| 牛牛aV| 69久久久久久久久久久久久| 90后性网国产欧美| 嗯嗯嗯不要不要免费视频| 九七毛片九九毛片| 国产深喉视频一区二区| 亚洲无码99| 日本黄色裸日本黄色裸体| 国产麻豆一区二三区| 亚洲欧美情色| 婷婷综合五月天| 亚洲电影91| 国产品精品自在在线午夜免费 | 在线性黄高清免费视频| 久久久久久久久久久久久久9999| 色97欧美| 亚洲系列第一页| 98色网| 日韩成人人妻网站| 为用户提供免费看黄网址在线观看| www色色com| 亚洲综合贴图91| 亚州熟女乱伦| 成人情色一区二区| 午夜精品久久一区二区| 亚洲深夜福利| 操逼视频免费日韩无码| 亚洲天堂电影网| 婷色五月天| 婷婷色色网| 99re热| 在线免费观看高清无码视频| 91操人| 国产一区二区在线看| 超碰人人操97碰| 亚洲国产精品久久久久婷婷青年| 久久成人东京热人妻| 国产精品黄色三级av| 国产精品对白内射| 97色碰| 亚洲91av| 久久久久久久强迫| 一牛影视久久久一区二区三区| 亚洲熟女一区二区| 超碰人人干| 97超级久久| 久99热| 成人精品无码| 精品久久久久黄少妇| 亚洲精品人体| 精品久久久久,69国产成人精| 亚洲图片小说欧洲| 97二区四区| 成人精品无码| 插B在线观看| 天天躁日日躁AAAXX| 国产女主播视频在线观看| 再深点灬舒服灬太大了好硬好爽| 91熟女网| 麻豆天美制片厂网站视频| 在线国产福利网址导航| 九七超碰人人乐| 欧美啪啪天堂| 91人妻精华帖| 少妇人妻好深太紧了vr91| 妇女乱色二区| 8x福利精品第一福利视频导航| 亚洲无码com| 国产成人资源| 精品国产人成在线| 99精品九九九九九九| 免费黄色视频网址| 人人操人人操人人人操| 色吧5亚洲| 国产一区二区三三视频| 啊啊啊操死我了| 日本三级中国三级99人妇网站| 呦呦一区| 中文字幕乱偷人妻久久艾草网| 欧美疯狂做爰xxxx| 91精品在线播放| 欧美激情 日韩精品| 人妻 丝袜美腿 中文字幕| 色香网| 中文字幕加勒比海高清无码免费视频| 五月天黄色激情视频| 大香蕉线| 97国产天堂岛| 日韩三级网址| 99热91| 国产无码高清操逼视频| 97综合| 97精品久久久久中文字幕| 免费精品99| 亚洲人妻中文在线视频| 日本媚薬中文字幕在线| 97er欧美性| 六月丁香啪啪啪| 亚洲无码视频免费在线观看网址!| 日本熟妇色熟妇在线视频播放| 久久乐| 无遮挡一级毛片视频免费的| 97国产|免费| 亚洲日韩久久精品一区| 久热免费视频| 日韩丝袜二区| 奇米四色影视777久久久| 久久专区| 丝袜美腿亚洲| 亚洲欧美校园| 深喉吞精| 少妇精品久久久八区九区| 久久久久久91香蕉国产| 久久伊人五月天| 国产激情片在线观看| 隔壁邻居波多野结衣中文字幕 | 亚洲天天更新| 97综合| 久久久久久人体| 91欧美丝袜| 超碰97久久国| 嗯嗯嗯啊啊啊干死我吧| 激情综合av| 久久久久久性爱视频| 91亚洲精品青草| 一区二区 韩日AV| 性做久久久久久免费观看软件| 亚欧性爱ab| 福利色色| 尤物一级在线免费观看| 精品-91人妻子系列| 日本精品不卡一二三区| 日韩av一级黄片| 久热一区二区| 特级特黄一级毛片免费| 丁香六月激情| 99久久e免费热视| 亚洲高清无码免费观看视频| 天堂8在线新版官网| 五月天婷精品激情| 色婷婷影院| 全球成人中文在线| 激情婷婷五月天| 青青草日韩无码| 91天天日| 丁香五月激情网| 国产9l 大屁股| 狠狠干综合| 日韩欧美性吧婷婷乱伦大香蕉| 亚洲男人天堂视频| 久久αⅴ| 老熟妇一区二区三区啪啪| 97免费免费视频网| 97中文综合| 综合欧美亚洲| 天天综合网日韩7799| 少妇特黄一区二区三区| 猛猛干| 久久宗合亚洲| 99xav| 97在线国产精品| 欧美 亚洲 综合 制服| 久久欧美按摩999| 97超碰热线| 色偷偷色偷偷欧美日韩| 欧美啪啪天堂| 干b网| 欧美97色| 午夜啪啪片| 欧洲熟妇xxXx欧美老妇裸体| 九九视品黄色| 97综合久第一页| 日躁天天爽爽| 欧美综合娱乐久久| 久久激情五月| 色999人与兽| 中文字幕超碰CAO| 国产尤物在线三区| 成人乱人伦一区二区| 国产成人bd在线观看| 艹我哪美一区无码| 国产成人亚洲精品自产在线| 亚洲精品乱码线路中文字幕| 永久免费观看的毛片的网站| 乱伦熟妇一区二区| 欧美一级色| 91色噜噜狠狠| 亚洲综合20p| 国产高清免费不卡av| 午夜大香蕉| 2019午夜福利视频| 欲香欲色| 中文字幕永久在线| 久久久久久少妇| a片久久久久久久久久久久 | 超碰色综合| 色情综合| 丝袜高跟澳门91视频| 中文一区二区三区影院| 婷婷丁香五月激情啪啪| 中文字幕伊人| 日韩中文字幕精品一区在线| 综合欧美日本三级| 黑人精品久久97| 国产福利视频精品视频| 91爱综合| 啪啪视频免费在线观看| 白嫩嫩一区| 精品久久久一本一道| 热久久国产| 四虎视频在线观看| 日韩免费福利在线观看| 色精品极品| 色五月av| 熟女精品日韩一区二区三区| 日骚逼视频| 亚洲最大AV网| 欧美肥臀在线| 韩国黄色片精品久久久| 人妻丰满熟妇av无码区蜜桃| 国产精品自在线发布| 少妇三P| 老司机午夜精品视频| 亚洲 欧美 中文 日韩超碰| 亚洲色图A| 六月丁香啪啪啪| 91 偷| 久久丁香| 涩综合导航| 欧美人妻色| 国产成人无码啪| 日韩精品三级片长长久久| 亚洲导航深夜福利| 久久精品电影| 久草婷婷| 男女啪啪网站免费视频| 在线视频一区二区传媒| 欧美日韩另类在线播放| 91麻豆一二三区| 欧美很很操视频| 狠狠入| 超碰97欧美在线| 人人操人人摸人人骑| 丁香五月激情五月| 人人操人人操人人人操| 亚洲国产丝袜在线观看| 蜜色网色哟哟| 啊啊啊啊啊啊啊在线| 人妻一二三区| 97干在线视频| 亚洲成人色情五月天丁香花| 9丨久久九九九| 国产乱伦亚洲| 欧美大片91| 色综合加勒比| 国产精品久久久久久久久久久久久久久久 | 羞涩视频| 长长久久曰曰夜夜成人网| 亚洲精品日韩国产欧美| 9999亚洲电影| 黄色大片一区二区密桃丝袜| 久久天天摸| 亚洲天堂人人妻| 任你艹| 中日韩熟女| 一级特黄aaa大片在线观看成人一级片在线观看| 蜜桃精品一区二区三区久在线| 大香蕉欧美国产日韩高潮| 天天精品| www.久久制服糖| 亚洲天堂另类| 蘋果手機免費看成人Av| 日韩性爱电影一区 | 精品人妻一区二区三区在线视频不卡| 日韩精品电影| 久久一区无码| 激情综合色| 老司机福利青青草| 久久9999| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 在线性黄高清免费视频| 亚洲高清无毛一区二区| 91精品人妻| 91精品婷婷国产综合久久| 欧美熟妇乱码在线一区| 欧美有码激情视频一区二区三区| 91人妻素女| 麻豆国产视频精品观看| 色噜噜日韩精品| 99re在线视频国产| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 91强在线播放| 插插综合网天天影视网| jiujiujiujingpin| 超碰 av 女人天堂| 日本裸体久久色噜噜| 色五月综合| 日韩性爱电影一区| www.91理论| 两女互慰AV高潮喷水在线观看| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 中文字幕视频一区视频二区| 日韩情色视频| 人妻天天爽夜夜爽精品2| 五月丁香综合| 久操大香蕉手机视频在线看| www.婷婷五月天| 亚洲aV无码成人在线观看| 欧美日韩香蕉| 久久人人看| 国产色精品午夜大片| 十八禁的黄污污免费网站| 精品少妇人妻av久久免费| 中国大陆国产高清AⅤ毛片| 亚洲激情综合另类男同| 粉嫩久久久极品| 久久综合九色综合欧洲98| 亚洲欧美成人网站AAA| 日韩少妇无码| 无码人妻精品一区二区三区99不卡| 免费岛国一级片| 日本东京热久久久电影| 欧美自拍偷拍综合图片| 精品亚洲黄色片 国产精品导航一区二区 | 久草精品国产99| 国产精品不卡一区二区电影| 超碰国产精品久| 亚洲天堂人妻熟妇视频| 欧美亚洲日本激情在线| 看日韩美女二区三区免费操逼视频 | 丰满人妻一区二区三区| 婷婷五月天激情网| 五月丁香在线| 久久久久久九九九九-美女久久久久久久-成人AV | 大香蕉免费3| 亚洲丝袜少妇在线| 91人妻人人妻| 九九九草| 日本超碰在线国产一区| 国产精品99999| 亚洲天堂一二| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 天天射网| 国产乱婷婷精品二区三区| 狠狠搞 亚洲91| 操死我了啊啊啊| 中文字幕精品码亚洲| 人妻丝袜日本| 蜜桃视频成a人v在线| 中文字幕在线观看视频www| 91 国产丝袜在线放观看| 亚洲成人一二三区| 夜夜高潮夜夜爽国产伦精品| 精品国产乱码久久久久久久久久毛片 | 日日夜夜草草草| 骚鸭AV| 国产精品4p在线观看| 久久精品色欧美aⅴ一区二区| 欧美在线官网| 一区二区三区四区五区久久久久久| 加勒比综合88| 欧美性巨大╳╳╳╳╳高跟鞋| 淮穴色AV| 不卡一区视频| 欧美日韩国产成人高清| 91在线超高颜值国产| 三级三级三级日本99| 亚洲欧洲日产国产综合网| 麻豆成人影音在线| 少妇高潮对白在线观看| 亚洲色欲一区二区三区| 夜夜夜夜久久久久| 欧美色性爱| 欧美性暴力猛交XXXX | 91精品黄在线观看| 在线亚洲丝袜视频网站| 天天看精品动漫视频一区| 日韩人妻播放| 亚洲精品欧洲精品| 精品人妻一区二区三区在| 日韩在线观看中文字幕视频| 欧美少妇高潮久久91| 襙一襙| 五月丁香综合激情| 久操视频在线| 国产女人91精品嗷嗷嗷嗷| 大香网伊人久久综合网eew| 91处女在线观看| 亚洲中文字幕97久久精品少妇| 呻吟 欧美 日本 中出| 精品国产丝袜一区二区三区乱码| 麻豆天美久久91| 久久东京热成人| 丁香六月激情综合| 大香蕉之青青草原| 在线一道啪| 亚洲精品国产av天美传媒| 国产精品亚洲色婷婷久久久| 亚洲人在线成线成人| 中文字幕精品探花视频| 爱做久久久久久| 日日骚网站| 另类一区| 精品少妇99| 国产少妇肉丝在线观看| 欧美牲| 美日韩一卡二卡三卡免费人妻精品| 亚洲欧美情色| 日韩情色视频| 免费av高清无码| 成人精品一区二区三区| 中文字幕亚洲热播人妻| 影音资源男人日韩| 超碰人人干| 欧美国产婷婷久久| 欧美三级免费伊人| 欧美αv.com| 伊人991| 欧美系列在线一区二区| 九t超碰| 婷婷在线视频| 97无码视频在线播放| 麻豆AV短剧| 午夜福利免费福利视频| 欧美草草高清日韩视频| 97九色人妻| 熟妇熟女一区二区三区| 密臀视频一区二区三区| 亚洲av影院在线观看| 午夜一区| 九九英色视频| 高清在线偷拍自拍视频| 中文字幕国产| 顶级少妇BT天堂| 日韩一级特黄av毛片| 九久久九九久视频| 综合 青草 伊久久 影院 综合| 淫荡少妇免费| 5252色欧美在线男人的天堂| 用力操死我| 精品一区二区亚洲国产| 亚洲成a人v欧美综合天堂下载| 一区二区不卡| 日欧操屄视频| 飘花国产午夜精品不卡| 五月天亚洲色图| 久久久无码精品人妻二区 | 亚洲日韩美女丝袜美腿人妻视频| 在线情色电影 91大 | 精品久久无码午夜福利| 成人天天爽| 日韩三级网址| 婷婷综合在线| 把腿张开老子CAO烂你| 欧美综合自拍| 精品国产乱码久久久久久久| 精品网站99999| 97av在线视频| 在线综合 亚洲 欧美中文字幕| 欧洲精品欧洲精品| caopeng97人妻| 亚洲黑丝在线| 欧美日韩国内不卡| 日韩av不卡在线看| 亚洲高清视频在线免费观看| 2017天天操天天日| 国产精品午夜福利视频| 第四色色综合91| 精品一区二区啪啪啪| 日韩AC| 美女黄站| 国产精品伦理| 中字乱伦AV| 97超碰资源网| 色九月| 亚洲熟女乱色一区二区三区| 精品少妇99| 成人女人国产| 毛片视频白嫩| 91国产精品在线看| 欧美性爱一区二区三区四区| 日韩电影中文字幕| 国产精品一二三| 久草电影网| 亚洲Av诱惑| 久久东京热久久| 亚洲九九九九| a片偷拍视频| 精品中文字幕一区二区| 福利视频一区二区微拍| 国产亚洲禁久一区二区 | 欧色综合| 91男人天堂网| 97超级久久| 97综合在线| 一区二区免费电影久久| 男人的天堂2018| 四季av一区二区凹凸精品小说| 欧美18 在线观看| 熟妇xxxxx性春色| 久久东京伊人一本到鬼色| 最近2019中文字幕国语免费版| 黄色av一区二区在线| 九九色图| 九月AV| 午夜后入| 蜜臀99久久国产| 亚洲AV无码黄色强奸| 亚洲成人ab| 国产成人超碰在线| 女人 A一级| 99在线免费观看| 日本一二三高清| 91亚.色| 少妇久久久久久| 欧美日韩亚洲一区二区在线观看| 3p国产欧美99热| 日韩一999精品| WWW美腿丝袜香蕉中文| 欧美色图第一页| 欧美日韩亚洲一区二区在线观看| 五月天婷婷基地| 日日骚 av| 日夜精品| 欧美顶级黄色大片免费| 天天综合~91入口| 国产精品在线一区二区| 日本影视久久免费| 91精品国产高清久久久久久,亚洲成人 | 九九成人视频| 操美女人妻| 黄色AV免费| 久操大香蕉手机视频在线看| 怡红院成人av| 久久人人爽爽人人爽人人片αV| 国产精品欧美激在线| 视频黄色国产一级| 欧美伦乱| 伊人久久AV诱惑悠悠| 久热精品在线| 成人七区| 一区二区三区日韩欧美| 国产精品久久久久9999小说| 国产精品久久久久中文字幕| 中文字幕视频2区| 日本不卡在线二区三区| 性做久久久久久免费观看软件| 超碰人妻中文在线| 一级性爱网| 国产精品色| 国产精品另类一区大香蕉| 国产高清精品一区二区三区毛片| 狠狠躁AV| 俄罗斯及免费在线看| a网站免费观看| 久久亚洲日韩熟女精品| 综合欧美日韩在线观看| 欧美 亚洲 综合 制服 另类| 岛国激情视频在线观看| 殴美日韩m| 伊人国产成人av网站| 色蜜AV| 蜜臀网 一区| 伊人五月天| 97精品在线视频| 这里只有精品视频在线| 风韵犹存大大大大香蕉| AA丁香综合激情| 男同专区一区二区三区在线| 精品久热| 女人久久久| 久久久久精| 凹凸视频在线一区二区| 动漫片子网站3黄| 最新日日夜夜天天干干| 美女97超碰| 精品国产一区二区三区四区在线看| 国产精品视频播放| 在线免费观看日韩一区| 超碰久久精品| 一级免费啪啪片| www.高清无码诱惑一区.com | 欧美丰满熟妇XXXX性ppX人交| 久久97资源 网| 青青草公开在线免费不卡视频| 美女自卫慰黄网站免费| 国内一级精品| 天美麻豆精品视频99| 97在线免费视频| 欧美另类自拍 | 熟女人妻av在线资源,黄色的资源| 玖玖久久久| 天天透伊人| 少妇一级婬片免费放一级a性色.| 青青伊人这里只有精品| 日韩女模中文造逼| 久热一区二区| 91性高| 日韩激情啪啪| 日韩啪啪视频| 最新精品久久蜜桃 | 久久久久密臀一区二区| 亚洲一区二区三区四区视频| 日韩欧美女求操每天更新| 素人美腿视频网站| 操操逼操操逼操操逼逼| 四虎av在线| 97国伦国色| 7777欧美成是人在线观看| 中文乱码字幕观看| 日韩无码AB| 男人的天堂2010| 精品中文字幕一区二区| 男人天堂2019| 91久久久老司机| 东京日日夜夜| 91快色色色色色| 加勒比伊人| 久久视频,这里只有精品 | 国产精品黑人一区二区三区| 欧洲一区二区三区四区在线观看| 国语人妻精彩刺激| 在线无码操| 日韩免费在线观看不卡| 天天超级碰碰碰| 好淫网一二三视区| 自拍偷拍2025在线观看| 国产亚洲色婷婷久久99精品91| 睡产熟女乱伦| 欧美亚洲高清晰 | 五月天久久婷婷亚洲 | 精品亚洲国产成人av网站| 亚洲AV无码乱码在线观看性色| 性老妇一区二区三区| 综合网天天| 人妻少妇久久久| 玖玖超碰熟| 中文字幕精品日韩中文字幕| 国产久久日韩网站导航| 日韩免费a级毛片无码a∨| 久久老子无码午夜伦不卡| 9999久久久久| 亚洲成熟国产精品美女| 后入福利视频| 天美精品av| 夜夜肏2021| 麻豆久久一区二区三区| 亚洲精品欧美专业| 被男人吃奶很爽的毛片| 97欧美日韩中文| 51一区二区三区| 精品人妻一区二区免费看| 国产在线播放成人免费| 色香色欲天天综合网天天来吧| 巨乳特殊服务按摩| 99热在线观看| 精品无码久久| AV色天香在线| 黄色AAAAA欧美| 青青国产精品在线| 老熟妇91| 97se综合网| 人妻另类| 色综合一区二区三巨| 中日韩一区二区三区欧美| 色噜噜人妻丝袜AV资源| 思思热影视| 五十路熟女人妻一区二区在线观看 | 自拍鲍鱼一区在线高清观看免费| 东京热伊久| 综合av影片| 91少妇高潮| 国产精品天干天干综合网麻豆 | 欧美色图 色综合图| 国产九九九九九九| 狠插 制服 自拍| 日韩免费中文字幕视频| 97精彩视频网站| 欧美大香蕉久| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 1769一区| 99re久久| 2017天天操天天日| 色天使AV天堂| 欧美最婬乱婬爆婬牲视频| 国产精品熟女九九九| 欧美亚男人的天堂| 怡红院怡春院| 男人的天堂在线2| 99激情| 综合国产影视三级| 欧美综合 站| 九九国产热| 美女骚尻视频| 日韩欧美传媒一区国产| 亚洲图片91| 玖玖爱在线视频免费观看| 国产AV色黄看到爽| 97久久国产亚洲精品超碰热| 亚洲高潮少妇| 在线观看AV不卡| 中文字幕视频2区| 久草毛片电影怡| 亚洲超碰综合网| 午夜经典| 狠狠婷婷亚洲中文综合久久| 伊人热综合| 嗯啊抽插大香蕉网页| 久久五月综合| 蜜色网色哟哟| 色五月AV在线| 亚洲欧美成人网站AAA| 日韩一级性爱无码| 国产免费久久久久| 色女女女导航| 新视频sss国产| 无码人妻一区二区三区四区老鸭窝| 久久精品黄色| 欧美丰满少妇xx高潮| 九月婷婷| 亚洲国产中文字幕| 99人妻碰碰碰久久久久禁片| 亚洲中文国际强奸字幕| 欧美激情综合色综合啪啪五月| 麻豆AV短剧| 亚州综合色| 色香色欲天天综合网天天来吧 | 家庭乱伦国产| a网站免费观看| 鸥美极品| 伊人丁香五月婷婷| 日韩丝袜人妻AV| 欧美天天在线| 午夜久久无码1000合集| 夜夜狼人妻| 青草综合| 亚洲免费精品一区| 天天爱天天操| 日韩欧美女优电影| 青青草一区二区三区四| 日本免费一级AAA大片器 | 性爱边摸边日免费AV| 人人澡人人爽人人精品| 国产成人在线观看网址| 五月天婷婷色| 夜夜爽夜夜操| 一个人在线看的黄色电影网站| 亚洲欧美91| 在线观看一卡二卡| 欧美性爱第一页久久| 人人妻人人操人人乐| 蜜臀视频网站| 免费看污网址| 国产剧情AV不卡在线观看| 干美女人妻| 可以看的av| 日语五十路和六十路亚洲国产精品| 成人精品在线| 午夜精品久久久久久久久久蜜桃| 九九九九97| 久久 亚洲 日韩 人妻| 日韩欧美麻豆大片| 99久久久久久久久| 中国一级特黄大片护士| 九久精品| 91高清欧美| 啊啊啊好疼| 留下AⅤ黄色片| 99999这里都精品| 久久五月份| 在线国产一区二区av| 国产二区三区免费视频| 清纯唯美综合亚洲| 日本啊啊啊啊啊视频| 婷婷五月天成人网| 亚洲国产高清福利视频| 国产AV人人夜夜澡人人爽麻豆| 欧美强奸一区二区诱惑| 秋霞一级A片黄色视频| 色视频蜜乳| 亚洲男人天堂网| 91在线丝袜| 男人的天堂网免费| 久99久视频| 日韩在线观看中文字幕视频| 免费观看国产小粉嫩喷水精品午| 亚州男人天堂| 91激情| 国产又黄又爽| 国产亚洲色婷婷久久99精品91 - 百度| 日韩传媒在线| 久操热| 亚洲性爱高潮影院| 久久久中文版| 91美女視頻| 亚洲欧美骚| 91大神精品长腿在线观看网站| 国产精品人妻免费精品| 国产在线激情| 欧美宗合网| 99久久无码| 亚洲AV无码AV吞精久久久久| 深夜国产一区二区三区在线看| 免费看黄视频亚洲网站| 亞洲久久直播| 屌逼麻豆| 中文字幕版| 免看60秒涩涩视频| 丰满欧美放荡少妇在线| 亚洲人精品久久久| 九九热AV| 国产av又色又爽又黄| 中文字幕一区二区三区视频播放| 色啪网| 欧美日韩国产电影| 精品无码产区一区二| 亚洲日韩电影| 国产美女自拍AV| 日韩999| 999日韩中文精品观看视频。| 日韩内射视频| 亚洲人妻久久久| 视频国产成人精品日本亚洲18| ..日韩av毛片精品久久久| 五月丁香综合激情| 久久这里| 欧美岛国精品在线观看| 福利在线观看一区二区| 午夜精品99久久久久传媒| 成人在线午夜视频一区| 欧美天天搞| 91天堂色男人的天堂| 欧美极品性爱天天射| 欧美国产伊人久久久久| 一区麻豆 高清中文字幕| 久久久日本电影| 欧美视频在线视频免费va| 嗯嗯啊啊的视频| 欧美性爱18观看| 97色色国产视频| 久久黄色性爱视频| 国产熟妇一区二区| 強姦亂倫a| 色5月婷婷| 97操97干| 激情综合五月| 国产熟女一区二区| 五月天久久久| 夜夜躁狠狠躁日日躁av| 日本精品第一视频在'| 亚洲综合夜色| 亚洲成?V人片在线观看福利| 欧美第二页午夜| 国产精品探花在线| 97久操| 26uuu欧美| 91精品国产91久久青草| 96精品在线| 亚川综合视频| 五十路人妻在线| 91精品综合久久久久久五月丁香| 精品人妻一区二区三区视频在线| 久久丁香五月婷婷| 久久久久国产精品久久久| 欧美熟妇精品黑人巨大一二三区| 高潮毛片无遮挡高清免费| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 色眯眯av| 久久精品国产亚洲AV片多多| 日韩八十路老熟女| 亚洲五月天激情| 久久精品久久久久久久久| 日韩欧美偷拍美女视频| 日本超碰在线国产一区| 久艹日日日| 亚州操操穴网| 国产92麻豆天美精品色欲5| 五十路熟女人妻一区二区在线观看| 欧美日韩人人精品| 东京热亚洲一区二区| 国产精品久久久久无码A√| 91美女在线| 国产精品午夜精品| 老女人碰碰在线碰碰视频| 超碰免费在线| 91强热人妻| 色黄污美女啪啪啪免费网站| 啊啊啊啊啊好多水| 九草九九九| 超碰综合97在线| 国产乱弄免费在线视频。|