日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

Unity DoTween動(dòng)畫系統(tǒng)實(shí)戰(zhàn):Tweener、Sequence與性能優(yōu)化

Unity DoTween動(dòng)畫系統(tǒng)實(shí)戰(zhàn):Tweener、Sequence與性能優(yōu)化 DoTween 這個(gè) Unity 插件從我第一次在項(xiàng)目里拿它替掉滿屏的協(xié)程開始差不多陪我走完了十幾個(gè)大小項(xiàng)目從 2D 休閑到今天的中重度項(xiàng)目幾乎每一個(gè)需要?jiǎng)右幌碌牡胤蕉祭@不開它。很多人對它的印象停留在transform.DOMove()一行代碼搞定位移但真正把 DoTween 用順手之后你會(huì)發(fā)現(xiàn)它更像一套輕量的時(shí)間軸系統(tǒng)Tweener 負(fù)責(zé)單條屬性的插值Sequence 負(fù)責(zé)把這些插值按時(shí)間排列成一段可暫停、可回放、可反向、可整體終止的編排。這篇 Unity 插件 DoTween 使用詳解我不打算復(fù)述官方 API 列表而是按項(xiàng)目里真實(shí)的落地路徑來講為什么選它、初始化怎么做、鏈?zhǔn)秸{(diào)用每一環(huán)在改什么、UI 與 3D 場景里怎么編排、量級上去之后怎么控性能、以及那些文檔里不會(huì)寫但會(huì)讓你 debug 半天的坑。適合剛接觸 Unity 一兩年的同學(xué)照著抄作業(yè)也適合已經(jīng)在用但總覺得動(dòng)畫偶爾抽風(fēng)的老手對照排查。1. 選型判斷為什么我在新項(xiàng)目里仍然優(yōu)先選 DoTween1.1 手寫插值、協(xié)程、Animator 各自的邊界在哪先說手寫插值。在Update里維護(hù)一個(gè)float t累加Time.deltaTime / duration然后Mathf.Lerp這是最原始也最直觀的方案。它的優(yōu)勢是零依賴、零額外開銷、邏輯完全可控一行一行都在你眼皮底下。但問題也很明顯一旦項(xiàng)目里有二十個(gè)對象要?jiǎng)幽憔蜁?huì)發(fā)現(xiàn)自己寫了一堆幾乎一樣但變量名不同的t、startValue、endValue緩動(dòng)曲線得自己實(shí)現(xiàn)一遍Mathf.SmoothStep或者在 AnimationCurve 上采樣而且每個(gè)動(dòng)畫想暫停、想中途改目標(biāo)值、想反向播放都得一個(gè)個(gè)加字段去管理。這種代碼在三個(gè)月后回看基本沒人愿意接手。協(xié)程方案我也大規(guī)模用過。IEnumerator MoveTo()里while循環(huán)累加配合yield return null好處是能寫得像順序執(zhí)行的腳本yield return StartCoroutine(...)還能拼出簡單的時(shí)序??伤挠矀谟诓豢蓪ぶ贰隳貌坏揭粋€(gè)句柄去暫停某一條正在跑的動(dòng)畫想停只能StopCoroutine并且必須持有那個(gè)Coroutine引用想讓它跑到一半反向幾乎得重寫一遍循環(huán)想在動(dòng)畫中途讀當(dāng)前進(jìn)度做聯(lián)動(dòng)也沒有現(xiàn)成的接口。更要命的是 GC如果循環(huán)里不小心new WaitForSeconds幀率上去了就是持續(xù)的 GC 壓力。Animator 是另一條路。它的強(qiáng)項(xiàng)是角色骨骼動(dòng)畫美術(shù)同學(xué)在外部工具里調(diào)好的剪輯直接能用狀態(tài)機(jī)也能做比較復(fù)雜的過渡。但它對程序驅(qū)動(dòng)的小動(dòng)畫來說太重了改一個(gè)按鈕彈起的時(shí)長要開動(dòng)畫窗口、改曲線、重新烘焙運(yùn)行時(shí)想動(dòng)態(tài)改目標(biāo)位置還得走 IK 或者參數(shù)驅(qū)動(dòng)代價(jià)不成比例。而且 Animator 只能驅(qū)動(dòng)它能識別的屬性你想讓一個(gè)普通的float字段、一個(gè)材質(zhì)屬性、一段文本的可見字符數(shù)跟著時(shí)間走它辦不到。DoTween 恰好卡在這三者的中間它不接管狀態(tài)機(jī)不要求你寫循環(huán)也不依賴美術(shù)資源而是給你一個(gè)對任意數(shù)值做插值的統(tǒng)一入口并且把播放控制、緩動(dòng)、循環(huán)、延遲、生命周期這些橫切關(guān)注點(diǎn)全部抽象掉了。這是我把它當(dāng)作項(xiàng)目默認(rèn)動(dòng)畫層的核心理由。1.2 Tweener 與 Sequence 兩條主線的關(guān)系DoTween 的運(yùn)行時(shí)結(jié)構(gòu)其實(shí)只有兩個(gè)核心概念想清楚這兩條線剩下全是語法糖。第一條線是Tweener代表一條屬性從 A 到 B 的插值。transform.DOMove(target, 1f)返回的就是一個(gè) Tweener它內(nèi)部記錄了起始值、結(jié)束值、總時(shí)長、當(dāng)前已播放時(shí)間、緩動(dòng)函數(shù)、循環(huán)次數(shù)。第二條線是Sequence它本身也是一個(gè) Tween繼承關(guān)系上是 Tween 的子類但它不插值任何屬性只負(fù)責(zé)管理子 Tween 的時(shí)間排布。這個(gè)設(shè)計(jì)的價(jià)值在于組合性。因?yàn)?Sequence 也是 Tween所以你可以對一整段編排統(tǒng)一調(diào)用.SetLoops()、.SetUpdate(true)、.OnComplete()、.SetLink(gameObject)而不需要逐條設(shè)置。我在項(xiàng)目里做得最多的就是把一段復(fù)雜入場動(dòng)畫打包成 Sequence整體加上SetLink保證 UI 被銷毀時(shí)自動(dòng)清理整體加SetUpdate(true)保證暫停游戲Time.timeScale 0時(shí) UI 動(dòng)畫照常播。反過來Tweener 的鏈?zhǔn)椒椒ɡ锍?SetXxx這類修改配置的還有.AppendCallback之類的組合方法嗎沒有那些是 Sequence 專用的。這一點(diǎn)新手容易搞混DOTween.Sequence()才能Append/Join單條 Tweener 只能設(shè)置自身屬性。1.3 什么場景我會(huì)刻意避開它有一種情況我不用 DoTween物理驅(qū)動(dòng)的運(yùn)動(dòng)。如果物體的位移依賴 Rigidbody 的速度、受重力與碰撞影響用DOMove直接改 Transform 會(huì)讓物理引擎和動(dòng)畫打架出現(xiàn)穿透、抖動(dòng)、卡在墻里。這類需求老老實(shí)實(shí)用Rigidbody.velocity或者Rigidbody.MovePosition在 FixedUpdate 里做。還有一種需要嚴(yán)格幀同步或者結(jié)果可復(fù)現(xiàn)的邏輯。DoTween 的推進(jìn)依賴幀時(shí)間同一個(gè) tween 在不同機(jī)器上的中間狀態(tài)不可能完全一致所以涉及戰(zhàn)斗判定、回放錄制的數(shù)值變化我不會(huì)拿它當(dāng)計(jì)算器用只拿它做表現(xiàn)層。最后一種是兩行Mathf.Lerp就能搞定的一次性計(jì)算。比如開局時(shí)把一個(gè)值從 0 平滑到 1但整個(gè)游戲只執(zhí)行一次也不需要考慮中斷那直接寫在Awake里更省事。DoTween 的價(jià)值在需要被管理的動(dòng)畫上不需要管理的時(shí)候它就是額外負(fù)擔(dān)。2. 環(huán)境接入與工程級初始化配置2.1 安裝方式與那個(gè)容易被忽略的 Setup 面板安裝有三條常見路徑Asset Store 導(dǎo)入、Package Manager 用 Git URL 添加、或者 OpenUPM 拉取。三種方式拿到的包體內(nèi)容是一樣的區(qū)別在于版本管理與團(tuán)隊(duì)協(xié)作時(shí)的可復(fù)現(xiàn)性。我的習(xí)慣是用 Package Manager 走 UPM 源因?yàn)檫@樣能寫進(jìn)manifest.json團(tuán)隊(duì)里誰拉代碼都不會(huì)出現(xiàn)我這兒沒這個(gè)插件的問題如果項(xiàng)目必須鎖定某個(gè)具體版本就在manifest.json里寫死版本號而不是 latest。導(dǎo)入之后第一次打開工程DoTween 會(huì)彈出一個(gè) Setup 面板問你用哪種安裝模式、要不要啟用某些模塊。這個(gè)面板很多人圖快直接關(guān)掉然后遇到兩個(gè)典型癥狀一是腳本里using DG.Tweening;能過編譯但運(yùn)行時(shí)提示找不到某些方法二是項(xiàng)目用了 asmdef 程序集劃分DoTween 在某個(gè)程序集里不可見。原因就是 Setup 面板負(fù)責(zé)生成模塊開關(guān)與 asmdef 支持。我的做法是第一次彈出來就點(diǎn) Setup把所有可能用到的模塊文本、2D、物理相關(guān)等按需勾上寧可多勾兩個(gè)也別事后回來補(bǔ)。還有.gitignore的問題DoTween 導(dǎo)入后會(huì)在工程里生成一些編輯器產(chǎn)物與緩存文件團(tuán)隊(duì)協(xié)作時(shí)建議把這些運(yùn)行期生成目錄排除掉只提交源包避免每個(gè)人的本地緩存互相比對產(chǎn)生無意義的 diff。2.2 DOTween.Init 的三個(gè)參數(shù)到底怎么定DOTween.Init()是全局初始化簽名大致是Init(bool? recycleAllByDefault, bool? useSafeMode, LogBehaviour? logBehaviour)三個(gè)參數(shù)都不傳就用默認(rèn)值。我一般會(huì)在一個(gè)專門的啟動(dòng)腳本里顯式寫出來因?yàn)檫@三個(gè)值對運(yùn)行時(shí)行為影響很大靠默認(rèn)值會(huì)讓人摸不著頭腦。recycleAllByDefault控制 Tween 完成后是否回收到對象池里復(fù)用。開啟的好處是減少 GC壞處是回收后的 tween 引用已經(jīng)失效如果你手上還拿著那個(gè)引用調(diào).Restart()會(huì)拿到意料之外的結(jié)果。我的默認(rèn)選擇是false然后在確實(shí)高頻創(chuàng)建的場景比如列表項(xiàng)滾動(dòng)、傷害飄字手動(dòng)調(diào).SetRecyclable(true)這樣需要復(fù)用的地方復(fù)用需要保留引用的地方保留職責(zé)清楚。useSafeMode控制是否每幀檢查目標(biāo)對象是否已經(jīng)被銷毀。開啟后即使某個(gè) GameObject 在動(dòng)畫途中被 Destroy也不會(huì)拋 MissingReferenceException只是把那條 tween 靜默殺掉。代價(jià)是每幀多一次判空。我的選擇是開發(fā)期開啟、發(fā)布期也開啟因?yàn)榫€上環(huán)境里因?yàn)殇N毀時(shí)機(jī)不對導(dǎo)致的報(bào)錯(cuò)排查成本遠(yuǎn)高于那點(diǎn)判空開銷。真要摳性能可以用SetLink精確綁定生命周期然后關(guān)掉全局 safe mode但對大部分項(xiàng)目來說不值當(dāng)。logBehaviour決定 DoTween 往控制臺(tái)輸出多少信息。開發(fā)期我設(shè)成LogBehaviour.Default甚至Verbose能第一時(shí)間發(fā)現(xiàn)tween 創(chuàng)建失敗目標(biāo)為 null這類靜默問題打包前調(diào)回ErrorsOnly避免日志刷屏影響真機(jī)性能。2.3 容量預(yù)熱別讓擴(kuò)容發(fā)生在戰(zhàn)斗最激烈的那一幀DoTween 內(nèi)部維護(hù)兩個(gè)池Tweener 池和 Sequence 池默認(rèn)容量大概是 200 與 50 的量級。超過容量時(shí)它會(huì)自動(dòng)擴(kuò)容擴(kuò)容本身是一次數(shù)組重建會(huì)在那一幀產(chǎn)生一次小的卡頓。單次卡頓可能只有零點(diǎn)幾毫秒但如果它正好發(fā)生在開場大招齊放的那一幀就很容易被玩家感知成頓一下。我的做法是在游戲啟動(dòng)、Loading 階段調(diào)一次DOTween.SetTweensCapacity(500, 100)數(shù)值按項(xiàng)目峰值動(dòng)畫數(shù)量的兩倍來估。怎么估跑一次壓力最大的戰(zhàn)斗場景在結(jié)束前打印DOTween.TotalPlayingTweens()取峰值乘以 1.5 到 2 的冗余系數(shù)。這個(gè)數(shù)字不需要太精確寧大勿小因?yàn)槌刈又皇穷A(yù)留數(shù)組空間不占什么實(shí)際內(nèi)存。提示SetTweensCapacity只能在所有 tween 都清空的狀態(tài)下安全調(diào)用別在運(yùn)行中隨手調(diào)容易把正在跑的引用搞亂。3. 鏈?zhǔn)秸{(diào)用逐環(huán)拆解每一行在改什么3.1 創(chuàng)建入口的幾種姿勢與適用場合最常用的是擴(kuò)展方法入口比如transform.DOMove、image.DOFade、material.DOColor。它的優(yōu)點(diǎn)是類型安全、IDE 有提示、參數(shù)直觀缺點(diǎn)是只能作用于內(nèi)置支持的類型遇到自定義字段就沒辦法了。第二種是通用入口DOTween.To(getter, setter, endValue, duration)。這是 DoTween 里最靈活的一個(gè)方法本質(zhì)是我告訴你當(dāng)前值怎么讀、怎么寫、目標(biāo)值是多少、播多久。借助它任何float、int、Vector2/3/4、Color、Quaternion類型的字段都能被插值。我項(xiàng)目里所有數(shù)值滾動(dòng)血條百分比文本逐字顯示全部走這條路因?yàn)闃I(yè)務(wù)字段千奇百怪?jǐn)U展方法覆蓋不到。第三種是DOTween.Sequence()用來編排。還有一種容易被忽略的是DOTween.To的多目標(biāo)重載可以傳入一個(gè)Vector3[]之類的數(shù)組批量處理但它內(nèi)部仍然是逐條創(chuàng)建并不比手寫循環(huán)省什么。選擇邏輯很簡單內(nèi)置屬性優(yōu)先用擴(kuò)展方法可讀性最好自定義字段一律用DOTween.To兩段以上需要排隊(duì)或并發(fā)的動(dòng)畫先建 Sequence 再說。3.2 Set 系列緩動(dòng)、循環(huán)、延遲、相對與 FromSetEase是手感的核心選錯(cuò)緩動(dòng)比選錯(cuò)時(shí)長更致命。我的經(jīng)驗(yàn)規(guī)律是這樣的UI 元素快速響應(yīng)按鈕按下、提示冒出用Ease.OutQuad前段快后段緩符合物體被推動(dòng)后減速停住的直覺彈窗、卡片這類需要彈性感的用Ease.OutBack它會(huì)在終點(diǎn)前沖過頭再回彈overshoot參數(shù)默認(rèn) 1.7我一般調(diào)到 1.3 到 1.6 之間太大會(huì)顯得廉價(jià)大位移的鏡頭或面板滑動(dòng)用Ease.OutExpo或Ease.OutQuint收尾非常干脆來回往復(fù)的呼吸燈、待機(jī)浮動(dòng)用Ease.InOutSine兩端都平滑。時(shí)長上UI 動(dòng)畫 0.2s 到 0.35s 是舒適區(qū)低于 0.15s 玩家感知不到過程高于 0.5s 就會(huì)覺得點(diǎn)了一下沒反應(yīng)。這不是玄學(xué)是可以算的60 幀下 0.25s 約等于 15 幀正好夠人眼識別出移動(dòng)而不至于產(chǎn)生等待感。SetLoops(count, LoopType)里L(fēng)oopType.Yoyo會(huì)來回往返Restart是直接跳回起點(diǎn)重播Incremental是每次在上一輪終點(diǎn)基礎(chǔ)上再走一遍。做心跳、脈沖效果首選 Yoyo但要注意 Yoyo 的偶數(shù)次循環(huán)結(jié)束時(shí)物體回到起點(diǎn)如果你后續(xù)要在OnComplete里接著做位移得先確認(rèn)當(dāng)前朝向否則會(huì)出現(xiàn)方向錯(cuò)亂。SetRelative()表示目標(biāo)值是相對當(dāng)前值而不是絕對值做每次點(diǎn)擊向右挪 10 像素這種累加位移時(shí)必須加否則每次都會(huì)飛回同一個(gè)絕對坐標(biāo)。From()比較微妙它的意思是從終點(diǎn)值出發(fā)回到當(dāng)前值。很多人拿它做反向入場但如果不加參數(shù)它是絕對值語義。帶參數(shù)的.From(true)是相對語義起點(diǎn) 當(dāng)前值 目標(biāo)值。我用得最多的是.From()配合位置偏移做從屏幕外滑入——先設(shè)好最終位置然后DOMove(finalPos, 0.3f).From(new Vector3(-500, 0, 0))這樣起點(diǎn)自動(dòng)算出來不用手動(dòng)擺位。3.3 SetLink、SetUpdate、SetAutoKill 三個(gè)真正決定穩(wěn)定性的開關(guān)這三個(gè)方法不像緩動(dòng)那么直觀但項(xiàng)目里 80% 的動(dòng)畫詭異報(bào)錯(cuò)都和它們有關(guān)。SetLink(gameObject)的意思是把這條 tween 的生命周期綁到這個(gè)對象上對象銷毀時(shí)自動(dòng) Kill。它解決的是最經(jīng)典的場景一個(gè) UI 面板正在淡出動(dòng)畫播到一半玩家點(diǎn)了返回面板被 Destroy下一幀 tween 還在往一個(gè)已經(jīng)不存在的 CanvasGroup 上寫 alpha然后控制臺(tái)紅字。加上SetLink之后對象銷毀tween 自行了斷世界清凈。注意它綁定的是 GameObject不是 Component傳this.gameObject才是對的。SetUpdate(bool isIndependentUpdate)決定時(shí)間源。默認(rèn)用的是受Time.timeScale影響的縮放時(shí)間所以游戲暫停時(shí)動(dòng)畫也會(huì)停。UI 一般不希望這樣——暫停菜單的彈出動(dòng)畫必須照常播所以 UI 上的 tween 我基本都會(huì)加.SetUpdate(true)。反過來游戲世界里的物體移動(dòng)必須用縮放時(shí)間否則暫停時(shí)敵人還在往前走。還有個(gè)進(jìn)階重載SetUpdate(UpdateType type, bool isIndependentUpdate)可以指定在 Update、LateUpdate 還是 FixedUpdate 階段推進(jìn)。節(jié)奏上相機(jī)跟隨類動(dòng)畫放 LateUpdate 更穩(wěn)因?yàn)橐谒形矬w移動(dòng)完之后再算與物理交互的序列用 FixedUpdate 可以避免視覺滯后。SetAutoKill(false)就一句話禁止 tween 在完成后自動(dòng)銷毀。為什么需要它因?yàn)槟J(rèn)情況下 tween 播完就被回收你手上那個(gè)引用已經(jīng)是死的再調(diào).Restart()會(huì)拋異?;蛘呤裁炊疾话l(fā)生。凡是需要反復(fù)播放的動(dòng)畫彈窗反復(fù)開關(guān)、按鈕反復(fù)點(diǎn)擊、循環(huán)特效都必須先SetAutoKill(false)再在每次播放時(shí)Restart()。這是我?guī)氯藭r(shí)強(qiáng)調(diào)最多的一條。4. 四個(gè)典型場景的完整落地方案4.1 UI 彈窗的入場與出場一個(gè)可復(fù)用的動(dòng)畫組件先說最常見也最容易寫亂的場景。很多項(xiàng)目里彈窗動(dòng)畫是散在業(yè)務(wù)代碼里的打開時(shí)調(diào)一堆DOScale關(guān)閉時(shí)又調(diào)一堆DOFade結(jié)果就是快速連點(diǎn)兩次按鈕兩組動(dòng)畫同時(shí)跑界面縮放到一個(gè)詭異的中間值卡住。正確做法是把動(dòng)畫封裝成獨(dú)立組件內(nèi)部持有 Sequence 引用每次播放前先 Kill 舊的。下面這段是我在多個(gè)項(xiàng)目里復(fù)用過的最小實(shí)現(xiàn)using DG.Tweening; using UnityEngine; using UnityEngine.UI; [RequireComponent(typeof(CanvasGroup))] public class PopupAnim : MonoBehaviour { [SerializeField] private RectTransform panel; [SerializeField] private float duration 0.28f; private CanvasGroup _cg; private Sequence _seq; private void Awake() { _cg GetComponentCanvasGroup(); } public void PlayIn() { _seq?.Kill(); panel.localScale Vector3.one * 0.86f; _cg.alpha 0f; _seq DOTween.Sequence(); _seq.SetUpdate(true); _seq.SetLink(gameObject); _seq.Append(panel.DOScale(1f, duration).SetEase(Ease.OutBack, 1.5f)); _seq.Join(_cg.DOFade(1f, duration * 0.65f).SetEase(Ease.OutQuad)); } public void PlayOut(System.Action onDone null) { _seq?.Kill(); _seq DOTween.Sequence(); _seq.SetUpdate(true); _seq.SetLink(gameObject); _seq.Append(panel.DOScale(0.92f, duration * 0.7f).SetEase(Ease.InQuad)); _seq.Join(_cg.DOFade(0f, duration * 0.7f).SetEase(Ease.InQuad)); _seq.OnComplete(() onDone?.Invoke()); } }幾個(gè)參數(shù)值得解釋??s放起點(diǎn)設(shè) 0.86 而不是 0是因?yàn)閺?0 放大視覺上像憑空出現(xiàn)從 0.86 放大更接近從遠(yuǎn)處推近的物理直覺。淡入時(shí)長比縮放短duration * 0.65f讓透明度先到位視覺上會(huì)覺得出現(xiàn)得很快而縮放還在收尾這種錯(cuò)位感是刻意制造的。出場用Ease.InQuad而不是 Out因?yàn)橥顺鰬?yīng)該加速離開而不是減速停下。Join與Append的區(qū)別在這里體現(xiàn)得很清楚Append是排在上一段結(jié)束后Join是與上一段同時(shí)開始。寫序列時(shí)我會(huì)先在紙上畫個(gè)時(shí)間軸哪幾段并行、哪幾段串行畫清楚再寫代碼比反復(fù)試參數(shù)快得多。4.2 Sequence 編排復(fù)雜分鏡把時(shí)間軸當(dāng)劇本寫Sequence 真正發(fā)揮價(jià)值的地方是一段有多步的演出。比如某個(gè)道具被拾取后的表現(xiàn)物體上浮、旋轉(zhuǎn)、放大、閃光、然后飛向 UI。這種按秒編排的需求用協(xié)程寫會(huì)變成嵌套的 yield用 Sequence 寫就是一條清晰的鏈。var seq DOTween.Sequence(); seq.SetLink(gameObject); seq.Append(transform.DOMoveY(1.5f, 0.35f).SetEase(Ease.OutQuad)) .Append(transform.DORotate(new Vector3(0f, 360f, 0f), 0.6f, RotateMode.FastBeyond360) .SetEase(Ease.Linear)) .Join(transform.DOScale(1.4f, 0.3f).SetEase(Ease.OutBack).SetLoops(2, LoopType.Yoyo)) .InsertCallback(0.55f, () PlayFlash()) .AppendInterval(0.1f) .Append(transform.DOMove(uiAnchor.position, 0.45f).SetEase(Ease.InBack)) .OnComplete(() Destroy(gameObject));RotateMode.FastBeyond360在這里是必須的。DoTween 默認(rèn)會(huì)選擇最短路徑旋轉(zhuǎn)你寫 360 度它會(huì)認(rèn)為 0 度和 360 度是同一個(gè)朝向于是什么都不轉(zhuǎn)。加上這個(gè)模式才會(huì)真的繞一圈。同理做反向旋轉(zhuǎn)-360也要加。InsertCallback(time, action)是在時(shí)間軸的絕對時(shí)刻插入回調(diào)AppendCallback則是接在當(dāng)前末尾。前者適合我知道第 0.55 秒要閃光這種精確編排后者適合上一步做完就執(zhí)行。還有一個(gè)容易踩的坑不要在 Sequence 對象本身上調(diào)SetEase。Sequence 級別的緩動(dòng)會(huì)把整段編排當(dāng)成一個(gè)整體來重新映射時(shí)間導(dǎo)致子 tween 自己的緩動(dòng)被二次扭曲表現(xiàn)出來就是每個(gè)動(dòng)作都怪怪的、節(jié)奏不均勻。緩動(dòng)一律寫在子 Tweener 上。AppendInterval用來留白別小看它。連續(xù)動(dòng)作之間留 0.08 到 0.15 秒的空隙觀感會(huì)從倉促變成有節(jié)奏。這個(gè)技巧在做連擊表現(xiàn)、UI 列表逐項(xiàng)彈出時(shí)特別管用。4.3 路徑運(yùn)動(dòng)DOPath 與控制點(diǎn)、朝向鎖定DOPath用來讓物體沿一串路點(diǎn)移動(dòng)做巡邏路線、飛行軌跡、拋物線這類需求很方便。Vector3[] path { p0, p1, p2, p3 }; transform.DOPath(path, 2.2f, PathType.CatmullRom, PathMode.Full3D, 10, Color.green) .SetEase(Ease.InOutSine) .SetLookAt(0.01f, Vector3.forward, Vector3.up) .SetOptions(false, AxisConstraint.None, AxisConstraint.None);PathType.CatmullRom會(huì)生成一條經(jīng)過所有控制點(diǎn)的平滑曲線Linear則是折線路點(diǎn)之間是直線段。視覺上用 CatmullRom 更自然但要注意它會(huì)過沖——曲線在拐彎處可能略微超出你給的三角形區(qū)域如果路徑旁邊有碰撞體可能出現(xiàn)擦邊。做窄道巡邏時(shí)我會(huì)改回 Linear 保穩(wěn)。resolution參數(shù)上面代碼里的 10決定每兩個(gè)控制點(diǎn)之間采樣多少段數(shù)值越高曲線越順滑但內(nèi)部計(jì)算量也線性上升。一般 10 到 30 足夠除非是做電影級鏡頭軌道才需要調(diào)高。SetLookAt(lookAhead)讓物體朝向運(yùn)動(dòng)方向lookAhead是看向前方多少距離的點(diǎn)傳 0.01 表示看極近的前方轉(zhuǎn)向會(huì)非常靈敏想讓轉(zhuǎn)向柔和一點(diǎn)就調(diào)大比如 0.5。SetOptions(isClosed, lockPosition, lockRotation)里的lockPosition用來鎖定某個(gè)軸比如讓物體只在一個(gè)平面內(nèi)做路徑運(yùn)動(dòng)時(shí)鎖住 Y 軸就不會(huì)因?yàn)榍€插值產(chǎn)生垂直漂移。做 2D 或者俯視角游戲時(shí)這個(gè)參數(shù)很關(guān)鍵。實(shí)測下來有個(gè)細(xì)節(jié)路徑動(dòng)畫配合SetEase(Ease.InOutSine)起步和收尾更自然如果全程 Linear 會(huì)顯得機(jī)械像傳送帶。但如果是循環(huán)巡邏反而要用 Linear 保證首尾速度一致否則循環(huán)接縫處會(huì)有一頓。4.4 文本、材質(zhì)、數(shù)值DOTween.To 的三類高頻用法先說文本逐字顯示。很多人第一反應(yīng)是DOText它確實(shí)能直接對 UI Text 做打字機(jī)效果但項(xiàng)目里但凡用了 TextMeshProDOText就用不了。通用解法是插值maxVisibleCharactersint total tmp.textInfo.characterCount; tmp.maxVisibleCharacters 0; DOTween.To(() tmp.maxVisibleCharacters, x tmp.maxVisibleCharacters x, total, 1.2f) .SetEase(Ease.Linear) .SetLink(tmp.gameObject) .OnUpdate(() { /* 可以在這里播打字音效 */ });注意characterCount要在ForceMeshUpdate()之后取否則拿到的是 0。另外maxVisibleCharacters是 intDoTween 會(huì)自動(dòng)取整不需要手動(dòng) Mathf.Floor。數(shù)值滾動(dòng)是第二個(gè)高頻場景。血條、金幣、傷害數(shù)字幾乎每個(gè)項(xiàng)目都有int display 0; DOTween.To(() display, x { display x; label.text display.ToString(); }, targetValue, 0.6f) .SetEase(Ease.OutCubic);這里閉包捕獲的是局部變量display如果這個(gè) tween 需要被打斷重來比如連續(xù)吃金幣一定要持有引用先 Kill否則多條 tween 同時(shí)往同一個(gè)display上寫數(shù)字會(huì)瘋狂亂跳——這個(gè) bug 我在早期項(xiàng)目里排查過一次現(xiàn)象是金幣數(shù)在幾百和幾十之間來回抽搐最后定位到就是沒 Kill 舊 tween。材質(zhì)屬性是第三個(gè)場景做描邊閃爍、溶解、受擊高亮都靠它Material mat renderer.material; mat.DOColor(Color.white, _BaseColor, 0.15f).SetLoops(2, LoopType.Yoyo); mat.DOFloat(0.35f, _DissolveAmount, 0.8f).SetEase(Ease.InQuad);注意renderer.material會(huì)克隆一份材質(zhì)實(shí)例renderer.sharedMaterial則不會(huì)。用 DoTween 改材質(zhì)屬性必須用前者否則會(huì)污染所有共用該材質(zhì)的物體出現(xiàn)打一個(gè)怪全場發(fā)白的名場面。但克隆帶來的代價(jià)是每個(gè)對象一份材質(zhì)Draw Call 會(huì)上去所以用完記得在適當(dāng)時(shí)機(jī)手動(dòng)銷毀克隆出的材質(zhì)或者干脆改用MaterialPropertyBlock配合手寫插值。5. 量級上去之后的性能與內(nèi)存控制5.1 一條 tween 的開銷到底在哪單條 tween 的每幀成本主要是三塊時(shí)間推進(jìn)累加 deltaTime、算緩動(dòng)曲線、值寫入調(diào) setter 改 Transform 或材質(zhì)、生命周期檢查。前兩塊是純數(shù)學(xué)非常便宜第三塊在開啟 safe mode 時(shí)會(huì)做空引用檢查也不貴。所以在正常量級下幾百條并發(fā)DoTween 完全不是瓶頸真正的瓶頸往往在別處。真正需要注意的是緩動(dòng)曲線的實(shí)現(xiàn)方式。內(nèi)置的Ease.OutQuad這類是查表或者解析式開銷極小但如果你用SetEase(AnimationCurve)傳入一條自定義曲線每次求值都是一次采樣在幾千條并發(fā)的場景下就會(huì)明顯起來。我的原則是能用內(nèi)置枚舉就不用 AnimationCurve實(shí)在需要特殊的節(jié)奏曲線就把它烘焙成幾條內(nèi)置緩動(dòng)的組合。另一個(gè)隱性成本是OnUpdate回調(diào)。每條 tween 每幀都回調(diào)一次如果你在回調(diào)里做了字符串拼接、GetComponent 或者 UI 布局刷新成本會(huì)瞬間放大幾十倍。數(shù)值滾動(dòng)那種每幀改label.text的寫法本身就觸發(fā)了文本重建量大的時(shí)候要把更新頻率降下來比如每三幀刷一次或者用SetUpdate(UpdateType.Late)把它挪到布局之前。5.2 對象池場景下的動(dòng)畫復(fù)用寫法列表滾動(dòng)、傷害飄字這類高頻生成銷毀的元素動(dòng)畫也要跟著復(fù)用否則 GC 會(huì)很難看。標(biāo)準(zhǔn)寫法是三個(gè)開關(guān)配合// 創(chuàng)建一次 _tween transform.DOScale(Vector3.one, 0.25f) .SetEase(Ease.OutBack) .SetAutoKill(false) .SetRecyclable(false) .SetLink(gameObject) .Pause(); // 每次從池里取出 _tween.Restart();SetAutoKill(false)讓它播完不自殺SetRecyclable(false)讓它不被回收到全局池因?yàn)槟氵€要持有引用Pause()讓它創(chuàng)建后不立即播放。三者缺一不可缺哪個(gè)都會(huì)出現(xiàn)第二次取出時(shí)動(dòng)畫不播或者播放時(shí)長度不對的問題。有個(gè)細(xì)節(jié)Restart()會(huì)重置進(jìn)度并重新走一遍Rewind()是倒回到起點(diǎn)并暫停PlayForward()是繼續(xù)正放。從池里取出時(shí)用Restart()回收前用Rewind()把狀態(tài)推回初始兩者配對使用狀態(tài)才不會(huì)串。5.3 三種動(dòng)畫方案的實(shí)際表現(xiàn)對比我把項(xiàng)目里幾種常見需求下的方案選擇整理成表這個(gè)表比任何理論都實(shí)用需求場景首選方案理由需要留意的點(diǎn)UI 彈窗、按鈕反饋DoTween時(shí)長可運(yùn)行時(shí)改、能被打斷、代碼集中必須 Kill 舊 tween、SetUpdate(true)大量同類元素批量動(dòng)效DoTween Sequence一條編排管一批可整體暫?;胤趴刂撇l(fā)數(shù)避免每條都掛 OnUpdate角色骨骼動(dòng)畫Animator美術(shù)產(chǎn)出、混合樹、狀態(tài)切換成熟與程序動(dòng)畫分層別互相搶同一屬性物理驅(qū)動(dòng)位移Rigidbody FixedUpdate與碰撞檢測一致禁止用 DOMove 直接改 Transform一次性簡單插值手寫 Mathf.Lerp零依賴零開銷需要中斷時(shí)還是換 DoTween鏡頭軌道、過場Timeline 或 Sequence可視化編排、對齊音頻方便Sequence 版更輕Timeline 更適合長過場這張表背后的判斷邏輯其實(shí)只有一條誰負(fù)責(zé)時(shí)間軸誰就負(fù)責(zé)生命周期。選 DoTween 就意味著你要主動(dòng)管理它的創(chuàng)建與銷毀選 Animator 就意味著時(shí)間軸交給狀態(tài)機(jī)選手寫就意味著全部自己扛?;煊貌皇遣恍械欢ㄒ?jiǎng)澢暹吔缤粋€(gè)屬性只能有一個(gè)時(shí)間軸主人。6. 常見問題與排查實(shí)錄6.1 動(dòng)畫不播、只播一次、播到一半跳變完全不播最常見的原因是 tween 在創(chuàng)建時(shí)目標(biāo)對象是 inactive。DoTween 本身不檢查激活狀態(tài)但 Transform 被修改后不可見或者 CanvasGroup 的 alpha 一直是 0看起來就像沒動(dòng)。排查順序先確認(rèn)對象 active、再確認(rèn) CanvasGroup 的blocksRaycasts沒把 alpha 擋住、最后確認(rèn)有沒有別的代碼在同一幀把屬性又設(shè)回去了。只播一次幾乎都是SetAutoKill的問題。默認(rèn)播完自動(dòng)銷毀第二次調(diào)Restart()時(shí)引用已死。檢查方法很簡單在OnComplete里打印tween.IsActive()如果是 false就說明被回收了。播到一半跳變通常是兩條 tween 在搶同一個(gè)屬性。比如父級 UI 的入場動(dòng)畫正在改localScale業(yè)務(wù)代碼又調(diào)了一次DOScale兩者疊加的結(jié)果就是忽大忽小。解決辦法是給每條動(dòng)畫設(shè)SetId(xxx)需要覆蓋時(shí)用DOTween.Kill(xxx)精確干掉同 id 的而不是KillAll。6.2 銷毀報(bào)錯(cuò)與內(nèi)存泄漏怎么定位控制臺(tái)出現(xiàn)MissingReferenceException且堆棧指向 DoTween 內(nèi)部八成是對象被 Destroy 了但 tween 還在跑。三種解法按推薦順序加SetLink(gameObject)在OnDestroy里transform.DOKill()開啟 safe mode 兜底。前兩種是治本第三種是保險(xiǎn)。內(nèi)存泄漏的排查稍微麻煩一點(diǎn)。判斷標(biāo)準(zhǔn)是戰(zhàn)斗場景反復(fù)進(jìn)出十次看 Profiler 里 DoTween 相關(guān)的對象數(shù)量是否持續(xù)增長。如果漲說明有 tween 沒被回收也沒被 Kill。常見原因是調(diào)了SetAutoKill(false)卻忘了在對象銷毀時(shí)手動(dòng) Kill或者 Sequence 里嵌了子 tween 但只 Kill 了 Sequence 沒 Kill 子項(xiàng)實(shí)際上 Kill Sequence 會(huì)連帶子 tween但如果子 tween 是被單獨(dú)創(chuàng)建后 Append 進(jìn)去的某些版本下需要確認(rèn)。保險(xiǎn)做法是養(yǎng)成創(chuàng)建即綁定的習(xí)慣只要 tween 的宿主是場景對象就順手SetLink。6.3 暫停、恢復(fù)與時(shí)間縮放引發(fā)的連鎖問題游戲里做暫停菜單Time.timeScale 0之后發(fā)現(xiàn) UI 按鈕的動(dòng)畫全部靜止。這是預(yù)期行為因?yàn)槟J(rèn)時(shí)間源是縮放時(shí)間。解決就是給 UI 的 tween 加SetUpdate(true)。反過來也有坑如果你給游戲世界里的物體加了SetUpdate(true)暫停時(shí)它還在動(dòng)玩家會(huì)覺得世界停了但這個(gè)東西在飄。所以這條規(guī)則要寫進(jìn)團(tuán)隊(duì)規(guī)范UI 層強(qiáng)制 independent玩法層強(qiáng)制 scaled跨層的動(dòng)畫單獨(dú)評審。還有SetDelay與SetUpdate的交互。延遲時(shí)間是按 tween 自己的時(shí)間源算的如果 tween 設(shè)了 independent 而游戲暫停了延遲照樣在走暫?;謴?fù)后你會(huì)發(fā)現(xiàn)動(dòng)畫跳過了延遲直接開始。這種情況我一般不用SetDelay而是在 Sequence 前面AppendInterval行為更容易預(yù)測。6.4 一張速查表收尾現(xiàn)象高概率原因處理方式動(dòng)畫完全沒有反應(yīng)目標(biāo) inactive / 屬性被其他代碼覆蓋檢查激活鏈用 SetId 排他第二次播放無效AutoKill 已回收SetAutoKill(false) Restart控制臺(tái)紅字 MissingReference對象已銷毀tween 未清理SetLink 或 OnDestroy 里 DOKill暫停游戲后 UI 動(dòng)畫靜止使用了縮放時(shí)間SetUpdate(true)旋轉(zhuǎn) 360 度沒轉(zhuǎn)最短路徑優(yōu)化RotateMode.FastBeyond360序列里每段節(jié)奏都怪在 Sequence 上調(diào)了 SetEase緩動(dòng)下放到子 Tweener數(shù)字滾動(dòng)瘋狂跳動(dòng)多條 tween 寫同一變量持引用并先 Kill材質(zhì)改了導(dǎo)致全場變色用了 sharedMaterial改用 renderer.material峰值幀卡頓池容量不足觸發(fā)擴(kuò)容啟動(dòng)時(shí) SetTweensCapacity退出場景內(nèi)存不降tween 未回收場景卸載時(shí)統(tǒng)一 KillAll 該場景 id7. 我在項(xiàng)目里固化下來的幾條寫法約定踩過的坑多了之后我給團(tuán)隊(duì)定了幾條硬性約定執(zhí)行下來動(dòng)畫相關(guān)的 bug 大概少了七成。第一條是動(dòng)畫必須可尋址。任何一段超過兩行的動(dòng)畫都要封裝成方法或組件對外只暴露PlayIn、PlayOut這樣的語義接口不允許在業(yè)務(wù)邏輯里散寫DOMove。這樣做的直接好處是想改時(shí)長改一個(gè)字段想加音效加一行想排查問題有明確入口。第二條是創(chuàng)建即綁定。凡是宿主是場景對象的 tween創(chuàng)建后立刻SetLink凡是需要重復(fù)播放的立刻SetAutoKill(false)。這兩條不寫在代碼評審清單里就會(huì)忘忘了就要在測試階段返工。第三條是禁止 KillAll 無差別清場。DOTween.KillAll()在整個(gè)游戲里只有一個(gè)地方允許調(diào)用就是場景切換的收尾。其余場合一律用SetId加Kill(id)精確打擊。我見過一次事故就是某同學(xué)在關(guān)閉背包時(shí)調(diào)了 KillAll把正在播的戰(zhàn)斗結(jié)算動(dòng)畫一起殺了界面直接卡在半透明狀態(tài)。第四條是時(shí)長參數(shù)集中配置。UI 動(dòng)畫的時(shí)長、緩動(dòng)、過沖值統(tǒng)一放在一個(gè) ScriptableObject 里策劃想調(diào)手感不用改代碼。這個(gè)做法在項(xiàng)目后期調(diào)優(yōu)階段特別省事改一個(gè)數(shù)值全局生效比在幾十個(gè)腳本里搜索替換靠譜得多。第五條是表現(xiàn)層不做邏輯判定。OnComplete里只允許做收尾動(dòng)作銷毀、隱藏、播下一段不允許在這里改游戲狀態(tài)。因?yàn)閯?dòng)畫可能被中途 Kill被 Kill 時(shí)OnComplete不會(huì)觸發(fā)邏輯掛在這里就會(huì)出現(xiàn)動(dòng)畫被打斷狀態(tài)沒更新的臟數(shù)據(jù)。要保證一定執(zhí)行的收尾邏輯寫在調(diào)用方或者用OnKill配合處理。這套約定跑了兩三個(gè)項(xiàng)目之后我對 DoTween 的定位也越來越清晰它不是一個(gè)幫你省幾行代碼的工具而是一套把動(dòng)畫變成可管理對象的基礎(chǔ)設(shè)施。把它當(dāng)成基礎(chǔ)設(shè)施來對待初始化、生命周期、容量、時(shí)間源這幾件事一次性做對后面所有動(dòng)畫需求都是在這個(gè)地基上擺積木反過來如果每次都隨手DOMove然后指望它自己收尾那遲早會(huì)在某個(gè)深夜被一條MissingReferenceException叫醒。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
精品综合久久久久久97| 91高潮| 久久性爱大全| 无码少妇精品一区二区60岁老人| 亚洲少妇综合在线播放| 亚洲天堂区| 91女人的网站| 欧美在线|亚洲| 国产91 丝袜在线播放00-百度| 久草尤物| av久日| 欧美午夜视频| 久久 久久国内精品亚洲| julia ann久久| yaouchengrenav| 亚洲激情AV| 97超碰天天爱天天爱| 欧美色交| 天天综合网日韩7799| 五月婷婷六月天| 精品美女在线视频| 人人操人人摸超碰| 日韩av在线播放不卡| 久久99手机免费视频| 久热这里只有精品9| 思思视频免费看网站| 夜夜嗨AV一区天天| 麻豆天美91| 国产成人在线观看综合| 玖玖超碰熟| 黄页视频网站野外| 中精品一区二区三区| 国产超碰人人爽人人做| 欧美日韩亚洲少妇寂寞影院正在播放| 亚洲成?V人片在线观看福利| 人人艹亚洲| 日韩偷拍色图| 久久久久少妇| 天天综合网~91入口| 综合欧美激情网| 99啪啪视频| 狠狠爱夜夜| 中文字幕版| 国产成年女人免费视频播放a| 国产精品午夜成人福利| 免费黄色A片| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 色综合20p| 四虎精品永久在线播放| 超踫中文字幕| 亚洲AV噜噜狠狠网址蜜桃动漫| 婷婷久久久精品| 久久精品国产亚洲AV高级北京| 亚洲男人天堂2016| 亚洲第一精品在线视频| 劲爆欧美人妖三区91| 美國A片| 精品免费囯产一区二区三区| 久久欧洲| 亚洲少妇喷视频看| 亚洲九九九| 欧美后入式| 久久久久中出| 日本久久99| 亚洲乱伦图片视频| 久久亚洲中文字幕视频| 久久久九九| 十八禁网站在线| 成人a级高清视频在线观看| 2020天天色综合| 插老姨肥穴| 91丨九色丨东北熟女| 国产乱伦性爱区| 久久九操在线观看| 青青草伊人久久| 麻豆人妻精品一区二区| 新婚人妻扶着粗大强行坐下| 久久亚洲一区二区色婷婷| 中文字幕 码 自拍 视频 区| 亚洲色综合| 日本一区二区中文字幕久久| 久久大香蕉97| 好爽要喷了| 国产精品视频播放| 久热这里| 日韩av电影成人在线| av天堂加勒比| 91色色综合| 久久9亚洲| 亚洲色欲天天天堂色欲网女| avav青青草久久夜| 亚洲日韩青青草色月| 性爱综合网| 日本高清有码网址视频| 久久亚洲国产成人| 色97干| 裸模AV女优| 亚洲天堂综合AV| 男人的天堂一区三区| 国产精品久久久久久无码红治院| 香港澳门日本三级网站| 国产伊人精品在线| 性欧美| 亚洲综合情色| 夜夜躁狠狠躁日日躁av| 97aiaiai| 五十路三区在线| 亚洲人妻精品一区二区| 久久久久白虎| 精品国产乱子伦一区二区三区,精品一 | 乱伦日本中文自拍| 伊人网免费视频| 91在线精品一区二区三区| 亚洲欧美高清| 热G综合热G中文| 蜜臀无码一区二区| 性欧美| 国产熟女无套内射| 国产女人视频三四五区| 2017av无码免费无线播| 九九九九精品九九九九| 久久国产成人精品国产成人亚洲 | 香蕉免费一区二区三区不读| 老司机午夜福利视频一区二区| 欧美色一二三| 另类 综合 日韩 欧美 亚洲| 97色插| 亚洲一区二区三区麻豆传媒| 欧美九九爱| 中文字幕 码 自拍 视频 区| 翘臀vidoes| 打av高清| 日本高清一本二本免费不卡| 亚洲国产丝袜在线观看| 久久大香蕉97| 国语av狠狠色丁香婷婷综合激情| 97色碰| 18禁在线视频| 午夜男女爽爽大片免费观看| 亚洲精品xxx| 最新日韩黄片| 国产 大胆 对白| 亚洲久久东京热一二三四五区视频| 97久久超碰日韩精品| 2003天天干夜夜操| 东京热男人的天堂| 国产免费一区二区三区最新不卡| 麻豆乱码久久精| 日韩二区三四区五区六区在线看| 加勒比伊人| 天天操夜夜操狠很操| 婷婷综合激情| 亚洲精品一区二区免费在线观看| 亚洲高潮影院| 九月丁香综合网| 夜夜操2028| 91天堂视频| 久久久久女教师免费一区 | 208天天久久九九九| 亚洲欧美日韩偷拍色图| 乱精品一区字幕二区| 亚洲色悠悠久久88| 热99这里有精品综合久久 | 亚洲精品国产无码高清| 色婷婷久久| 天天看片麻豆| 少妇3P性爱自拍| 99re6久热只有精品6在线直播| 91AV天美在线视频| 97在线精品观看视频| 91婷婷| 蜜屁Av| 欧美日韩中文字幕人妻| 粉嫩粉嫩一区性色AV片| 人人搡人人肉久久精品| 乱性AV| 91粉芽高清在线一区二区| 另类 综合 日韩 欧美 亚洲| 日本一区不卡| 91在线页| 亚洲色综网| 狠狠色噜噜狠狠狠狠2018| 九热视频| 夜夜爽夜夜摸夜夜操免费视频| 精品久久无码午夜福利| 美腿色图| 私人尤物在线精品不卡| 操九九九九九九| 97精品一区二区视频在线观看| 精品人妻1区| 丰满少妇人妻久久久久久| 国产97av| 九九精品美女高溯喷水| 久久久96| 厕所偷拍在线| 国产又粗又大硬免费色网视频| 天天爽天天爽| 78超碰| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 久综合国内精品自在自线| 91美女视屏| 久久人妻熟女一区二区| 99热这里| 亚洲欧美日韩中文播放| 美女91在线观看| 久久精品操| 欧美日韩国内不卡| 东北老熟女| 成片免费播放| 男女无套 免费网站| 天天干一区二区| 欧美激情激情xxxx欧美专区| 精久久久91| 性爱视频啪啪啪啪| 97伪v| 久久久久九九九| 懂色av中文字幕| 黄片在线免费在线观看| 2017天天操天天日| 欧美精品四区| 午夜寂寞欧美| 欧美 亚洲精品首页| 久超碰在| 久久riav中文精品| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 日本不卡三级网在线播放| 草草草视频在线免费看| 啊啊啊好舒服好爽啊啊啊视频| 91伊人久| 99操逼| 麻豆亚洲Av成人无码一区精品| 91麻豆天美| 日韩懂色网| 久久精品色欧美aⅴ一区二区| 超碰97人妻自拍| 高潮内射在线| 白嫩国模丰满一二三区| 精品高潮| 加勒比综合在线| 色哟哟的毛片| 另类小色呦| 毛片一区二区| 熟妇一区,二区,三区。| 伊人久久国产免费观看视频| 99操视频| 国产黄片精品在线| 国产精品诱惑| 大屁股熟女一区二区三区| 国产激情片在线观看| 亚洲综合影院| 玖色av| 狠插 制服 自拍| 第一高清av中文字幕| 天天日天天干天天操| 狠狠躁天天躁日日躁| www.夜夜操| 亚洲一曲日韩精品| 一区二区三区免费视频入口| 九九热国产| 亚州熟妇精品| 天天日天天舔东京热| 我要看免费韩日黄片| 91色插| 成人精品欧洲亚洲| 91久久久视| 夂久色| 亚洲第2页| 91操操操操| 97久久久久| 青青青草伊人精品| 一区二区三区成人 | 凹凸视频在线观看伊人| 欧美日韩另类在线| av毛片aaaaa免费看| 91综合天天| 精品久久久不卡一区二区| 天天干2019| 色爱综合网| 丁香五月综合| 天天操天天干一区二区| 国产精品久久久久久久AV大片| 女人综合网| 91n处女在线观看| 欧美色自拍| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 欧美情色亚洲| 亚洲欧美综合网| 色欲久久99精品久久| 操少妞在线视频| 91欧美性| 亚州欧美综合| 肉丝无码中文高清| 亚洲做性| 大香蕉手机在线| 爱丝福利| 99re99在线视频| 国产精品第一页国产大屁股视频免费区i| 天天影视射综合网| 九九热精彩视频| 少妇精品久久久| 裸体1区| 亚洲综合九| 国产免费久久精品99re韩国| 亚洲色资源| 国产白丝在线| 骚逼自拍99| 伦理日韩国产久久| 亚洲AV色图| 综合欧美亚洲| 翔田千里A片一区二区| 污色区网站| 在线中文字幕| 特级毛片特黄久久免费看 | 日韩字幕一区| 天天操夜夜嗨| 任你草| 女优视频第10页| 视频在线观看一二三区| 亚洲诱惑| 亚洲色图日韩丝袜制服一区二区五月在线| 97Ai亚洲| 蜜乳AV.COM| 伊人久操| 天天综合AV| 蜜桃视频一区二区三区在线观看| 青青草中日韩在线| 97免费在线观看视频| AV一区观看| 亚洲综合精品国产一区| 91亚洲黑人| 无码视频一区二区| 夜夜夜爽www精品视频| a片自拍直播视频| 自拍视频一区在线观看| 婷婷五月成人| 丝袜亚洲91| 最新制服中文第一页| 熟女探花啪啪| 日韩av不卡在线观看| 理论久久婷婷网 8| 国产99999久久精品| www欧美91| 国产精品探花色| 国产精品香蕉热久久新品| 五月天婷婷欧美三区| 亚洲自拍欧美国产首页网曝| 97se亚洲| 人人操人人摸人人看人人干| 中文字幕在线观看丝袜| 69久久久久久久久久久久久| 亚洲 在线| www.av在线视频| 国产精品老熟女一区二区| 综合欧美日韩在线| aaa亚无码专区| 丰满的三级少妇欧美久久久| 超碰中文字幕人妻草一区| 欧美熟妇色| 亚欧视频在线| 蜜臀99999| 亚洲无码日韩电影| 国语对白在线播放视频| 天天天乱色综合全| 毛片久久| 国产欧美日韩女同性恋ww喷水精品| 射丝袜大香蕉| 人人看人人爰人人操| 亚州色图第三区| 夜夜骑日日| 一牛影视成人片免费| 丰满人妻一区二区三区在线| 午夜一区| 激情五月天婷婷| 日韩黄色小说| 青娱乐国产精品| 不卡码视频| 欧美色图综合| 亚洲欧美一区二区三区在钱蜜桃| 国产精品一区二区三| 色情五月丁香| 免费男人的天堂| 国产 亚洲 丝袜 制服| 天天做天天爱天天爽AV| 呦呦影院| 国产午夜视频| 成人小说视频在线精品欧美| 精品国产99| 欧美福利视频啊啊啊啊| 蜜桃视频精品一区二区三区| 国产精品黑人一区二区三区| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 亚洲熟女综合一区二区| 深夜激情无码| 玖玖无码超碰| 国产精品99久久久www| 九草九九九| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 无码精品久久| 亚洲少妇色图自慰直播| 亚洲国产婷婷在线播放| 亚洲欲| 日本欧美亚洲高清在线看| 青木玲在线不卡| 十八岁啪啪视频免费看| 日本黄色天堂| 人人摸人人干| 国产丝袜美女在线一区| 大乔未久88一区| 国产中文字幕曰本毛片| 欧美九九九| 欧美综合骚| 两女互慰AV高潮喷水在线观看| 亚洲大色堂| 成年人性爱日韩| 老司机香蕉久久久久| 蜜臀久久99精品久久久老,,| 国产精品99精品视频网站| 品亲网欧美品亲网| 精品一区二区三区蜜桃臀赵总 | yw尤物av无码点击进入麻豆| 日韩欧美偷拍美女视频| 人人摸人人干| 操婢日韩| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲无码免费看| 久久久久久裸体| 九九成人视频| 国产最火爆久久国产网站网站| 欧洲精品一二三在线| 国产成人无码久久精品| 98人妻精品一区二区色欲| 中国黄色特级精品一区二区三区片| 国产精品视频精品一二| 久久久久久99AV无码免费网站| 97精品97久久| 久久9亚洲| 日本www操操操| 亚洲色91| 国产三级中文字幕粉嫩| 国产有码一区| 99色在线| 欧美顶级黄色大片免费| 家庭乱伦麻豆| www.acm成人黄色毛片| 久久人人爽爽爽人久久久| 久久精品国产亚洲AV成人直播| av网站免费看| 97色操| 久偷拍欧美日韩三区| 五月婷婷色| 黄色免费网页无码| 极品综合| 尤物网站91| 精品一区二区2| 综合网久久| www.狠狠| 色噜噜狠狠色综合日日| 精品一区二区成人| 少妇高潮流水av免费| 漂亮人妻被强中文字幕hd| 97 九色| 99999精品视频| 国产欧美一区激情交| 久久久亚洲Av| 日本中文字幕不卡视频| 国产熟女精品一区二区| 91亚洲人| 精品国产乱码久久久| 色男人色天堂东京热| 日欧美色| 成人AV素股で擦久久| 91超级碰碰碰| 99久在线精品99re8| 黄色电影观看久久9| 免费看黄片现成| 老司机福利青青草| 无遮挡男女激烈动态图| 四虎国产精品永久在线囯在线| 最近二区三区视频大全| 97亚洲欧美| 国产精品久久久久婷婷二区次| 亚州色图欧美色图| 最新AV在线| 亚洲毛片久久| 性91| 国产呦精品系列在线观看| 国产精品一区二区三区四区五区| 啪啪啪综合| 日韩91网站| 日韩97P| 亚洲91网| 人妻另类 专区 欧美 制服| 超碰97护士| 日韩在线国产字幕| 日韩三A大片在线观看| 色翁荡息又大又硬又粗又爽| 天天激情干| 亚洲午夜福利在线影院| 国模吧 一区二区三区| 亚洲日韩精品在线播放| 美女啊啊啊啊啊啊啊| 亚洲成人一二三区| 中文字幕日韩人妻视频一区二区三区交换夫妻| 色 亚洲 91| 东北操逼| 91麻豆天美传媒在线| 亚洲欧美另类小说| 成人无遮挡毛片免费看| 日韩精品 视频一区二区| 欧美国产日韩高清在线| 成人精品电影| 中文字幕欧美日本乱码一线二线| 亚洲 日本 不卡| 国产呦精品系列在线观看| 天天干干天天干干| 免费视频无码| 国产青青美女玩逼视频| 丝袜综合网| 男女猛烈无遮掩视频免费软件| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 精品-91人妻子系列| 九九内射在线| 欧美 牲| 亚洲色婷婷综合久久一区二区三区| 色香综合| 麻花豆传媒剧国产MV出差| 亚洲中文日韩精品| 亚洲一二三四区机械| 久久国产999| 欧美色偷偷| 成人午夜小视频手机在线看| 国产欧美伊人| 中文字幕精品亚洲熟女| 久久成年片色大黄全免费网站| 国模艳艳啪啪一区| 久久欧美1卡2卡3| 操老熟女AV| 欧美18老人禁| 久久精彩视频| 大白逼三四级| 大黄片做爱的大的| 淫淫总合网| 97视频免费在线| 岛国片在线视频网站| 色情综合网| 欧美天堂第二区| 欧美成人一级麻豆| 六月丁香啪啪| 白嫩91在线亚洲| 欧美综合娱乐久久| 熟啊v色欧美热| 亚洲风情在线观看| 91精品久久久久久77777| 日韩精品大香蕉伊人在线| 亚洲国产精品无码AV久久| 日韩免费性爱视频在线观看| 久热大香蕉网站| 操逼视频国产无套| 色婷婷在线视频精品导航| 中文字幕激情小说| 自拍偷拍2025在线观看| 欧美在线 亚洲| 亚洲 欧美 制服 另类 自拍| 中文字幕视频一区视频二区| 美女久久久| 欧美日综合| 精品久操| 97最新在线播放视频| 精品国产久久乱码| 大香焦A片| 嫩草 人人网精品| 亚洲精品自拍| 久久av色| 成人性爱AV在线免费观看| 四虎AV无码| 啊啊啊免费| 色婷婷丁香五月天| 91麻豆天美传媒在线| 丁香激情五月| 国产熟女精品一区二区| 精品国产嫩穴视频| 国产日韩精品suv| 国产suv精品一区二区四| 日本成人在线不卡一区二区三区| 色穴精品| 浓厚中出中文字幕在线| 色色99| 为用户提供免费看黄网址在线观看| xxx亚洲午夜天堂| 亚洲性爱成人| 亚洲色入欧美| 欧美亚洲日本视频久久久| 麻豆a'v电影| 99精品久久久久久久婷婷蜜桃| 精品少妇一区二区| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 亚洲码和欧洲精品激情系列| 国产成人拍国产亚洲精品| 青青操在线亚洲视频观看欧美在线| 中文色综合| 天堂精品| 亚洲不卡AV在线| 天天上日日上日韩精品| 男人 天堂 日 亚洲| 国产兽交视频在线播放| 欧美传媒一区| 六月天婷婷| 2024黄色视频| 久久亚洲色图中文字幕| 久久婷婷五月综合| 秋霞一集毛片观看| 九久久精品| 青青草九九九九九| 国产精品久久久久无码A√| 99日视频在线免费| 小草三级久久观看| 特级毛片特黄久久免费看 | 校园春色亚洲无码| 天天操夜夜操| 亚洲 自拍偷拍 欧美| 自拍啪啪视频| 久久久久一本一区二区青青蜜月| 日韩性爱再线视频| 中文乱码字字幕在线第5页| 素人无码中文字幕| 日本人体九九九九九九| 先锋色眉乱伦资源| 啊啊啊啊操死我| 亚洲日韩东京热一区| 青青草视频这里只有精品| 日韩综合成人免费视频| 亚洲欧美伦综合| 9999亚洲精品| 超碰激情808| 精品少妇一区二区三区在线视频| 国产又猛又粗又爽又黄| 久热这里只有精品9| 级品肉射| 中文字幕在线观看AV| 5月婷婷6月六月丁香| 84YTCOM性无码| 在线播放中文字幕| 中文字幕精品乱码| 视频在线观看一二三区| 亚洲欧美国产日本一区二区三区| 北约熟女超碰| 视频国产欧美在线播放| 久久日韩肥臀| 台湾佬中文娱乐网久久久久久久久久com | 久操B网| 人看人人摸人人操| 日韩在线一区二区| 综合伊人激情| 黄片www视频免费| 91色亚洲| 91n处女在线观看| 啊啊啊啊啊啊啊网址在线观看| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 四虎在线播放| 中文字幕久久精视频久久大全| 五月天丁香欧洲日韩| 人妻22p| 欧美性爱系列| 3P乱轮视频| 91香蕉视频在线观看免费| 亚洲超碰97| 夜夜欧美 | 搞中出视频在线观看| 欧美综合97www| 青青操青娱乐| 五月婷婷综合网| 久99视频| 丁香五月社区| 久青草影院| 欧美在线视频99| 熟女被操视频网址| 日韩中文字幕二区| 婷婷色中文字幕| 久久婷婷色| 色色色欧美| 99免费在线视频| 一二三区在线| 99青草| 91亚洲精品青草| 十八禁网站在线| 性色avv| 午夜久久一区二区无码中出| 中文字幕丝袜美腿| 97精品视频免费| 亚洲色香| 亚洲日本大香蕉1| 一本大道青青| 伊人久久AV诱惑悠悠| 精品人妻av区天天看片| 黄色免费网| 人人操人人干网页| 嫖老熟女A片一二三区| 超碰99热| 欧美最婬乱婬爆婬性视频 | 久久水蜜臀亚洲AV无码精品| 欧美猛交黑寡妇中文字幕| 97伪v| 色噜噜人妻av中文字幕| 97中文字幕九区| 日韩亚洲欧美中文字幕| 久久精品国内Av熟女高清| 中文字幕乱在线伦视频中文字幕乱码在线 | 亚洲综人网| 亚洲影视综合| 亚洲天堂一区二区久久| 日韩性爱网址| 91女在线观看| 少妇第一页| 友优传媒精品在线一区二区| 操国产逼| 亚欧国产无码精品在线| 亚洲情色第一页| 欧美在线l亚洲| 四季av一区二区凹凸精品小说| 亚洲欧美黄| 中文字幕一区二区日韩网| 一块操欧美性爱| 天堂日本亚洲欧美| 涩亚洲欧洲| 国产高清亚洲日韩一区| 久久精品国产亚洲AV无码电影| 加勒比无码一区二区三区| 天天看高清麻豆| 亚洲中文字幕熟女少妇一区二区| 日韩性爱视频在线免费观看| 欧美一级色| 97精品第3页| 青青在线视频免费| 伊人久久综合精品欧美| 最新AVzaixian| 丰满欧美放荡少妇在线| 国产极品粉嫩馒头一线天av| 蜜乳av首页| 亚洲永久AV无码精品秋霞| 91n处女在线观看| A V视频日本| 人妻天天爽夜夜爽爽| nuu12国产麻豆精品| 色欲久久久久综合网| 啪啪91| 韩日巨乳美女免费视频在线观看| 91综合站| 日韩一级免费性爱| 免费9 1久久| 亚洲国产97| 大屁股xxxxx| 亚洲日韩乱码中文无码蜜桃臀网站 | 国产女同性恋视频| 欧美第二页| 日韩去日本高清在| 欧美91精彩| 日韩精品一区二区高清 | 亚洲欧洲网站免费观看| 欧洲亚洲天堂精品 | 欧美日韩亚洲天堂| 日本 欧美 国产一区| 国产视频第2页| 亚洲网站一区二区在线| 丁香五月激情网| 无码粉嫩白虎一线天b区| 久久久免费一级黄片| 精品国产乱码久久久兰草影视| 欧美日本成人一区二区| 日韩AV片| 国产精品第一页国产大屁股视频免费区| 大香蕉免费乱伦视频| 五十路二区在线| 日韩免费簧片| 一区 欧美 日韩 麻豆| 一级毛片电影免费看| baisiav| 男人的天堂2019| 丰满人妻-区二区三区免费| 四虎精品亚洲| 亚洲欧洲网站免费观看| 中日韩久久久免费看| 欧亚在线视频| 99操逼| www.婷婷六月天| 97这里有精品| 屌色在线97视频| 欧美激情在线观看视频| 五月香婷婷| 亚洲欧美色图片| 男人的天堂2018.| 激情熟女12P| 性色av一区二区| 国产区91柔拿会所技师| 999九九九九国产动| 凹凸视频特色日本特黄| 一区二区视频在看| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 足交视频老司机| 户外裸露刺激视频第一区| 欧洲一区二区三区四区在线观看| 欧美很很操视频| 亚洲 欧美综合| 不卡超碰护士AV在线免费播放| 尤物av网站免费在线播放| 男人天堂日日夜夜| 久久亚洲AV成人精品无码| 人妻少妇无码| 国产超碰国产97| 成人免费看吃奶视频网站| 久久久久婷婷精品av电影| 九九av| 日韩激情无码影院| 国产和美国毛片| 丁香五月天激情| 国产一国产一级毛片古装| 99国产精品免费| 国产精品免费视频不卡| 亚洲福利影院一区久久| 久久99草| 亚洲人妻一区二区三区| 老司机深夜18禁污污网站| 天天躁狠狠躁av| 五月丁香综合激情| 91丨豆花丨熟女| 2017,超碰| 四虎免费看黄| 婷婷成人五月天| 免费1级a做爰片观看| 四虎影视国产精品| 精品乱子一区二区三区99| 日日碰狠狠添天天爽超| 26uuu久久| 欧洲一区二区| 午夜精品久久久久久久99热影院| 国产亚洲国产超碰| 久久透逼视频| 少妇淫妇久久久久久久| 好屌色综合| 9/A片| 久久欧美性爱视频| 久久无码一区二区二三区性色| 人妻人久久精品中文字幕| 北条麻妃99精品青青久久| 91成人在线免费视频| 偷拍 欧美 日韩| 91欧美情色| 亚洲人91| 不卡九肏| 婷色五月天| 日韩色欲久久一二三四区| 国产精品96| 97欧美日韩精品| 日本熟妇精品九九| 精品免费一区二区三区在线亚洲人成| 极品白嫩美女白浆成人福利在线看| 香港澳门日本三级网站| 97视频在线观看免费高清| 亚洲天堂美臀在线| 国产熟妇一区二区| 97干在线看| 三级三级三级日本99| 欧美网站免费| 日本性爱网址| 日韩人妻有码免费视频| 亚洲av青草久久一区二区| 国产91 丝袜在线播放| 日日日日做夜夜夜夜做无码97| 97 国产一区| 精品人妻二区三区| 97人肏| 青青草日韩无码| 色色丁香| 99操碰| 亚洲 欧美日韩 另类| 福利操逼| 久久无码成人| 都市久久精品激情亚洲| 白丝被操91| 另类亚洲一区二区三区| 欧洲在线性爱视频| 百度百度日本操逼| 国产精品不卡高清在线观看| 九九九九免费| 人妻夜夜爽天天爽三区麻豆AV网站| 欧美情色亚洲| 精品久9| 天天射日日干| 亚洲综合91| 欧美亚洲激情| 色牛aV| 四虎国产精品永久在线囯在线| 日韩三级伊人| 精品无码秘 人妻一区二区| 男女国产精品| 日本成人在线不卡一区二区三区| 久久久97| wwwxxx日本爽| 亚洲一级特黄大片在线播放91| 久久九九视频九九视频| 亚洲成人一区二区精品| 国产18精品亚洲精品| 狠狠色综合网| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 欧美综合娱乐久久| 乳欲人妻办公室奶水| 国产乱码精品一区二区三区四川| 韩国成人精品久久久免费看| a级成人毛片免费视频高清| 国产自偷自拍一区| 久久五月份| 久久只有精品一区二区三区| 99久在线精品99re8a| 蜜桃臀AV在线| 超碰97亚洲| 黄色av网站在线播放| 91精品无码人妻系列| 激情五月天综合网| 亚洲综合影片| 五十路成人在线视频二区三区| 激情在线青青操| 欧美gv在线观看| 久久亚洲精品成人av| 日韩乱码Av| 亚熟hd视频在线| 激情小说激情视频| 国产综合在线视频网站| 国产粉嫩出水在线播放| 亚洲另类综合欧美| 日本新免费二区三区| 91n处女在线观看| 亚洲性爱成人| 欧美做爰无码A片视频| 啊好大好舒服| 中文字幕精品三级久久久| 欧美色999| 乱伦日本色图AⅤ| 丝袜制服字幕在线| 碰人碰碰人人开房人肉| 蜜桃av色偷偷av老熟女| 日本操逼二区| 欧美熟爽综合| 极品一区二区三区免费| 神马久久久久| 蜜臀AV网站| 蜜臀亚洲中文| 传媒在线观看一区二区三区| 天天视频网站黄| 99爱在线视频| 欧美日韩美女精品久草一区二区三区| 激情小说亚洲| av资源在线播放天堂| 亚洲中文电影| 97欧美精品| 日韩中文字幕视频在线观看| 青青操在线亚洲视频观看欧美在线| 精品人妻一区二区三区不卡断 | 免费观看网黄| 亚洲欧美大香蕉| 天天综合网亚洲综合网| 欧洲综合无码| 欧美亚洲激情小说| 性欧美91| 色色色色网站| 亚洲成人妻日韩在线| 国产白丝精品在线观看| 国产精品秘 福利姬在线观看| 亚洲吊色| 家庭乱伦国产精品| 国产精品一二三区福利| 91美女视频电影| 国产乱伦性爱区| 色一射色一射| 大香蕉综合网| 成人婷婷丁香| 天美传媒麻豆一区二区三区国产精| 日本操逼视频导航| 成人一区二区三区四区| 乱伦一二三区| 国产一区二区三区不卡手机在线| 欧美亚洲今日在线| 五月丁香啪| 欧美精品激情| 五月丁香大香蕉| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 日韩AV噜噜噜一区二区三区四区| 免费伦费视频在线观看| 婷婷15月天青娱乐| 无码精品久久久天天影视| 久久久久久久久久久久黄色| 欧美成熟性爱精品| av情色影音| 色色色日本| 97 国产一区| 尤物网址| 人妻素股| 亚洲国产麻豆一区二区三区| 中文字幕人乱码中文字的预防方法 | 欧美午夜视频免费观看| 立川理惠加勒比无码| 熟妇女伦乱视频| 婷婷五月在线视频| 99热导航| 色欲av国内精品久久久久久| 性爱视频啪啪啪啪| 激情五月天色色网| 啊啊啊在线观看免费视频| 久久精品国产亚洲粉嫩| 操逼免费视频无码国产| 99热超碰| 天美传媒婬乱在| 91在线精品| 操一区| 一区二区三区高清| 一区在线观看中文字幕| 九九自拍伦理| 一级片视频啪啪| 日韩人妻大香蕉| 亚洲中文sv| 99久久精品国产高潮| 久久一二三四五六七八九区区| 蜜臀视频网站| 男人的天堂在线有码| 亚洲色性| 99久久99久久综合| 久久久九九九九| 无码高清操逼网址| juliaann精品熟女一区| 九九九九久久久久| 一区二区偷拍拍视频| 91四海无码日韩欧美| 国产欧美亚洲精品a第2页| 97就爱干| 一个人免费HD91视频| 91色色综合| 精品成人亚洲午夜电影| 国产精品欧美激在线| 超清福利精品视频在线| 亚洲丝袜色图| 亚洲无无码αⅴ每日更新| 欧美大香蕉97| 日本十八禁免费看污网站| 偷拍超碰| 一区二区三区黄片免费观看| 精品一区二区三区四区外站| 国产女人与拘做受视频免费| 好看的久久不射无码影视影院| 亚洲国产尤物yw在线观看| 日韩电影天堂视频一区二区| 91在线视频观看国产| 中文字幕av丝袜| 自拍偷拍2025在线观看 | 久久精品国产亚洲AV高级北京| 岛国黄色大片网站| 国产乱码久久| 98人妻精品一区二区色欲| 亚州乱码中文字幕综合久久久| 中文字幕一区二区三区四区在线视频| 台湾大香蕉99热| 黄在线| 婷婷激情丁香| 超碰超碰欧美| 日韩强奸av| 99久热精品99re6热| 全免费a敌肛交毛片免费| 蜜区区视频79| 日韩美一区| 九月激情婷婷| 久久成人东京热人妻| 亚洲 欧美都市激情| 人人做,人人操,人人摸| 老熟妇一区二区三区啪啪| 欧美 日韩第一性色| 福利在线黄片| 欧美91色| 国产欧美伊人| 国内毛片国产欧美拍| 91激情综合| 五月丁香啪啪| 国产精品久久久无码aV去| 欧美一品道| 91婷婷伊人狠人| 亚洲中文日韩欧美大香蕉视频| 亚洲骚逼少妇| 美女主播色欲91抠b在线播放| 中文字幕亚洲欧美在线不卡| 97干天天| 婷婷五月av| 蜜臀久久99精品久久久久久-DVD原版全| 欧美高潮在线| 五月色网| www.91人妻.com| 美女十八禁| 中文在线久久字幕| 色色色99| 少妇无码av专区线| 精品无吗m| av久日| 97精品一二区| 亚洲中文字幕三级在线| 欧美自拍偷拍综合图片| 中国91AV| 人妻黑丝袜电影| 黑丝少妇麻豆| 强奸乱亚洲| 少妇一区二区三区高速| 亚洲国产精品无石码久久| 国产精品高朝久久久久久久| 91色综合激情| 色噜噜综合在线| 亚洲aV性爱| 淫荡熟女乱伦网| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 蜜桃久久综合视频| 欧美成人一区二区三区在线播放 | 二区熟妇韩日| 激情丁香五月| av资源在线播放天堂| 插穴性爱视频在线观看| 操逼无码操逼| 91天天| 2020中文字幕在线观看| 密臀成人视频久久久| 国产十八禁视频| 国产精品九9| 碰碰在线视频| 欧美亚洲日韩人妻在线观看| 亚洲AV永久无码一区仙野| 中国一区二区亚洲人妻| 在线播放一级无码视频 | 中文字幕在线2| 丰满精品人妻少妇久久字幕| 久久综合日韩亚洲欧美| 无码99| 女人妻一区| 大奶啊啊好爽 | 伊人久久88国产女| 久久伊人五月天| 91精品大奶人妻| 久久老子无码午夜伦不卡| 国产视频一区二区免费| 天天躁日日躁XXXXYY| 亚洲偷拍自拍在线视频| 国产中文字幕曰本毛片| 国产三级中文有码在线视频| 美女极品一区二区三区| 久草视频在线视频在线视频在线观看| 一级人妻性爱视频| 免费一级性爱久久| 国产精品熟女九色九色蜜臀| 欧美激情另类一区二区| 日韩亚洲国产视频| 特级丰满少妇一级AAAA爱毛片| 人妻熟女av国产网站| aaa一级黄片| 熟女人妻久久中文字幕一二区| 亚洲国产精品久久久久久久久久| 91 手机在线播放 绯色| 午夜成人福利影视| 九九九九精品一区| 997色在线|