99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
欧美日韩大黄| 九九综合图片网| 人人操av| 99爱免费在线观看| 婷婷五月色综合香五月| 六月婷婷毛片| 日韩美女在线视频19| 亚洲第一综合| 婷婷5月久久综合网站| 成人在线综合| 色五月综合激情| 亚洲狠狠干| 午夜精品777| 伊人婷婷青青cao| 激情久久丁香| 狠狠婷婷色| 久久这里只精品| 五月丁香性爱| 国产午夜精品AV一区二区麻豆| 日本丁香五月| 91色性感五月婷婷丁香| 五月婷婷婷| 久久婷婷五月综合网| 99热综合| 牛牛澡牛牛爽| 超碰色人妾| 在线看黄色| 免费视频在线观看的网站| 狠狠操狠狠操| 99在线一区| 色综合中文色综合网| 狠狠做五月| 加勒比色色| 中出内射的人妻视频| 天天摸,天天爽| 97婷婷丁香| 99在线资源| 丁香六月婷婷| 色五月综合| 亚洲无AV在线中文字幕| 91久久日日| 人操91在线| 五月停亭六月,六月停亭的英语 | 激情第四色| 色五月色五天色情网| 蜜臀av粉嫩av懂色av| 婷婷五月天久久| 丁香五月婷婷基地| 午夜色婷婷| 激情五月综合色婷婷| 只有久久精品免费| 色五月大| 精品一区二区三区免费毛片爱| 色五月丁香五| 久热只有这里有精品| 噜综合| 婷婷色五月色妇| 婷婷激情综合| 色色色激情网| 欧美婷婷五月激情| 国产人妻777人伦精品HD| 久久婷婷艹| 伊人久久婷| 五月天婷婷成人资源站| 色色色热热热| 国产ava| 天天插天天日天天爽| 777色色色| 极品人妻VIDEOSSS人妻| 狠色色狠网| 成人无码精品1区2区3区免费看| 丁香五月777| 热的国产,热的综合,热的有码| 色婷婷狠狠干芒果TV| 国产精品色色| 九九蜜臀精品| 91chinese在线| 色五月偷偷| 综合激情网激情五月。| 色五月自偷自拍婷婷婷婷| 五月黄色婷婷| 玖玖九九99| 婷婷色在线| 丁香五婷婷| 色婷婷五月天偷拍| 秋霞网在线免费基地五月婷婷丁香| 丁香六月av| 亚洲色五月| 久久这里精彩免费在线观看| 毛片九九九九九九九九18| 天天久久综合| 玖玖婷婷免费| 色偷偷五月天| 六月婷婷五月丁香首页| 91干99| www色五月天| 五月天另类小说久久小说网| AV中文字幕夜夜操b天天摸bb | 人人操91| 日韩AAAAA| 久热黄色| 国产69久久久欧美黑人A片| aaa丁香五月天| 39视频第二区| 久99视频在线观看| 婷婷久久婷婷色五月| 超碰色综合| 91九色丨国产丨爆乳| 色婷婷88| 爱之国产色情综合| 韩国不卡AC视频| 免费观看的婷婷五月视频在线| 五月天色欧美| 丁香婷婷色五月| 六月婷婷啪啪| 丁香婷婷欧美综合| 成人综合网站| 欧美性爱五月天| 五月婷婷六月情| www.伊人天堂偷偷婷婷| 九九re精品视频在线观看| 五月丁香啪啪| 99热精品一| 热99精品视频五月| 激情色五月天| 可以直接看的av| 直接看的AV| 欧美日韩国产一区二区| 色五月 婷婷, 大香蕉| 欧美激情综合五月色丁香| 天堂爱啪啪| 香蕉久久国产AV一区二区| 99色精品| 五月天电影网| 天天爱天天日| 人人干Av| se色99| av第一二区| 99ri在线视频| 欧美日韩AAAAA| 国产激情在线| 亚洲综合婷婷| 婷婷九九| 99综合视频在线| 色婷婷亚洲在线观看| 国产高潮A片羞羞视频涩涩| 激情五月婷婷六月丁香| 99热最新网址| AAAA网站| 午夜丁香| 538在线精品| 97人人射| 婷婷色色网站| 九九九九九九热| 1024国产在线| Av免费网站在线| 激情五月天色色色| 丁香五月婷婷偷拍| 久久性刺激| 99在线观看视频免费| 久久xx| 免费精品66| 激情五月深爱五月| 战争与艾拉电影免费观看| 色久婷婷网| 激情五月天婷婷久久久久久久久久久| 黄色99网| 五月婷婷婷丁香播| 色婷婷狠| 亚洲欧洲一二| 狠狠va| 欧美色五月| 丁香五月自拍| 婷婷五月成人社区| 欧美噜噜免费观看 | 久久ab| 夜夜综合色| 激情五月天电影| 人妻Av在线| 99久超碰| 婷婷丁香五月综合网上| 99在线观看视频| 婷婷色播婷婷| 99热综合网| 77799热| 激情婷婷色五月| 99色综合| 五月婷婷丁香深深爱| 思思热在线播放| 国产成人精品一区二三区熟女在线| 亚洲岛国电影| wwccc久久久| 色婷婷五月色| 久久婷婷五月综合啪| www.激情在线| 激情久久丁香| 亚洲精品久久久久久久久久飞鱼| 久久99免费视屏| 久久人人超| 亚洲AV电影av| 婷婷五月天干干| 99热99精品| 婷婷六月成人| 激情综合网,婷婷五月天| 六月丁香VA| 激情五月综合网| 丁香五月123| 日本天天操| 色域五月丁香| 玖玖精品视频| 99精品97| 欧美在线操| 中文字幕成人影视| 深爱五月激情| 婷婷久久18| 日韩视频99| 九九精品系列| 超碰在线精品| 99热99热在线观看| 99热国品| 久久99这里只有精品视频| 97色色视频| Xx色综合| 色色婷婷综合| 五月婷婷真爱激情网| 婷婷丁香红五月91C| 色五月婷婷啪啪五月| 伊人大香蕉综合在线| Www.se.久久| 激情五月天婷婷久久久久久久久久久| 无码人妻少妇色欲AV一区二区 | 久久婷婷五月丁香网| 色久婷婷五月| 99热99日天天干| 丁香五月天在线| 碰超在线九色| 色激情五月天| 99热九九热| 五月婷婷激情日本| 亭亭玉月丁香| 激情六月天婷婷| 婷婷在线免费| 黄色高清无码| 思思热视频| 婷婷五月天另类视频| 天天夜天天色天天| 激情综合网五月| 超碰在线99| 亚洲精品又粗又大又爽A片 | 综合AV在线| 色五月婷婷天天操夜夜操| 色婷婷777狠狠| 年轻的妺妺伦理HD中文| 国产无人区大片| 玖玖在线视频福利| 丁J香六月首页| 无码人妻激情| 婷婷综合激情| 人妻久久人妻久久第一区| 伊人五月久久| 丁香五月综合福利视频导航| 99男人天堂| 精品久久久久成人码免费动漫| 激情综合网色播五月| 人人草人人爱| 99精品7| site:hcxsz888.com| 色5月婷婷色| 久久婷婷亚洲无码一起| AV中文网| 99色综合| 秋霞免费视频| 日本色色影片| 久久婷婷五月天激情新地址| 99热精品在线观看| 九九热99视频| 夜夜干 夜夜操| 亚洲综合视频一下| 天天擼久久擼在线| 日本人妻丁香婷婷久久寝取熟女五月| 91好好热日本在线| 91人人爱| 激情视频91| 久久免费9| 99热伊人| 色综合性视频| 大天天伊人| 天天爽天天爽| 97精品人人A片免费看| 99热官网精品在线| 五月婷婷av| 五月天丁香| 武汉美女啪啪视频免费一级片| 亚洲亚洲亚洲AAAAAA| 亚洲日日操| 成人网站免费sxj| 五月婷婷久久内射| 五月丁香婷婷激激激综合网色播| 五月天色婷婷av| 日日噜噜久久婷婷五月天| 日本在线噜噜| 婷婷五月天开心网| 人操91在线| 婷婷久久久| 婷婷丁香久久五月综合| 五月天婷婷丁香社区| 亚洲综合五月天婷婷| 日本丁香五月| 超碰久热| 超碰网站在线观看| 极品人妻videosss人妻| 五月丁香六月激情欧美综合| 91夫妻视频| 另类视屏| 人人色AV| 大香蕉网站,大香蕉综合| 色综合久久综合中文综合网| 天天肏夜夜肏| 人妻人人操| 99热99色| 精品久久穴| 久久精品视频99| 五月激情偷拍婷婷| 丁香色五月 97干| 草草色情综合网| 69精品人人人人人人| av在线激情| 五月丁查人人| 中文字幕人妻AV| 97碰久久| 色老久久| 婷婷五月日本| 五月婷婷无码| 激情www| 激情五月婷婷| 五月婷婷色综图片| 色老久久| 婷婷五月天毛片| 日韩黄在免| 婷婷丁香九月| 六月丁香VA| 激情综合网五月激情| 天堂综合久| 天天色噜| 久热69| 六月丁AV| 色五XX| 久久婷婷综合五月| 亚洲精品乱码久久久久久综合| www.henhengan| 日本色色影院| 亚洲成人在线播放| www.99色| 国产做爰视频免费播放| 五月丁香花伦理电影| 91碰碰碰| 婷婷五月天天| 人妻丰满精品一区二区A片| 五月天色在线| 免费成人中文字幕| 伊人久久五月天综合| 无语停婷丁香网| 思思热在线免费视频| 激情五月婷婷| 亚洲 精品 综合 精品| 91打屁股免费看| 婷婷五月偷拍| 超碰在线免费9| 亚洲热综合| 五月婷婷之六月丁香| 激情五月综合| ww亚洲ww在线观看| 色亭亭影园| 人人干女人| 亚洲激情 久久| 久久久久久久久月丁| 日日操天天| 操逼综合网| 天天摸天天透天天舔| 99开心五月五月丁香激情| 96自拍视频九色在线观看| 女高怪谈在线观看| xxxx五月| 综合九色| 综合五月天| 午夜电影网VA内射| 天天 青草 制服丝袜 在线| 亚洲成人AV电影网| 欧美电影在线观看| 五月 激情视频| 黄色aaaaa| 中日韩美欧成人一区二区精品在线| 五月丁香婷婷成人综合网| 婷婷色婷婷| 久久久久五月丁香| 天天噜噜| 欧洲一区二区| 亚洲第一精品网站| 综合激情网五月激情| 91无码高清| 色婷婷久久视屏| 九九综合网色全集 | 五月丁香激情四射| 男人視頻站| 99视频啪啪| 九九热免费视频| 亚洲综合五月天| 夜夜操夜夜姧| 99热精品在线| 九月婷婷综合在线| 九九热99久久99| 欧美日韩二区在线| 亚洲综合网在线| 色婷久久| 五月婷婷色播| 色色色婷婷五月天| 亚洲美女网Va| 久久这里有精品| 日日噜狠狠色| 亚洲色婷婷五月天| 思思热视频| 一级性爱视频| 五月婷婷婷婷网| 激情综合婷婷| 五月情色天| 免费啪啪亚州视频| 婷婷综合网| 精品99在线| 99视频只有精品| 噜噜视频| 婷婷成人综合| 少妇出轨做爰高潮A片| 很很干五月天| 涩婷婷五月天| 操一操干一干| 狠狠色婷婷7777久| 欧美性爱五月天| 粉嫩av懂色av蜜臀av熟妇| 五月色综合| 97操碰在线97| 国产人妻操逼| 色五月激情基地| 成人精品99| 丁香六月色婷婷| 九九无码| 狠狠婷婷色| 国产亚洲成AV人片在线| 97碰久久| 大狠狠在线| 99热免费观看| 成人免费120分钟啪啪| 日操熟女| 婷婷 激情 五月| 99人人操人人操人人精| 色婷婷五月综合在线| 天天做天天爱天天搞| 色婷婷99| 五月激情黄色小说| 综合婷婷| 五月丁香久人妻中文| 九九在线免费观看| 色99在线| 五月婷婷欧洲| wWwCom夜操wwW| 丁香五月先锋| 另类 在线| 婷婷五月天免费| 久久久99视频| 国内9l视频自拍老熟女九色| 黑人无码一区| 色情一区二区播放| 91色综合网站在线| 思思热天天看| 精品久久艹| 欧美色激情四射| 五月婷视频在线观看| 婷婷最新地址| sewuyuejiqingwang| 丁香五月av| 婷婷五月五月丁香| 丁香五月婷婷呀| 婷婷五月在线视频| AA久久| 五月天婷婷综合免费| 人操91在线| 人人色AV| 夜夜操加勒比| mmm1717.6dbm人人爱人人操| 欧美交换配乱吟粗大25P| 五月天日日操夜夜操| 九九热视频在线观看| 亚洲久久天堂| 婷婷色香六月综合激情| 91丨九色丨国产打屁股| 91久久九色| 婷婷五月情天| 在线网黄| 99热这里都是精品| 99精品在线播放| 午夜天堂啪啪| 久久精品66| 久久婷婷网址| 亚洲激情婷婷| 五月婷婷深深爱爱| 国产精品日本一区二区在线播放| 五月永久激情| 99网址在线看| 极骚大香蕉伊人| 色无码| 五月婷婷色影院| 人妻精品在线| 丁香五月首页| 亚洲岛国电影| 激情综合网色播五月| 婷婷丁香人妻| 亚洲四色五月| www99热| 99热在线观看免费中文| 久久久宗合视频88| 9l视频自拍九色9l视频自拍九色9l社区 | 婷婷中文字幕版| 东京热免费视频网站| 久久九九免费视频| 99爱精品视频| 五月婷啪| 香蕉AV777XXX色综合一区| 激情六月色| 少妇久久诱惑视频| 久久99这里| WWW.五月com| 六月婷婷综合| 久久99美女精彩视频| 久久99看免费| 丁香六月婷婷激情| 婷婷色中文字幕| 激情五月婷婷| 俺也去综合| 91九色丨国产丨爆乳| 99视频在线啪| 色丁香五月婷婷综合久久| 91久久久久久| 五月激情综合网| 六月婷婷视频| 天天草婷婷五月| 久久九九怡红院| 123草逼网| 色色丁香色五月| 在线看片h站| 99re热视频这里只精品| 五月婷婷啪啪| 婷婷五月婷婷| 激情五月婷婷综合| 色婷婷五月中文字幕在线dvd| 欧美噜噜免费观看| 五月婷婷插一插| 99久久久国产精品免费蜜乳tv| 丁香六月av| 日日噜人人人做人| 婷婷欧美激情综合| 婷婷在线日韩综合| 天堂网亚洲色图| 色色综合热| 九月婷婷综合在线| 免费观看日韩成人av| 97日本在线播放| 另类国产欧美视频| 色色五月天丁香婷婷| 99er热精品视频| 淫五月停停| 桃色成人网| 久久丁香婷婷色情综合| 人妻性爱av网站| 蜜桃婷婷丁香| 国产色网站| 色五月丁香婷婷在线观看| 五月丁香偷拍| 久久er99热精品一区二区| 久热这里| 丁香五月天社区婷婷| 九月丁香婷婷基地| 香蕉国产2013| 九九热视频免费| 色五月婷婷九月| 色色色热| 亚洲成av人影院| 免费无码毛片一区二区A片| 久草嫩草在线观看| 色综合色五月| 婷婷播播五月天| 婷婷丁香五月噜噜噜| 婷婷五月丁香在线视频| 五月丁香六月婷综合成人综合| 精品久久穴| 99啪在线视频| 99rewww| A在线观看| 国产午夜精品AV一区二区麻豆| 婷婷五月天午夜激情影院| 99色五月| 五月天开心婷婷久久| 久9热视频| 国产欧美日韩综合精品一区二区| 国产九月婷婷| 久操热| 精品爆操| 成人综合视频在线| 26uuu亚洲欧美| 激情五月天色爱| 中文字幕不卡+婷婷五月| 狠干综合| 九九这里都是精品| 蜜桃五月天| 26.uuu丁香五月婷婷| 丁香六月无码| 亚洲电影中文字幕| 丁香六月啪啪| 色播激情五月天| 亚洲无码色色| 激情五月,色五月| 六月丁丁香| 日日干四虎| 婷婷五月激情四月综合| AV九九| 国产熟女大叫受不了| 五月丁香欧美综合| 免费无码毛片一区二区A片 | 五月天六月婷婷| 激情熟女网| 日韩在线五月天婷婷| AA片在线观看视频在线播放| 丁香五月精品视频| 国产69久久久欧美黑人A片| 99热九九这里只有精品| 9热精品| 99色 | 婷婷五月天美女| 亚洲色五月| 亚洲激情无码久久| 91超级碰| va中文资源在线观看| 亚洲另类在线观看| 狠狠肏综合网| 久久日本wwww色| 久久色五月天综合网| 国内精品99| 123草逼网| 在线中文av| 极品少妇XXXX精品少妇偷拍| 色婷婷丁香五月在线| 丁香深五月婷婷| 操逼视频一区| 亚洲精品视频在线| 五月丁香啪啪| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 丁香婷婷激情网站| 久久五月天丁香花| AV性爱网| 久久精品66| 欧美性爱一区| 99色色视频| 日韩六十路91性交电影| 大香蕉五月天婷婷| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | www.丁香五月| 五月人妻婷婷| 婷婷五月欧美| 桃色五月天| 九九这里只有精品在线视频| 人人色人人弄人人操| 婷婷五月亚洲一本在线丁香| 五月丁香综合啪啪対白| 色婷六月| 婷婷综合丁香| 亚洲午夜一区二区| 麻豆五月丁香婷婷| 亚洲激情婷婷| 91高潮喷水久久久久久久久 | 久热AA| 色情激情五月| 五月天婷婷色紫薇阁| 热99免费在线| avh片在线观看| 大香蕉九九| 五月婷久久在线| 五月色婷婷激情| 色欲婷婷五月天丁香| 丁香六月婷婷综合| 亚洲天堂爱爱| 激情五月天婷婷丁香 | 成人无码精品1区2区3区免费看| 任你搞网站| 五月丁香好婷婷A片网| 五月激情另类| 久激情网| 天天干,天天日| 99re6久热只有精品6在线直播| 五月婷婷干| 九九热在视频| 日日色五月天| 精品综合五月| 五月丁香六月情婷婷久久| 99热成人在线| 伊人五月成人| wwwwww.色| 丁香六月婷婷| 国产成人99久久亚洲综合精品| 99综合视频| 五月婷婷色吧!| 六月婷婷激情小说网| xxxx五月激情| 婷婷久久婷婷色五月| 婷婷丁香综合| 激情六月婷婷| 亚洲久久激情| 欧美色五月| 五月丁香综合啪啪| 日韩色色视频| 久久久人妻| 日韩av一区二区在线/日产精品久久久| www999日韩精品| 色五月婷婷色| 五月婷久久| 99精品视频在线观看| 美女100%露全身无挡网站| 人妻系列久久久久久久久久久 | 91婷婷搞| 五月天婷婷丁香社区| 五月丁香综合激情网| 开心五月婷婷| 国产av影片| 99综合视频| 日日狠夜夜狠| 免费观看亚洲AV片| 潘金莲AAAAAAAAAA| 这里只有精品日韩| 五月六月婷| 婷婷综合网| 美国天天操无码| 日本99久久| 热99这就是精品视频| 九色PORNY9l原创自拍| 亚洲av电影在线| 俺去也在线官网| 亚洲激情综| 好叼操在线观看| 综合激情啪啪| 五月婷婷免费在线视频| 五月亭亭直播| 91 原创 在线 九色| 色色色欧美| 美女网黄| 日本爆乳片手机在线播放| www.五月丁香| 五月丁香大相交| 婷婷六月激情在线视频| 538在线精品| 婷婷伊人综合中文字幕| site:feetmall.com| 99色色| 久草五月| 日本天天色| 久9热视频在线观看| 激情五月,激情综合网| 婷婷干| 6080av| 国产精品色情AAAAA片软件| 欧美日韩五月婷婷| 超碰猛烈的性猛交| 99热欧美精品| 可以免费观看的AV| 九九精品亚洲| 丁香六月激情综合| 久碰久操| 亚洲操逼网| 国产综合81p| 五月天社区婷婷丁香社区| 超碰国产在线观看| 激情综合99| 激情文学第四色婷婷丁香五月| 天天日日夜夜爽。| WWW.久久99| 丁香婷五月天开心六月| 成人草榴视频| 天天综合亚洲综合| 男女啪啪视频久 9| 99精品免费欧美小视频| 天堂网色色| 中文激情网| 激情综合网五月在线播放| 老师的粉嫩小又紧水又多A片视频| 五月花亭亭| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 激情五月婷婷网在线观看| 99亚洲精品| 日本成人噜噜噜| 九九色综合| 成人五月天综合网| 丁香六月欧美| 日本女va| 9999热精品| 99re这里| 青青草五月天| 午夜精品久久久久久久爽| 逼里香不卡| 在线五月色播| 婷婷中文无码| av在线免费网站 | 天天射色五月天| 五月激情小说网| 野战毛片三一3| 综合激情五月综合激情五月激情1| 五月天婷婷色色首页| 亚洲经典三级| WWW.99视频| 婷婷一本和五月丁香| 色欲影香| 丁香五月天婷婷91| 成人 在线观看国产| 玖玖爱综合网| 17.c黄色| 激情伊人五月婷婷久久| 操操天堂| 99碰在线视频| 久久久久这里只有精品| 可以直接看的AV网站| 亚洲va在线| av中文在线| 大香蕉婷婷| 91AV婷婷| 中文字幕,综合,91| 婷婷综合久久综合| 亚洲熟妇AV乱码在线观看| 五月天婷婷7米| 亚洲 小说 欧美 激情 另类| 天天干,天天舔| 夜夜躁婷婷AV| 97人人干人人操| 先锋资源91| 五月天堂婷婷| 九九99精品| 99色色热| 丁香五月综合网亚洲综合欧美狠狠| 日夜夜天天| 婷婷开心五月| 五月婷丁香| 啪啪操超碰| 色五月激情五月天| 国产精品色婷婷久久久精品| 色99日韩| 99热综合在线| 亚洲精品亚洲人成人网| 月色色综合婷婷网| 精品99这里有| 五月激情小说| 色婷婷久久综合| 九九AV| 亚洲综合碰| 色玖玖导航| 亚洲 精品 综合 精品| 激情综合六月| AV九九| 最近免费中文字幕大全高清大全1| 欧美成人AAA片一区国产精品| 男人的天堂av俄罗斯热| 色啪影院| 婷婷六月丁香色| 99er6热在线观看精品6| www久久久| 五月天婷婷色色| 91九色首页| 综合五月激情网| 婷婷五月六月丁香综合| 99热最新网址| 亚洲无AV在线中文字幕| 亚洲视频五区| 五月天婷婷在线观看| 国产精品99久久久久久久女警| 五月丁香影视| 精品99在线观看| 在线视频区| 色色五月天激情| 天天精品视频在线观看视频| 久久婷五月| 色婷婷亚洲综合天堂| .操區COm| 丁香五月激情啪啪| 开心五月婷婷| 色99在线视频| 五月婷婷五月天| 丁香五月婷中字在线| 色五月婷婷成人视频| 五月丁香久久久久| 人妻久久婷婷| 久久精品系列| 色图亚洲91| 天天综合网~91| 婷婷色播色五月五色五月天色妇| 97香蕉久久超级碰碰高清版| 五月婷婷七月丁香| 九九色综合网| 97欧美在线| 五月丁香婷婷综合网| 九色PORNY在线精品酒店| 五月天色婷伊人| www.夜夜| 婷婷五亚洲| xxxx五月天色色| 丁香婷婷色五月天| 无码91中文字幕| 婷婷五月天少妇| 色婷婷丁香A片区毛片区女人区| 久久婷婷五月综合成人d啪| 夜夜爽天天干| 人人操人人看97干| 天天干天天爽| 亚洲综合无码| 丁香五月欧美| 第一区久久网站| 丁香啪啪中文字幕| 亚州操人在线视频| 婷婷内射视频在线| 免费视频99| 久色中文| 大香蕉 伊人夜| 婷婷久热| 色天天综合| 婷婷五月丁香亚洲| 九九热在线视频,| 五月天丁香综合在线| 婷婷网五月天| 激情欧美婷五月| 精品综合爱| 99热免费| 久久婷五月天| 99riAV国产精品视频| 在线观看熟女少妇| 五月叮香啪| 五月色婷婷激情| 丁香五月天天| 中美日韩成人在线| 五月六月丁香婷婷在线观看| 午夜天天精品视频| 精品色色网| 中文av在线观看| 精品久久99码| 91久久久久久| 大香蕉久久伊人婷婷五月丁香| 99精品视频在线观看| 五月丁香狠狠地噜噜噜噜| 大香蕉久久伊人网| 成人在线精品| 婷婷六月天精品| 99视频在线观看网址| 久久人人妻| 九热视频在线精品15| 91精品熟女| 色婷婷欧美| 久久久久久久11111111111| 免费AV黄在线播放| 色五月婷婷综合在线| 久操香蕉| 免看黄大片AA | 婷婷中文无码| 久久中文人妻系列| 99热免费精品| 婷婷丁香色五月天| 996热| 少妇水多A片太爽了| 色五月大| 五月婷综合网| 99热大全在线观看| www.色综合| 五月天基地| ..真实国产乱子伦毛片| 色五月激情五月| 99热在线观看精品| 99色精品| 丁香五月婷婷基地| 人人摸人人干人人做| 玖月婷婷爱丁香| av在线激情| 99热综合网| 婷婷99丁香| 欧美图片丁香五月天| 黄色91在线观看| 亚洲三A| BBWCUCKOLD精品熟妇| 国产亚洲精品久久一区二区三区| 亚洲综合99| 九九色综合| 人人干天天舔| 热九九在线| 26uuu美女三级视频| 人人爽人人爽人人爽人人爽| 91艹人| 九九精品在线视频观看| 人妻AV在线观看| av在线资源| 亚洲激情五月婷婷日日| 狠狠狠人妻| 思思re视频在线| www.sezonghe| 五月天另类小说久久小说网| 伊人六月丁香婷婷| 久久偷拍综合五月天| 色五月婷婷色| 99精品视频网| AAA级久久久精品| 九热视频免费观看| 伊人网欧美在线男人天堂五月丁香 | 综合网亚洲| 婷婷视频网| 六月婷婷日| 五月天丁香六月综合| 九九热精品6| 大香蕉久久久| 激情五月婷婷| 91女人18毛片水多国产| 六月丁香婷| 五月花婷婷最新| 99久久久免费| 99久久户外勾搭| 大香蕉九操| 色五月婷婷一二| 99综合网| 大香蕉久久视频久久视频| 五月婷婷六月丁香首页| 99re热视频这里只有综合亚洲| 91午夜激情| 欧洲色色| 精品人人操| 五月综合婷婷五月| 国产婷婷婷| 日本在线视频www色| 久久婷婷五月综合色播| 综合激情站| 9人人操人人看| 久久精品只有这| 抽插特写| 99国产性感视频| 中文毛片无遮挡高潮免费| 日本欧美在线| 亚洲综合色色色| 97高清国语自产拍| 国产VA播放| 丁香六月情| 殴美日韩成人| 九九久久网| 婷婷综合国产| 精品婷婷五月天| 久操无码| 丁香婷婷大香蕉| 五月婷激情| 99男人的天堂| 丁香午夜天| 六月丁香婷婷综合影院| 噜噜在线| 五月玖玖| 99热精品无码| 丁香六月中文| 超碰在线免费观看3 9| 午夜九九电影| 五月丁香亭亭电影久久| 久去色色| 激情综合网五月天| 九九热视频免费观看| 五月丁香啪啪| 色五月aV| 九月丁香欧美综合| 中文字幕在线播放视频| 欧美日韩国产一区| 天天日天天摸| 丁香婷婷性爱| 日韩成人无码| 激情5月婷婷| 九九激情综合| 五月丁香影视| www.狠狠操.com| 日本强伦片中文字幕免费看| 精品久久久久久久久久久久人妻| 专区无日本视频高清8| oumeisesewang| 五月婷婷久久大片| 操日视频| 激情综合网激情五月网| 怡红院91a√| 成人精品视频99在线观看免费| 精品婷婷五月视| 90色免费视频| 开心五月激情网| 婷婷色系婷色| 丁香五月婷婷天堂大香蕉| 六月婷婷综合| 丁香五月伊人| 色色综合成人网| 色婷婷香蕉在线| 一本久道综合色婷婷五月| 美女va| 欧洲区自拍| 日本不卡高字幕在线2019| 99青青草| 久久婷婷色情7777网站| 婷婷激情五月天桃花网| 六月丁香啪啪| 五月婷在线观看| 欧美 日韩 成人在线| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 人妻操逼视频。| 97人人干视频| 亚洲亚洲人成综合网络| 狠狠爱综合| 很很干天天干| 日日干日日色| 婷婷爱在线观看| 丁香五月天亚洲综合| 96精品成人无码A片观看金桔| www.五月天婷婷| 激情婷婷在线中文字幕| 欧美性生交XXXXX无码小说| 五月激情站| 99亚洲视频| 色婷婷丁香| 六月五月久久丁香| 亚洲婷婷月丁香五月| 国语对白性爱视频播放| 男人的天堂97| 婷婷亚洲久久| 婷婷久久亚洲| 超碰在线人妻| 九九av在线| 五月婷激情影院| 亚洲色图五月丁香五月婷婷| 大香蕉手机视频| 91操人| 啪啪91| 亚洲操操操| 国产精品久久久久久久久久免费| 99久在线精品| 五月丁香六月| 五月婷婷综合在线视频小说| 亚洲色综合性| 激情五月丁香色婷婷| 天天舔天天| 亚洲婷婷欧美婷婷| 日本色视| 丁香六月天| 丁香五月天导航| 日本丁香久在线| 久久精品日| 九九色之九九色之88| www.狠狠操.co m| site:minyis.com| 舔色婷婷| www.99久| 欧美123区免| 九九精品9| 久操干| 五月婷婷视频啪啪美女| 六月婷婷久久| 欧亚成人A片一区二区| 女人天堂久久| 久久这里只有精品无码| 狠狠干在线| 真实的国产乱XXXX在线91| 亚洲天堂99| 五月婷婷六月开心| 99国产精品久久久久久久久久久| 99久高清视频| 色婷婷狠狠色| 成人片在线播放| 五月激情综合性爱| 五月天a婷婷伊人| 婷婷激情五月综合基地| 男人天堂99| 色五月婷婷激情基地| 99爱免费视频在线观看| 伊人干综合| 亚洲视频操| 日本成人噜噜噜| 在线日本www| 亚洲天码视频www蛋播视频| 欧美69久成人做爰视频| 天天干天天爽天天爽| 色五月,婷婷大香蕉| 日韩人妻无码精品| 九色视频这里只有精品| 久久久久久人妻| 伊人久久大香| 激情综合网五月天| 久久婷婷桃花五月天| 久99热| 久久综合婷| 美国十月色婷婷在线观看| 色噜噜夜夜夜综合网| 九九热10| 偷拍99在线视频观看| 99热九九在线| 久久WW| 色99综合色88| 丁香五月色情| 婷婷97碰碰| 午夜无码精品色综合久久| 久久98| 九九热这里有精品23| 内射爽无广熟女亚洲| 天天看A片| 啄木鸟丝袜美女福利视频| 午夜少妇在线观看视频| 五月丁香狠狠爱婷婷综合| 激情丁香五月婷婷| www.国产亚洲69ty.久久久久久久久久久久| 人妻中文在线| 亚洲美女婷婷五月天| 九九色精品| 久久这里有精品在线观看| 涩丁香| 国产亚洲在线| 九九99精品视频在线观看| 97影院一级片| 日韩无码成人电影| 影音先锋91资源站| 久操激情| 综合色色网| 五月丁香成人| 婷婷激情六月视频| 久草网大香视频| 国产婷婷五月天| 色婷婷久久| www.夜夜操| 丁香午夜天| 9久国产| www99热| 99亚洲色色| 婷婷亚洲综合| 色婷婷成人色网| 丁香六月婷婷开心| 久久这里只有精品16| av国产精品偷| 99A片| 婷婷五月天天爽| 五月丁香六月婷婷中文版| www网站在线观看| 成人婷婷| 开心五月婷婷六月丁香| 超级碰碰碰碰视频| 五月丁香婷婷综合| 伊人AV五月婷| 激情久久五月天| 色情婷婷久久五月天| 国产激情在线| 99热久草| 色香蕉影院| 2022久久婷婷| 强壮公让我夜夜高潮A片视频| 亚洲五月天婷婷在线| 亚洲综合丁香五月| 丁香五月综合久久综合| www天堂99| 免费看欧美成人A片无码| 色婷婷五月天偷拍| 国产一二三四五六七八视频| 欧美性二区| 97自拍99| 色综合天天天天做夜夜| 久久这里只有精品07 | 色综合99无码 |