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

ARTICLE DETAIL

資訊詳情

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

Unity FPS游戲框架開(kāi)發(fā)實(shí)戰(zhàn):角色控制器、武器射擊與AI狀態(tài)機(jī)全解析

Unity FPS游戲框架開(kāi)發(fā)實(shí)戰(zhàn):角色控制器、武器射擊與AI狀態(tài)機(jī)全解析 簡(jiǎn)介一套可在 Unity3D 中直接運(yùn)行的 FPS 游戲完整工程源碼面向希望掌握第一人稱射擊玩法和聯(lián)機(jī)對(duì)戰(zhàn)實(shí)現(xiàn)的中初級(jí)開(kāi)發(fā)者可用于學(xué)習(xí)項(xiàng)目搭建與功能拆解。壓縮包內(nèi)共 1609 個(gè)文件其中包含大量場(chǎng)景與資源索引用的 bin、info、meta 文件以及核心的 asset、prefab、mat、cs 等工程配置和腳本文件整體約 38.91MB。已有 2409 人瀏覽學(xué)習(xí)。借助這套工程可以系統(tǒng)查看 FPS 項(xiàng)目的基礎(chǔ)目錄結(jié)構(gòu)、角色移動(dòng)與射擊邏輯、資源管理方式并了解 Unity3D 中通過(guò)網(wǎng)絡(luò)庫(kù)同步玩家狀態(tài)的基本思路。對(duì)于正在規(guī)劃自己的多人 FPS 原型、需要一份可運(yùn)行參考代碼的開(kāi)發(fā)者來(lái)說(shuō)具有一定的對(duì)照和借鑒價(jià)值。1. Untiy3D_FPS 不是成品游戲是一套能直接跑的 FPS 框架拿到 Untiy3D_FPS 這個(gè)資源包先別急著想著“導(dǎo)入就能玩”。它不是一個(gè)完整可發(fā)行的 FPS 游戲而是一套把射擊游戲從零搭到可玩狀態(tài)的框架工程角色控制器、鼠標(biāo)視角、武器射擊與換彈、敵人 AI、命中反饋和基礎(chǔ) UI 全都在里面。它最省事的地方是——你不必從空?qǐng)鼍伴_(kāi)始去建角色、寫相機(jī)、調(diào)物理直接打開(kāi)場(chǎng)景就能跑適合正在做 FPS 畢業(yè)設(shè)計(jì)、想快速驗(yàn)證核心玩法的人。更值錢的是它把“怎么組合起來(lái)”演示了一遍控制器怎么掛、相機(jī)放哪一層、武器腳本為什么這么寫照著它的結(jié)構(gòu)能省掉一周的試錯(cuò)。2. 角色控制器Rigidbody 選型、視角分離與手感參數(shù)FPS 里的“走路手感”是第一個(gè)分水嶺。這套工程用的是 Rigidbody 方案而不是 Unity 自帶的 CharacterController很多剛?cè)腴T的開(kāi)發(fā)者會(huì)在這個(gè)選擇上翻車原因值得先講清楚。2.1 為什么不用 CharacterController 而用 RigidbodyCharacterController 自帶 Move 接口用起來(lái)像“推著膠囊走”好處是寫起來(lái)簡(jiǎn)單、不會(huì)穿墻壞處是它不走物理引擎碰上移動(dòng)平臺(tái)、爆炸沖擊波、子彈擊退這些需要物理反饋的場(chǎng)景就要額外寫很多補(bǔ)丁邏輯。Rigidbody 方案讓角色真的“睡”在物理系統(tǒng)里障礙物阻擋、斜坡滑行、被炸彈炸飛都是免費(fèi)送的代價(jià)是會(huì)遇到抖動(dòng)、穿模這些物理調(diào)參問(wèn)題。這套工程的控制器大致長(zhǎng)這樣using UnityEngine; public class FPSController : MonoBehaviour { [Header(移動(dòng)參數(shù))] [SerializeField] private float moveSpeed 6f; // 普通行走速度 [SerializeField] private float sprintSpeed 9f; // 疾跑速度 [SerializeField] private float jumpForce 5f; // 跳躍初速度 [SerializeField] private float groundCheckDistance 0.2f; private Rigidbody rb; private bool isGrounded; void Start() { rb GetComponentRigidbody(); rb.freezeRotation true; // 凍結(jié)旋轉(zhuǎn)防止物理引擎把角色撞倒 rb.interpolation RigidbodyInterpolation.Interpolate; // 減少運(yùn)動(dòng)抖動(dòng) } void FixedUpdate() { // 地面檢測(cè)向腳下射一條短射線比 OnCollisionStay 更穩(wěn)定 isGrounded Physics.Raycast(transform.position, Vector3.down, groundCheckDistance); if (Input.GetButtonDown(Jump) isGrounded) { rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse); } float h Input.GetAxis(Horizontal); float v Input.GetAxis(Vertical); Vector3 moveDir transform.right * h transform.forward * v; moveDir Vector3.ClampMagnitude(moveDir, 1f); float targetSpeed Input.GetKey(KeyCode.LeftShift) ? sprintSpeed : moveSpeed; // MovePosition 在物理幀里移動(dòng)受碰撞約束不會(huì)直接瞬移穿墻 rb.MovePosition(transform.position moveDir * targetSpeed * Time.fixedDeltaTime); } }這段代碼有三個(gè)容易被忽略的點(diǎn)。第一rb.interpolation InterpolateRigidbody 默認(rèn)在低幀率下會(huì)有明顯的“一格一格”移動(dòng)開(kāi)了插值后畫面會(huì)順滑很多這是 FPS 手感的第一步。第二ClampMagnitude是必要的因?yàn)殒I盤輸入從斜方向同時(shí)按下時(shí)Vector3的長(zhǎng)度會(huì)變成 1.414 倍不截?cái)嗟脑捫敝軙?huì)比正著跑速度快很多。第三跳躍檢測(cè)放在Update里、物理移動(dòng)放在FixedUpdate里標(biāo)準(zhǔn)做法因?yàn)镕ixedUpdate的調(diào)用頻率固定而跳躍輸入是逐幀的放在Update里響應(yīng)最及時(shí)。2.2 鼠標(biāo)視角Pitch/Yaw 分離消除萬(wàn)向鎖相機(jī)視角是 FPS 最容易做出“暈 3D 感”的部分。很多人直接對(duì)相機(jī)物體做RotateAround結(jié)果抬頭到 90 度后視角開(kāi)始亂轉(zhuǎn)這是歐拉角的萬(wàn)向鎖問(wèn)題。這套工程的處理方式是水平旋轉(zhuǎn)Yaw作用在角色身上垂直旋轉(zhuǎn)Pitch只作用在相機(jī)上兩者徹底分離。using UnityEngine; public class MouseLook : MonoBehaviour { [Header(靈敏度)] [SerializeField] private float mouseSensitivity 2f; [SerializeField] private float pitchMin -85f; // 低頭下限 [SerializeField] private float pitchMax 85f; // 抬頭上限 private float pitch; // 當(dāng)前俯仰角 void Start() { Cursor.lockState CursorLockMode.Locked; // 鎖定鼠標(biāo)光標(biāo)到屏幕中心 } void Update() { float mouseX Input.GetAxis(Mouse X) * mouseSensitivity; float mouseY Input.GetAxis(Mouse Y) * mouseSensitivity; // 水平旋轉(zhuǎn)旋轉(zhuǎn)角色節(jié)點(diǎn) transform.parent.Rotate(0f, mouseX, 0f); // 垂直旋轉(zhuǎn)使用歐拉角累加并夾緊避免萬(wàn)向鎖 pitch - mouseY; pitch Mathf.Clamp(pitch, pitchMin, pitchMax); transform.localRotation Quaternion.Euler(pitch, 0f, 0f); } }掛載方式是相機(jī)作為角色的子物體MouseLook掛在相機(jī)上transform.parent指向角色。這么做的好處是角色模型的轉(zhuǎn)身和相機(jī)視角的左右轉(zhuǎn)動(dòng)完全同步而上下俯仰不會(huì)帶動(dòng)整個(gè)身體旋轉(zhuǎn)——從第三人稱視角看角色是“轉(zhuǎn)頭”而不是整個(gè)身體都跟著低頭。Cursor.lockState用CursorLockMode.Locked而不用Confined因?yàn)?Locked 才能保證射擊游戲里鼠標(biāo)不撞到屏幕邊緣。2.3 手感參數(shù)怎么調(diào)一張表和兩個(gè)檢查點(diǎn)有了代碼還需要參數(shù)這套工程把參數(shù)都暴露在 Inspector 里方便在編輯狀態(tài)下隨時(shí)改。給一組我試過(guò)比較穩(wěn)的初始值作為參考參數(shù)建議范圍默認(rèn)值說(shuō)明moveSpeed486低于 4 像走路高于 8 轉(zhuǎn)向會(huì)漂sprintSpeed8129需要和 FOV 聯(lián)動(dòng)效果更好jumpForce465高于 6 跳躍滯空時(shí)間過(guò)長(zhǎng)mouseSensitivity1.532和鼠標(biāo)設(shè)備 DPI 相關(guān)不是絕對(duì)標(biāo)準(zhǔn)pitchMax / pitchMin8090±85留 5 度余量避免邊緣抖動(dòng)兩個(gè)檢查點(diǎn)第一個(gè)跑起來(lái)時(shí)感覺(jué)“飄”還是“沉”。飄就降移動(dòng)速度或者增大drag值沉就檢查是不是drag設(shè)太高了導(dǎo)致慣性感過(guò)大。第二個(gè)轉(zhuǎn)身快速滑鼠標(biāo)時(shí)有沒(méi)有掉幀感有的話檢查相機(jī)的Field of View默認(rèn) 60 度在高速轉(zhuǎn)向時(shí)容易暈調(diào)到 7080 度會(huì)明顯改善。手感調(diào)試沒(méi)有絕對(duì)公式但先把這兩點(diǎn)檢查完再去動(dòng)其他參數(shù)能減少很多盲目試錯(cuò)。3. 武器系統(tǒng)與射擊邏輯射線檢測(cè)、散布、換彈與彈藥數(shù)據(jù)角色能走了下一步就是能打人。這套工程的武器模塊做了三個(gè)層次射擊模式、彈藥換彈、后坐力與散布分別是“能不能打”“打多少發(fā)”“打得準(zhǔn)不準(zhǔn)”三層問(wèn)題。3.1 單發(fā)/連發(fā)/霰彈三種射擊模式在一套腳本里武器腳本的核心不是子彈而是“開(kāi)火判定”。這套工程默認(rèn)用射線檢測(cè)模擬子彈——從槍口向正前方打一條Ray如果射線碰到了帶IDamageable接口的對(duì)象就執(zhí)行傷害邏輯。射線檢測(cè)比彈道物體物理子彈性能高很多而且不需要處理子彈飛行速度、碰撞反彈這類問(wèn)題適合原型階段。using UnityEngine; public class WeaponController : MonoBehaviour { [Header(武器屬性)] public float damage 25f; public float range 100f; public float fireRate 0.12f; // 連發(fā)間隔秒 public int maxAmmo 30; public int currentAmmo; [Header(射擊模式)] public bool isAutomatic true; // true連發(fā)false單發(fā) public int pellets 1; // 1普通單發(fā)1 為霰彈 [Header(散布)] public float spreadAngle 1.5f; // 準(zhǔn)星擴(kuò)散角度 private float nextFireTime; void Start() currentAmmo maxAmmo; public void TryFire() { bool canShoot isAutomatic ? Input.GetButton(Fire1) : Input.GetButtonDown(Fire1); if (!canShoot || Time.time nextFireTime || currentAmmo 0) return; nextFireTime Time.time fireRate; currentAmmo--; for (int i 0; i pellets; i) { // 每次開(kāi)火給一個(gè)隨機(jī)方向偏轉(zhuǎn)模擬彈道散布 Vector3 dir Camera.main.transform.forward; dir Quaternion.Euler( Random.Range(-spreadAngle, spreadAngle), Random.Range(-spreadAngle, spreadAngle), 0f) * dir; if (Physics.Raycast(Camera.main.transform.position, dir, out RaycastHit hit, range)) { // 命中接口調(diào)用Unity 中常見(jiàn)的是 hit.collider.GetComponentIDamageable() } } } void Update() TryFire(); // 簡(jiǎn)化寫法實(shí)際工程會(huì)放在 Input 事件回調(diào)里 }幾個(gè)參數(shù)是決定手感的關(guān)鍵。spreadAngle的單位是角度不是像素距離1.5 度意味著在 100 米外子彈會(huì)偏離約 2.6 米打遠(yuǎn)程精度要求高的場(chǎng)景要降到 0.5 度以下。fireRate是射擊間隔0.12 秒相當(dāng)于每分鐘 500 發(fā)這是沖鋒槍級(jí)別的射速如果要做步槍手感調(diào)到 0.150.2 更合適。pellets設(shè)為 8 就是霰彈槍但注意每顆彈丸都獨(dú)立計(jì)算散布和傷害所以霰彈槍近距離傷害爆發(fā)極高需要在數(shù)值上做距離衰減。3.2 彈藥與換彈數(shù)值同步比開(kāi)槍邏輯更值得關(guān)注射擊邏輯本身好寫真正容易出 bug 的是彈藥系統(tǒng)和 UI 同步。這套工程里彈藥分兩層彈匣容量currentAmmo和后備彈藥reserveAmmo。換彈不是瞬間完成的要用協(xié)程模擬換彈動(dòng)畫的耗時(shí)。public class AmmoSystem : MonoBehaviour { public int reserveAmmo 90; // 后備彈藥 public int magSize 30; // 彈匣容量 public float reloadTime 2.2f; // 換彈耗時(shí) public int currentAmmo; public bool isReloading; void Start() currentAmmo magSize; public IEnumerator Reload() { if (isReloading || currentAmmo magSize) yield break; isReloading true; yield return new WaitForSeconds(reloadTime); // 等換彈動(dòng)畫播放完 // 從后備彈藥中取出補(bǔ)滿彈匣所需數(shù)量 int need magSize - currentAmmo; int take Mathf.Min(need, reserveAmmo); currentAmmo take; reserveAmmo - take; isReloading false; } }換彈的邊界情況很多如果彈匣是滿的按 R 不應(yīng)該觸發(fā)換彈如果后備彈藥為 0換彈應(yīng)該直接不開(kāi)始并提示玩家角色在換彈空隙死亡協(xié)程卻還在跑會(huì)導(dǎo)致復(fù)活后彈藥被憑空補(bǔ)充。解決后兩個(gè)問(wèn)題的方法是在協(xié)程開(kāi)頭和結(jié)尾都檢查isReloading狀態(tài)、在角色死亡時(shí)停掉所有協(xié)程并重置彈藥狀態(tài)。數(shù)值同步上UI 的彈藥顯示直接用currentAmmo / reserveAmmo不要在 UI 里再做一次加減運(yùn)算否則很容易出現(xiàn)“換完彈顯示 31 發(fā)”這種尷尬的數(shù)字。3.3 后坐力與準(zhǔn)星擴(kuò)散調(diào)手感像調(diào)音后坐力在代碼層很直接就是開(kāi)火時(shí)給相機(jī)加一個(gè)向上的脈沖角度然后讓它慢慢回落。但這套工程里真正的調(diào)節(jié)重點(diǎn)是“準(zhǔn)星擴(kuò)散”——不開(kāi)火時(shí)準(zhǔn)星是收緊的持續(xù)開(kāi)火時(shí)擴(kuò)散變大?;鸷笾饾u恢復(fù)。這個(gè)機(jī)制比單純的屏幕抖動(dòng)更能影響手感。常見(jiàn)的做法是維護(hù)一個(gè)currentSpread變量每次開(kāi)火增加一個(gè)固定量每幀衰減回去public float baseSpread 0.5f; // 靜止時(shí)最小散布 public float maxSpread 5f; // 連續(xù)射擊后最大散布 public float spreadIncrease 0.3f; // 每發(fā)增量 public float spreadRecover 2f; // 每秒恢復(fù)量 private float currentSpread; void UpdateSpread() { if (currentSpread baseSpread) currentSpread - spreadRecover * Time.deltaTime; currentSpread Mathf.Clamp(currentSpread, baseSpread, maxSpread); // 準(zhǔn)星 UI 的寬度和這個(gè)值綁定 }所有槍支手感調(diào)到最后都會(huì)變成一個(gè)“數(shù)值表格”——射速、后坐力、散步恢復(fù)速度三者互為犄角。射速快但回復(fù)慢的槍手感是一路飄上去的射速慢但回復(fù)快的槍適合點(diǎn)射型玩法。這個(gè)參數(shù)組合沒(méi)有唯一解只能照著自己玩起來(lái)的感覺(jué)微調(diào)。我一般會(huì)把連發(fā)武器的spreadIncrease調(diào)到 0.30.4 之間這樣 10 發(fā)左右能明顯感到散布變大而不是前 5 發(fā)就糊成一團(tuán)。4. 敵人 AI 與命中反饋狀態(tài)機(jī)、NavMesh 與傷害數(shù)字打靶場(chǎng)景能走通之后就要面對(duì) FPS 的第二塊硬骨頭敵人。這套工程的敵人做了一個(gè)最基礎(chǔ)但結(jié)構(gòu)正確的狀態(tài)機(jī)加上 NavMesh 尋路沒(méi)有堆復(fù)雜算法但足夠撐起一個(gè)可玩的關(guān)卡。4.1 狀態(tài)機(jī)先寫對(duì)再談智能敵人的 AI 狀態(tài)可以精簡(jiǎn)為四個(gè)巡邏、追擊、攻擊、死亡。不用一開(kāi)始就上行為樹(shù)普通 FPS 的敵人用狀態(tài)機(jī)完全夠用而且調(diào)試起來(lái)更直觀。核心邏輯是每幀根據(jù)和玩家的距離切換狀態(tài)public enum EnemyState { Patrol, Chase, Attack, Dead } public class EnemyAI : MonoBehaviour { public EnemyState state EnemyState.Patrol; public float chaseRange 15f; // 發(fā)現(xiàn)玩家的距離 public float attackRange 8f; // 開(kāi)火距離 public float loseRange 25f; // 丟失玩家的距離大于 chaseRange 才合理 private Transform player; void Update() { if (state EnemyState.Dead) return; float dist Vector3.Distance(transform.position, player.position); if (dist attackRange) state EnemyState.Attack; else if (dist chaseRange) state EnemyState.Chase; else if (dist loseRange) // 用更大距離判斷丟失避免玩家一閃身就回去巡邏 state EnemyState.Patrol; } }這里最容易忽略的細(xì)節(jié)是loseRange要大于chaseRange。如果追擊和丟失用同一個(gè)距離判斷玩家站在 14.5 米處反復(fù)橫跳敵人就會(huì)在巡邏和追擊之間抽搐。這屬于經(jīng)典的“狀態(tài)機(jī)搖擺”問(wèn)題做法就是給進(jìn)入狀態(tài)和退出狀態(tài)設(shè)置不同的閾值形成一個(gè)遲滯區(qū)間。另外狀態(tài)切換不一定要每幀檢測(cè)可以每 0.2 秒執(zhí)行一次省掉大量性能開(kāi)銷敵人肉眼也看不出區(qū)別。4.2 NavMesh 烘焙參數(shù)決定敵人會(huì)不會(huì)卡墻角NavMesh 是 Unity 內(nèi)置的導(dǎo)航網(wǎng)格系統(tǒng)敵人靠它在場(chǎng)景里找路。烘焙之前要檢查三個(gè)參數(shù)Agent Radius代理半徑、Agent Height代理高度、Max Slope最大爬坡角。參數(shù)建議值說(shuō)明Agent Radius0.30.5過(guò)大會(huì)讓敵人走不進(jìn)窄通道過(guò)小會(huì)貼墻Agent Height1.52以敵人的膠囊體高度為準(zhǔn)不要超過(guò)門框Max Slope3045超過(guò) 45 度的樓梯會(huì)被標(biāo)記為不可走Step Height0.3臺(tái)階高度大于此值會(huì)需要繞路實(shí)際踩坑點(diǎn)在于烘焙完之后敵人還是會(huì)走到網(wǎng)格邊緣然后卡住。這種情況多半是目標(biāo)點(diǎn)玩家位置在 NavMesh 外面——比如玩家站在一個(gè)未烘焙的平臺(tái)上NavMesh 找不到通往目標(biāo)點(diǎn)的路徑。處理方式是追擊時(shí)先對(duì)玩家坐標(biāo)做一次NavMesh.SamplePosition把目標(biāo)點(diǎn)拉回最近的可行走位置而不是直接塞給尋路組件。public NavMeshAgent agent; public Transform player; void Chase() { // 將目標(biāo)點(diǎn)投影到 NavMesh 上偏移最大 2 米 if (NavMesh.SamplePosition(player.position, out NavMeshHit hit, 2f, NavMesh.AllAreas)) { agent.SetDestination(hit.position); } }如果不做這一步玩家站上箱子后敵人會(huì)一直在原地打轉(zhuǎn)看起來(lái)像是在“隔空推墻”。調(diào)試這類問(wèn)題的時(shí)候不要直接猜邏輯錯(cuò)誤先在 Scene 視圖把NavMesh和NavMeshAgent的路徑勾選顯示出來(lái)路徑的終點(diǎn)在哪一眼就能看到。4.3 傷害判定與命中反饋為什么子彈“沒(méi)打中”敵人的碰撞體、武器的射線檢測(cè)、傷害接口三者要能對(duì)接上需要提前定好 Layer。這套工程的做法是敵人放在Enemy層玩家放在Player層射線檢測(cè)時(shí)只檢測(cè) Enemy 層避免子彈打到自己和友方單位。[SerializeField] LayerMask enemyLayer; void Fire() { if (Physics.Raycast(ray, out RaycastHit hit, range, enemyLayer)) { if (hit.collider.TryGetComponentIDamageable(out IDamageable target)) target.TakeDamage(damage); } }這里有一個(gè)常見(jiàn)的“沒(méi)打中”假象子彈確實(shí)碰到了敵人的碰撞體但傷害接口掛在敵人根節(jié)點(diǎn)上而射線碰到的碰撞體在子節(jié)點(diǎn)比如手臂GetComponent只能拿到子節(jié)點(diǎn)自己的組件接口自然就調(diào)不到。解決方式有兩個(gè)要么在子節(jié)點(diǎn)上也掛傷害接口并轉(zhuǎn)發(fā)給根節(jié)點(diǎn)要么用GetComponentInParent向上查找。我會(huì)在碰撞體子物體上放一個(gè)空腳本轉(zhuǎn)發(fā)因?yàn)镚etComponentInParent在深層級(jí)的消耗不算小。這層問(wèn)題理解了后面去做爆頭、部位傷害就順理成章——給頭部單獨(dú)掛一個(gè)碰撞體和IDamageable實(shí)現(xiàn)接口里傳入傷害倍率即可。5. 踩坑實(shí)錄五個(gè)讓角色打不出傷害的常見(jiàn)問(wèn)題這套工程我前后跑了三遍每次重裝 Unity 版本都會(huì)踩到新坑。下面的問(wèn)題不分順序全部是從實(shí)際運(yùn)行中一條條記下來(lái)的有現(xiàn)象、有原因、有解法按這幾個(gè)方向排查能省下大量搜論壇的時(shí)間。5.1 運(yùn)行即報(bào) NullReferenceException現(xiàn)象打開(kāi)場(chǎng)景點(diǎn) PlayConsole 面板立刻彈出一堆NullReferenceException提示某個(gè)腳本的組件引用為空。角色站在原地不動(dòng)相機(jī)無(wú)法旋轉(zhuǎn)。原因腳本 Inspector 上拖拽的引用丟失了。常見(jiàn)于 Unity 版本跨大版本升級(jí)比如從 2018 升到 2020序列化字段的m_FileID變化導(dǎo)致引用斷開(kāi)但腳本本身還掛著。解決先把出問(wèn)題的腳本組件移除再重新添加。如果工程里引用很多就用腳本批量掃描為空引用選中所有預(yù)制體后檢查每個(gè)SerializedObject的FindProperty是否有objectReferenceValue null。找到后重新拖拽賦值即可。更省事的方案是這類引用全部改成在Awake里用GetComponent獲取Inspector 只暴露數(shù)據(jù)參數(shù)不暴露對(duì)象引用。5.2 子彈對(duì)著敵人打卻沒(méi)有任何反應(yīng)現(xiàn)象準(zhǔn)星已經(jīng)對(duì)準(zhǔn)敵人開(kāi)槍射擊動(dòng)畫正常播放、彈藥正常消耗但敵人的血條紋絲不動(dòng)。原因射線檢測(cè)沒(méi)有命中敵人。大概率是 Layer 過(guò)濾的問(wèn)題——Physics.Raycast默認(rèn)檢測(cè)所有 Layer 是沒(méi)有問(wèn)題的但如果按 4.3 的做法給射線傳了enemyLayer參數(shù)而敵人的 Collider 被放到了別的 Layer比如 Default那射線就會(huì)直接穿透敵人。解決在 Inspector 里確認(rèn)敵人的碰撞體所在 Layer再檢查代碼里傳入的 LayerMask 是否包含該層。調(diào)試時(shí)先用Debug.DrawRay畫一條射線看看方向和終點(diǎn)命中點(diǎn)如果和敵人位置偏差超過(guò)碰撞體半徑還要檢查射線方向是否確實(shí)是從準(zhǔn)星中心發(fā)出的。這一步排查完順手把敵人所在 Layer 統(tǒng)一改成 Enemy。5.3 換彈動(dòng)畫播完但彈藥沒(méi)補(bǔ)上現(xiàn)象換彈過(guò)程中彈藥顯示 0/90動(dòng)畫結(jié)束后還是 0/90但后備彈藥沒(méi)有減少。原因協(xié)程里的yield return new WaitForSeconds(reloadTime)被中斷了。常見(jiàn)的是角色在換彈期間死亡或切換武器腳本被禁用或者 GameObject 被 SetActive(false)協(xié)程直接終止后續(xù)的補(bǔ)彈代碼根本沒(méi)執(zhí)行。解決換彈邏輯不能用裸協(xié)程收尾要加一個(gè)“完成標(biāo)志位”。我的做法是public IEnumerator ReloadRoutine() { isReloading true; yield return new WaitForSeconds(reloadTime); if (this null || !gameObject.activeInHierarchy) yield break; // 安全校驗(yàn) currentAmmo Mathf.Min(magSize, currentAmmo reserveAmmo); isReloading false; }另外把換彈開(kāi)始和補(bǔ)彈完成都通過(guò)UnityEvent發(fā)給 UI這樣即使協(xié)程中斷UI 也能響應(yīng)狀態(tài)變化去顯示“換彈被打斷”玩家不會(huì)產(chǎn)生“我按了 R 為什么沒(méi)反應(yīng)”的困惑。5.4 角色轉(zhuǎn)身時(shí)相機(jī)抖動(dòng)畫面出現(xiàn)殘影現(xiàn)象快速左右晃動(dòng)鼠標(biāo)時(shí)主相機(jī)的畫面會(huì)出現(xiàn)輕微的“回?cái)[”轉(zhuǎn)到某個(gè)角度時(shí)抖動(dòng)非常明顯。原因相機(jī)旋轉(zhuǎn)沒(méi)有和角色旋轉(zhuǎn)完全同步。如果MouseLook直接掛在主相機(jī)上而主相機(jī)同時(shí)又是某個(gè)槍械子物體的父節(jié)點(diǎn)槍械的后坐力動(dòng)畫有時(shí)會(huì)在同一幀里修改相機(jī)局部旋轉(zhuǎn)兩套旋轉(zhuǎn)邏輯疊加。解決把相機(jī)和武器徹底分離。主相機(jī)只掛 MouseLook 腳本控制旋轉(zhuǎn)武器模型掛在自己的空物體節(jié)點(diǎn)下用相機(jī)旋轉(zhuǎn)后LateUpdate里疊加后坐力偏移。注意LateUpdate的執(zhí)行順序永遠(yuǎn)在Update之后這樣可以保證玩家看到的畫面是先完成視角轉(zhuǎn)動(dòng)、再疊加后坐力而不是反過(guò)來(lái)。5.5 AI 卡墻角或者追出 NavMesh 邊界現(xiàn)象敵人在墻角來(lái)回走機(jī)器人導(dǎo)航路徑在 Scene 視圖里顯示為碎線有時(shí)直接走穿墻體到網(wǎng)格外面。原因NavMesh 烘焙時(shí) Agent Radius 設(shè)置和墻體厚度不匹配。墻體邊緣如果只有 0.2 米厚而 Agent Radius 設(shè)了 0.5烘焙出來(lái)的可行走區(qū)域會(huì)自動(dòng)把墻邊約 0.5 米的范圍劃為不可走敵人只能“隔空碰壁”。解決把墻體做成實(shí)體 Mesh 再烘焙不要用只有 Collider 沒(méi)有 Renderer 的隱形墻Agent Radius 調(diào)整到小于通道寬度的 1/2。如果敵人已經(jīng)出了 NavMesh說(shuō)明目標(biāo)點(diǎn)投影偏差太大參考 4.2 的NavMesh.SamplePosition把目標(biāo)偏移量從 2 米縮小到 0.5 米并檢查場(chǎng)景中是否有懸空平臺(tái)的邊緣沒(méi)被烘焙覆蓋。6. 導(dǎo)入后的第一件事重構(gòu)目錄結(jié)構(gòu)和跑通驗(yàn)證清單拿到這套 Untiy3D_FPS 工程我會(huì)建議你先花半小時(shí)重構(gòu)目錄把資源和代碼分開(kāi)再把驗(yàn)證清單跑一遍。很多工程“能跑”和“能改”是兩回事亂糟糟的目錄里找腳本比寫腳本更浪費(fèi)時(shí)間。推薦的清理方向是四個(gè)頂級(jí)文件夾Assets/ Scripts/ -- 控制器、武器、AI、UI 全部按模塊拆子目錄 Prefabs/ -- 角色、敵人、掉落的彈藥包 Models/ -- 角色模型和武器模型 Scenes/ -- 主場(chǎng)景和測(cè)試場(chǎng)景分開(kāi)搬動(dòng)文件后第一件事是重新保存場(chǎng)景并檢查預(yù)制體的引用有沒(méi)有斷開(kāi)Unity 會(huì)自動(dòng)維護(hù) GUID 引用但偶爾會(huì)漏。然后按下面的清單跑一遍冒煙測(cè)試點(diǎn) Play 后 Console 無(wú)報(bào)錯(cuò)相機(jī)視角能自由旋轉(zhuǎn)角色移動(dòng)方向跟隨視角不會(huì)斜移加速射擊 10 發(fā)彈藥減少 10準(zhǔn)星散射逐漸變大換彈后彈藥正確補(bǔ)充換彈期間無(wú)法繼續(xù)開(kāi)火敵人能發(fā)現(xiàn)玩家、能追擊、進(jìn)入射程后開(kāi)火擊殺敵人后掉落物能正確拾取這套工程最大的價(jià)值不是那幾行代碼而是它的組織方式。從那以后我每次拿到別人的 Unity 工程都會(huì)先干三件事檢查 Layer 規(guī)劃、刪掉場(chǎng)景里的 Missing Script、把腳本掛載方式統(tǒng)一成GetComponent兜底。這三個(gè)習(xí)慣幫我避開(kāi)了九成以上的運(yùn)行時(shí)報(bào)錯(cuò)。這個(gè) FPS 包也一樣——先跑通再看結(jié)構(gòu)改出第一個(gè)屬于自己的武器再動(dòng)那些參數(shù)去調(diào)手感希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
中文久久婷婷| 九九热99热| 六月婷婷视频| 99热无码精品| 超碰A V在线| 99re思思热在线视频| 嫩草极品| 五月婷婷色色色| 狠狠看狠狠| 激情五月婷| 色播丁香婷婷五月激情| 婷婷久久久久| 日韩久久日| 99热精品超碰| 五月天色五月| 激情五月婷黄版| 狠狠爱深色婷婷综合| www.色五月.com| 五月丁香六月在线欧美| www.com色播五月天| 婷婷五月色天| 欧日韩成人| 亚洲一个色| 日日操夜夜操不卡| 色婷婷影音| 丁香婷婷性久久| 婷婷丁香18| 爱草视频在线观看| 五月天大香蕉| 伊人婷婷大香蕉| 农村熟妇高潮精品A片| 国产高潮白浆一区二区| 思思热这里只有精品| 人妻操逼视频。| 久久婷婷五月综合色丁香花| 久久激情视频| 成人一级片| 伊人狠狠综合| 丁香月五月天婷婷久久| 深夜男女福利刺激影院一区完整| 97丁香视频| 五月天成人综合| 色五月色图| 婷婷五月AV| 玖热精品综合视频| 武则天精品久久| 69热91天堂| 久久婷婷六月天| 秋霞AV美国| 五月丁香啪啪啪| 九九re精品视频在线观看 | 激情小说婷婷| 婷婷色五月丁香六月欧美啪| 牛牛碰免费| 激情文学天天| 青青操avbb| 99热久草| 99操99| www.色欲丁香婷婷| 99精品久久久久久久久| 97人人操人人操人人操人人| 热99色| 91九色最新视频| 97操碰| 伊人色综合久久久| 在线超碰91| 色五天综合| 99这里有精品| 婷婷五月天最新网址| 被男人添B超爽视频| 久久六月天| 深爱激情丁香| 婷婷香五月| 色欲五月天| 性色欲情 网站| 大香蕉久久草| 天天做综合| 自拍偷窥99热| 日韩超碰在线| 日韩欧美一区二区三区四区| 久久婷婷五月综合激情国产| 五月开心深爱激情网| 久噜久噜| 九九视屏| 五月丁香大香蕉| 久久九九爽| 婷婷激情六月综合| 国产精品久久久99视频| 激情黄色五月天| 这里只精品| 久久er+| 日本熟女三区| 久久人妻乱| 六月丁香啪啪啪| 五月天婷婷色| a网站免费观看| 少妇性BBB搡BBB爽爽爽电影| 亚洲免费成人电影AV| 在线观看视频1区| 啪啪东京热| 中文字幕日韩成人| 五月丁六月香av| 九九视频这里只有精彩| 五月婷久久| 五月丁香啪啪啪啪| 亭亭五月天黑人2014| 俺也去在线视频 | 精品色色色| 日日操夜夜爽天天天| 综合视频五月| 九九综合九九| 婷婷.com| 丁香五月色情| 色五月首页| 久久性爱视频网站| 国产人妻人伦精品一区二区| 成人一区在线观看| 99久久久国产大片| 99精品综合| AAA久久| 丁香五月综合| 五月丁香毛片| 亚洲丁香五月| 亚洲亚洲人成综合网络| 亭亭五月色男人| 日日做A爰片久久毛片A片英语| 久久婷综| 激情综合婷婷| 99热a片免| 99热最新网址| 久9精品| 五月丁香婷婷综合激情基地| 五月丁香久久综合| Www99热| 97色热| 婷婷开心青青草| 国产熟女一区二区三区五月婷| 欧美色五月| 97人妻碰碰碰碰碰久久久久久| 深爱婷婷基地| 99热在线观看精品| 五月天天综合| 九九热视| 五月丁香色色色| 婷婷免费精品视频| 深爱激情中文五月天av| 五月停停999| 狠狠色综合网| 夜夜躁狠狠 | 五月色在线| 这里只有精品视频在线看| 97人凄人人操人人爽| 日韩欧美成人网| 丁香五月激情六月欧亚激情综合导航| 曰曰久久| 91色在线/日韩| 激情六月丁| 欧美性生交XXXXX无码小说| 天天操天天插天天射| 丁香视频| 深爱激情综合| 97久人人| 亚洲午夜av| 激情五月天第四色| 激情综合激情综合| 日本精品九九九| 欧美日本国产| 丁香婷婷婷五月| 极品少妇XXXX精品少妇偷拍| 日本五月婷婷久久久六月丁香| 99热精品观看| 亚洲激情综合| 激情婷婷五月天伊人在线观看 | 婷婷五月天堂| 丁香五月天色| 牛牛澡牛牛爽| 五月丁香六月情| 五月婷视频| 六月丁香婷婷开心综合基地| www.婷婷com| 26uuuavcom| 婷色五月| 青青草原福利在线| 中文字幕性爱视频| 丁香五月婷婷影院| 激情婷婷狠狠干| 99在线视频在线观看| 综合色播| 九九国产精视频| 99久久6| 踪合专区啪啪| 天天干天天插| 欧美熟女乱又伦| 在线观看免费观看在线9久| 五月花婷婷最新| 免费视频WWW在线观看网站| 九九蜜臀精品| 欧美性猛交99久久久久99按摩| 思思视频久久| 91re色综合视频| 亚洲日日操| www.激情五月天.con| 激情五月天无码| 国产又黄又爽又色的免费| 婷婷五月天影视网址| 九九婷| www.com五月天| 亚洲99视频| 桃色成人网| www.亚洲激情| 伊人大香蕉毛片| 十月色综合| 国产精品人妻在线网址| 丰满少妇乱A片无码| www国产亚洲色婷婷com| 五月丁香啪啪综合| 婷婷的五月天另类视频| 婷婷伊人网| 99er精品| WWW,五月| 亚洲午夜国产成人电影VA国产欧…| 99热这里只有精品中文字幕| 丁香色情五月天| 激情人妻蜜夜系列区| 婷婷五月六月丁香| 五月婷婷色情| 秋霞av不能| 久久婷婷视频| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 色婷婷丁香五月| ss视频xx91| 99色网站| 婷婷五月中文字幕| 伊人爱爱日本| 大地资源色婷婷视频在线 | 大香蕉九九| 中字幕视频在线永久在线观看免费 | 五月丁香影视| 色偷偷狠狠| 伊人激情综合| 牛色色碰| 狠狠色丁香| 色婷另类| 99热这里只有精品4| 国产精品电影网| 欧美槡BBBB槡BBB少妇| 婷婷成人AV| 五月亭亭六月激情| 精品久久婷婷五月天| 欧美日比视频| 五月婷婷久| 大香蕉婷婷色| 婷婷在线综合| 九九99热| 91亚洲天堂| 五月天婷婷色色| 婷婷激情人妻| 99免费在线视频| 国产夫妻操逼内射视频| 狠色综合网| 九月婷婷色色| 99成人| 色综合色色| 99久久久久久| 99色视频| 99色在线观看| 色五月综合网| 嫩草AV久久伊人妇女超级A| 色碰碰| 99精品大片| 桃色五月天| 99精品自拍| 五月情婷婷五月| 色婷婷狠狠18禁| 91视频久久久| 九色 在线| 中文字幕欧美精品久久| 五月婷婷激情在线| 日韩在线99| 99在线免费视频| 久久久99视频| 操操操av| 婷婷六月综合激情| 成人丁香五月天| 五月丁香| 欧美性生交xXxX久久久| 五月天基地| 99精品在线观看视频| 99热99久久| 欧美情月伍月天| VA日本视频| 激情婷婷五月天伊人在线观看| 深爱激情五月天婷婷网| 五月久久婷婷| 丁香五月亚洲综合丝袜| 日本99在线视频| 色婷婷狠狠爱| 色婷婷AV久久久久久久| 伊人日日干| 99免费视频网| 91啪啪| 丁香影院五月综合| 丁香六月色婷婷欧美| wwwC0maV五月花| 女人天堂久久| 丁香久久在线| 99色6爱9热| www,婷婷五月天,com| 大香蕉伊人爱在线| 午夜AV网| 99色婷婷| 久9热在线视频| 天堂婷婷丁香六月网| 亚洲色热| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 在线超碰精品| 欧美性生交XXXXX无码小说| 婷婷六月成人| 久久激情综合| 五月香婷婷| 91嫩草国产线观看亚洲一区二区| 亚洲五月婷婷| 99啪99| 色色五月天激情| 成年视频免费观看| 日本va网站| 九九精品视频在线6| 色爱亚洲| 丁香五月九九| 日日日日做夜夜夜夜无码| 伊人婷婷激情| 久9久9热久热| 囯产精品久久欠久久久久久九大| 婷婷伊人网| 综合色、色综合| 中文字幕+中文在线| 色五月激情综合网| 六月婷婷八月丁香| 91大屁股在线| 伊人丁香六月婷婷| 色色色在线观看| 激情综合丁香六| 婷婷五月色综合| 五月丁香五月丁香| 亚洲欧美综合7777色婷婷| 久久一级AV| www.色五月.com| 开心五月深爱五月丁香五月激情五月| 免费观看的av| 色五月婷婷操逼| 色噜噜在线| 成人精品视频99在线观看免费| 激情五月天色婷婷综合| 亚洲男人的天堂婷婷色五月| 激情五月综合| 九九热这里只有精品7| 免费亚洲婷婷| 久久性刺激| 婷婷六月情| 99热国产在线| 日日夜夜噜噜爽爽| 91亚洲视频| 五月久久噜噜| 五月丁香天堂网| 亚洲成人高清在线| YJLZZJLZZ亚洲乱熟无码| 9色天堂| 日韩六十路91性交电影| 九月激情婷婷丁香| 色婷婷五月网| 综合av在线| 色色综合无码| 国产毛片欧美毛片久久久| 站长推荐无码播放| xx久久| 久99久视频精选| 丁香婷婷五月综合影院| 99久高清视频| 丁香婷婷五月综合影院| 成人免费在线电影| 国产成人AV在线| 日本人妻A片成人免费看片| 久久九九国产| 综合激情在线视频| 五月色婷婷亚洲 | 丁香五月人妻| 日本97在线| 色婷婷久久综合久色综| 9l视频自拍九色9l视频在线观看| 五月婷婷激情综合网| 伊人婷婷大香蕉| 亚洲成人无码网站| 亚洲AV网站| 日本三级中国三级99人妇网站| 这里只有精品在线视频精品| 思思99热| 17.c黄色| 五月丁香六月婷婷啪啪| 久久丁香五月天| 激情婷婷五月| 另类少妇人与禽zOZZ0性伦| 天天日人人| 国产一级片色色| 99er视频在线| xxxx久| 激情综合色| 日本五月丁香| 色色免费网站| 亚洲国产精品五月天| 免费无码毛片一区二区A片| 久久五月婷天天干| 国产欧美第五十五页| 亚洲av骚货| 色婷丨日丨天丨综合久久| 91婷婷丁香五月亚洲| 日日操夜夜爽| 精品无码av丁香五月激情| 日日夜夜干| 99热在线这里| 激情综合网丁香| 国产在线aaa片一区二区99| 五月婷婷欲色| 亚州综合色| 久久久18| 丁香六月无码播放| 婷婷八月激情| 久久精品4| 99九九精品| 都市激情小说婷婷| 丁香五月天在线观看视频| 丁香五月婷婷总啪啪| 97热精品| 九九色综合视频| 99ri国产在线| 黄网在线免费播放| 五月丁香婷婷欧美色图视频五月丁香777电影 | 人人操婷婷| 99热亚洲| 激情五月天色婷婷综合| 丁香婷婷偷拍| 色婷婷免费观看| 免费看欧美成人A片无码| 超碰人人干| 五月丁香激情婷婷综合| 中文精品久久久久人妻不| 第九色区AV在线| 成人精品在线观看| 久久亚洲婷婷| 9l视频自拍九色9l视频在线观看| 丁香五月在线观看综合| 激情另类综合| 婷婷五月中文在线| 91色逼| 91黄色五月天视频| 8090在线影视少妇| 色伦专区97中文字幕| 婷婷黄色| 色色五月天丁香婷婷| 99这里只有精品在线| 九九熱最新視頻| 亚洲超级碰| 九九亚洲天堂| 久久久久这里只有精品| 99热这里只有精品8| 狠狠操狠狠操| 婷婷开心激情| 人人综合久| 五月天色社区| 婷婷六月五月天综合| 婷婷五月永远18免费久久久| 天天日夜夜夜操操操操| 99热国产这里只有| 婷婷五月天视| 五月天色婷婷激情综合| 6080av| 六月婷婷成人| tingtingjiqingwuyue| 99九九综合久久九九| 丁香婷婷基地| 这里只有精品免费在线视频| 91色色色| 91日韩在线| 丁香五月 综合| 色色亚洲无码| 丁香色啪综合| PORNY九色9l自拍视频成人| 婷婷精品在线| 99ri精品视频在线观看| 婷婷色网| 午夜婷婷五月天在线| 亚洲色五月天是什么| WWW,五月天| 久久九九怡红院| 我要色综合五月婷婷| 亚洲99激情| 综合综合色色| 蜜臀嫩草| 九九热九九| 五月天com| 51国精产品自偷自偷综合| av国产精品| 年轻的妺妺伦理HD中文| 思思久久久婷婷| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 色婷久| 综合网狠狠| 97碰碰在线观看视频| 久久草中文日韩欧美| 丁香六月婷婷久久综合八月| 婷婷色丁香五月| 日日日天天干| 91成人性爱视频| 三年高清大片免费观看国语| 在线亚洲综合| 一级片sese片.COM| 色婷婷五月视频| 大香蕉久久婷婷| 五月成人网站| 色情婷婷久久五月天| 九九香蕉网| 六月婷婷视频| 九色啦蜜臀| 99热这里全都是精品| 久久婷婷七月丁香| 久9无码视频| 俺来也综合网精品一区| 五月丁香婷婷深深爱| 婷婷色在线| 丁香婷婷婷婷十二月在线观看视频| 97碰人人操| 99久久精彩视频。| 五月婷婷开心五月| 久久婷婷五月综合色欧美| 91pornav在线| 丁香五月宝贝激情网| 伦乱天堂| 日本三级第一页| 日日操夜夜操不卡| 我爱大香蕉| 日撸夜撸日操| 99精品偷自拍| 中文字幕在线免费观看视频| 五月婷婷丁香综合网| 丁香色六月婷婷| 色婷婷91激情小说| 性 色 婷婷| 99成人在线观看| 婷婷激情久久| 狠狠色五月激情| 五月婷婷丁香婷婷| 玖玖色综合色| 天天爽人人爽| 色五月av| 91色综合| 欧美 日韩 成人在线| 大香蕉伊人丁香五月| 九九久久99| 综合网激情| 丁香五月婷婷www..com| 无码激情精品色婷婷久久久久 | 99热最新网址| 婷婷激情五月视频| 成人va视频| 久久久91精品| 色色成人網| 九九热最新| 日本久久激情| 思思99精品视频在线观看| 五月天成人综合| 91九色视频在线观看| 五月色精品| 亚洲综合在线视频| 五月婷婷六月爱| 日日夜夜天天综合| 丁香五月婷婷啪啪| 91肏| 吾爱AV导航| 欧洲亚洲精品| 五月丁香少妇| 26uuu丁香婷婷五月| 色婷婷色综合激情91| www夜夜操comwww| 香蕉久久国产AV一区二区| 99久久婷婷综合| 国产午夜一区二区三区| 欧美婷婷综合| 高清无码视频网址| 天天综合网91| 色欧洲| 九九操操| 老美AA片| 婷婷色成人| 99A片| 热久精品| 日韩日比视频| 久久9视频欧美| 色99在线视频| 色婷婷综合网| 色青五月天| 婷婷五月天 丁香五月天 裸体| 欧美va欧美va差| 99re视频在线精品| 五月天综合在线观看| 91肏| 综合色99| 亚洲激情淫网| 五月丁香婷婷伊人日韩| 91要啪| 9精品在线| 99视频精品在线| 激情二色月| 久久五月天丁香| 五月天激情视频| 天天久久66xxx| 八戒青柠影视剧在线观看| 一个色的综合| 99国产精品久久久久久久久久久| 精品人妻一区二区三区四区不卡在| 婷婷五月综合色中文字幕| 五月狠狠| 亚洲九九九九| 黄色91在线观看| 啊v视频在线观看| 99久久综合网| 婷婷五月丁香欧洲| 五月婷丁香| 婷婷激情图片| 成人色站,在线视频,看片-SS1AV| 亚洲99热| 五月色网| 五月色色激情网| 91九色视频| 无码激情AAAAA片-区区| 大香蕉久| 丁香久久久| 五月色婷婷中文字幕| 青青草大香| 日本色图综合| 去干网最新版本亚洲版| 五月开心婷婷极品激情| 拍色综合| 九九99精品| 99男人天堂| 久久九九99| 原琪琪色影院| 99热这里只有精品2024| 婷婷五月天奸女| 五月色婷丁香| 国产精品第一国产精品| 色九月婷婷丁香| 色女伊人| 很操日本7| 天天插天天射天天干| 天天综合天综合久久网| www.99色| 停停五月色宗合| 天天爽综合网| 天天草天天爱| 五月婷婷六月丁| 婷婷激情六月综合| 日本色色网站| 精品久9| 亚洲人妻av| 综合色五月| 五月激情婷婷在线| 思思热久在线观看视频| 狠狠大香婷婷爱| 91人人人人人人人| 丁香六月综合激情| 91碰视频| AV国产有码| 91操熟女| 精品人妻在线| 狠狠的日| 五月婷婷自拍| 91视屏在线观看com.wwwvv| 99在线热| 91精品国产99久久久久久天美| 在线免费视频caop| 九热视频| 九九热精品99| 五月天综合婷婷| 俺也去婷婷五月天第五色| 国产精品成人AV在线| 九九热短视频在线观看| 婷婷色网站| 日日干日日s| 伦乱天堂| 综合激情啪啪| 精品视频这里只有精品| 五月婷婷色播| 婷香五月网在线| 五月婷婷激情综合在线| 五月丁香六月婷婷啪啪| 丁香色婷婷| 97人人看| 久久激情五月天| 欧美色五月| 欧美25p| 99亚洲天堂| 操一区| wwwss在线观看| 99碰超| 99热久| 五月婷婷六月天| 丁香六月婷婷综合缴| 激情无码网| 久热综合| 校花娇喘呻吟校长陈若雪视频| 五月丁香婷婷啪啪| 精品国产一区二区三区四区阿崩| 天天爽天天日天天舔| 中出内射的人妻视频| wwwC0maV五月花| 免费视频这里只有精品| 欧美草久久五月天91| 色五月五月天色婷婷色五月| 婷婷五月激情网| 97碰久久| 婷婷导航| 男同色五月开心五月激情五月| 91视频五月丁香| 婷婷激情肏屄网| oVV4WIB3vFi8D| 开心五月婷婷| av在线资源| 色五月,com| 黄色五月婷婷| 午夜青草资源| 九九九九综合| 亚洲第一成人无码A片| 九九99视频精品| 女性自慰系列第五页| 成人做爰黄A片免费看直播室男男| 久久久久久久11111111111| 亚洲一区二区无遮挡A片| 97在线精品| 婷婷色五月久久| 夜夜 操无码| 97caop| 超碰免费在线| 五月天婷婷丁香社区| www.射伊蕉婷婷| 丁香六月天婷婷色| 六月婷婷综合| 五月天激情网开心网| 色婷婷小说| 色色色色区| 狠狠狠狠狠草| 亚洲午夜AV| 六月色 亚洲| 丁香婷婷人妻综合网| 久久激情网| 亚洲成av人影院| 天天操无码| 在线可以看的av网址| 亚洲亚洲人成综合网络| 免费国产视频| 这里只有精彩视| 成 人片 黄 色 大 片| 亚洲五月激情| 九九热这里只有精品在线观看| 噼里啪啦完整版中文在线观看| 久久影视婷婷五月| 激情VA视频| 色婷婷综合网| 日韩色色小视频| 五月天丁香综合久久国产| 丁香激情网| 色婷婷19| 人妻少妇色综合| 热婷婷在线视频| 五月深爱婷婷| 丁香婷婷六月激情文学 | 国产精品A片| 亚洲成人AV高清字幕| 五月天婷婷綜合院| 麻豆五月丁香婷婷| 伊人九九68| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 国产精品婷婷午夜在线观看| 色99在线| 国产99热| 婷婷五月婷婷| 99热e| 狠狠操天天干| 色人久夂| 九九热最新| 91人人澡人人爽人人看| 五月丁香成人视频| 日本nghangse中文字幕| 婷婷久久综合久色| 日韩aⅴ视频| 婷婷丁香十月| 丁香九月综合在线| 亭亭五月色男人| 美女伊人久久| 丁香激情网| 玖玖爱伊人| 777色色色| 色伊人婷婷| 六月婷婷中文字幕| 丁香婷婷人妻| 99国产精品久久久久久久久久久| 99rewww| 五月婷在线| 五月丁香婷婷综合网色欲| 九月婷婷综合| 丁香五月婷婷狠狠色| 国产肥白大熟妇BBBB视频| 99国产小视频2013| 中文字幕婷婷9月天| 狠狠五月天婷婷激情网。| 狠狠色综合久久久久| www.久久66| 182.t午在线观看| 深爱激情综合| 原琪琪色影院| 精品一二三区久久AAA片| 人妻videos人妻高清| 91日韩在线| 色综合播放| 国产精品久久久久久久久久久久| 国产精品久久久60086| 婷婷五月丁香青青草在线| 五月婷婷六月天| 午夜亚洲国产精品av一区二区| 久久9视频欧美| 人人舔人人色人人高潮| 色婷婷色综合久久精品V| 五月天激情婷婷| PORNY九色9l自拍视频成人| 九九色图| 婷婷五月天干干| 日韩无码性爱| 国外亚洲成AV人片在线观看| 婷婷激情网五月天| 丁香婷婷五月色综合| xxxx久| 色婷丁香五月| 综合玖玖偷拍| 天天干天天干天天干| 99热99热在线| 激情婷婷五月久久| 操91| 色五月综合婷婷| 99视频91| 青青草伊人婷婷| 激情五月婷| 人妻久久久久久久久| 色婷婷很很丝袜| 超碰97免费在线| 思思w99| 香蕉网久久| 超碰九热| 色五月六月| 伊人久久婷婷五月天激情四射| 激情 婷婷| 欧美激情综合色综合啪啪五月| 丁香五月天论坛| 国产亚洲99久久精品| 五月婷婷狠狠久久| 另类图片五月天| 色七七九九| 婷婷五月色丁香在线看| 九九AV在线| 91色干| 日比网免费国产| 五月在线| 久久人妻精品| 丁香六月婷婷缴情欧美| 九九99在线| 操人妻AV| 天天拍天天操| 久久伦乱| 婷婷五月天国产在线播放| 婷婷亚洲五月丁香综合在线| av九九| 大香蕉五月| 丁香婷婷社区| 日本片日本片祼观看网站在线看中文版网页在线看 | 五月综合婷婷网| 久久精品系列| 天啪色| 丁香六月婷婷色XXXX| 五月丁香婷婷欧美| 国产精品视频免费看| 日韩aaa| 人妻精品久久久久久久| 91制片厂久久久国产电影| 国产精品第一国产精品| 久久丁香五月| www.五月天| 91成人视频| 91丨九色丨白浆| 色婷婷亚洲婷婷在线观看| 色色 亚洲| 国产色五月婷婷| 99热精品网| 日日干综合| 五月丁香婷婷无码中文| 成人视频九九| 婷婷偷拍网| 美女丁香五月天| 天天性视频| 99热这里只有精品亚洲| 亚洲中文av| 日韩色色网| 九热视频| 69精品人人人人| 婷婷五月天av| 丰满少妇猛烈A片免费看观看| 丁香六月啪| 影音先锋高清无码资源网| 99热久久这里只有精品| 大香蕉综合在线| 成 人片 黄 色 大 片| 国产亚洲精品AAAAAAA片| 亚洲黄网AV| 99精品偷自拍| 亚洲最大视频网站| 日本欧美啪啪| 欧美天堂久久| 成人在线网| 婷婷六月网| 色五月婷婷DVD| 欧美综合激情五月丁香| 九九草热在线观看| 五月丁香激情六月| 久久在线大香蕉| 武则天精品久久| 五月天开心网| 国产欧美日韩综合精品一区二区| 艹色18p| 中文久久婷婷| 婷婷色播色五月五色五月天色妇| 只有精品在线观看| 成人五月天视频播放| 天天久| 九九色逼| 97一区二区| 色娸娸综合网| 久久五月丁香婷婷| 五月丁香六月婷婷的女人| 婷婷五月成人| 最近中文字幕大全免费版在线 | 99碰碰| 99综合视频一体| 香蕉五月婷婷| 玖玖综合色| 五月婷婷综合色啪首页| 亚洲人妻五月丁香婷婷| 九九色精品| http:色情日本com| 啪啪黄页网| 色色色综合视频| 九九在线精点品| 色99视频| 99热一本久道| 青青.com| 99热这里只有精品在线| 欧洲色色| 99热精品99| 青草视频在线播放| 婷婷五月天亚洲综合| 五月天婷婷色在线视频免费观看 | 五月天伊人日日噜影片AV| 97色色色色色| www.婷婷| www.99日本| 日在线V视频在线播放| 天天插天天日| 欧美三级A做爰在线观看| 男女免费视频999| 五月天婷婷激情小说| 天天久久狠狠色综合| 天天射影院| 天天搡日日搡aaaaⅩ| SS丁香五月婷婷| 操久久网| 99热在线观看| 日日骑夜夜撸| 9999热这里只有精品| 亚洲操操操| 人人97操| 五月丁香六月婷婷久久久综合| 91超碰在线观看| 涩玖玖免费视频| 丁香婷婷精品视频| 丁香六月啪| 99艹精品在线观看| 1995年关宝慧版蜘蛛女| 亚洲精品色| 97色女人在线| 丁香婷婷基地| 日韩三级视频一区二区| 色色色视频免费无码| 国产91视频| 激情性爱五月| 日日干日日| 超碰在线网站9| 婷婷五月天深爱| 大学生高潮无套内谢视频| 久热99热| 九九热最新| 婷婷性爱视频在线| 99精品人人| 婷婷丁香在线播放| 亚洲一二三网| 丁香五月狠狠在线观看| 丁香六月激情综合| 欧美色色色色色| 久久久WWW| 亚洲乱啪| 涩涩五月天| 操b视频在线观看一区二区| 久久婷婷五月天激情唯美| 婷婷丁香六月| 米奇激情婷婷| 五月综合激情| 狠狠人人| 婷婷五月激情网| 开心五月激情| 亚洲国产99| 丁香五月自拍| 九久9精品| 五月熟妇婷婷久久| 五月天色丁香| 日韩啪啪视频| 天天操天天插| 一区二区中文字幕| 国产成人AV| 五月综合激情综合久| 五月激情婷婷偷拍| 夜夜骑福利资源| 91av视频在线观看最新网址| 日本操B视频| 99婷婷国产最新视频| 激情五月天视频| 九月婷婷久久久| 久热超碰| 亚洲尤物在线| 久久99jiu9| 婷婷五月六月丁香| 乱码操操| 婷婷亚洲综合| 天天拍夜夜爽| 秋霞九九无码| 99久超碰| 久久久久久草黄色片AV在线观看| 婷婷五月天社区| 五月丁香婷婷俺| 亚洲成人av在线观看| 九九热视频99| 人妻AV在线| 综合AV网| 丁香5月婷婷| 丁香 久久| 成人精品视频99在线观看免费| 精品婷婷五月天| 欧美三级大片AA在线看| www.97干视频| 久9视频| 天天综合图片| 色五月婷婷五月天激情综合| 丁香六月婷婷综合| 成人狠狠成人狠狠成人狠狠成人狠狠| 久久精彩视频| 五月丁香婷婷六月| 亚洲综合在线网站| 99操视频| 日日夜夜狠狠干| 色偷偷色婷婷| 国产视频色色色色色色色| 视色综合| 97操在线视频| www.色五月| 国产免费AV在线| 四月婷婷五月色综合| 精品自拍97| 婷婷成人五月天| 美国天天日天天操| 九九精品在线视频观看| 五月精品99综合| 丁香婷婷六月| 五月丁香亚洲综合网| 亚洲操精品| 免费看欧美成人A片无码| 人妻激情综合| 99免费视频网| 久久人人看| 国产色99| 九九热精品| 97色在线观看视频| 狠狠干激情五月| 狠狠综合| 超碰人人射| 五月天婷婷婷| 丁香激情合作五月| 四月婷婷五月丁香| 西西4r午夜剧场| 婷婷五月天丁香| 九九这里只有精品| 丁香伊人激情| 天天射影| 超碰九九热| 色综啪啪啪啪啪啪| 日本三级成人秘书精品片| 婷婷六月啪啪| 俺去也五月天| 丁香开心深爱| 99视频色在线观看| 亚洲岛国电影| 色综合九九色综合88| 五月天亚洲色| 97激情五月天| 婷婷成人综合免费视频| 欧美性久| 婷婷五月网图片区| 婷婷色偷拍| 久久人妻超碰一区| 99精品偷自拍| 婷婷六月激情| 激情五月综合免费| 99日在线观看视频| 美女91一起草| 婷婷五月天毛片| 99热8在线| 果冻传媒A片一二三区| 五月天婷婷久久| 久热9| 成人做爰A片免费看视频 | 99热碰碰热| 九九精品网| 天天做天天爱天天要| 亚洲中文丁香| 色色综合日韩| 襙逼网| 天天上天天爽| 精品99网站| 五月激情丁香久久综合网| 蜜臀av无码久久久久久久久| 免费精品66| 丁香五月婷婷啪| 激情五月天综合图片小说网站| 色婷婷香蕉| 丁香五月婷婷久久久| 无码中文一区二区三区| site:jszngf.com| 人妻肉射免费观看| 亚洲爱爱无码婷婷色五月| 久久人人人人妻| 五月丁香淫淫婷婷婷| 久久欧洲综合网| 开心五月深爱五月| 婷婷五月天亚洲| 亚洲精品影视| 日日操夜夜撸| 五月丁香偷拍| 日本人人超碰| 亚洲春色奇米影视| 色五月,婷婷大香蕉| 六月婷婷综合久久| 久草五月婷婷| 色五月久久成人婷婷| 这里只有精彩小视频视频网站| 色欲香综合网| 色色色无码| 婷婷六月综合基地| 婷婷深爱五月天| 狠狠精品干练久久久无码中文字幕 | 亚洲国产精品五月天| 思思99re这里只有| 婷婷丁香六月天| 色99日韩| 中文字幕 中文字幕明步| 51精品国自产在线| 五月婷婷综合影院| 色婷婷综合久色AV五色最新| 安息电影在线观看完整版| 久久成人人妻| 99爱在线观看视频| 色日本综合| 国产偷人爽久久久久久老妇APP| 人妻丰满精品一区二区A片| 国产色99| 熟女重口味αV| 色99久草在线| www久| 99色 色| 五月婷婷五月| 国产毛片欧美毛片久久久| 色综合久久之分久久| 丁香激情四射| 九月婷婷丁香| 五月婷婷五月天| 人妻熟女一区二区AV| 操九色| 色综久久AV| 五月激情小说| 综合色99| 亚洲无码免费看| 亚洲色爽| 婷婷五月天中文字幕| 超碰在线91| 97干视频在线| 久久黄色免费视频| 五月婷六月| 99热每日| 五月丁香婷婷色色| 成年人看Va免费视频| 高清无码网址| 九草性爱| 狠狠狠狠狠草| 99久久思思| www五月| av在线观看网站| 五月深爱激情网| 五月婷婷婷婷| av在线免费网站| 操操操操操操婷婷五月天| 99热这里都是精品| 看片视频在线免费日产在线看| 婷婷午夜综合| 超碰永久在线| 啪啪啪大香蕉| 五月天婷婷AV| 97碰 在线视频观看| 激情婷婷在线中文字幕| 678五月丁香亚洲综合| 怡红院院久久| 蜜臀99精品| 黄色aa观看aaguochan| 婷婷精品| 日韩成人中文字幕| av成人在线播放| 爱婷婷久久视频| 免费看成人AA片无码视频吃奶| 色五月大香蕉| 色色色婷婷| 狠狠爱婷婷丁香| 天天天日天天天干| 亚洲a色| 亚洲1区| 日日夜夜天天综合| 婷婷丁香黄色| 成人婷婷五月天| AA片在线观看视频在线播放 | 午夜天堂一区人妻| 色婷婷五月六月丁香综合视频| 婷婷综合在线观看视频| 中文幕无线码中文字蜜桃| WWW99热| 五月天天天色| 九月大香蕉| 五月性色| 超碰激情网| 丁香婷色| 久久久com| 丁香五月天.com| 亚洲成人无码网站| 潮汕成人AV片在线| 99精品7| 亚洲一二三网| 婷婷五月六月丁香| av一区免费看|