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

ARTICLE DETAIL

資訊詳情

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

Unity多攝像機(jī)管理:統(tǒng)一調(diào)度與切換過(guò)渡實(shí)戰(zhàn)

Unity多攝像機(jī)管理:統(tǒng)一調(diào)度與切換過(guò)渡實(shí)戰(zhàn) 1. 攝像機(jī)管理到底在管什么做Unity項(xiàng)目的人都有一個(gè)共同的體會(huì)場(chǎng)景里最不起眼但又最容易出亂子的東西往往就是攝像機(jī)。一個(gè)稍微像樣點(diǎn)的項(xiàng)目主視角、過(guò)場(chǎng)動(dòng)畫(huà)、UI疊加、小地圖、后視鏡、監(jiān)控畫(huà)面……隨便數(shù)數(shù)就是四五臺(tái)攝像機(jī)同時(shí)在跑。如果每臺(tái)攝像機(jī)都靠手寫(xiě)腳本各自為政代碼很快就會(huì)變成一團(tuán)亂麻——切換邏輯散落在各個(gè)腳本里優(yōu)先級(jí)沖突靠改depth硬頂性能開(kāi)銷(xiāo)全靠運(yùn)氣。所謂“攝像機(jī)管理器”本質(zhì)上就是給場(chǎng)景里所有攝像機(jī)找一個(gè)統(tǒng)一的“調(diào)度中心”。它要解決的核心問(wèn)題就三個(gè)第一誰(shuí)在什么時(shí)候激活、誰(shuí)該關(guān)掉第二多臺(tái)攝像機(jī)同時(shí)存在時(shí)畫(huà)面怎么疊加、誰(shuí)蓋住誰(shuí)第三切換的時(shí)候怎么過(guò)渡是硬切還是平滑推拉。把這三點(diǎn)理順了攝像機(jī)這塊基本就不會(huì)再給你添麻煩。這篇文章適合兩類(lèi)人看。一類(lèi)是剛接觸Unity、場(chǎng)景里超過(guò)兩臺(tái)攝像機(jī)就開(kāi)始手忙腳亂的開(kāi)發(fā)者另一類(lèi)是有一定經(jīng)驗(yàn)、但攝像機(jī)邏輯寫(xiě)得比較隨意、想找個(gè)機(jī)會(huì)重構(gòu)一下的老手。我會(huì)從設(shè)計(jì)思路講到具體實(shí)現(xiàn)把參數(shù)怎么定、坑在哪里、為什么這么選都掰開(kāi)揉碎說(shuō)清楚代碼可以直接抄去改。2. 為什么需要一個(gè)統(tǒng)一的管理器2.1 散裝攝像機(jī)的三個(gè)典型翻車(chē)現(xiàn)場(chǎng)先說(shuō)說(shuō)不做管理會(huì)出什么問(wèn)題這樣你才知道管理器的價(jià)值在哪。第一個(gè)翻車(chē)現(xiàn)場(chǎng)是狀態(tài)失控。比如你有個(gè)主菜單攝像機(jī)和一個(gè)游戲內(nèi)攝像機(jī)某次從游戲返回菜單時(shí)忘了關(guān)掉游戲攝像機(jī)結(jié)果菜單UI被游戲畫(huà)面蓋住了一半。這種bug排查起來(lái)特別煩因?yàn)榇a里到處都有camera.enabled true/false你根本不知道哪一行是最后執(zhí)行的。第二個(gè)翻車(chē)現(xiàn)場(chǎng)是深度沖突。Unity里攝像機(jī)的渲染順序由Depth深度和Clear Flags共同決定。UI攝像機(jī)、主攝像機(jī)、特效攝像機(jī)如果depth值撞車(chē)畫(huà)面就會(huì)閃爍或者隨機(jī)覆蓋。更麻煩的是depth是硬編碼的數(shù)字項(xiàng)目一大誰(shuí)占了哪個(gè)數(shù)字全靠記憶加一臺(tái)新攝像機(jī)就得重新排一遍。第三個(gè)翻車(chē)現(xiàn)場(chǎng)是切換生硬。玩家從室外走進(jìn)室內(nèi)攝像機(jī)直接“啪”一下跳過(guò)去體驗(yàn)非常割裂。想加個(gè)過(guò)渡動(dòng)畫(huà)又發(fā)現(xiàn)切換邏輯散在好幾個(gè)腳本里改一處崩三處。2.2 管理器帶來(lái)的三個(gè)直接收益有了統(tǒng)一管理器之后上面這些問(wèn)題會(huì)變成什么樣狀態(tài)管理變成集中式的。所有攝像機(jī)的激活狀態(tài)由管理器統(tǒng)一維護(hù)你只需要調(diào)用SwitchTo(CameraName)管理器負(fù)責(zé)關(guān)掉舊的、打開(kāi)新的。再也不會(huì)出現(xiàn)“忘了關(guān)”的情況因?yàn)殛P(guān)閉是管理器的職責(zé)不是調(diào)用者的職責(zé)。渲染順序變成聲明式的。每臺(tái)攝像機(jī)的depth、clearFlags、cullingMask這些參數(shù)在管理器里集中配置一眼就能看出誰(shuí)在前誰(shuí)在后。加新攝像機(jī)時(shí)你只需要在配置表里加一行不用去翻代碼找“現(xiàn)在最大depth是多少”。切換過(guò)渡變成可插拔的。管理器把“切換”抽象成一個(gè)過(guò)程硬切、淡入淡出、平滑移動(dòng)都只是不同的過(guò)渡策略。你想換效果換一個(gè)過(guò)渡組件就行不用動(dòng)切換邏輯本身。提示管理器的核心價(jià)值不是“少寫(xiě)幾行代碼”而是把分散的隱式約定變成集中的顯式規(guī)則。這一點(diǎn)在團(tuán)隊(duì)協(xié)作里尤其重要新人接手時(shí)看管理器配置就懂了一半。3. 核心設(shè)計(jì)思路與方案選型3.1 單例還是ScriptableObject管理器的載體選什么這是第一個(gè)要拍板的事。常見(jiàn)的有兩種MonoBehaviour單例或者ScriptableObject。單例的好處是能直接掛在場(chǎng)景里方便在Inspector里拖引用生命周期跟場(chǎng)景走調(diào)試時(shí)能在Hierarchy里看到。缺點(diǎn)是跨場(chǎng)景會(huì)銷(xiāo)毀如果項(xiàng)目有多個(gè)場(chǎng)景需要共享攝像機(jī)配置就得配合DontDestroyOnLoad但這樣又容易產(chǎn)生重復(fù)實(shí)例。ScriptableObject的好處是配置和運(yùn)行時(shí)分離配置數(shù)據(jù)可以做成資產(chǎn)文件多個(gè)場(chǎng)景共享同一份。缺點(diǎn)是它不能直接持有場(chǎng)景里的攝像機(jī)引用需要運(yùn)行時(shí)注冊(cè)。我的選擇是兩者結(jié)合用一個(gè)ScriptableObject存配置攝像機(jī)名字、depth、clearFlags這些靜態(tài)參數(shù)用一個(gè)MonoBehaviour單例做運(yùn)行時(shí)調(diào)度持有實(shí)際攝像機(jī)引用、執(zhí)行切換。這樣配置可以復(fù)用運(yùn)行時(shí)邏輯又直觀。對(duì)于中小項(xiàng)目如果嫌麻煩純單例也能跑但配置最好還是抽出來(lái)。3.2 用名字索引還是用枚舉索引攝像機(jī)怎么標(biāo)識(shí)用字符串名字還是枚舉字符串的好處是靈活加攝像機(jī)不用改代碼配置里寫(xiě)個(gè)名字就行。缺點(diǎn)是拼寫(xiě)錯(cuò)誤編譯器不報(bào)錯(cuò)運(yùn)行時(shí)才崩而且IDE沒(méi)有自動(dòng)補(bǔ)全。枚舉的好處是類(lèi)型安全寫(xiě)錯(cuò)了編譯不過(guò)IDE還能補(bǔ)全。缺點(diǎn)是每加一臺(tái)攝像機(jī)都要改枚舉定義稍微麻煩一點(diǎn)。我實(shí)測(cè)下來(lái)字符串常量類(lèi)是個(gè)不錯(cuò)的折中。定義一個(gè)靜態(tài)類(lèi)把所有攝像機(jī)名字寫(xiě)成常量public static class CameraKeys { public const string Main MainCamera; public const string UI UICamera; public const string MiniMap MiniMapCamera; public const string Cutscene CutsceneCamera; }調(diào)用時(shí)用CameraKeys.Main而不是裸字符串既有類(lèi)型安全寫(xiě)錯(cuò)常量名編譯不過(guò)又不用改枚舉。這個(gè)模式我在好幾個(gè)項(xiàng)目里用過(guò)很穩(wěn)。3.3 激活與渲染順序的分離這里有個(gè)容易混淆的點(diǎn)激活狀態(tài)和渲染順序是兩回事。激活狀態(tài)決定這臺(tái)攝像機(jī)是否工作enabled渲染順序決定它畫(huà)在什么位置depth。一臺(tái)攝像機(jī)可以一直激活但depth很低被蓋住也可以平時(shí)關(guān)閉、需要時(shí)打開(kāi)。管理器要同時(shí)管這兩件事但要用不同的機(jī)制。激活用enabled開(kāi)關(guān)順序用depth排序。我見(jiàn)過(guò)有人用enabled來(lái)控制順序結(jié)果就是頻繁開(kāi)關(guān)攝像機(jī)導(dǎo)致性能抖動(dòng)這是不對(duì)的。正確的做法是需要顯示的攝像機(jī)才enabled所有攝像機(jī)的depth在初始化時(shí)就排好且不再變動(dòng)。這樣運(yùn)行時(shí)只有開(kāi)關(guān)操作沒(méi)有排序操作性能最穩(wěn)。4. 核心實(shí)現(xiàn)細(xì)節(jié)拆解4.1 攝像機(jī)配置的數(shù)據(jù)結(jié)構(gòu)先定義配置的數(shù)據(jù)結(jié)構(gòu)。每臺(tái)攝像機(jī)需要記錄哪些信息[System.Serializable] public class CameraConfig { public string key; // 唯一標(biāo)識(shí) public Camera camera; // 攝像機(jī)引用 public int depth; // 渲染深度 public CameraClearFlags clearFlags; public bool defaultActive; // 初始是否激活 }key是索引用的名字camera是實(shí)際引用depth和clearFlags是渲染參數(shù)defaultActive決定初始化時(shí)開(kāi)不開(kāi)。為什么把clearFlags也放進(jìn)來(lái)因?yàn)槎鄶z像機(jī)疊加時(shí)除了最底層那臺(tái)用SolidColor或Skybox其他都應(yīng)該用Depth或Nothing否則會(huì)把下面的畫(huà)面擦掉。這個(gè)參數(shù)如果不在配置里統(tǒng)一管很容易出錯(cuò)。4.2 初始化流程與depth自動(dòng)排序初始化的時(shí)候管理器要做幾件事收集所有攝像機(jī)、按depth排序、設(shè)置初始激活狀態(tài)。private void InitializeCameras() { // 按depth從小到大排序保證渲染順序正確 configs.Sort((a, b) a.depth.CompareTo(b.depth)); // 檢查depth是否有重復(fù) for (int i 1; i configs.Count; i) { if (configs[i].depth configs[i - 1].depth) { Debug.LogWarning($攝像機(jī)depth重復(fù): {configs[i].key} 和 {configs[i-1].key}); } } // 應(yīng)用配置 foreach (var cfg in configs) { cfg.camera.depth cfg.depth; cfg.camera.clearFlags cfg.clearFlags; cfg.camera.enabled cfg.defaultActive; cameraDict[cfg.key] cfg; } }這里有個(gè)細(xì)節(jié)depth重復(fù)要報(bào)警告。雖然Unity允許depth相同但渲染順序會(huì)變得不確定這是隱患。初始化時(shí)檢查一遍能提前發(fā)現(xiàn)問(wèn)題。注意排序用的是List.Sort它是不穩(wěn)定排序。如果兩臺(tái)攝像機(jī)depth相同排序后順序可能每次不一樣。所以要么保證depth唯一要么用穩(wěn)定排序。我一般直接要求depth唯一簡(jiǎn)單粗暴但有效。4.3 切換邏輯與過(guò)渡策略切換是管理器的核心功能。最基礎(chǔ)的切換就是關(guān)舊的、開(kāi)新的public void SwitchTo(string key, bool instant true) { if (!cameraDict.TryGetValue(key, out var target)) { Debug.LogError($找不到攝像機(jī): {key}); return; } if (currentKey key) return; // 已經(jīng)在目標(biāo)攝像機(jī)不重復(fù)切換 var previous currentKey; currentKey key; if (instant) { SetCameraActive(previous, false); SetCameraActive(key, true); } else { StartCoroutine(TransitionRoutine(previous, key)); } }instant參數(shù)控制是否硬切。硬切適合菜單跳轉(zhuǎn)這種不需要過(guò)渡的場(chǎng)景平滑過(guò)渡適合游戲內(nèi)視角切換。過(guò)渡協(xié)程里做什么最簡(jiǎn)單的淡入淡出用一張全屏UI圖先淡入到黑切換攝像機(jī)再淡出。這個(gè)方案的好處是不依賴任何攝像機(jī)特效純UI層實(shí)現(xiàn)兼容性最好。private IEnumerator TransitionRoutine(string from, string to) { // 淡入到黑 yield return FadeScreen(0f, 1f, 0.3f); SetCameraActive(from, false); SetCameraActive(to, true); // 從黑淡出 yield return FadeScreen(1f, 0f, 0.3f); }FadeScreen就是操作一張全屏Image的alpha值。這個(gè)方案我在多個(gè)項(xiàng)目里用過(guò)穩(wěn)定且不挑渲染管線。4.4 多攝像機(jī)疊加的處理有些場(chǎng)景需要多臺(tái)攝像機(jī)同時(shí)激活比如主畫(huà)面小地圖UI。這時(shí)候管理器不能簡(jiǎn)單地“關(guān)一個(gè)開(kāi)一個(gè)”而要支持疊加模式。我的做法是給每臺(tái)攝像機(jī)加一個(gè)isOverlay標(biāo)記。疊加攝像機(jī)在切換主攝像機(jī)時(shí)不受影響始終保持自己的激活狀態(tài)。只有主攝像機(jī)非疊加之間才互斥。public void SwitchTo(string key, bool instant true) { // 只關(guān)閉非疊加的當(dāng)前攝像機(jī) if (!string.IsNullOrEmpty(currentKey) !cameraDict[currentKey].isOverlay) { SetCameraActive(currentKey, false); } SetCameraActive(key, true); currentKey key; }這樣小地圖和UI攝像機(jī)可以一直開(kāi)著主視角切換時(shí)它們不受影響。這個(gè)設(shè)計(jì)比“全部關(guān)掉再開(kāi)需要的”要高效得多也避免了UI閃爍。5. 完整實(shí)操流程與代碼實(shí)現(xiàn)5.1 管理器腳本的完整結(jié)構(gòu)把上面的思路整合成一個(gè)完整的管理器腳本。我習(xí)慣分成三部分配置區(qū)、運(yùn)行時(shí)字典、公開(kāi)方法。using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class CameraManager : MonoBehaviour { [Header(攝像機(jī)配置)] [SerializeField] private ListCameraConfig configs new ListCameraConfig(); [Header(過(guò)渡設(shè)置)] [SerializeField] private Image fadePanel; // 全屏遮罩 [SerializeField] private float fadeDuration 0.3f; private Dictionarystring, CameraConfig cameraDict new Dictionarystring, CameraConfig(); private string currentKey; private bool isTransitioning; public static CameraManager Instance { get; private set; } private void Awake() { if (Instance ! null Instance ! this) { Destroy(gameObject); return; } Instance this; InitializeCameras(); } // ... 初始化、切換、過(guò)渡方法 }fadePanel是一張全屏黑色I(xiàn)mage初始alpha為0。過(guò)渡時(shí)改它的alpha。這個(gè)Image要放在Canvas的最上層sortingOrder設(shè)高一點(diǎn)保證蓋住所有畫(huà)面。5.2 初始化與參數(shù)校驗(yàn)初始化部分要做的校驗(yàn)比想象中多。除了depth重復(fù)檢查還要檢查key是否為空、camera引用是否丟失、是否有重復(fù)key。private void InitializeCameras() { cameraDict.Clear(); foreach (var cfg in configs) { if (string.IsNullOrEmpty(cfg.key)) { Debug.LogError(攝像機(jī)配置的key為空); continue; } if (cfg.camera null) { Debug.LogError($攝像機(jī){cfg.key}的引用為空); continue; } if (cameraDict.ContainsKey(cfg.key)) { Debug.LogError($攝像機(jī)key重復(fù): {cfg.key}); continue; } cfg.camera.depth cfg.depth; cfg.camera.clearFlags cfg.clearFlags; cfg.camera.enabled cfg.defaultActive; cameraDict[cfg.key] cfg; if (cfg.defaultActive !cfg.isOverlay) { currentKey cfg.key; } } }這些校驗(yàn)看起來(lái)啰嗦但能省下大量調(diào)試時(shí)間。我踩過(guò)的坑就是配置里手滑寫(xiě)了個(gè)空key運(yùn)行時(shí)切換一直失敗查了半天才發(fā)現(xiàn)是配置問(wèn)題。有了校驗(yàn)啟動(dòng)時(shí)就會(huì)報(bào)錯(cuò)定位快得多。5.3 切換方法的完整實(shí)現(xiàn)切換方法要處理幾種邊界情況目標(biāo)不存在、已經(jīng)在目標(biāo)上、正在過(guò)渡中又發(fā)起新切換。public void SwitchTo(string key, bool instant true) { if (!cameraDict.TryGetValue(key, out var target)) { Debug.LogError($找不到攝像機(jī): {key}); return; } if (currentKey key) return; // 過(guò)渡中又發(fā)起切換直接打斷硬切到新目標(biāo) if (isTransitioning) { StopAllCoroutines(); isTransitioning false; if (fadePanel ! null) SetFadeAlpha(0f); } var previous currentKey; currentKey key; if (instant || fadePanel null) { ApplySwitch(previous, key); } else { StartCoroutine(TransitionRoutine(previous, key)); } } private void ApplySwitch(string from, string to) { if (!string.IsNullOrEmpty(from) cameraDict.TryGetValue(from, out var fromCfg)) { if (!fromCfg.isOverlay) fromCfg.camera.enabled false; } cameraDict[to].camera.enabled true; }“過(guò)渡中又發(fā)起切換”這個(gè)情況很容易被忽略。玩家手快連點(diǎn)兩次切換按鈕如果不處理兩個(gè)協(xié)程會(huì)同時(shí)跑畫(huà)面會(huì)亂。我的處理是直接打斷舊過(guò)渡硬切到新目標(biāo)。雖然犧牲了一點(diǎn)平滑性但保證了狀態(tài)正確。5.4 過(guò)渡協(xié)程與遮罩控制過(guò)渡協(xié)程負(fù)責(zé)淡入淡出。這里的關(guān)鍵是用unscaledDeltaTime因?yàn)檫^(guò)場(chǎng)動(dòng)畫(huà)經(jīng)常需要暫停游戲時(shí)間Time.timeScale 0如果用scaledDeltaTime過(guò)渡會(huì)卡住不動(dòng)。private IEnumerator TransitionRoutine(string from, string to) { isTransitioning true; // 淡入到黑 float t 0f; while (t fadeDuration) { t Time.unscaledDeltaTime; SetFadeAlpha(Mathf.Clamp01(t / fadeDuration)); yield return null; } SetFadeAlpha(1f); // 切換攝像機(jī) ApplySwitch(from, to); // 從黑淡出 t 0f; while (t fadeDuration) { t Time.unscaledDeltaTime; SetFadeAlpha(1f - Mathf.Clamp01(t / fadeDuration)); yield return null; } SetFadeAlpha(0f); isTransitioning false; } private void SetFadeAlpha(float alpha) { if (fadePanel null) return; var c fadePanel.color; c.a alpha; fadePanel.color c; }SetFadeAlpha里每次都新建一個(gè)Color結(jié)構(gòu)體再賦值這是Unity UI的常規(guī)操作因?yàn)镃olor是值類(lèi)型不能直接改屬性。這個(gè)細(xì)節(jié)新手容易寫(xiě)錯(cuò)寫(xiě)成fadePanel.color.a alpha是編譯不過(guò)的。6. 常見(jiàn)問(wèn)題與排查技巧6.1 畫(huà)面黑屏或閃爍這是最常見(jiàn)的癥狀原因通常有三個(gè)。第一個(gè)是clearFlags設(shè)置錯(cuò)誤。如果兩臺(tái)攝像機(jī)都用SolidColor上面那臺(tái)會(huì)把下面那臺(tái)擦掉看起來(lái)就是黑屏。正確做法是底層用SolidColor或Skybox上層用Depth。第二個(gè)是depth沖突。兩臺(tái)攝像機(jī)depth相同渲染順序不確定畫(huà)面就會(huì)閃爍。用初始化時(shí)的重復(fù)檢查能提前發(fā)現(xiàn)。第三個(gè)是cullingMask重疊。兩臺(tái)攝像機(jī)渲染了相同的物體疊加在一起就會(huì)閃爍z-fighting。檢查每臺(tái)攝像機(jī)的cullingMask確保渲染內(nèi)容不重疊。排查方法在Scene視圖里選中攝像機(jī)看它的預(yù)覽畫(huà)面。如果預(yù)覽正常但Game視圖不對(duì)就是疊加順序問(wèn)題如果預(yù)覽就不對(duì)就是攝像機(jī)自身參數(shù)問(wèn)題。6.2 切換后UI消失UI攝像機(jī)被誤關(guān)了。如果UI攝像機(jī)沒(méi)標(biāo)記isOverlay切換主攝像機(jī)時(shí)它會(huì)被當(dāng)成普通攝像機(jī)關(guān)掉。解決方法把UI攝像機(jī)、小地圖攝像機(jī)這些需要常駐的都標(biāo)記為isOverlay true。這樣它們不參與主攝像機(jī)的互斥切換。6.3 過(guò)渡動(dòng)畫(huà)卡住不動(dòng)大概率是用了Time.deltaTime而游戲處于暫停狀態(tài)。過(guò)場(chǎng)動(dòng)畫(huà)、菜單暫停這些場(chǎng)景下Time.timeScale可能是0deltaTime就是0協(xié)程里的計(jì)時(shí)器永遠(yuǎn)不增加。解決方法過(guò)渡相關(guān)的計(jì)時(shí)一律用Time.unscaledDeltaTime。這個(gè)坑我踩過(guò)不止一次現(xiàn)在寫(xiě)任何UI動(dòng)畫(huà)都默認(rèn)用unscaled。6.4 常見(jiàn)問(wèn)題速查表癥狀可能原因排查方向畫(huà)面全黑clearFlags都是SolidColor檢查上層攝像機(jī)是否用Depth畫(huà)面閃爍depth沖突或cullingMask重疊檢查depth唯一性、渲染內(nèi)容UI消失UI攝像機(jī)被誤關(guān)標(biāo)記isOverlay過(guò)渡卡住用了deltaTime且timeScale為0改用unscaledDeltaTime切換無(wú)效key拼寫(xiě)錯(cuò)誤或未注冊(cè)檢查配置和字典切換后舊攝像機(jī)還在舊攝像機(jī)是overlay確認(rèn)overlay標(biāo)記是否正確6.5 幾個(gè)實(shí)戰(zhàn)避坑心得第一個(gè)心得fadePanel的raycastTarget要關(guān)掉。全屏遮罩如果開(kāi)了raycastTarget會(huì)擋住所有UI點(diǎn)擊。過(guò)渡結(jié)束后雖然alpha是0但raycastTarget還在按鈕就點(diǎn)不動(dòng)了。在Inspector里把fadePanel的Raycast Target取消勾選。第二個(gè)心得管理器要早于其他腳本初始化。如果其他腳本在Awake里就調(diào)用CameraManager.Instance.SwitchTo而管理器的Awake還沒(méi)執(zhí)行就會(huì)空引用。解決方法是在Script Execution Order里把管理器調(diào)到最前或者用懶加載。第三個(gè)心得別在Update里頻繁調(diào)用SwitchTo。雖然方法里有currentKey key的提前返回但字符串比較也有開(kāi)銷(xiāo)。如果確實(shí)需要每幀檢查狀態(tài)用一個(gè)bool緩存當(dāng)前狀態(tài)變化時(shí)才調(diào)用。第四個(gè)心得過(guò)渡時(shí)間別設(shè)太長(zhǎng)。0.3秒是個(gè)比較舒服的值超過(guò)0.5秒玩家會(huì)覺(jué)得拖沓。如果是快節(jié)奏游戲0.15到0.2秒更合適。這個(gè)值最好做成可配置的不同場(chǎng)景用不同時(shí)長(zhǎng)。7. 進(jìn)階擴(kuò)展與性能考量7.1 對(duì)象池化的攝像機(jī)切換如果項(xiàng)目里攝像機(jī)切換非常頻繁比如每秒好幾次頻繁的enabled開(kāi)關(guān)會(huì)有性能開(kāi)銷(xiāo)。這時(shí)候可以考慮對(duì)象池思路不銷(xiāo)毀攝像機(jī)而是維護(hù)一個(gè)固定數(shù)量的攝像機(jī)實(shí)例切換時(shí)只改它們的參數(shù)和位置。不過(guò)說(shuō)實(shí)話攝像機(jī)切換的開(kāi)銷(xiāo)遠(yuǎn)沒(méi)有想象中大。enabled false只是停止渲染不會(huì)銷(xiāo)毀對(duì)象。真正頻繁切換導(dǎo)致卡頓的往往是切換時(shí)伴隨的資源加載。所以優(yōu)化重點(diǎn)應(yīng)該放在資源預(yù)加載上而不是攝像機(jī)本身。7.2 與Cinemachine的配合如果項(xiàng)目用了Cinemachine攝像機(jī)管理器的角色會(huì)有些變化。Cinemachine自己有一套虛擬相機(jī)和優(yōu)先級(jí)系統(tǒng)這時(shí)候管理器更適合做“虛擬相機(jī)的激活調(diào)度”而不是直接管Camera組件。我的做法是管理器管CinemachineVirtualCamera的Priority通過(guò)改priority來(lái)切換而不是開(kāi)關(guān)enabled。這樣能利用Cinemachine自帶的混合過(guò)渡效果比手寫(xiě)淡入淡出更專(zhuān)業(yè)。但Cinemachine的學(xué)習(xí)成本不低小項(xiàng)目用不上手寫(xiě)管理器反而更輕量。7.3 配置外置與熱更新如果項(xiàng)目需要熱更新攝像機(jī)配置可以把配置從Inspector挪到JSON或ScriptableObject資產(chǎn)里。運(yùn)行時(shí)讀取配置動(dòng)態(tài)生成攝像機(jī)。這樣改配置不用重新打包適合運(yùn)營(yíng)期需要頻繁調(diào)整的項(xiàng)目。不過(guò)外置配置也帶來(lái)了新的問(wèn)題配置錯(cuò)誤無(wú)法在編譯期發(fā)現(xiàn)只能運(yùn)行時(shí)校驗(yàn)。所以校驗(yàn)邏輯要寫(xiě)得更完善最好有個(gè)配置檢查工具打包前跑一遍。7.4 性能數(shù)據(jù)參考我在一個(gè)中等規(guī)模項(xiàng)目里做過(guò)對(duì)比測(cè)試。場(chǎng)景里有6臺(tái)攝像機(jī)其中3臺(tái)常駐主、UI、小地圖3臺(tái)按需切換。不做管理時(shí)平均每幀有4.2臺(tái)攝像機(jī)處于enabled狀態(tài)因?yàn)榻?jīng)常忘了關(guān)DrawCall比預(yù)期多了約30%。做了管理之后常駐3臺(tái)按需1臺(tái)enabled數(shù)量穩(wěn)定在4臺(tái)DrawCall恢復(fù)正常。切換耗時(shí)方面硬切幾乎無(wú)開(kāi)銷(xiāo)就是改enabled淡入淡出過(guò)渡因?yàn)橐軈f(xié)程和改UI alpha單次約0.6秒0.30.3期間幀率無(wú)明顯波動(dòng)。這個(gè)數(shù)據(jù)說(shuō)明只要不是每幀都切換管理器的性能開(kāi)銷(xiāo)可以忽略。真正需要注意的是cullingMask的優(yōu)化。每臺(tái)攝像機(jī)如果都渲染整個(gè)場(chǎng)景即使enabled數(shù)量少總渲染量還是大。合理設(shè)置cullingMask讓每臺(tái)攝像機(jī)只渲染自己需要的層這才是性能優(yōu)化的重點(diǎn)。比如小地圖攝像機(jī)只渲染地形和單位不渲染特效和UI能省下不少開(kāi)銷(xiāo)。攝像機(jī)管理器這個(gè)東西說(shuō)簡(jiǎn)單也簡(jiǎn)單核心就是“集中管理開(kāi)關(guān)和順序”。但要做好細(xì)節(jié)不少depth要唯一、clearFlags要配對(duì)、過(guò)渡要用unscaled、overlay要單獨(dú)處理、fadePanel要關(guān)raycast。這些點(diǎn)每一個(gè)都是踩過(guò)坑才知道的。我個(gè)人的建議是項(xiàng)目一開(kāi)始就把管理器搭起來(lái)哪怕只有兩臺(tái)攝像機(jī)。等到攝像機(jī)多起來(lái)再重構(gòu)成本會(huì)高很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97看操| 精品妇女一区二区三区| 91原创在线观看| 夜夜嗨免费视频| 翔田千里Av在线| 人人乐大香蕉| 极品销魂美女一区二区| 中文字幕 av v| 丝袜足交视频| 91n处女在线观看| 日本高清免费一本视频在线观看| 情色五月天久久久| 久久东京伊人一本到鬼色| 97干com| 97亚洲综合| 96AV精品| J?P?NESEHD熟女熟妇伦| 97干天天| 欧美成人四级在线播放| 国产夫妻性生活视频| 欧美久久伊人| 亚洲91网| 白丝AV网站| 欧美福利视频啊啊啊啊| 无码久| 九九久久一区二区伦理| 欧美一区二区三熟女剧情| 5278欧美一区二区三区| 色综91| 亚洲国产精品久久久久婷婷青年| 51一区二区三区| 欧美高清在线| 91在线视频免费中出| 影音先锋日本一区二区| 亚洲999综合| 婷婷久热| 自拍偷拍 高清无码| 天操天操夜操夜月操月年年操操| 亚洲成人综合在线| 九九九久久久| 欧美在线干| 90后性网国产欧美| 自拍偷拍 日韩无码| 60秒不遮不挡| 美女91av| 97AV爱| 一区二区精品日韩欧美在线观看| 九九操久久国产免费视频| 电影69乱码96| 性在久久久久久| 欧美性性性| 国产污视频麻豆传媒一区二区| 精品视频免费在线一区| 超碰欧美97| 亚洲熟久久| 五月天激情小说网| 老熟女搡BBBB搡BBBB视频| 黄色十八禁| 九九热最新| 日韩乱伦AⅤ| 麻豆成人影音在线| 夜夜免费视频| 欧美自拍偷拍综合图片| 欧美亚州色的图| 麻豆天美国美国产| www.色婷婷色综合| 国产欧美亚洲精品a第2页| 无遮挡又黄又刺激的视频| 亚洲怡春院| 久久精品一区| 嗯嗯啊啊用力视频免费| 思思热在线视频精品| 黄色AAAAA欧美| 综合熟妇一区二区三区| 97精品97| 亚洲欧美另类少妇精品| 欧美亚洲国内自拍| 婷婷尹人大香蕉免费| 美女写真| 少妇人妻好深太紧了vr91| 热99这里有精品综合久久 | 亚洲自拍一区夜夜操| 95人妻爽爽人人做人人澡| 亚洲色图尤物视频| 东京热视频网| 无码一区二区精品视频久久久春药| JuliaAnn丝袜熟女系列| 亚洲丝袜在线观看| 99热线麻豆| 97草草| 久久香蕉超碰97国产精品| 97精品国产97久久久| 国产欧美一区激情交| 99老司机精品视频在线观看| 日韩中文字幕视频| 日韩精品一区二区高清| 99国产在线 精品 视频| 天美麻花大全视频| 亚洲成人免费在线| 麻豆久久久久久久久丝袜 | 男人天堂2019| 国产精品一区在线播放| 亚洲男人天堂手机版| 久久久神马影院| 国产后入清纯| 91亚洲狠狠色| 久久东京热久久| 美女啊啊啊啊啊啊| 亚洲精品尤物yw在线影院| 久久久久久久九九九九九九| 久久亚洲AV无码专区国产精品| 蜜臀AV成人精品蜜臀AV久久| 欧美亚洲第1页| 后入 亚洲 美女 射| AV天堂丝袜| 青青国产精品在线| daxiangjiao你懂的| 九九九九九九九九九五码| 人妻少妇精品久久久| 激情四射五月天| 日本精品九九九| 亚洲久久东京热一二三四五区视频| 东京热精品97综合网| 啊啊好多水| 亚洲综合图色在线| 伊人在线大香蕉视频久久| 风月影院男女十八禁| 果冻传媒A片一二三区| 日韩三级av片| 一级日本牲交大片好爽在线看| 久久精品国产精品一区 | 91熟女丨91老女人| 男女猛烈无遮掩视频免费软件| 国产一区二区三区免费视频在性观看 | 伊人丝袜美腿高跟在线观看高清| 99re在线视频国产| 欧美 亚洲 第一页| 欧美91视频| 黄片无码在线制服| 艹我哪美一区无码| 99久在线精品99re8a| 久久精品一区二区三区蜜桃臀| 9丨久久九九九| 欧美日韩啪啪电影| 麻豆人妻精品一区二区| 青青操在线亚洲视频观看欧美在线 | 国产不卡免费在线视频| 亚洲宅男天堂| 综合网97| 日韩精品碰碰| 97网址www| 久久综合av| 天美传媒AV在线播放| 亚洲欧洲自拍图片专区满春格| 人人摸人人摸人人干| 欧美嗯啊……在线观看视频免费| 熟女熟妇伦久久影院毛片一区二区| 国产精品乱码久久久| 日逼国产| 一区麻豆 高清中文字幕| 2019亚洲男人天堂| 国产黄片精品在线| 大香蕉男人的天堂| 日本操逼无码| 色综合九九| 女生自91网站| 超碰97人妻| 中文字幕免费看大片| 美女淫穴| 日本一道在线播放高清| 欧洲色| 亚洲色图 综合| 97在线免费观看视频| av大香蕉| 台湾佬中文娱乐网久久久久久久久久com| 女性喷水高潮在线观看| 少好三P| 91老熟女| 99re这里只有精品中心播放| 九七超碰| 理论久久婷婷网 8| 国产蜜臀精品一区二区尤物| 噜噜吧,噜噜色,噜噜| www.高清无码诱惑一区.com| 亚洲AV麻豆Aⅴ无码电影一| 99在线免费观看| 丁香7月婷婷| 中文字幕日韩人妻视频一区二区三区 | 日韩欧洲操屄视频| 97干色天堂| 精品欧美老熟女一二区| 久99久视频精选| 女生看匆91网站| 偷窥自拍A片| 亚洲色悠悠久久88| 97在线观看播放视频| 男人干美女| 成全动漫视频观看免费下载| 超碰综合色| 思思视频免费看网站| 国产性感骚丝袜在线| 美女久久久| 欧美视频在线第3页| 色悠久| 天天综合青苹果| 亚洲中文日韩精品| 亚洲熟女偷拍在线观看| 色网在线视频观看免费| 亚洲国产中文字幕| 亚洲国产激情国产av| 国产精品久久久久久9999| 手机在线播放国产福利| 欧美极品色| 大香网站| 国产搭汕a级片| 啪啪一区| 欧美一级AAAAAAA| 亚洲91网。| 熟妇xxxxx性春色| 欧美色图天堂网m| 亚洲无码太久| 蜜臀无码一区二区| 天天日少妇逼AV| 日本操逼视频免费| 9999亚洲精品| 干婷婷综合网| 校园春色AV天堂| 91蜜臀熟女| 眼镜人妻101.com| 在线观看 99热| 91狠狠综合久久久久久| 亚洲本色精品一区二区久久| 亚洲情色在线| 亚洲欧美精品福利在线| 久久97| baiduhicn.com。| 午夜精品探花| 啊啊啊啊好爽好舒服一区二区易域| 久久久久日本视| 日韩av免费一级电影| 941超碰| 天堂精品在线| 草草影院最新网址| 亚洲色图A| 97看操| 国产精点久久久成人| 国产老女人久久毛| 日韩无码a片| 国产精品午夜福利| 新视频sss国产| 久热大香蕉| 天天色天天干天天爱| 神马久久免费电影观看| 久久久穴999| 亚洲av强奸乱伦| 一级性爱视频免费观看| 五月天婷婷社区| 亚洲一本色码中文字幕| 91 亚洲 欧洲| 东京热男人的天堂网| 亚洲天堂一区二区久久| 夜夜精品视频| 欧美视频一区二区三区| 中文字幕视频免费| 中文字幕少妇色| 五月天综合在线| 日本Xx性爱| 成人一道本免费视频| 天天日天天干天天摸天天操| 欧美色色人| 少妇一区二区三区在线观看| 极品五月天噜噜| 五月婷婷丁香中文字幕| 乱伦av麻豆| 精品人妻中文字幕高清| 1024精品在线| 天堂精品一区| 国产av色网| 日本不卡二三区| 男人的天堂在线有码| 一,爱啪啪,在线免费视频| A级片日韩欧美国产欧美视频精选观看 | 东北丰满熟女国产一区| 日本 色 导航| 国产成人综合在线播放| 人人看欧美性爱| 在线观看不卡一区二区三区| 在线日韩日本亚洲国产| 国产三级片在线观看| 天天综合网~91| 俺去啦自拍| 玖玖草久草99蜜月一区二区三区| 久久久久亚洲精品| 日日夜夜噜| 第45页一区二区| 日韩紧密久久| 国产a级精品| 日韩天堂av电影在线观看| 99re9在线| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 在线有码中文字幕| 岛国激情视频在线观看| 凸凹视频在线观看| 五月丁香婷婷色| 噜噜噜无码AV一级一级久久影院| 大地资源在线观看中文第二页| 日本操嫩b网| 亚洲美女自拍偷拍视频| 日韩在线观看中文字幕视频| 天天综合色电影| 在线观看一卡二卡| 丝袜综合色图| ,成人免费啪啪视频| 久久大| 午夜性生活av免费在线看| 日本熟女不卡视频| 国产精品激情久久久久久久| 狠狠狠狠狠干| 日韩伦理视频| 中文字幕一品色图| 97亚洲欧美| 综合亚洲欧美精品日韩?v| 欧美日韩啪啪电影| 国产高清无码一区二区三区四区皇冠| 久久婷婷伊人| 老熟妇综合| 激情文学小说一区二区| 亚洲天天操| 丁香六月激情| 劲爆欧美人妖三区91| 久久精品色欧美aⅴ一区二区| 黑人无码一区二区| 涩涩五月天| 蜜桃精品一区二区三区ww| 97超碰色屌| 国产AV人人夜夜澡人人爽麻豆| 蜜臀99久久国产| 国产兽交视频在线播放| 亚洲熟女av日韩熟女| 欧美熟爽综合| 人妻人久久精品中文字幕| 97碰久久| 亚洲天堂人妻熟妇视频| 最新欧美色网| Aa东京男人的天堂| 熟女探花啪啪| 亚洲 欧美日韩 另类| 久久久久久久极品香蕉视频| 五月天亚洲网| a亚洲欧美色欲| 国产精品久久久久久片| 日欧美色| 久草新在线| 东北丰满熟女国产一区| 在线啊啊啊啊| 999热日韩精品| 国产超碰AV在线精品| 超碰91在线| 亚洲吊色| 欧美片第一页| 国产亚洲一黄| 一二三区精品视频| 国产精品久久久三级无码| 婷婷激情一区二区三区俺也去| 日韩综合第八区国产精品| 亚洲一区日韩精品| 96AV精品| 人妻精品一区二区| 久久久夜夜嗨免费视频| 久久久91福利姬| 美国精品国产精品| 欧美一二三区四五区| 怡红院成人视频| 日韩性爱视频免费在线| 国产妇女精品视频青青草| 中国一级αV| 五月丁香影院| 欧美性爱一区二区| 黄色网址久久精品欧美喷水| 啪啪啪综合| 无毛精品| 日韩av一级黄片| 黄日韩| 亚洲国产精品无码AV久久久| 人妻出轨一区二区三区| 中国操逼无码| 九九九九九精品十六| 中文人妻av高清一区| 91新在线欧美| 免费黄色片。| 国产欧美成人精品| 欧美国产伊人久久久久| 国产蜜臀在线| 睡产熟女乱伦| 麻豆一区二区AV天美| 久久国内| 一卡二卡三卡| 精品久久久久,69国产成人精| 久久99国产精品| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 午夜乱轮操逼视频免费看| 国产传媒美日韩av| 男女性感激情网站| 欧美97免费| 欧美有码激情视频一区二区三区| 亚洲国产精品无码AV久久| 九色 人妻 大香蕉| 影音先锋日本乱伦| 久艹99| 伊人久久婷婷| 99热| 亚洲熟女乱综合一区二区三区| 日韩成人精品视频自拍| 人人妻人人爽一区二区三区| 综合网,亚洲,欧美| 国产一级高跟丝袜| 久久久成人免费av电影| 99视频内射三四| 人人模人人看| 热久久无毒不卡| 99色综合| 色综合V| 狠狠做深爱婷婷久久二区| 黄色高清无码无码破解免费暗网| 亚洲男人天堂AV| 九九九久久久久| 入口操逼网站| 亲子敌伦对白在线播放| 91影视亚洲| 992这里有精品| 少妇厨房愉情理伦片bd在线观看| 夜夜国自区| 91女人的网站| 丁香五月综合| 日本欧美一区二区三区免费| 欧美激情专区| 丝袜狂射91| 麻豆视频test| 日本色色的视频| 国产精品视频内谢女人| 后入福利| 丝袜视频一区二区在线播放国产中文| 九色视频91| 国产在线观看91精品一区| 亚洲 欧美 日韩另类 麻豆| 欧洲乱码一区二区| 99热9| 一本一道波多野毛片中文在线| 九九热av| 老鸭窝日丰县女人| 草久久久| 夜夜操91744565| 九久9精品| 人人操肉肉| 99久热| 激情五月综合开心五月| 96精品久久久久久久久| 国产精品一二三| 麻豆一区在线| 亚91亚洲网| 日本精品一区三区| 91站街按摩店老熟女熟女| 一个国产在线综合网站| 亚洲av噜噜噜噜噜噜| 超碰导航97| 欧美极品色| 天天看高清麻豆| 亚洲高清视频在线观看| 中文字幕 一区二区 亚洲无码| www.激情| 人妻久久久| 曰韩av中文字幕专区| 最新中文字幕精品在线| 久久成人国产精品| 久久欲| 大屁股人妻女教师撅着屁股| 亚洲AV无码秘 蜜桃臀国精产品| 亚洲男人天堂手机版| 2019亚洲男人天堂| 精人妻无码一区二区三区伊人直播 | 白丝AV| 青青久久艹| 欧美激情1区| 操一对老熟妇爽上天视频| www.av不卡中文字幕| 九七毛片九九毛片| 精品中文一区二区| 日韩大香蕉精品在线视频| 很很很很操| 日本高清熟女久久一区| 天堂伊人久久| 日本 情色 1区2区3区| 天欧美在线| 欧美综合狠| 久久9久久| 天堂综合网| 天天综合网网欲色| 国产精品盗摄 偷窥盗摄| 日韩欧洲操屄视频| 亚洲乱伦图片视频| 插欧洲美女欧美精品| 一区在线国产播放| 人妻少妇精品一区二区三区| 久久久久性熟视频| 传媒免费一区二区三区| 免费99精品国产自在在线| 国产91丝袜 在线播放| 精品久| 9国产超碰| 日韩欧美tv一区二区在线观看| 久久美女国产| 色99视频| 91国产丝袜足交精品视频| 极品内射| 97精品人妻一二三四| 欧美激情视频一区二区| 翔田千里无码一区| 日韩视频啪啪| 九九热精品免费视频| 91国产美女丝袜足交精品视频| 亚洲欧美日韩中文久久自慰| 啊啊啊啊操死我| 日韩性爱小视频| 上海一级黄片| 夜夜操天| 精品久久艹| 超碰2017| 久久精品国产亚洲AV无码电影| 天天做天天爽| 国产成人主播| 无码78| 久久久久久久国产视频| 国产农村妇女一区二区| 日韩精品人妻中文字有码在线| 国产精品97视频| 激情黄色片在线观看| 天天躁日日躁XXXXYY| 99啪| 黄色工厂这里只有精品| 免费αⅴ在线观看| 乱日视频| 日本一卡二区在线| 日韩操逼HD| 中文字幕啊啊啊在线观看视频| 曰本91情色| 日日摸天天爽夜夜欢| 奇米四色影视777久久久| 精品久久視頻在线| 久久熟女嫩草成人片免费| 久久久99免费| 最新加勒比丝袜在线| 日夜尻逼网| 国产对白刺激视频| 91色综合激情| 丰满人妻一区二区三区色-百度| 网页导航五月天免费一二三区| 欧美色九九九| 欧美91在线| 丁香色婷婷| 欧美丝袜美女电影一二三四区| 国产狂喷潮在线精品| 色色热| 中韩中文字幕在线观看| 中日韩欧美精品无码AⅤ一区二区| 蜜臀久久99精品久久久久免费观| 亚洲人妻久久| 啊啊啊操一区| 亚洲久9| www.婷婷五月天| 中日韩久久久免费看| 欧美日韩国产中文精品字幕自在自线| 天天看特黄的免费网站| 日本黄大片在线观看视频| 女人天堂AV五区在线| 97在线免费看视频| 欧美有码激情视频一区二区三区| 国产精品乱码久久久久久久久| 午夜电影在线观看无码专区| 亚洲视频二区| 91成人在线免费视频| 91久久久老司机| 精品九九国产无码| 伊人精品国产| 国产一区在线免费播放| 久久中久文96| 狠狠色丁香| 91国模| 欧美三级一级| 免费少妇一区二区| 色悠久久久av| 亚洲精品三| 综合色区偷拍| 91色碰| 五码视频在线观看| 天天操美美| 被体育老师抱着c到高潮| 玖玖资源视频一区二区三区| 99激情视频| 69国产对白刺激| 四虎视频在线观看| 久操网线| 日本欧美不卡| 2025亚洲男人天堂| 国产小黄片在线免费观看| 四虎免费在线播放| 在线观看AV不卡| 亚洲日本激情| 深夜激情| 天天综合网久久ww| 欧美日本一区二区a人| 久久亚洲一区女同性恋中文字幕| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 欧亚无码视频| 国产中午字一暮区| 婷婷香蕉欧美在线一区二区三区| 日本人妻中文字幕精品| 91色人| 日韩情色视频| 少妇干B| 999综合网| 夜夜操一区二区| 五月丁香六月激情综合| 乱伦一二三区| 欧洲亚洲人妻无码高清久久三区四区| 性色高清在线| 六月激情婷婷| 无码直播久久久| 99在线精品观看视频中文| http://qxhbdz.com| caoni国产亚洲av| 丰满人妻一区二区三区免费 | 成年男人的天堂| 亚洲第一无码播放立川理惠| 2017av无码免费无线播| 天天爽入口| 久久国产精品,久久国产| 精品黑人一区二区| 九九精品无码专区免费| 色九久| 少妇色综合| 国产自产91区13区| 六月丁香啪啪| 黄片免费看黄片免费看| 国产精品蜜臀久久久久无码AV| 大茄子熟女AV导航| 嗯嗯啊啊的视频| 另类亚洲图色| 国产天美欧美| 伊人91| 欧美人妻一区| 亚洲第一精品在线视频| 操逼网站网站| 国产三级片在线观看| 午夜九九| 久久国产999| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 人妻铁牛TV| 日韩无码服务区| 久久草视频污视频| 天天综合欧美综合| 91在线视频免费中出| 色色热| 久久久中文| 成人性爱全视频观看| 九色精品视频导航1| 国产美女在线精品免费看| 96精品久久| 亚洲欧美清纯| 亚洲图片欧美偷拍| 男人的天堂Va| 中韩中文字幕在线观看| 玖玖大干人妻| 欧美专区17页| 嗯嗯嗯啊啊在线观看| 欧美日日人人天天| 欧美另类天堂| 欧美综合综合| 78精品在线| 91熟女网| 亚洲情色综合| 思思热在线视频在线| 人人么人人操| 久久精品国产亚洲妲己影视| 欧美性爱日韩高清| 91香蕉视频在线观看免费| 国产一级137片内射麻豆| 370p日韩欧美亚洲精品| 一区操逼日比视频| 亚洲成?V人片在线观看福利| 色爱三区| 激情五月天综合网| 天天摸天天插天天日| 日本一区二区电影网站| 亚洲色图20p| 色天堂综合| 91成人久久| 丝袜美腿91| 亚洲欧美999| 欧美不卡在线一区二区| 综合久久久久久久综合网| 五月丁香拍拍激情综合三级| 黄色av一区二区在线| 伊人激情| 97色爱| 久久伦理视频久久大香蕉视频| 嗯嗯啊啊啊啊轻点视频| 精品一区二区三区18| 香蕉综合网| 日韩精品一区二区高清| 超碰成人最新最好看| 丁香五月天激情| 刺激性视频黄页| 99精品高潮| 日韩99999| 人人操,人人插| 免费操逼视频下载| 国产四虎在线| 激情小说亚洲视频| 中文字幕三四五区| 国产一级特黄大片处女| 久久久久9| 欧亚不卡| 国产91 丝袜在线播放| 亚洲国产成人精品999| wwwcaobibi| juliaann精品熟女一区| 青青草久草AV| 亚洲综合影院| 思思性爱| 大香蕉天天看妹子| 老司机香蕉| 波多野结衣被操50分钟免费视频| 九月婷婷综合| 精品国产乱码久久久兰草影视| 亚洲男人天堂网站| 2019久久久久久久久福利| 色欧美天天| 男人的天堂无码| 亚洲网站一区二区在线| 亚卅熟女乱色| 欧美亚洲日韩16色| 五十路一区无码| 国产精品一二三在线看| 情色av电影| 人妻激情视频| 99色热国产视频精品| 九九热精品在线| 后入精品| 国产精品激情久久久久久久| 97精品一二区| 亚洲 欧美 日韩另类 麻豆| 中文字幕,人妻,日韩| 久久精品小视频| 天天搞在线综合网| 亚洲不卡不卡中文字幕不卡 | 久久超碰av在线| 手机看片日韩人妻| 色哟哟国产精品免费网址| 精品人妻高清麻豆av| 乱伦Av网| 久久动漫精品视频这里只有精品| 日韩av无码网站| 亚洲色图超碰在线| 久久伊人影院| 性色av婷婷久久一区二区点复制| 亚洲伊人久久精品影院| AV和黑人在线播放| 国产成人AV麻豆| 国产强奸AV在线| 久久精品免费| 91搡老女人老妇女老熟女歌词翻译| 久久九九网| 深夜激情 | 免费一级特黄特色大片在线观看看| 玖玖综合色| 激情黄色片在线观看| 狠狠躁AV| 精品国模无码| 欧美精品双插| 欧美性生活免费网| 综合欧美日韩在线| 午夜电影在线观看无码专区| 精品一区二区三区蜜桃臀www| 国产精品亚洲一级av第二区| 夜夜操中文字幕| 亚洲av影音先锋| 97国产综合欧美| 静品嫩模一区二区| 人人妻人人澡人人爽久久av| 夜夜一区二区| 97操| 成人热久久精品| 人人操人人搞人人草| 欧美成人国产精品| 亚洲AV无码国产成人| 日韩BBN| av天天在线观看| 黄片免费日韩| 夜夜嗨绯色| 777奇米影视777四色| 天天摸天天操视频| 久99久视频精选| 国产精品福利视频播放| 十八禁一区二区无码观看| 美女被艹尤物视频| 婷婷久月| 国产又大又粗又长视频在线| 欧美成人A天堂片在线观看| 学生妹天天看| 成功精品影院| 亚洲男人综合| 941超碰| 亚洲男人bt天堂| 91视频伊人| 97情超碰色| 天天狠| 日本不卡高清视频| 熟女熟妇一区二区三四区| 欧洲Au麻豆| 国产69精品久久久久99尤物| 日韩有码中文字幕女同性恋| 九九十八精品| 国产亚洲日本精品在线| 好爽视频在线观看视频| 亚洲诱惑| 青青草日韩无码| 隔壁邻居波多野结衣中文字幕| 亚洲中文字幕av| 好看的91视频| 97自拍视频在线| 欧美中文字幕日韩在线| 91狠狠狠| A啊啊在线观看| 色婷婷av在线观看| 国产精品久久久久无码A√| 久久国产精品一区二区| 人妻 制服 日韩 中文 在线| 色综合天天| 国产AV久久野战精品| 亚洲精品九九九| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 91丝袜在线观看| 亚洲图片偷拍欧美| 精品国产72| 日本在线不卡123| 精品国产www久久| 亚洲最新Av| 91亚洲综合在线| 欧美熟女逼久久久久久| 国产大片精久久久久久| 97久久视频| 国产欧美日韩精品中文| 国产在线观看91精品一区| 三四中文字幕| 久草成人影片| 亚洲国产精品久久久男人的天堂| 中文字幕啊啊啊在线观看视频| aⅴ日韩成人电影av在线免费看av大全| 夜色五月天| 婷婷91| 午夜偷拍久久熟女| 狠狠色噜噜狠狠狠狠2018| 91制服丝袜中文字幕| 亚洲情色无码一区二区三区| 91黑丝美女| 成人无码专区精品视频| 天天爱天天韩国日本牛牛牛牛| 欧美成人性爱视频免费观看| 日逼逼免费看| 成人26uuu| 欧美人黑A片无码免视费| 欧美日韩欧美| 漂亮人妻被强中文字幕hd| wuyechaopeng| 国产一| 青青草久草AV| 长久操视频| 久久人妇| 日韩综合97P| 嫩草影院永久在线制服丝袜| 极品少妇99| 婷婷情色五月天| 国产精品欧美激在线| 久久熟妇五十路一区| 久久色一区| 亚洲综合113页| 宗合情欲网| 久久欧洲| 久久日本熟妇熟色高清| 99re99视频在线免费观看| SS久久| 国产精品久久久久久久久久久久久久久久 | 亚洲欧美国产成人综合不卡| 欧美性巨大╳╳╳╳╳高跟鞋| 99精品欧美一区二区三区桃色| se01国产在线视频| 美女操逼福利视频| 亚洲成人久久美女| 91黑丝露脚| 青青草原狼av| 综合网久久| 91少妇香蕉久久精品| 91美女国产在线| 国产精品久久久午夜夜伦鲁鲁| 久久大香蕉97| 亚洲日韩天堂| 人妻无一区二区三区| 可能人人看人人摸| 乱伦熟女区| 韩日精品四区| 大香蕉欧美伊| 东方亚洲在线操逼天堂| 殴美色网| 最新亚洲黄色免费电影| 人人操,人人插| 欧美人妻精品一区二区| 国产激情综合| 好湿好紧好爽 视频| 国产亚洲色婷婷99精品91| 国产风韵犹存熟妇三区| 91性网| 无码精品久久| 国产懂色精品国产av| 91校园春色长篇| 色女99一级片在线观看| 好爽免费视频,| 999在线电影香蕉| 大香蕉在线视频15| av线电影| 日本精品九九九| 日韩不卡一二三四| 色综合大香蕉| 亚洲天堂,男人| 欧日韩不卡视.频| 日韩在线观看字幕精品| 亚洲激情网| 国产乱弄免费在线视频。 | 国产综合永久精品日韩鬼片| 亚洲综合五月天| 午夜精品久久久久久久99热影院| 亚洲操操操无码| 国产精品久久妻无码网站| 国产一区二区视频在线播放| 夜夜夜久久| 亚洲第一男人天堂| 在线观看不卡一区二区三区| 91精品国产麻豆国产自产在| 爱爱动态试试看6 0秒| 欲色综合| 国产欧美精选自拍一区| 国产欧美伊人| 免费99精品国产自在在线| 欧美不卡五十路| 国产精品国产拍高清AV| 性老妇一区二区三区| 91第一页| 欧美一级黄色18片免费看| 91色黑人少妇| 超碰美国| 97人人操人人摸人人爱| 歐美一級亂黃99在綫精品| 国产美女91| 亚洲AV秘 精品久久老牛影视| 日韩三级久久久| 可乐操亚洲蜜911| 丰满少妇乱子伦精品无| 操学生天天| yiqicaoav| www.激情| 亚洲 欧美 日韩另类 麻豆| 欧洲亚洲国产综合在线| 91爱综合| 亚州综| www.色婷婷色综合| AV男人天堂网| 伊人网综合在线视频| 东北女人被操| 91色色网站| 91大胆欧美| 97亚洲在线| 99色热| 欧美成97爱| 五月婷婷久久综合| 91中文字幕在线观看| 久久久久久久国产a∨| 精品久久九| 成人av福利在线观看| 北京专精特新企业招聘信息| 夜夜爽夜夜爽| 欧美图片偷拍| 97国产超碰| 91狠婷| 日韩欧美日韩| 俺去久久| 伊人天天久久动态图| 欧美午夜精品久久久久久超碰| 1024精品在线| 韩日精品四区| 91美女视频在线观看| 九九热免费国产视频婷婷伊人| 超碰在线91| 婷婷香蕉欧美在线一区二区三区| 欧美天天干| 69人妻人人揉人人躁人人精品| 天天92av| 色呦呦、国产精品| 懂色中文一区二区三区 | 九九av| 99热在线观看| 欧美高清性猛交| 人人摸.人人色| 99精品久久久久久| 在线性黄高清免费视频| 好湿好紧视频| 国产精品久久久亚洲一区| 五月亭亭六月丁香| 蜜臀人妻少妇久久在线观看| 91露脸熟女专区| 激情五月天校园春色网| 天天做日日做天天欢。| 精品少妇一区二区| 久久超碰久| 蜜臀av在线播放一区二区三区| 后入人妻无码| 婷婷四五区| 日韩高清黄片| 久久久久久久9最新免费视频观看| 黄片不用下载在线观看| 日本不卡在线二区三区| 9热9热综合网| 亚洲最新av无码成人精品区| 99日视频在线免费| 夜夜操天| 久久久久久电影| 大干人妻| 亚洲国产精品久久久久婷婷青年| 亚洲性爱电影| 美女天天干| 蜜色网色哟哟| 色综合av男人天堂| 99在线精品视频| 日日夜夜草草草| 五月天社区| 日韩AV无码网站| 97 国产精品| 青青草吊丝| 国产精品免费视频人成| 五月丁香激情四射| 亚洲图片在线| 7月婷婷综合| 国产 v乱码一区二| 日本淫乱女一区二区三区视频| 色超碰综合| 一区二区日韩欧美久久| 日本三级一区二区 在线| 啊啊啊啊好疼| 99蜜桃臀久久久欧美精品网站| 九九色热| h4610国产人妻| 免费精品无码一级毛片牛牛影视| 中文字幕一区二区三四五区日日骚| 能看的av| 日本色色色视频| 欧美精品精品一区二区| 超碰97人人乐| oumeizonghese,www| 丁香五月综合| 日韩欧美午夜视频在线| 一级性爱网| 午夜操一视频一区| 久久久男人的天堂| 91精品电影18| 五月丁香婷婷综合网| 乱伦图av| 强奸抽插av| 精品传媒在线一区| 久超碰这里只有精品| 日韩美女高潮喷水视频| 蜜臀久久99精品久久综合| 亚洲精品精品一区二区| 亚洲 欧美 制服 另类 自拍| 另类图片综合| 91精品久久久久| 在线色资源| 国产精品天干天干综合网麻豆| 偷窥自拍亚洲色图| 五月婷婷综合网| 亚欧韩av| 女人喷水视频在线观看| 成人七区| 强奸乱伦AV网址| 富女玩鸭子一级毛片| 亚州综合在线| 日韩十八禁| 亚洲天天自拍| 91中文字幕在线观看| 啊啊啊啊在线播放| 欧美国产操逼| 亚精品无码毛片一区二区三区| 九九热超碰97亚洲最新香蕉 | 一区二区三区精品视频| 围产精品一区二区三区视频播放| 97在线精品观看视频| 内射老妇BBWX0C0CK| 亚洲精品国语在线播放| 国产精品电影大全| 日本精品五区| 狠狠爱综合网| 亚洲综合另类| 蜜桃狠狠色伊人亚洲综合网站| 国色综合天| 欧洲精品一级二级精品综合视频综合| 少妇激情一区二区三区视频| 性欧美999| 久久9精品| …亚洲黄色厕厕女女在线播…| 久久尹人大香焦视| 97综合在线| 熟妇乱伦一区二区| 亚洲性爱成人| 日韩三A大片在线观看| 熟女这里只有精品6| 青娱乐欧美激情一区二区| 新久久AV| 91成人在线免费视频| 天堂8在线新版官网| 狠狠色综合网| 999狠狠综合| 熟女中出视频| 亚洲精品一区二区免费在线观看| 人妻黑丝袜电影| 密臀成人视频久久久| 国产路线专区| 91免费看一区二区三区| 国产久久免费精品视频| 国产中文精品一区二区在线观看| 日韩精品在线观看网站| 丁香五月激情五月| 极品五月天噜噜| 麻豆天美制片厂网站视频| 亚州高清色综合| 亚洲少妇自拍中文字幕懂色| 99夜夜操| www.亚洲成人一区| 日韩丝袜二区| 欧美日韩性感| 欧美色一二三| 天天综合,91入口| 起碰97| 女人 A一级| 丁香五月综合| 男女啪啪网站免费视频| 青青草原人妻| 天天看特黄的免费网站| 91熟女视频网| 中文久久| 全免费a敌肛交毛片免费| 成人婷婷丁香| 裸体美女久久久| 天天综合官网|