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

ARTICLE DETAIL

資訊詳情

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

Unity3D實現(xiàn)VR拋物線傳送:物理公式、軌跡渲染與踩坑實錄

Unity3D實現(xiàn)VR拋物線傳送:物理公式、軌跡渲染與踩坑實錄 做VR項目做到一定階段移動方案一定是繞不開的話題。傳送Teleport是VR世界里最成熟的移動范式絕大多數(shù)現(xiàn)成方案都是拉一條直線或者弧形射線點哪兒傳哪兒。但如果你想讓“選擇目的地”這個動作本身也有交互樂趣或想讓玩家在游戲里體驗“投擲感”拋物線傳送是非常值得做的一種變體。這篇內(nèi)容就圍繞我在VR開發(fā)中用Unity3D實現(xiàn)拋物線傳送功能的完整過程展開從物理公式推導(dǎo)、軌跡渲染、落點校驗到實際踩坑盡量寫得能直接落地。這個功能的核心其實不復(fù)雜按下手柄按鍵從手柄位置拋出一個帶有初速度的物體讓它受重力影響畫出一道拋物線在軌跡末端生成落點標(biāo)記松開按鍵時玩家瞬間移動到標(biāo)記處。它解決的痛點是傳統(tǒng)直線射線傳送容易顯得廉價、選擇路徑時缺少反饋以及部分場景比如要越過矮墻、二層平臺直線射線夠不著目標(biāo)。本文適合正在做VR交互、想自己實現(xiàn)傳送而不是無腦套現(xiàn)成插件的人參考也適合對物理公式在Unity中落地感興趣的開發(fā)者。1. 先說清楚拋物線傳送要解決的三個問題1.1 為什么不做“點到點”瞬移很多VR項目里“點到點”瞬移是先用一根激光射線瞄準(zhǔn)目標(biāo)點按鍵就傳過去。這種方式最大的問題是它其實是一個“一維選擇器”玩家看到的是一條直直的光線它只覆蓋從手柄發(fā)射點向前方直線延伸的視野區(qū)域。如果你要傳送到一個二層平臺或者要跨越一堵矮墻直線射線根本選不中目標(biāo)。直線射線在任何遮擋面前都會直接卡住玩家只好反復(fù)移動來尋找合適的發(fā)射角度這種挫敗感在復(fù)雜場景里非常明顯。拋物線就不同因為受重力影響軌跡天然帶弧線可以“扔”過矮墻落在二層平臺的邊緣甚至越過某些低矮障礙物落到視野盲區(qū)的后方。它更符合人類“把東西扔過去”的本能認(rèn)知玩家學(xué)起來幾乎零成本。另一個隱藏原因是反饋豐富度。直線射線傳送玩家只能看到終點的一個標(biāo)記點軌跡本身沒有太多信息量。但拋物線軌跡上有運動方向、弧度、速度感這些視覺反饋能幫助玩家估計落點甚至在游戲里作為解謎機制比如必須把傳送標(biāo)記拋進(jìn)某個窗口來用。我當(dāng)時的項目需求就是需要一個“能越過障礙物、看起來像扔出去的傳送方式”所以做了拋物線傳送。1.2 三條實現(xiàn)路線對比在Unity里做拋物線軌跡行業(yè)內(nèi)常見的其實有三條路線我在動手前也糾結(jié)過路線實現(xiàn)方式優(yōu)點缺點物理引擎模擬實例化一個剛體小球給它初速度和重力讓Unity物理系統(tǒng)自己去跑自然碰撞、落地反彈等行為不用自己寫每幀要實例化和判銷毀性能開銷大軌跡不確定性高沒法精確預(yù)測落點純物理公式迭代用拋體運動公式在腳本里逐幀計算軌跡點自己判斷碰撞完全確定性強可以提前渲染整條軌跡不依賴物理場景性能可控需要自己寫碰撞檢測邏輯對采樣點密度有要求混合式公式算軌跡但落點附近用射線檢測結(jié)合剛體預(yù)覽球兼顧確定性和碰撞真實性實現(xiàn)邏輯更復(fù)雜調(diào)試周期長我最終選了純物理公式迭代。原因很實際VR項目對幀率極度敏感每幀實例化剛體球那套方案在場景稍大的時候會帶來明顯的GC壓力掉幀體驗非常糟糕。而純公式方案只需要在Update里循環(huán)幾十次算點坐標(biāo)成本極低而且軌跡完全可預(yù)測后面做傳送合法性檢測也方便。1.3 我選“純物理公式”的三個理由第一個理由是確定性。物理引擎模擬出來的軌跡受幀率影響不同機器上落點會有微小偏差而在VR里玩家對傳送落點的精準(zhǔn)度容忍度很低偏差一個腳掌的距離就會覺得“傳歪了”。公式計算出來的落點在每一幀都是一樣的只要初始參數(shù)不變結(jié)果就不會變。第二個理由是透明可控。物理引擎模擬時重力、阻尼、碰撞響應(yīng)由Unity內(nèi)部決定我想調(diào)整弧線高度、初速度只能調(diào)Rigidbody參數(shù)調(diào)完經(jīng)常要反復(fù)測試看效果。純公式路線把這些都變成了腳本里顯式可見的變量速度、角度、采樣間隔、碰撞半徑一目了然后續(xù)做參數(shù)調(diào)優(yōu)非常舒服。第三個理由也是實際開發(fā)中遇到的物理引擎路線處理“中途軌跡被擋住”的情況非常死板。剛體碰撞會直接反彈、減速軌跡形態(tài)不可控而公式路線可以自己決定“碰到障礙物就停住并顯示禁止標(biāo)記”跟傳送語義完全吻合不會出現(xiàn)一個滾動的小球反彈到莫名其妙的位置。2. VR交互語義從按鍵到拋物線的手感設(shè)計2.1 交互流程定義拋物線傳送不是一個單純的“按一下按鈕就完成”的動作它其實包含一個完整的交互循環(huán)。我最終定義的流程是玩家按住主手柄扳機Trigger或A鍵此時手柄前方開始生成拋物線軌跡線。軌跡線實時跟隨手柄朝向末端會顯示一個半透明圓盤作為落點指示器。玩家保持按住狀態(tài)可以移動手柄調(diào)整軌跡弧度和落點。松開按鍵如果落點合法玩家立即瞬移到目標(biāo)點如果落點非法比如撞墻、懸空、超出范圍松手不會觸發(fā)傳送并給出一個明顯的“禁止”反饋。如果按住超過3秒視為取消軌跡消失不觸發(fā)傳送。這組流程看起來簡單但實際編碼里隱藏了很多細(xì)節(jié)。比如按鍵的“剛按下”和“按住中”要區(qū)分清楚比如從按下到開始生成軌跡需要一個小延遲我用了0.15秒避免玩家只是無意識碰了一下扳機就觸發(fā)預(yù)覽模式也避免點擊式瞬移快速點按即傳被誤判。如果你做的是點擊式傳送流程可以簡化但“長按取消”這個邏輯我還是建議保留因為VR里手柄誤觸太常見了。2.2 初速度方向怎么取這是整個拋物線傳送里手感差異最大的一個參數(shù)。很多人第一次實現(xiàn)時會直接拿手柄的forward方向作為初速度方向結(jié)果發(fā)現(xiàn)拋物線飛得又平又低多數(shù)落點都在視野近處根本飛不遠(yuǎn)。原因在于玩家的手柄握持姿態(tài)通常是斜向下或水平的forward方向本身就指向水平或偏下。要是直接給一個10m/s的水平速度重力會把軌跡迅速壓向地面弧線高度不足越過矮墻變成了一件難事。我的做法是在手柄朝向的基礎(chǔ)上加一個固定的俯仰補償角。具體來說先取手柄的實際旋轉(zhuǎn)四元數(shù)然后疊加一個15度左右的俯仰角即向上抬再作為初速度方向。這個角度不是一個最小值你在給參數(shù)表的時候需要留出開放參數(shù)。實際測試中15度到20度之間的體感最平衡——弧線足夠高飛行距離也夠遠(yuǎn)角度太大時軌跡很長很飄玩家會感覺落點不可控。如果想讓手感更好可以進(jìn)一步把初速度方向從“純手柄朝向”改成“手柄位置到玩家頭部朝向的水平投影方向”的插值。也就是說玩家頭往哪看拋物線就更偏向哪邊手柄只負(fù)責(zé)微調(diào)弧線。我當(dāng)時項目里最終用的就是這個混合方案初速度方向 頭部朝向的水平投影與手柄朝向的加權(quán)平均權(quán)重分別是0.6和0.4。這個方案的優(yōu)勢是玩家不需要大幅度轉(zhuǎn)動手腕就能把拋物線導(dǎo)引到自己想看的方向體驗上更接近“潛意識控制”。2.3 防誤觸、冷卻與取消機制VR里的誤觸比你想的嚴(yán)重得多。別管是手柄握持不穩(wěn)還是玩家在交互中無意識按動只要沒有保護機制你就會看到玩家不停地在場景里亂閃。所以我加了三道保險。第一道是觸發(fā)閾值。扳機鍵不是用“按下”判斷而是用“超過0.7的輸入值”判斷抬高觸發(fā)門檻使用觸點式按鍵的則要求按住超過0.15秒才開始進(jìn)入預(yù)覽模式。這一步把無意識碰觸過濾了大半。第二道是冷卻。傳送完成之后設(shè)置一個0.8秒的冷卻時間在這段時間內(nèi)按住扳機不會進(jìn)入預(yù)覽模式。冷卻時間不宜太長太長了影響操作的連續(xù)性不宜太短太短了玩家還沒站穩(wěn)又被傳送一次。0.8秒在多數(shù)場景里已經(jīng)足夠。第三道是取消機制。按住超過3秒自動取消或者玩家可以通過同時按下另一只手柄的菜單鍵來強行取消。這個“3秒上限”在調(diào)試時幫了大忙不然玩家一旦誤按住扳機就進(jìn)退兩難只能松手瞬移到一個不想去的地方。3. 軌跡計算與渲染真·物理公式實現(xiàn)3.1 拋體運動公式回顧純公式路線的核心就是這個高中物理就學(xué)過的位移公式在Unity里寫成向量形式p(t) p0 v0 * t 0.5 * g * t2其中p0是發(fā)射起點位置v0是初速度向量g是重力加速度向量Unity里直接用Physics.gravity就行默認(rèn)是(0, -9.81, 0)t是經(jīng)過的時間。這個公式的含義很好理解如果沒有重力物體會沿初速度方向勻速直線運動重力則會讓物體在垂直方向上不斷“下落”。當(dāng)兩個方向疊加起來就形成了拋物線。在Unity代碼里這個公式可以直接向量化不需要自己拆x和y分量寫起來反而更直觀。要注意一點Unity的Physics.gravity是可改變的如果你在項目里改過重力設(shè)置這里會跟著變這其實是個好事在某些特殊關(guān)卡里可以調(diào)節(jié)重力制造微重力傳送。如果不想依賴全局設(shè)置就在腳本里寫死一個重力向量。3.2 軌跡采樣與LineRenderer渲染拿到公式接下來就是把軌跡畫出來。我用的是Unity的LineRenderer組件因為它本質(zhì)就是一系列頂點連成的線非常適合畫軌跡。關(guān)鍵是采樣策略。你不能一幀算幾百個點也沒必要軌跡的平滑度和采樣間隔直接相關(guān)。我最終采用的參數(shù)是采樣間隔0.05秒最多采樣64個點即最大預(yù)覽時間3.2秒。在Speed為10m/s、俯仰角15度的條件下水平飛行距離能達(dá)到接近30米對于VR傳送場景完全夠用。如果你的場景更小可以把采樣間隔拉大點比如0.08秒點少反而更流暢。軌跡的終止條件需要分三種情況處理時間超過最大采樣時間水平距離超過設(shè)定的最大傳送距離軌跡碰到了障礙物。前兩種是在循環(huán)里用break跳出第三種需要通過手動檢測碰撞來終止見后面落點檢測部分。LineRenderer渲染時頂點數(shù)組我用一個固定長度ArrayPool或者直接new一個Vector3[maxPoints]數(shù)組避免每幀new List的開銷。設(shè)置頂點時先調(diào)positionCount再逐個SetPosition最后給LineRenderer設(shè)置一個漸變的材質(zhì)顏色從發(fā)射點的高亮白色漸變到終點暖黃色這種視覺反饋在VR里非常清晰。3.3 完整示例代碼下面這段代碼是我實際項目里簡化后的主邏輯保留了核心框架。它負(fù)責(zé)讀取手柄輸入、計算軌跡、渲染軌跡、檢測落點。using UnityEngine; using UnityEngine.XR; public class ParabolaTeleport : MonoBehaviour { [Header(傳送參數(shù))] public float launchSpeed 10f; public float launchAngleCompensation 15f; // 俯仰補償角單位度 public float maxDistance 30f; public float minDistance 1f; public float sampleInterval 0.05f; public int maxPoints 64; public float sphereCastRadius 0.15f; [Header(碰撞層設(shè)置)] public LayerMask groundMask; public LayerMask obstacleMask; public LayerMask teleportBlockMask; [Header(手柄與雷達(dá))] public XRNode handNode XRNode.RightHand; public Transform playerRig; // XRRig的根節(jié)點 private LineRenderer line; private Transform marker; // 落點指示器 private bool isPreviewing; private float triggerValue; private float pressStartTime; private Vector3 aimDirection; private Vector3 hitPoint; private bool isValidTeleport; private void Awake() { line GetComponentLineRenderer(); line.positionCount 0; // 這里marker可以是在子物體里預(yù)先放好的一個圓盤 marker transform.Find(LandingMarker); marker.gameObject.SetActive(false); } private void Update() { var handDevice InputDevices.GetDeviceAtXRNode(handNode); bool triggerDown false; bool triggerUp false; if (handDevice.isValid) { float newValue; handDevice.TryGetFeatureValue(CommonUsages.trigger, out newValue); if (newValue 0.7f triggerValue 0.7f) triggerDown true; if (newValue 0.7f triggerValue 0.7f) triggerUp true; triggerValue newValue; } if (triggerDown Time.time - lastTeleportTime coolDown) { pressStartTime Time.time; isPreviewing true; } if (isPreviewing Time.time - pressStartTime 3f) { // 長按取消 CancelPreview(); } if (isPreviewing) { UpdatePreview(); } if (triggerUp isPreviewing) { if (isValidTeleport) ExecuteTeleport(); CancelPreview(); } } private void UpdatePreview() { Vector3 origin GetHandPosition(); Vector3 launchDir GetLaunchDirection(); aimDirection Vector3.Lerp(aimDirection, launchDir, 0.2f); Vector3 velocity aimDirection * launchSpeed; Vector3 currentPos origin; int pointCount 0; bool hitObstacle false; Vector3 lastPos origin; for (int i 0; i maxPoints; i) { float t i * sampleInterval; Vector3 point origin velocity * t 0.5f * Physics.gravity * t * t; line.positionCount pointCount; line.SetPosition(i, point); // 水平距離限制 Vector3 horizontal point - origin; horizontal.y 0; if (horizontal.magnitude maxDistance) { hitObstacle true; lastPos point; break; } // 逐段做球形檢測防止軌跡穿模 if (i 0) { Vector3 direction (point - lastPos).normalized; float distance Vector3.Distance(point, lastPos); if (Physics.SphereCast(lastPos, sphereCastRadius, direction, out RaycastHit hit, distance, obstacleMask)) { point origin velocity * (i * sampleInterval); line.SetPosition(i, point); hitPoint hit.point; hitObstacle true; break; } } lastPos point; } if (pointCount 0) line.positionCount pointCount; // 落點計算從最后一個軌跡點向下打射線找地面 Vector3 rayStart line.GetPosition(pointCount - 1); bool foundGround Physics.Raycast(rayStart, Vector3.down, out RaycastHit groundHit, 30f, groundMask); bool validArea IsValidTeleportArea(groundHit.point); isValidTeleport foundGround validArea !hitObstacle; marker.gameObject.SetActive(isValidTeleport); if (isValidTeleport) { marker.position groundHit.point Vector3.up * 0.02f; } // 顏色反饋合法用綠色非法用紅色 line.startColor isValidTeleport ? Color.green : Color.red; line.endColor isValidTeleport ? Color.green : Color.red; } private Vector3 GetHandPosition() { var device InputDevices.GetDeviceAtXRNode(handNode); Vector3 pos; device.TryGetFeatureValue(CommonUsages.devicePosition, out pos); return pos; } private Vector3 GetLaunchDirection() { var device InputDevices.GetDeviceAtXRNode(handNode); Quaternion rot; device.TryGetFeatureValue(CommonUsages.deviceRotation, out rot); // 手柄forward方向 俯仰補償 Vector3 forward rot * Vector3.forward; Quaternion compensation Quaternion.Euler(launchAngleCompensation, 0, 0); return compensation * forward; } }這段代碼包括了輸入讀取、軌跡計算、碰撞檢測、落點校驗和顏色反饋主體已經(jīng)能跑。但你要注意幾件事GetHandPosition里拿到的坐標(biāo)是手柄追蹤器的世界坐標(biāo)如果你的手柄坐標(biāo)系和玩家根節(jié)點不一致要注意相對轉(zhuǎn)換GetLaunchDirection里的Vector3.forward要和你手柄模型的實際朝向一致有些手柄模型建模時forward方向是反的表現(xiàn)出來就是軌跡往身后飛。3.4 軌跡合法性反饋軌跡顏色反饋我做得比較細(xì)致。合法落點用從綠到白的漸變色非法落點用紅色并降低透明度這樣即使玩家余光掃到也能快速判斷能不能傳送。落點指示器我不用圓盤貼圖而是用一個半透明淺藍(lán)色圓環(huán)圓環(huán)會隨地面法線旋轉(zhuǎn)貼在地面上。注意在落點處于斜坡上時圓環(huán)應(yīng)該貼合斜坡而不是保持水平否則視覺上會“懸空”或“陷入地里”。除了顏色我還會在非法落點時讓指示器閃爍。閃爍頻率在4Hz左右比呼吸燈節(jié)奏快玩家能明確感知“這個位置不能用”。閃爍的實現(xiàn)方式是每0.25秒切換一次圓環(huán)的可見性但如果你的項目對閃爍敏感比如有光敏人群可以改成靜態(tài)紅色圓環(huán)。4. 落點判定與傳送執(zhí)行4.1 落點檢測與碰撞處理軌跡循環(huán)里我用了SphereCast來判斷“途中是否撞到障礙物”。這里要強調(diào)一下邏輯順序如果軌跡被障礙物擋住那么落點就不能按理想的物理公式終點算而是要以擊中的那個點作為軌跡末端。代碼里用的方式是在每相鄰兩個采樣點之間做一次球形檢測只要途中命中任何障礙物就把當(dāng)前點保留為終點并記錄hitPoint。最后從hitPoint向下打一根射線找地面如果地面在合理范圍內(nèi)且玩家站上去不會卡住就標(biāo)記為合法落點。這個“向下打射線”步驟很關(guān)鍵。因為拋物線的終點只是“軌跡物理飛行能夠到達(dá)的位置”不代表那是一個人能站的位置。有可能軌跡終點在懸崖外、在半空中、在湖面上所以必須向下尋找到實體地面。地面射線的長度我設(shè)為30米因為最大的拋物線落點高度差也就這么高太短的射線會導(dǎo)致高空落點永遠(yuǎn)判為非法。另外SphereCast的半徑要和玩家膠囊體匹配。玩家在VR中通常用一個膠囊碰撞體表示半徑在0.2米左右。為了確保傳送過去的瞬間不會卡進(jìn)墻體SphereCast半徑取0.15米對窄縫的判斷比碰撞體更嚴(yán)格一點寧可錯殺一些比較窄的屋檐也不能讓玩家傳進(jìn)去。4.2 傳送前校驗清單到了“松開按鍵”的一刻不應(yīng)當(dāng)僅僅檢查軌跡終點下方有地面就傳送。我在執(zhí)行傳送前還會做四重校驗落點是否處于“可傳送區(qū)域”Layer內(nèi)。我會把所有非傳送平臺物體都打上teleportBlockMask檢查落點周圍0.25米范圍內(nèi)是否觸碰了這個Layer觸碰則禁止。落點與玩家當(dāng)前高度差是否超過0.5米或低于-0.5米。VR里玩家可能在小臺階上允許稍微一點高度差但超過0.5米的落差如果還傳送玩家會感覺視角瞬間下墜容易產(chǎn)生眩暈。落點周圍是否有玩家站立半徑的碰撞體。用Physics.OverlapCapsule檢測半徑為0.25米、高度為1.2米的圓柱體區(qū)域。如果該區(qū)域內(nèi)有任何非地面碰撞體禁止傳送。落點是否在可玩邊界內(nèi)。這個邊界可以是一個BoundingBox或者一個圓形半徑防止玩家傳送出場景。每一層校驗失敗時都應(yīng)該有不同的反饋。例如到非法區(qū)域的落點軌跡直接以紅色顯示并閃爍如果只是高度差超過限制軌跡仍然顯示綠色但落點圓環(huán)變暗。這種分級的反饋讓玩家慢慢學(xué)會哪些落點可以用。4.3 傳送執(zhí)行與防暈細(xì)節(jié)傳送的執(zhí)行其實就一行代碼把XRRig的位置整體平移到目標(biāo)坐標(biāo)。但這里有幾個工程化的坑。第一如果你用了CharacterController組件傳送前必須先禁用CharacterController再修改XRRig的position然后重新啟用。不要讓CharacterController在激活狀態(tài)下直接改位置否則它會和Unity的碰撞檢測系統(tǒng)產(chǎn)生沖突導(dǎo)致玩家被彈開或者漂移。如果項目用的是Rigidbody加約束也要先把Rigidbody.velocity清零再移動位置。第二傳送時不要改變玩家的旋轉(zhuǎn)方向也不要改變玩家頭部相對身體的偏移。很多新手實現(xiàn)傳送時會順手把XRRig的rotation設(shè)成落點的面向方向這個操作在快速轉(zhuǎn)動下很容易誘發(fā)頭暈。我的做法是保持rotation不變只改position讓玩家自己轉(zhuǎn)身即可。第三為了減少傳送帶來的視覺跳變我用了一個簡單的Canvas黑幕淡入淡出開始傳送前把透明度調(diào)到0.8禁用玩家控制約0.1秒然后移動位置并調(diào)回透明。這個效果不需要復(fù)雜插件一個ScreenSpaceOverlay的黑色UI就行。有些玩家討厭傳送黑屏但比起瞬間跳圖帶來的眩暈短暫的黑幕其實更友好。在實際項目中我讓美術(shù)做了一個粒子“拖尾”效果在傳送起點和終點各放一個漣漪配合黑幕反而讓瞬移有了儀式感。5. 常見問題與排查思路5.1 軌跡穿模、落點懸空這是最常見的現(xiàn)象軌跡線明明看起來穿過了墻體LineRenderer卻直接畫到了墻后面或者軌跡末端懸在半空沒有貼到墻面上。絕大多數(shù)原因都是采樣間隔過大。如果你設(shè)sampleInterval為0.1秒那么在初速度10m/s的情況下每兩個軌跡點之間距離有1米1米的間距內(nèi)完全可能跨越一堵薄墻SphereCast檢測根本碰不到。解決方法是把采樣間隔降到0.03到0.05秒讓每兩個采樣點的間距控制在0.3米以內(nèi)。代價是LineRenderer頂點變多但64個點的上限不會太大。另一種情況是SphereCast的起點和方向計算錯誤。注意在相鄰點檢測時不要用當(dāng)前幀的point作為SphereCast的起點而應(yīng)該用上一幀的lastPos并且distance是兩點的距離。很多錯誤寫法是把起點設(shè)成point方向設(shè)成上一幀到當(dāng)前幀的方向順序反了射線和實際運動方向不一致自然檢測不到碰撞。5.2 傳送后卡住或掉下去卡住通常是我的四重校驗里某個環(huán)節(jié)沒生效。最常見的是“OverlapCapsule檢測”只測了靜態(tài)碰撞體但場景里有動態(tài)物體比如移動的房門、升降平臺玩家傳送過去時動態(tài)物體剛好在那里處理方式是把所有動態(tài)物體在傳送校驗的瞬間強制標(biāo)記為teleportBlockMask一層檢測這樣動態(tài)物體也能被擋住。掉下去的情況多半是地面射線檢測的groundMask包含了錯誤層級。比如某個平臺的玻璃地面確實寫在了Ground層但踩上去會掉落這種場景里要單獨把透明地板從Ground層踢出加入teleportBlockMask。另一個原因是地面射線距離設(shè)得太長比如從高層向下的射線穿過了兩層地板最終命中的是最底層的地面導(dǎo)致落點雖然顯示在高層但實際位置在地下。解決方法是限制Raycast距離或者在高層平臺間預(yù)先放置一層“不可穿透地板”。5.3 手柄抖動導(dǎo)致目標(biāo)亂跳軌跡跟隨手柄朝向而VR手柄實時追蹤數(shù)據(jù)帶有高頻噪聲玩家手哪怕微微晃動2到3度拋物線落點的水平偏差就可能達(dá)到好幾米。這會讓軌跡末端像“亂甩”一樣抖。我的解決方案是對aimDirection做指數(shù)平滑。每次更新軌跡前用Vector3.Lerp(aimDirection, newAimDirection, 0.2f)過渡。注意Lerp的系數(shù)不能太小0.05會讓落點反應(yīng)遲鈍、手感黏滯0.2到0.3之間是比較舒服的區(qū)間。平滑之后軌跡移動會變得“粘”但又跟手玩家的小幅晃動被自然濾除大幅甩動仍然能快速響應(yīng)。如果平滑之后還抖動說明手柄旋轉(zhuǎn)數(shù)據(jù)本身有問題可能是追蹤器標(biāo)定問題??梢栽谡{(diào)試界面里實時打印手柄的rotation觀察是否在靜止時仍有明顯漂移。若確實漂移建議按手柄的“重新標(biāo)定”流程處理。5.4 性能與GC優(yōu)化要點純公式路線的性能不是問題但渲染環(huán)節(jié)有一處很容易踩雷每幀修改LineRenderer.positionCount會引發(fā)Mesh重建如果內(nèi)容在Update里每幀改GC會和網(wǎng)格重新分配疊加造成掉幀。我優(yōu)化的辦法是初始化時就給一個固定長度比如64平時不讓positionCount變動用完之后把多余的頂點擠到同一位置再用ChangeMaterialPropertyBlock之類的邊緣顯示技巧隱藏尾部。不過實際開發(fā)里最省心的做法就是每幀先清空positionCount為0再設(shè)置實際點數(shù)因為Unity 2021之后LineRenderer在positionCount變化時的內(nèi)存分配已經(jīng)優(yōu)化過實測在Quest這類一體機上也沒有明顯問題。如果你用OpenXR 一體機平臺還是建議把頂點數(shù)組預(yù)分配好然后一次性SetPositions不反復(fù)改positionCount。另外落點指示器不要每幀Instantiate/Destroy。我項目中用一個預(yù)置好的圓環(huán)對象每次只需更新位置和顏色不產(chǎn)生新GameObject這是基本的復(fù)用原則。6. 參數(shù)調(diào)優(yōu)、擴展方向與個人體會6.1 推薦參數(shù)表與手感調(diào)法調(diào)參數(shù)是一個反復(fù)試錯的過程我這里給出一組實測比較穩(wěn)的初始值你可以在此基礎(chǔ)上按場景調(diào)整參數(shù)推薦范圍說明launchSpeed8 ~ 12 m/s偏小會讓弧線很短偏大容易超出可控范圍launchAngleCompensation10 ~ 20度15度比較平衡喜歡投擲感可以加到20度maxDistance15 ~ 30米取決于場景大小大場景可以放30米minDistance1 ~ 1.5米小于1米會導(dǎo)致原地傳很出戲sampleInterval0.03 ~ 0.06秒越小軌跡越平滑但點數(shù)和性能開銷增加sphereCastRadius0.1 ~ 0.2米結(jié)合玩家膠囊體半徑使用coolDown0.5 ~ 1.5秒0.8秒最快手感新手場景建議1.2秒cancelTime3 ~ 4秒3秒比較緊迫4秒放寬但容易誤觸我調(diào)參時的做法是在場景里放置一個空的大平面用調(diào)試面板實時顯示“當(dāng)前落點坐標(biāo)”和“軌跡終點坐標(biāo)”一邊用手柄移動一邊打印。你可以把參數(shù)都做成可序列化字段在Inspector里直接改然后跑場景測試。要注意的是改角度補償和初速度之后軌跡的落點范圍會大幅變化同時也要復(fù)查一遍最大傳送距離是否仍合理。6.2 擴展方向拋物線傳送這種交互模型的可擴展性很強不只是“傳送”本身。我當(dāng)時做完之后順手還做了一個投擲物體的變體同樣的物理公式但不再渲染整條軌跡線只是在物體離開手之后顯示一小段拖尾配合碰撞音效變成了一個投擲交互模塊。另一個很有用的擴展是把軌跡變成“多段彈跳式”讓拋物線擊中地面之后繼續(xù)反彈一次生成第二段拋物線這樣玩家可以把標(biāo)記“彈”到墻背后的區(qū)域。實現(xiàn)方式并不復(fù)雜一旦第一段軌跡碰到地面或墻面取接觸點、把速度方向沿表面法線反射并乘一個反彈系數(shù)然后從接觸點重新啟動一段新的拋物線。我試過在狹窄走廊場景里這種彈跳式追蹤能力能讓玩家傳送到直線視野根本無法到達(dá)的角落交互樂趣提升不少。如果項目性能緊張還可以把軌跡改為Bezier曲線近似用2到3個控制點近似拋物線再把采樣點數(shù)量減半。Bezier近似的優(yōu)點是曲線更平滑、頂點更少但缺點是你需要定期驗證近似誤差是否在可接受范圍內(nèi)直線穿越薄墻時仍要依賴物理檢測來做硬性校驗不能為了省頂點犧牲物理正確性。6.3 我踩過的坑和后續(xù)計劃最后聊幾個印象比較深的坑。第一個是手柄的forward方向我當(dāng)時調(diào)試時發(fā)現(xiàn)軌跡總是往手柄左邊飛查了半天發(fā)現(xiàn)是手柄模型本身轉(zhuǎn)了90度導(dǎo)致取用的forward方向和玩家視覺上看到的朝向不一致。這個問題的排查方式是在場景里用一個Debug箭頭實時繪制手柄的rotation一眼就能看出來是模型朝向還是代碼問題。所以你在做這個功能時第一件事就是確認(rèn)手柄模型的正方向。第二個坑是“傳送后保持用戶頭部高度”。大多數(shù)VR項目的玩家高度是動態(tài)的坐姿/站姿傳送時如果直接把XRRig的Y坐標(biāo)設(shè)成落點平面的高度會導(dǎo)致坐著的玩家突然“站”起來或者站著的玩家突然“坐”下去。正確做法是目標(biāo)位置的Y坐標(biāo) 落點平面高度 玩家當(dāng)前身高偏移這個偏移在站姿模式用Calibration時的相對高度記錄在坐姿模式需要單獨保存。我當(dāng)時忽略了這個導(dǎo)致測試時每次傳送后視角高度都跳變后來加了高度偏移才解決。第三個坑是多人場景中的同步。如果你在做多玩家聯(lián)機項目傳送絕對不能只在本地修改位置而是要以網(wǎng)絡(luò)同步的方式把新位置發(fā)送給服務(wù)器。否則其他玩家看你就像閃現(xiàn)一樣而且本地物理碰撞體更新稍慢就會導(dǎo)致“撞車”判定。我的建議是傳送前先走服務(wù)器驗證流程可以執(zhí)行同樣的落點合法性校驗確認(rèn)后再本地瞬移這樣既防了外掛又保證了多人一致性。說回后續(xù)計劃。我目前在考慮把這個拋物線傳送模塊做成一個可復(fù)用的通用工具不止適配傳送還能擴展到投擲、跳躍目標(biāo)預(yù)覽這些場景。如果再算上多段彈跳、落點雕刻、動態(tài)障礙避讓它其實更像一個通用的“預(yù)測運動學(xué)”工具而不只是一個傳送腳本。希望你讀了這篇之后能少走些彎路把更多精力放在交互創(chuàng)意上而不是反復(fù)調(diào)試基礎(chǔ)物理參數(shù)。如果后面你遇到其他平臺尤其是一體機上的性能問題歡迎再回來交流。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
蒲京久久无码视频| 综合久久五月| 丁香婷婷狠狠97| 人妻久久久久久久| 伊人五月人妻精品| 亚洲黄色影视| 91日视频| 雪千夏麻豆| 激情99热| 丁香五月六月综合欧美| 五月丁香色播| 日本五月丁香| 天天做综合| 4399精品一区二区| 天天射网站| www.婷婷五月| 激情综合色婷婷六月天| 1995年关宝慧版蜘蛛女| www.91九色| 亚洲激情免费久久| 色色五月天激情| 99色嘟嘟精品网站| 久久婷婷七月丁香| 激婷网| 色欲影香| 国产精品视频免费看| 桃色激情婷婷伊人网| 视频久久9| 欧美日本不卡黄色片| 日日干天天| 26uuu在线观看| 激情五月婷婷网在线观看| 大香蕉五月天婷婷丁香91| 亚洲成人无码专区| 激婷网| 婷婷五月色天| 色五月首页| 天天综合五月天| 色婷婷激情五月天在线观看| 久久婷婷五月综合伊人| 婷婷五月天亚洲| 综合五月激情网| 翔田千里aV中文字幕| 久久五月天激情美女| 99免费偷拍视频| 伊久大香蕉| 亚洲精品又粗又大又爽A片| 91久久久久久久| 丁香六月婷婷色播| 97操在线视频| 性爱久久| 97精品人人A片免费看| 伊人久久婷婷| 9热在线| 国产真人做爰视频免费| 大香蕉视频99| 欧美色色色色色色色色色色| 26UUU| 婷五月天天| 99在线资源| 日本视频欧美观看免费| 啪啪激情综合| 亚洲狠狠狠色婷婷综合激情久久久| bbwcuckold精品熟妇| 亚洲色色色色色| 激情五月综合网| 99热精品在线观看| 天天免费日日夜夜夜夜| 天天爱天天爽| 久久伊人大香蕉| 青青草五月天| 狠狠色噜噜狠狠亚洲A∨| 亚洲色区17| 天花AV无码| 激情综合色婷婷啪啪六月天| av 一区三区四区| WWW色五月天| 天天操天天爽天天爱| 婷婷涩涩网| 天天干天天爽天天操| 久久性爱视频这里只有精品 | 狠狠擼综合| 九九热视频首页/这里只有精品| 99热这里只有在线播放| 天天干天天插| 国产成人精品一区二三区熟女在线| 国产婷婷色综合AV蜜臀AV | .精品久久久麻豆国产精品| 婷婷中文字幕欧美| 成人av免费观看| 丁香五月天在线视频| 先锋男人99资源| 狠狠干思思热| 久久这里有精品| 亚洲亚洲人成综合网络| 9月色婷婷| av大香蕉| 国内外色色色色色成人视频| www久视频com| www.粉嫩av.com| 天天操,天天插| 婷婷五月天狠狠| AV在线大香蕉| 亚洲成人无码免费| 99热这里精| 婷婷性爱五月天| 97九色视频| 色五月激情五月开心五月| 五月丁香婷婷成人网| 香蕉伊人综合| 这里只有精品免费视频在线观看 | 91人人澡人人爽人人看| 五月丁香花婷婷玉莉AV| 免费视频WWW在线观看网站| cao久久| 亚洲精品网站色视频| 天天做天天爱天天综合网| 九九热最新地址| 91久女| 九九成人精品免费视频| 激情综合网址| 91婷婷伊人牛牛| 五月天激情Av| 婷婷五月天伊人| 超碰av天堂| 色婷婷婷综合五月天| 亚洲操操操| 91 欧美| 成人AV免费观看| 五月激激激情综合网| 超碰在线看| 任你搞网站| 人人视频色| 久久人妻精品| 九热在线这里有精品6| 大香蕉中文| 九九精品9| caopeng超碰| 人人干女人| 日本三级第一页| 天天操夜夜啊| 日本欧美成人片AAAA| 亚洲成人综合在线| 99爱视频免费| 久久色五月| caop在线| 无码九九| 河北真实伦对白精彩脏话| 久久丁香五月天| 丁香婷婷色情| 97色碰| 色婷| 美臀自射自家人妻| 日韩在线观看网址| 色色色图| 久9久9久9久9久9久9| 久久久久久久人妻| 婷婷丁香成人| 婷婷久久综合| 五月丁六月婷| 五月婷婷九九热| 99综合色| 婷婷黄色| 欧美性生交xXxX久久久| 玖玖热视频| 婷婷五月丁香激情图片| 色久女| 97人操人免费视频| 丁香成人五月天| 色综久久AV| 综合五月天| 激情伊人五月婷婷久久| 激情av网| 久久人人看| 欧美天天综合网站上去吧| 蜜桃人妻无码AV天堂三区| 人人人人人人人人人草| www激情| 日韩AV在线免费| 小视频久久久aaa| 丁香六月| 99精品成人无码A片观看金桔| 日日干综合| AV片一区在线观看| 婷婷五月电影院| 丁香婷婷人妻| 91超级碰人人操| 99狠狠操一| 另类激情五月天。| 日本天堂网站99| 成人草榴视频| 99视频在线精品| 嫩草视频观看| www.zbzhongsen.com| 秋霞学生妹一二级| 97碰在线免费观看| 五月天啪啪| 激情综合丁| 99视频在线看| 婷婷丁香在线| 五月丁香六月婷婷激情视频在线观看免费| 久久XX| 熟妇人妻中文字幕无码老熟妇| 婷婷开心久久| WWW.五月天9999| 九九九激情网| 久色网| 婷婷丁香五月综合激情视频| 久草婷婷| 99热欧美偷拍| 欧美A片在线视频免费观看| 婷婷五月综合亚洲| 天天干天天操天天干天天操天天干天天操| www.久久9| 天天综合精品| 99热99色| 开心激情站| 色必久悠悠影院| 米奇影视五月天| 亚洲色婷婷五月天| 伊人久久丁香五月91| 亚洲99在线| 99热精品在线播放观看| 五月丁香六月香香蕉| www.lingjunshare.com| 久久五月天合网| 色综合香蕉视频| 亚洲超碰在线| 五月天色影院| 五月丁香综合激情| www.久久99热地址发布| 亚洲五月色| 亚洲丁香五月综合| 丁香无月在线观看| www.henhenl| 欧美三级巜人妻互换| 综合性爱网| 日日夜夜爽爽| 天天爽人人爽| 密黄站| 天天摸人人摸| 五月婷久久| 99噜噜| 玖玖九九9999在线观看视频精品| 日韩艹比| www久久久久久久久久久| 中文字幕av在线| 五月天色丁香| 美国十月色婷婷在线观看| 天天成人丁香美女AV| 色综合综合色| 亚洲综合激情五月久久| 天天爽人人综合免费7799| WWW·色色色·COM| 激情六月天婷婷| 久久免费试看120秒| 天天插操| 综合亚洲AV| 国产精品视频网| 中文字幕不卡视频| 狠狠色97| 亚洲精品亚洲人成人网| 色欲婷婷夜夜| 婷婷丁香五月天小说| 欧美日韓成人亚洲精品另类| 久热这里只有精品99re,久热这里只有精品7| 丁香五月精品视频| 丁香六月婷婷高清| 丁香六月婷婷综合啪啪| 91人操人人人操人| 激情五月天综合| 五月综合视频| 综合网精品99| 久久五月婷婷丁香| 五月婷婷中字在线| 婷婷五月成人系列| 色综合综合色| www.色婷婷| 小香蕉av| 9l视频自拍9l视频自拍九色学生| 永久无码色| 久久人妻爱爱| 中文av网站| 99爱爱网| 丁香五月亚洲| 91操人| 激情婷婷网| 国产日韩av片| hd五月婷婷在线| 婷婷五月深爱五月| 另类A片| 五月天激情久久| 天堂无码人妻精品AV一区| 极品精品一区二区三区在线| 婷婷五月大香蕉| 性韩日色婷婷五月天激情啪啪XXX| 色色99色色| 伊人午夜综合色啪| 伊人99热| 九九综合图片网| 综合色99| 尔尔AV一区| 丁香五月婷婷六月| 婷婷五月天渟渟| 大香蕉院线| 色婷婷亚洲精品天天综| 色综合com| 99色综合| 极品色丁香| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 伊人久久综合| 国产日日夜夜操| 热99这就是精品视频| 色中色综合| 久99久视频精品| 国产精品99久久久久久猫咪| 久久AV电影| 九九精品综合| 精品九九婷婷| 思思热在线视频99| 99色色视频| 婷婷综合另类| 综合图区激情| 亚洲无AV在线中文字幕| 欧美日韩成人| 91九色国产在线| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 久9久成人精品视频| 九九热这里只有精品首页| 色综合色综合网| 五月婷婷成人| 91黄址| 深情五月天| 五月天婷婷激情| 亚洲AV免费国产电影| 69五月天视频| 色婷婷五月天| 99这里只有精品视频在线| 综合网五月| 三级av在线| 九九精品网站| AA丁香综合激情| 五月婷天堂视频| 久久这里只有精品网| 337p大胆噜噜噜噜噜91Av| 五月婷婷性爱视频| 色99热| 亚洲另类在线观看| 最新日本A片| 色综合婷婷99| 五月婷婷六月丁香激情| 激情五月天婷婷丁香| 婷婷丁香激情五月| 日本操B视频在线观看| 九九这里只这里只有精品| WWW久久久| 日韩美女在线视频19| 日韩欧美一级大黄网站| 丁香五月天影院| 五月永久激情| 日逼影音先锋男人资源站| 婷婷亚洲五月丁香综合在线| 亚洲第一成人无码A片| 月婷婷亚洲| 色色亚洲| 六月婷色六月| 婷婷综合在线网| 天堂AV在线看| 麻豆精品| 婷婷在线视频| 深爱激情AV| 天堂成人A片永久免费网站| 99人这里只有精品| 亚洲综合色婷婷文学| 少妇人妻综合色6699| 大香蕉丁香五月| 十月丁香九月婷婷综合| 婷婷激情四射网| 五月丁香无码| 在线五月色播| 日本人妻久久| 成年人丁香五月| 亚洲精品色色| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 激情久久久久久| 婷婷五月亚洲综合| 亚洲在线免费成人| 久热69| 国产精品99久久久久久猫咪| 久久色情| 色五婷婷开心缴| 91精品国产99久久久久久天美| 亚洲AV人人操| 婷婷色丁香五月| 99久久終合| 久久综合影院| 五月婷婷久久内射| 噜噜狠狠色综合久| 99国产精品久久久久久久久久久| 色五月婷婷影院| 五月丁香自拍| 激情内射人妻1区2区3区| 欧洲亚洲精品| 天天操天天爽天天爱| 91干99| 久久婷婷色色| 天天色官网| 久久激情五月天| 丁香激情网| 激情五月婷婷开心网| 色噜噜狠狠色综合成人99| 色婷婷久久久| www.wuyuetian啪啪| 色色色热| 久香草视频在线观看| 黑人熟妇一区二区三区| 久久婷婷五月天激情新地址| 色色婷婷丁香| 激情综合亚洲色婷婷五月| 婷婷婷久久久| 亚洲黄网在线| 年轻的妺妺伦理HD中文| 色五月成人| 色欲资源网| www.99热| 婷婷月综合| 日本系列_4页_777FP| 婷婷久久午夜网| 开心婷婷五月综合| 婷婷色中文字幕| 亚洲成人五月| 夜夜撸天天日| www.日韩艹| 日韩黄黄| 日韩99无码| 天天狠天天叉| 九九综合久久| 婷婷 久综合| 人人操人人妻| 日本一级一级一级一级| 日日操日日撸| 九九热精品6| 9色在线| 成人免费超碰| 丁香五月婷婷国产av| 婷婷成人AV| 伊人天天色| 99福利导航| 97色视频网| 国产毛多水多女人A片| 色婷婷小说网| 激情五月天影院| 99久热这里有精品| 五月婷婷丁香| 草榴视频网| 超碰无码老师| 大香蕉综合视频在线| 五月婷在线观看| 综合99视频| 丁香五月欧美激情| 99re这里只有精品首页| 九九热视频免费观看| 九月激情网| 自拍视频在线观看9| 一起草AV| 国产毛多水多女人A片| 国产免费AV在线| 99热免| 婷婷五月综合激情免费视频| 激情WWW| 五月欧美色播| 色五月婷婷、老熟女| 狠色综合网| 99久re热| 北京熟妇搡BBBB搡BBBB| 中文字幕无码AV| 激情六月婷婷| 丁香激情网| 五月天婷婷久久| 五月香婷婷| 大香蕉五月婷婷| 五月天久久久| 99婷婷| 色婷婷操逼| www九九| 日熟女| www热久久yy9| 成人版视频在线观看| www.99在线| 成人精品在线观看| 99热成人| 一区二区三区四区牛| 国产一级黄色影片,| 伊人丁香五月天丁香在线婷| 天天碰夜夜操| 婷婷六月香| 五月丁香A片| 激情骚五月| www.五月天色色色| 色必久悠悠影院| www.狠狠操.co m| 琪琪秋霞| 最新va在线播放| 久久婷婷六月综合综合| 亚洲视频五区| 国产无套精品一区二区| 日本久碰| 伊人网大香| bbwcuckold精品熟妇| 伊人综合网4| 婷婷综合在线观看视频| 久久狼人天堂| 99精品偷自拍| 青青草原爱爱网| 热99热久| 久久激情视频| 综合网五月天123| 丁香六月天婷婷色| 亚洲欧美综合7777色婷婷| 婷婷六月综合激情| 五月婷婷很很色| 99碰碰视频| eeuss人妻| wwwxxx五月婷婷小说| 丁香五月婷婷偷拍| 国产精品久久久久久久久久| 欧美操综合| 婷婷五月亚洲激情| 婷婷色五月天在线观看| 97人人干| 99婷婷国产最新视频| 日本精品在线噜噜噜| 狠狠操天天日| 婷婷色啪| 亚洲婷婷性爱| 99操99| 天天日夜夜曹| 亚洲亚洲人成综合网络| 久久Xx| 国产日日操夜夜操的肉棒视频| 日日撸夜夜操| 亚洲字幕AV一区二区三区四区 | 大香蕉网站,大香蕉综合| 天天日综合网射| 99ri精品在线| 天天色2017| 91丨九色丨东北熟女| 99re这里只有| 91在线视频观看午夜福利| 成人国产综合| 超碰不卡在线| 91日婷婷在线| 婷婷五月天深爱| 丁香五月六月综合激情| 亚州色综合| 天天爱天天做天天舔| 日韩另类| 激情久久久久久久久久久| www.十八禁不禁AV.com| 日韩成人无码| 久久五月天精品视频| 久久这里只有精品99| 婷婷五月丁香五月基地| 精品网站99| www.99热视频| 欧日韩成人| 色视频五月天| 色青青电影色五月| 狠狠狠狠狠操| 国产真实乱了老女人视频| a在线观看| 区美毛片子| 久久久久久久久久婷婷| 丁香五月婷婷综合网| 日韩AV免费电影在线播放| 精品久热| 综合激情五月丁香| 精品人妻伦| 色情五月婷婷| 色婷婷AAA| 五月丁香婷婷成人网| 婷婷五月天AV在线| 99色| 久热这里只精品| 色狠狠综合网| 性爱网五月天| 五月色网| 婷婷五月综合欧美在线播放| 99热这里只有精| 日韩av干| 三日本无码| 99性爱精品| 91丁香婷婷综合久久欧美| 情涩婷婷五月天| 国产真实乱了老女人视频| 激情二色月| 国产69精品久久久久999小说| 亚洲在线激情婷婷五月| 亚洲久久天堂| 亚洲热热视频| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 99啪啪| 亚洲第一黄网| 欧美美女视频| 五月天激情视频网站| 欧美一级a| 色色色婷| 97人人干人人操| 色五月婷婷久久| 丁香五月综合在线| 亚洲av成人一区二区电影在线| www.色色色色| 另类视频在线| 香蕉网婷婷| www99在线观看视频| 日本三级日本三级99| 99精品无码| 激情婷婷五月基地| 久久hd| 婷婷色色五月天| 丁香五月综合在线播放| 伊人久久大香| 久久97| 天天爽天天干天天| 六月99天天婷婷激情综合| 丁香婷婷深情五月亚洲| 男人天堂亚洲综合| 日韩大片艹艹| 欧美日韩精品人妻狠狠躁免费视频| 五月色丁香激情| 老妇操B| 粉嫩AV久久一区二区三区| 天天做天天爱综合| 超碰免费人妻| 亚洲成人无码免费| 超碰AV在线| 99久久性爱| 精品国产va久久久久| 超碰免费人人肏| 人人操AV| 六月天婷婷| 五月天五月色婷婷综合| 婷婷激情人妻| 婷婷不干网| 超碰高清在线| 啪啪亚洲综合| 国产裸舞福利资源在线视频| 成人 在线观看国产| 大香蕉av在线| 五月丁香啪啪综合| 韩国久久少妇视屏| 欧美噜噜久久久XXX| 狠狠色综合无线观看| 欧美激情五月天| 性爱久久| 五月丁香六月情亚洲| 激情婷婷色小说| 丁香激情五月| 久热伊人9| AA片在线观看视频在线播放| AV电影在线播放| 夜色综合网| 婷婷激情5月| 青青草原中文字幕| 九九99在线免费在线观看视频| 成人免费黄色短视频| 五月天激情小说| 国产婷婷综合在线免费视频| 色99欧洲色19| 99免费视频网| 激情都市五月天| 丁香五月天导航| 婷婷性爱| 激情久久五月天| 碰超99| 激情AV中文| 成人AV播放| 综合六月久久| 欧州婷婷五月天综合| 久操婷婷| 国产AV一区二区三区最新精品| 超碰成人免费| 99性爱| 亚洲日日操| 婷婷四色五月| 色婷婷狠狠18禁| 五月丁香六月在线| 少妇人妻人伦A片| 五月天另类视频| av网址在线| 思思热这里只有精品| 超碰亚洲天堂| 丁香五月天堂网| 综合网啪| 欧美久久婷婷| 91蜜桃婷婷狠狠久久综合9色| 亭亭五月丁香五月天激情| 欧美色图天堂网| 色婷婷成人| 噜噜噜狠狠色综合| 美女被操一区二区| OUMEIRIHANCHENGREN| 久久婷婷五月综合色和| 婷婷五月天国产性感美女演员久久久久| 99热九九在线| 丁香婷婷视频| 天天婷婷综合亚洲亚洲| 99热碰碰热| 婷婷五月综合社区| 五月综合无码| 黄色av网站在线免费播放| 丝袜熟女一区二区三区| 97碰| 可以免费看av网站| 清色五月天| 婷婷午夜天| 五月天色色婷婷| 日本婷婷| 大香蕉综合视频在线| 久草 tingting| 日本在线视频播放91| 日韩成人网址| 久热这里只有精品视频免费观看| 婷婷欧美| 六月婷婷五月天| 婷婷无五月无码视频| 色婷婷无吗| 天堂美国久久| 99国产小视频2013| 新激情五月开心五月婷婷五月丁香五月| 亚洲综合色色| 99视频内射三四| 久综合色| 五月天婷婷狠狠| 婷婷久久综合久| 婷婷丁香五月亚洲| 婷婷五月丁香五月| 伊人久久大香天蕉亚洲特级| 一本久久亚洲五月婷婷| 人妻啪啪啪| 天天射影院| 五月婷婷狠狠久久| 丁香五月激情月| 超碰国产在线观看| cc精品国产性传播| 丁香婷婷久久| 久操97| 六月丁香婷婷在线波多| 99re思思热久久| 成人网页在线观看| 思思热在线视频观看精品| 五月丁香婷婷综合| 激情五月婷婷综合网| 五月伊人网| 玖玖福利视频资源| 九九在线视频| 久久9精品| 色五月亚洲| 狠狠色色色| 激情精品久久| 五月丁香婷婷啪啪| 久久99免费视屏| 5月丁香六月情| 中文av网站| 一起草Av| 丁香六月激情| 激情久久婷婷| 美英法精品无码免费视频| 26uuu亚洲| ou洲色吧| 国产成人+亚洲+欧洲| 热91久| 韩国情人在线电视剧免费观看高清版全集 | www.99视频| av在线免费网站| 最新国产AV| 婷婷色情小说| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 五月综合视频| 激情综合五月天| 99热这里只有免费精品| 色婷婷91激情小说| 激情综合丁| 综合久久激情久久| 乱抡小BB| 碰碰人人人| 99亚洲大片精品永久在线观看 | 婷婷99狠狠| 5月色亭亭视频| 丁香五月性| 五月婷色| 色色99| 五月天六月天| 天天日天天肏天天奸| 99这里只有精品在线| 1024国产在线| 99精品爱| 天天艹| 五月婷婷影院| 激情99| 99色亚洲| 天天插天天草人人玩| 1024操逼| 色播五月婷婷五月| 中文字幕成人影视| 久久人操| 婷五月丁香| 五月婷婷久久大片| 亚洲国产色色| 久七香蕉| 色9999日韩国产| 五月天婷五月天综合网在线观| 午夜成人片400| 日本五月视频| 91久久久久久久久久| 综合网色| 五月色无码| 四川BBB搡BBB搡多人乱亂| 26uuu亚洲欧美| 超碰在线播放免费观看| 99碰碰| 天天操夜夜夜夜爽| 超碰自拍天堂| 亚洲视频五区| 久婷婷久草| 影音先锋91男人资源在线播放| 丁香色六月婷婷| 欧美va视频不用播放器的va视频网| 99精品国产在热久久| 色综合色综合色综合色综合| 亲子乱AV一区二区三区下载| 色爆五月| 欧美性爱五月天| 五月天激日本色情在线| 久热A片| 爱操人妻| 色综合久久88色综合中文字幕| 欧美在线视频9| 久久婷五月天| 五月婷综合网| 蜜臀丁香黄色婷婷五月天| 香蕉人妻AV久久久久天天| 婷婷成人五月天成人文学| AV色五月婷婷| 丁香五月婷婷婷桃花影院| 婷婷亚洲天堂| 日日爽日日| 高清无码.com| 免费AV在线| 一本色道久久88综合日韩精品| 综合九九| 九九人妻福利| 久久久五月天网站| 综合aV在线| 综合激情在线| 丁香久久久| 婷婷五月在线免费| 亚洲AV第二区国产精品| 免费视频WWW在线观看网站| 久久99精品久久久久久噜噜| 777精品成人a v久久| 国产成人+综合亚洲+天堂| 久久您您综合网| 色婷婷9| 五月深爱激情网| 五月色婷婷在线观看| 五月婷激情影院| 91色五月在线观看| 强壮公让我夜夜高潮A片视频| 免费看成人747474九号视频在线观看| 五月色婷婷激情| 伊人五月天综合网| 丁香蜜臀黄色婷婷五月天| avh片在线观看| 中文字幕丰满孑伦无码专区 | 久操综合| 色月丁| 97天堂| www.丁香五月| 蜜桃人妻无码AV天堂三区| 26uuu欧美宗合| oumeisesewang| 亚洲小视频免费看| 五月婷婷啪啪啪| 久久新| 91精品啪| 五月婷婷丁香网| 91狼友视频在线观看| 激情综合五月婷婷| 五月天大香蕉| 五月婷婷婷| 五月丁香| www激情| 五月婷婷大香蕉| 日本色图综合| 五月婷婷色情| av在线观看免费| 99性视频| 久久99网站| 婷婷天天日婷婷| 色五月激情五月天| 色婷婷亚洲婷婷| 狠狠干天天日| 激情综合五月天| 色色婷婷五月| AⅤ网站在线看| 精品一二三区久久AAA片| 爱超碰性| 天久综合91综合首页| 淫视馆av三区| 九 九九九AV| 人妖色AV色综合| 国产AV不卡福利| 国产综合视频婷婷| 色婷婷在线播放| 色色色色热热| 欧美综合婷婷欧美综| www,五月丁,com| 另类综合网| 99成人在线观看| 国产无人区大片| 婷婷伊人綜合中文字幕小说| 大香蕉久久| 熟妇无码乱子成人精品| 99riav 亚洲| 一区二区三区四区牛| 丁香五月网| 99热国品免费| 色亚洲婷婷| 五月激情婷婷在线| www.henhenl| 五月婷婷色| 色婷婷综合久久| 超级碰碰碰碰视频| 91丨九色丨国产打屁股| 思思久久96热在精品国产,| 深爱激情69热| 久久婷婷伊人| 白人荫道BBWBBB大荫道| 在线91日韩| 婷婷四色五月| 丁香五月天激情综合网| 操操操AV| 99色亚洲| 综合激情视频| 中文不卡av| 婷婷情色五月天| 五月天激情播播网| 五月丁香另类图片| 狠狠狠狠狠狠狠狠| 无语停婷丁香网| 亚洲成人AV在线播放| 欧洲激情五月天| 激情五月天社区| 婷婷五月av| 狠狠综合久久综合| 久热只有这里有精品| 五月丁香花开综合网| 97中文在线| 综合色、色综合| 丁香六月啪| 丁香五月婷婷亚洲另类| 久热伊人| 在线综合亚洲欧美65| 丁香五月婷婷色| 婷婷色情小说| 久久久久久久人妻| 超碰人人操人人9| 丁香五月婷婷少妇| 五月天婷婷久久综合| 日韩一级片| 久久婷婷五月综合色天| 五月综合亚洲色| 六月丁香网| 亚洲乱码日产精品BD| 亚洲成人高清在线| 99国产性感视频| 五月丁香狠狠爱| 日韩在线99| 26uuu亚洲精品国产| 婷婷激情图片| 91超级碰在线视频| 。久久久久久久久久久久久久人妻 | 国产偷人爽久久久久久老妇APP| 女婷久久| 五月天激情电影| 丁香情色五月| 99热99ai| 久久激情网| www.五月天婷婷| 五月天深爱激情网| 成人做爰A片免费看网站找不到了| 99免费热视频在线| 丁香六月婷婷五月婷婷| 超碰只有精品在线| 99高级会所久久| www.超碰在线| 操逼六区| 九九99精品视频在线观看| 色色色五月天婷婷| 久这里只有精品99| 久久人操| 婷婷久久久久| 狠狠综合网| 亚洲色图日韩网址| 中文字幕乱轮| 丁香影院五月综合| 小视频一区 | 黑人巨粗进入警花疼哭A片| 丁香亭亭久久| 婷婷操逼| 亚洲午夜av| 色婷婷88| www.五月婷婷.com| 99只有精品| 色欲久久久久久综合网综合网| 亚洲aV写真天天综合网久久| 爱iii做iiii日日| 另类图片 五月激情| 国产欧美性成人精品午夜| 五月婷婷和六月| 99精品在线观看| 丁香六月色情| 色五月激情五月| 五月天婷婷青青| 五月天丁香| 五月天激情日色在线| 狠狠精品干练久久久无码中文字幕| 99r久久这里只有精品| AA片在线观看视频在线播放| 婷婷色五月亚洲| 婷婷色影音天| 丁香婷婷色五月天| 久久色午夜在线导航| 婷婷五月色天| 丁香五月婷婷超碰在线| 可以直接看的AV| 深爱激情中文五月天av| 99在线精品免费视频| 五月丁香天堂网婷婷| 人妻有码乱操| 热99在线| 狠狠综合久久| 亚洲成人免费电影| 五月激情精品视频| 国产一级黄色影片,| www.日日夜夜.com| √天堂资源在线人妻熟女| 久久女婷| 婷婷五月天影视| 五月丁香亭亭A片| 丁香五月天亚洲视频| 99色在线| 日产精品一线二线三线芒果| 色99在线视频| 97人人操在线| 精品无码久久久久久久久| 99热九九热| 五月婷婷啪啪啪| 欧美69久成人做爰视频| 丁香五月婷婷激情中文| 狠狠干综合网| 天天干,天天日| 婷婷五月天堂一本在线| 国产ava| 夜夜穞天天穞狠狠穞AV美女按摩| 99国产这里只有精品| 久久久久久久久久91| 色婷婷成人做爰A片免费看网站| 99精品视频在线| 婷婷综合色网| 日日影院 | 五月丁香六月激情在线| 婷婷五月成人色综合| 五月天综合在线网| 丁香五月欧美激情| WWW.色婷婷.COM| 五月婷婷激情性爱| 丁香五月综合网| 超碰二区| 六月色国内综合| 五月丁香激情综合网| 日韩乱轮AV| 这里只有精品视频99| 91精品国产综合久久密臀| 婷婷色情网| 五月婷婷综合网| 99色热视频| 色婷婷视频综合| 五月婷丁香| 99热99| 天天日天天爽| 成人婷婷| 激情小说五月欧美亚洲丁香| www.久久| 天天综合色丁香| 性生生活大片又黄又| 五月丁香狠狠爱| 五月天亭亭俺也| 久久国产精品乱子伦_靑青草…| 免费播放片大片| 久久婷婷青青草| 成人在线99| 久热91精品| 大陆肏屄视频| 色噜噜,噜噜色| 色欲色天天香综合| a色婷婷| 色吧网综合| 丁香五月性| 午夜丁香婷婷| 九九综合伊人| 丁香六月激情国产| 三级大香蕉网| AAAA亚洲| 丁香五月激情天AV无码| 成人午夜无码视频| 婷婷五月天综合AV| 久久久久五月丁香| 激婷网| 少妇高潮A片无套内谢麻豆传| 99这里都是精品6| 五月丁香六月天| 婷婷五月天激情网站| 多精窝99在线视频| 久久久99视频| 中美日韩成人在线| 色五月天丁香婷婷色| 亚洲激情六月丁香| 丁香久久激情俄| 五月丁香婷婷欧美色图视频五月丁香777电影| 色婷婷狠狠| 五月婷婷深深爱| 偷偷操99| 殴美激情综合网| 99爱在线视频| 激情五月婷| 五月婷婷AV| 五月丁香六月欧美综合网站| 日韩色五月| 深爱激情五月网| 丁香五月婷久久| 思思久久精品| 黄色激情五月天| 色丁香五月| 国产日韩欧美性爱| 综合XX网| 婷婷五月天黄色| www色色色com| 激情婷婷色色| 五月天啪啪啪| 九九99精品| 婷婷五月天激情网| 96精品成人无码A片观看金桔| 99性爱| 91久久日日| 无码人妻一区二区一牛影视| 日本在线观看99| 日本在线wwww| 色五月婷婷影院| 91丁香五月| 天天色情站| 少妇日麻屄| 密桃激情五月天综合网| 99精品亚洲| 七七九色| 六月婷婷五月丁香| 婷婷色色综合| 男人的天堂99| 天天肏在线观看| 只有精品视频在线观看| 婷婷在线五月天观看| 婷婷丁香综合| 九九无码| 中文字幕在线免费观看视频| 99色在线| 久久免费干| 丁乡久久| 丁香五月狠狠在线观看| 这里只有精彩亚洲视频推荐| 五月婷婷亚洲| 五月天激情国产综合婷婷| 99热最新| 丁香婷婷综合色五月激情国产基地| 久久综合干| 五月天激情网开心网| 天天摸天天舔| 91一起操| 黄色AAAAAAA| WWW.99视频| 婷婷五月天亚洲色| 人人爱人人草| 天天搞天天爽| 成人在线免费网址| 天堂爱啪啪| 五月丁香999| 丁香五月欧美色综合| 九九九九这里只有精品| 啪啪日本欧美| 色五月婷婷中文字幕| 五月天小说激情| 五月丁香六月激情综合| 国产乱子轮XXX农村| 九九九九成人| 久久这里面只有精品视频| 丁香五月天婷婷激情| 婷婷99狠狠| 操婷婷久久| 色的色综合| 久久66成人网站| 五月天激情小说网| 97碰在线免费观看| 九九九成人在线视频| 性生活视频98791| 99综合97| 丁香五月 综合| 99热手机在线精品| 成人做爰A片免费看网站找不到了 国产露脸150部国语对白 | 大香蕉久久综合网| 99五月丁香丁| 丁香久久| 韩国中文字幕91| site:901-07.com| 日韩色色视频| 婷婷五月色播天| 五月丁香六月婷婷综合在线| 狠狠色综合精品视频在线| 乱精品一区字幕二区| 精品激情| 99色性爰网络| 日本综合99| 婷婷伊人激情婷婷| 高清无码视频网址| 97久久久免费福利网址| 亚洲VA在线| 最近免费中文字幕大全高清大全1| 91精品久久久久久久久 | 久久9视频欧美| 九伊人网| 色婷婷五月视频| 极骚大香蕉伊人| 丁香激情五月综合网| 午夜丁香婷婷| 五月婷婷av| 色五月亚洲| 991自拍视频| 五月天婷婷青青草| 综合五月天| 久久五月天精品视频| 人人摸人人搞| 亚洲电影中文字幕| 激情婷婷五月天日本系列| 婷婷色五月综合| 色大综合| 亚洲V国产V欧美V久久久久久| 成人午夜无码视频| 啊v视频在线观看| 六月婷婷网| 五月丁香综合激情| 99超碰人人| 这里只有精品1| 激情骚五月| 久热只有精品| 99久精品视频| 天天干天天拍| 国产9色在线/日韩|