久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

Unity機(jī)械拆裝系統(tǒng)總體設(shè)計(jì):從分層架構(gòu)到數(shù)據(jù)驅(qū)動(dòng)實(shí)現(xiàn)

Unity機(jī)械拆裝系統(tǒng)總體設(shè)計(jì):從分層架構(gòu)到數(shù)據(jù)驅(qū)動(dòng)實(shí)現(xiàn) 機(jī)械拆裝類(lèi)項(xiàng)目但凡你碰過(guò)教學(xué)仿真或者工業(yè)培訓(xùn)估計(jì)都有印象一堆人圍著三維模型干瞪眼不知道先拆哪個(gè)螺絲、再用哪個(gè)工具。用Unity來(lái)做機(jī)械拆裝系統(tǒng)本質(zhì)上不是“給模型加個(gè)鼠標(biāo)拖拽”那么簡(jiǎn)單而是一次從模型數(shù)據(jù)、交互邏輯到流程控制的整體設(shè)計(jì)。我早期踩過(guò)不少坑比如模型導(dǎo)入后坐標(biāo)全亂、拆裝順序?qū)懰涝诖a里、一換設(shè)備就各種卡。后來(lái)把“總體設(shè)計(jì)”四個(gè)字認(rèn)真對(duì)待才慢慢摸清楚里面該分幾層、哪些東西必須先想明白。這篇文章就圍繞“Unity機(jī)械拆裝系統(tǒng)的總體設(shè)計(jì)”來(lái)聊。不整虛的直接拆解系統(tǒng)該怎么分層、拆裝序列怎么設(shè)計(jì)、零件交互怎么做、數(shù)據(jù)怎么配最后給一套可以照著搭的簡(jiǎn)易實(shí)現(xiàn)。適合要做機(jī)械拆裝、虛擬仿真實(shí)驗(yàn)、維修培訓(xùn)這類(lèi)項(xiàng)目的開(kāi)發(fā)者尤其是剛從“搭個(gè)場(chǎng)景隨便轉(zhuǎn)轉(zhuǎn)”進(jìn)入到“要做成正規(guī)系統(tǒng)”階段的朋友。1. 總體設(shè)計(jì)之前想清楚機(jī)械拆裝系統(tǒng)的邊界很多項(xiàng)目死在第一步需求沒(méi)拆干凈就上手拖場(chǎng)景。機(jī)械拆裝聽(tīng)起來(lái)很具體但不同場(chǎng)景下的目標(biāo)完全不一樣總體設(shè)計(jì)必須先回答“這個(gè)系統(tǒng)究竟要干什么”。1.1 機(jī)械拆裝類(lèi)項(xiàng)目通常要解決哪些問(wèn)題機(jī)械拆裝系統(tǒng)在行業(yè)里大多跑在這幾類(lèi)場(chǎng)景中教學(xué)培訓(xùn)職校、高校的機(jī)電專(zhuān)業(yè)用虛擬仿真替代真實(shí)拆裝實(shí)訓(xùn)。這種場(chǎng)景下系統(tǒng)要強(qiáng)調(diào)步驟規(guī)范性和操作引導(dǎo)甚至要做考核評(píng)分。維修輔助給售后、運(yùn)維人員做拆裝指導(dǎo)。重點(diǎn)是把復(fù)雜的維修步驟可視化能查某個(gè)零件怎么拆、扭矩多大、有沒(méi)有專(zhuān)用工具。產(chǎn)品展示展會(huì)、客戶(hù)演示。這種偏演示向視覺(jué)效果優(yōu)先交互可以簡(jiǎn)化但不能卡頓。我做過(guò)一個(gè)偏培訓(xùn)類(lèi)的項(xiàng)目當(dāng)時(shí)以為只要“能點(diǎn)、能拖、能裝回去”就行結(jié)果驗(yàn)收時(shí)對(duì)方拿出一份拆裝工藝卡上面每一個(gè)零件都有拆裝順序、方向、工具、力矩要求甚至還有安全注意事項(xiàng)。那一刻才明白機(jī)械拆裝系統(tǒng)的核心不是三維交互而是對(duì)拆裝流程的結(jié)構(gòu)化管理。所以做總體設(shè)計(jì)之前第一件事是把業(yè)務(wù)規(guī)則摸清楚。要拆的部件有多少個(gè)零件哪些必須按順序拆哪些可以并行拆每個(gè)零件拆下來(lái)之后要不要消失、要不要高亮、要不要有特寫(xiě)鏡頭這些規(guī)則不先理清楚Unity里做到一半就得推倒重來(lái)。1.2 Unity做拆裝系統(tǒng)的天然優(yōu)勢(shì)與短板Unity在這個(gè)領(lǐng)域里屬于“上手快、上限看能力”的引擎。優(yōu)勢(shì)很明顯實(shí)時(shí)渲染表現(xiàn)力強(qiáng)PBR材質(zhì)、后處理、光照方案都比較成熟模型展示效果不錯(cuò)。跨平臺(tái)方便Windows、Android、WebGL都能出實(shí)訓(xùn)室里的PC、平板、VR設(shè)備都能覆蓋。生態(tài)里現(xiàn)成插件多比如Highlighting、DOTween、VR交互框架等能省不少底層時(shí)間。短板同樣要認(rèn)清楚。Unity不是CAD軟件導(dǎo)入工業(yè)模型后裝配約束關(guān)系、爆炸圖邏輯、拆裝序列這些統(tǒng)統(tǒng)不會(huì)自動(dòng)生成。物理引擎在拆裝這種場(chǎng)景里往往還幫倒忙剛體加多了零件亂飛不加又缺少真實(shí)感。所以機(jī)械拆裝系統(tǒng)里不要指望物理引擎替你解決裝配判定合理做法是自己寫(xiě)基于空間位置和角度的約束判斷。1.3 設(shè)計(jì)目標(biāo)拆解從教學(xué)演示到交互實(shí)訓(xùn)做總體設(shè)計(jì)時(shí)我習(xí)慣把目標(biāo)拆成三個(gè)層級(jí)再定開(kāi)發(fā)優(yōu)先級(jí)第一層能看。模型可以自由旋轉(zhuǎn)、縮放拉近拉遠(yuǎn)能看清整體結(jié)構(gòu)和零件關(guān)系。 第二層能拆??梢赃x中零件、拆下零件并且拆裝順序有邏輯約束。 第三層能練。系統(tǒng)加入步驟引導(dǎo)、錯(cuò)誤提示、考核評(píng)分不只是演示還能訓(xùn)練。第一次做項(xiàng)目別一上來(lái)就奔第三層。先把“能拆”這一層做扎實(shí)把拆裝序列的數(shù)據(jù)結(jié)構(gòu)定義好、交互手感調(diào)好再順著數(shù)據(jù)層往上去做引導(dǎo)和評(píng)分會(huì)順很多。如果一開(kāi)始就堆特效和UI結(jié)果往往是交互邏輯一改UI全崩。2. 總體架構(gòu)設(shè)計(jì)拆裝項(xiàng)目也得分層拆裝系統(tǒng)雖說(shuō)不算大項(xiàng)目但如果不分層代碼很快就會(huì)變成“一堆腳本互相調(diào)用、誰(shuí)也不知道誰(shuí)負(fù)責(zé)什么”的狀態(tài)。我建議按數(shù)據(jù)層、邏輯層、表現(xiàn)層三層來(lái)切。2.1 數(shù)據(jù)層零件信息與拆裝序列怎么存機(jī)械拆裝里最怕硬編碼。比如把每個(gè)零件該往哪移、按什么順序拆全寫(xiě)死在腳本里。換個(gè)模型、改個(gè)順序就得動(dòng)代碼這不是總體設(shè)計(jì)該有的樣子。數(shù)據(jù)層的任務(wù)就是把這些業(yè)務(wù)規(guī)則和數(shù)據(jù)從代碼里抽出來(lái)。我常用的做法是先用ScriptableObject定義零件數(shù)據(jù)和拆裝步驟數(shù)據(jù)。零件數(shù)據(jù)記錄ID、顯示名稱(chēng)、所屬部件、拆裝時(shí)的目標(biāo)位置和旋轉(zhuǎn)步驟數(shù)據(jù)記錄當(dāng)前步驟要操作的零件ID、操作類(lèi)型拆/裝、提示文案、是否允許并行。[CreateAssetMenu(fileName PartData, menuName MechanicalDemo/PartData)] public class PartData : ScriptableObject { public string partId; public string displayName; public GameObject prefab; public Vector3 installPosition; public Vector3 installRotation; public float installTolerance 0.05f; }這里有個(gè)經(jīng)驗(yàn)如果項(xiàng)目后期可能換模型最好別直接把prefab引用寫(xiě)在ScriptableObject里而是用partId在啟動(dòng)時(shí)去資源池里匹配實(shí)例。這樣模型更新、材質(zhì)替換不用改動(dòng)業(yè)務(wù)邏輯。2.2 邏輯層拆裝規(guī)則、狀態(tài)機(jī)與流程控制邏輯層是拆裝系統(tǒng)的中樞管三件事當(dāng)前處于什么狀態(tài)、當(dāng)前步驟允許對(duì)哪些零件操作、操作結(jié)果是否合法。流程控制我用狀態(tài)機(jī)來(lái)管理。不需要引入復(fù)雜的狀態(tài)機(jī)插件自己寫(xiě)一個(gè)輕量的就夠用?;緺顟B(tài)可以分成準(zhǔn)備中、待拆卸、待裝配、完成。每個(gè)步驟對(duì)應(yīng)一個(gè)或一組零件只有當(dāng)當(dāng)前步驟的零件滿(mǎn)足條件流程才能推進(jìn)到下一步。public enum DisassembleState { Pending, WaitingDisassemble, WaitingAssemble, Completed }邏輯層要把“能拆嗎”“裝對(duì)了嗎”這類(lèi)判斷獨(dú)立出來(lái)不直接操作UI也不直接控制模型動(dòng)畫(huà)。UI層只負(fù)責(zé)監(jiān)聽(tīng)狀態(tài)事件模型層只負(fù)責(zé)播放對(duì)應(yīng)的位置/旋轉(zhuǎn)變化邏輯層不關(guān)心畫(huà)面怎么表現(xiàn)只管規(guī)則。這個(gè)分層做對(duì)了后面加考核、加語(yǔ)音提示、加VR支持都方便。2.3 表現(xiàn)層模型、動(dòng)畫(huà)、特效與UI如何協(xié)同表現(xiàn)層是和用戶(hù)直接打交道的地方但也是容易失控的地方。最常見(jiàn)的問(wèn)題是UI腳本里混了業(yè)務(wù)判斷比如按鈕點(diǎn)擊后直接判斷“當(dāng)前能不能拆”結(jié)果換了一個(gè)流程規(guī)則UI里改半天。我的習(xí)慣是表現(xiàn)層里只做三類(lèi)事接受輸入、播放反饋、顯示狀態(tài)。接受輸入鼠標(biāo)點(diǎn)擊、觸摸、VR手柄的事件捕獲后交給邏輯層判斷。播放反饋零件高亮、移動(dòng)動(dòng)畫(huà)、拆下時(shí)的飛入特效、安裝時(shí)的卡扣音效。顯示狀態(tài)根據(jù)邏輯層發(fā)來(lái)的狀態(tài)事件更新UI面板、步驟列表、提示文字。舉個(gè)實(shí)際例子當(dāng)用戶(hù)點(diǎn)擊一個(gè)零件Input模塊先拾取到目標(biāo)然后問(wèn)邏輯層“當(dāng)前狀態(tài)下這個(gè)零件能不能被操作”邏輯層返回可拆、可裝或者禁止。Input模塊再根據(jù)返回結(jié)果去決定是否播放拾取動(dòng)畫(huà)、是否彈出提示。這樣流程規(guī)則始終在邏輯層表現(xiàn)層再花哨也不影響核心邏輯。3. 核心模塊設(shè)計(jì)與關(guān)鍵技術(shù)點(diǎn)機(jī)械拆裝系統(tǒng)的核心模塊并不復(fù)雜但每個(gè)模塊都有幾個(gè)繞不開(kāi)的細(xì)節(jié)。我挑幾個(gè)重點(diǎn)展開(kāi)講。3.1 零件的高亮與拾取交互拆裝系統(tǒng)里用戶(hù)必須知道當(dāng)前能操作哪些零件、鼠標(biāo)指向的是哪個(gè)零件。沒(méi)有高亮反饋的拆裝系統(tǒng)體驗(yàn)基本等于閉著眼睛拆盲盒。高亮方案我通常用兩種。簡(jiǎn)單項(xiàng)目直接用兩層材質(zhì)切換原來(lái)的材質(zhì)存下來(lái)替換成高亮材質(zhì)復(fù)雜一點(diǎn)用URP的Render Objects或者第三方描邊插件。需要注意高亮不只是懸停時(shí)做步驟引導(dǎo)時(shí)也要做——當(dāng)前步驟允許拆的零件常亮提示不允許的零件鼠標(biāo)懸停也不變亮這能傳達(dá)很多信息。拾取交互上核心是射線(xiàn)檢測(cè)。用Camera主攝像頭發(fā)射線(xiàn)檢測(cè)到帶Part標(biāo)簽的物體后觸發(fā)事件。有一個(gè)細(xì)節(jié)很容易忽略當(dāng)鼠標(biāo)穿過(guò)多個(gè)零件時(shí)要取射線(xiàn)碰撞點(diǎn)最近的零件而不是第一個(gè)碰撞的。尤其機(jī)械零件經(jīng)常有嵌套關(guān)系靠得近射線(xiàn)命中的往往是后面的擋板。Ray ray Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit[] hits Physics.RaycastAll(ray, 100f); Array.Sort(hits, (a, b) a.distance.CompareTo(b.distance)); foreach (RaycastHit hit in hits) { if (hit.collider.CompareTag(Part)) { // 只處理最近的有效零件 break; } }3.2 基于約束的裝配/拆卸判定裝一個(gè)零件什么才算裝到位了這是機(jī)械拆裝系統(tǒng)里最核心的問(wèn)題。很多人第一反應(yīng)是“算距離”但只算距離不夠圓柱銷(xiāo)插進(jìn)去但旋轉(zhuǎn)角度錯(cuò)了一樣不行。我常用的做法是位置約束加角度約束兩項(xiàng)都滿(mǎn)足才算安裝成功。位置約束看零件當(dāng)前位置和目標(biāo)安裝位置的距離角度約束看當(dāng)前旋轉(zhuǎn)和目標(biāo)旋轉(zhuǎn)的角度差每個(gè)零件都配容差范圍。這個(gè)方案被我們內(nèi)部叫“傻瓜約束”代碼簡(jiǎn)單但足以覆蓋絕大多數(shù)機(jī)械拆裝的判定場(chǎng)景。public bool IsInstallCorrect(Transform part, PartData data) { float distanceError Vector3.Distance(part.position, data.installPosition); float angleError Quaternion.Angle(part.rotation, Quaternion.Euler(data.installRotation)); return distanceError data.installTolerance angleError data.angleTolerance; }更精細(xì)的項(xiàng)目可以引入軸向約束、工具約束等。比如某個(gè)螺栓必須先用扳手?jǐn)Q松才能拆下這時(shí)候單純坐標(biāo)判斷就不好使了需要在PartData里增加一個(gè)requiredTool字段。但記住約束規(guī)則越復(fù)雜數(shù)據(jù)配置越重總體設(shè)計(jì)上一定要權(quán)衡別為了“顯得專(zhuān)業(yè)”把所有約束都堆上去。3.3 拆裝序列管理與步驟引導(dǎo)拆裝序列是機(jī)械拆裝系統(tǒng)的靈魂。設(shè)計(jì)的時(shí)候要區(qū)分兩種流程嚴(yán)格順序和任務(wù)組。嚴(yán)格順序模式下步驟是線(xiàn)性的只有完成當(dāng)前步驟下一步才解鎖。這種模式適合教學(xué)考核邏輯最簡(jiǎn)單用數(shù)組加索引就能實(shí)現(xiàn)。任務(wù)組模式下一組零件內(nèi)可以任意順序拆完組全部完成后再進(jìn)入下一組。比如拆一個(gè)減速器端蓋上的6顆螺栓可以隨便先拆哪顆但6顆都拆完才能打開(kāi)端蓋。這種模式更貼近真實(shí)操作但流程控制要額外維護(hù)一個(gè)組內(nèi)完成計(jì)數(shù)。在我們項(xiàng)目里我直接用List 定義整個(gè)拆裝過(guò)程DisassembleStep里放一個(gè)List 的partIds。如果列表只有一個(gè)零件就是嚴(yán)格順序如果有多個(gè)就是并行任務(wù)組。這樣一套數(shù)據(jù)結(jié)構(gòu)覆蓋兩種流程而且配置數(shù)據(jù)時(shí)非常直觀。[Serializable] public class DisassembleStep { public string stepName; public Liststring partIds new Liststring(); public string guideText; public bool isAssemblyStep; }步驟引導(dǎo)除了UI文字還應(yīng)該有鏡頭引導(dǎo)。步驟觸發(fā)時(shí)相機(jī)平滑移動(dòng)到目標(biāo)零件附近并給出一個(gè)特寫(xiě)角度。這個(gè)效果對(duì)體驗(yàn)提升非常顯著很多用戶(hù)反饋說(shuō)“相機(jī)跟著走不用自己找零件在哪”。實(shí)現(xiàn)上可以用DOTween替身控制相機(jī)位置和旋轉(zhuǎn)監(jiān)聽(tīng)步驟切換事件后播放一個(gè)2秒左右的移動(dòng)動(dòng)畫(huà)。3.4 數(shù)據(jù)驅(qū)動(dòng)設(shè)計(jì)用配置表驅(qū)動(dòng)流程這里再展開(kāi)講講數(shù)據(jù)驅(qū)動(dòng)的整體思路因?yàn)樗苯記Q定項(xiàng)目后期維護(hù)成本。我給學(xué)員做項(xiàng)目評(píng)審時(shí)最常問(wèn)的一句話(huà)是“換一個(gè)型號(hào)的機(jī)器你的系統(tǒng)要改多少代碼”理想答案是“一個(gè)代碼都不改”只改配置數(shù)據(jù)。模型換掉、零件列表?yè)Q掉、拆裝序列換掉邏輯代碼原地不動(dòng)。要做到這點(diǎn)所有零件實(shí)例在場(chǎng)景啟動(dòng)時(shí)都要根據(jù)配置去實(shí)例化或加載所有步驟流程都從配置里讀取而不是對(duì)著預(yù)設(shè)寫(xiě)引用。數(shù)據(jù)源根據(jù)項(xiàng)目規(guī)模選擇。小項(xiàng)目用ScriptableObject最方便編輯器里就能配置中大型項(xiàng)目用JSON或Excel導(dǎo)出再轉(zhuǎn)ScriptableObject更友好工藝人員也能參與配置。我之前一個(gè)項(xiàng)目還接過(guò)后端動(dòng)態(tài)下發(fā)放置數(shù)據(jù)客戶(hù)端啟動(dòng)拉取JSON實(shí)現(xiàn)同一個(gè)App適配多個(gè)設(shè)備型號(hào)思路都是一樣的就是數(shù)據(jù)驅(qū)動(dòng)。4. 實(shí)操示例從零搭建一個(gè)簡(jiǎn)易拆裝流程理論講一堆不動(dòng)手等于零。下面我用一個(gè)最簡(jiǎn)單的例子跑通“拾取零件-拆下-安裝-進(jìn)入下一步”的完整流程。場(chǎng)景物體就用三個(gè)Cube加一個(gè)Cube模擬一個(gè)簡(jiǎn)化的機(jī)械部件組合重點(diǎn)在交互和流程結(jié)構(gòu)。4.1 場(chǎng)景準(zhǔn)備與模型處理先在場(chǎng)景里建四個(gè)Cube一個(gè)當(dāng)?shù)鬃潭ú粍?dòng)三個(gè)當(dāng)零件零件A、零件B、零件C。給底座和零件分別設(shè)置Tag底座設(shè)為Untagged零件設(shè)為Part方便射線(xiàn)檢測(cè)時(shí)過(guò)濾。給每個(gè)零件添加Box Collider底座的Collider可以保留但拾取檢測(cè)時(shí)會(huì)忽略掉。再建一個(gè)空物體PartsRoot把三個(gè)零件設(shè)為它的子物體。后續(xù)用代碼實(shí)例化零件時(shí)統(tǒng)一掛在這個(gè)節(jié)點(diǎn)下場(chǎng)景層級(jí)會(huì)干凈很多。固定底座的原始位置記錄下來(lái)作為零件安裝時(shí)的參考基準(zhǔn)。我給每個(gè)零件建一個(gè)PartData配置指定安裝位置和角度。這里的位置值不用精算先大致把三個(gè)零件擺在底座上用腳本把當(dāng)前Transform數(shù)值保存進(jìn)配置。[ContextMenu(Capture Transform As InstallData)] public void CaptureTransforms() { installPosition transform.position; installRotation transform.eulerAngles; }這個(gè)編輯器腳本特別實(shí)用。在場(chǎng)景里手動(dòng)把零件擺到正確裝配位置右鍵執(zhí)行這個(gè)方法安裝數(shù)據(jù)就自動(dòng)寫(xiě)進(jìn)配置不用手動(dòng)抄坐標(biāo)。4.2 用腳本實(shí)現(xiàn)零件拾取和移動(dòng)拆裝系統(tǒng)的交互流程一般是點(diǎn)擊零件選中可以用鼠標(biāo)拖動(dòng)。我這里用簡(jiǎn)化方案點(diǎn)擊后讓零件進(jìn)入“跟隨鼠標(biāo)”狀態(tài)在鼠標(biāo)射線(xiàn)與一個(gè)水平面或固定深度平面的交點(diǎn)處移動(dòng)松開(kāi)鼠標(biāo)則放置。核心邏輯寫(xiě)在PartInteraction.cs里public class PartInteraction : MonoBehaviour { private Camera mainCamera; private PartData currentPartData; private Transform currentPart; private bool isDragging; void Start() { mainCamera Camera.main; } void Update() { if (Input.GetMouseButtonDown(0)) { TryPickPart(); } else if (Input.GetMouseButtonUp(0) isDragging) { DropPart(); } if (isDragging currentPart ! null) { MovePartToMouse(); } } private void TryPickPart() { Ray ray mainCamera.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out RaycastHit hit, 100f)) { if (hit.collider.CompareTag(Part)) { // 這里需要向邏輯層查詢(xún)當(dāng)前步驟是否允許操作這個(gè)零件 currentPart hit.collider.transform; isDragging true; } } } }我這里沒(méi)寫(xiě)具體向邏輯層查詢(xún)的代碼但實(shí)際項(xiàng)目中一定要加。否則就會(huì)出現(xiàn)“序列第一步還沒(méi)拆螺栓呢用戶(hù)先把第10個(gè)零件拽出來(lái)了”的尷尬情況。4.3 判斷裝配位置并鎖定零件拆下來(lái)容易裝回去才是真考驗(yàn)。用戶(hù)拖動(dòng)零件到目標(biāo)位置附近時(shí)系統(tǒng)要實(shí)時(shí)判斷是否“到位”。我的做法是拖拽過(guò)程中實(shí)時(shí)計(jì)算零件當(dāng)前位置和目標(biāo)安裝位置的誤差誤差進(jìn)入容差范圍就給一個(gè)“吸附”效果再播放卡扣音效并鎖定位置。吸附效果用DOTween實(shí)現(xiàn)非常簡(jiǎn)單只需要判斷通過(guò)后把零件DO Move到目標(biāo)位置再關(guān)閉拖拽即可。要注意這里的吸附判定不能每幀都只判定一次就立刻吸附而是要先連續(xù)多幀滿(mǎn)足條件再觸發(fā)否則用戶(hù)只是快速劃過(guò)目標(biāo)位置也會(huì)被“吸住”體驗(yàn)很糟。private int fitFrameCount; private const int fitFrameNeed 5; private void FitCheck() { bool isFit distanceError currentPartData.installTolerance angleError currentPartData.angleTolerance; if (isFit) { fitFrameCount; if (fitFrameCount fitFrameNeed) { SnapAndLock(); } } else { fitFrameCount 0; } }這段代碼不復(fù)雜但它是整個(gè)手感的核心。連續(xù)幀判斷很關(guān)鍵我見(jiàn)過(guò)不少項(xiàng)目省略這一步結(jié)果零件在目標(biāo)位置附近稍微晃一下就被吸過(guò)去了用戶(hù)感覺(jué)“這軟件太敏感了”。4.4 加入步驟管理與UI提示最后把流程控制串起來(lái)。定義一個(gè)DisassembleManager來(lái)控制當(dāng)前步驟索引監(jiān)聽(tīng)零件拆下和安裝成功的事件然后推動(dòng)步驟前進(jìn)。public class DisassembleManager : MonoBehaviour { public ListDisassembleStep steps; public int currentStepIndex; public Text stepText; private DisassembleStep CurrentStep steps[currentStepIndex]; void Start() { UpdateUI(); } public void OnPartRemoved(string partId) { if (CurrentStep.partIds.Contains(partId) !CurrentStep.isAssemblyStep) { // 標(biāo)記為已拆 NextStepIfComplete(); } } public void OnPartInstalled(string partId) { if (CurrentStep.partIds.Contains(partId) CurrentStep.isAssemblyStep) { NextStepIfComplete(); } } private void NextStepIfComplete() { // 檢查當(dāng)前步驟組內(nèi)是否全部完成完成則索引1并更新UI if (CheckCurrentStepComplete()) { currentStepIndex; UpdateUI(); } } }UI方面用Text顯示當(dāng)前步驟“第3步拆除端蓋螺栓2/6”。建議把步驟ICON和文字一起顯示效果更直觀。實(shí)際項(xiàng)目里還可以加進(jìn)度條、步驟列表、錯(cuò)誤操作記錄但底層的Manager結(jié)構(gòu)都差不多核心就是監(jiān)聽(tīng)零件操作事件控制步驟索引更新。5. 常見(jiàn)問(wèn)題與避坑指南這部分內(nèi)容不是網(wǎng)上扒來(lái)的是實(shí)操中一個(gè)個(gè)踩出來(lái)的。整理成表格方便查閱。常見(jiàn)問(wèn)題現(xiàn)象解決思路射線(xiàn)檢測(cè)點(diǎn)穿透點(diǎn)擊前面零件選中的卻是后面零件用RaycastAll取最近的有效碰撞體或者給零件分層Raycast時(shí)用LayerMask過(guò)濾裝配位置吸附過(guò)敏感零件快速劃過(guò)目標(biāo)位置就被吸住連續(xù)5幀以上滿(mǎn)足容差條件再吸附避免單幀誤判拆裝序列狀態(tài)丟失已經(jīng)拆完的零件重啟場(chǎng)景后又要重新拆用PlayerPrefs或存檔保存步驟索引退回主界面時(shí)保存進(jìn)度模型導(dǎo)入后坐標(biāo)錯(cuò)亂零件位置不對(duì)安裝判定永遠(yuǎn)失敗建模時(shí)統(tǒng)一單位、統(tǒng)一軸方向?qū)朐O(shè)置里把Scale Factor設(shè)為1用空物體做基準(zhǔn)對(duì)齊拆裝時(shí)零件穿模零件移動(dòng)過(guò)程中和其他物體交錯(cuò)穿插簡(jiǎn)單項(xiàng)目關(guān)閉零件自身碰撞體開(kāi)啟自動(dòng)遮擋半透明復(fù)雜項(xiàng)目用插值移動(dòng)讓位移更平滑多零件并行步驟判定異常一組里拆了2個(gè)就跳下一步檢查CurrentStep.partIds的完成記錄需要按partId標(biāo)記狀態(tài)而不是用“當(dāng)前步驟只處理一個(gè)零件”的邏輯5.1 交互穿透與遮擋問(wèn)題交互穿透是拆裝項(xiàng)目最容易遇到的問(wèn)題尤其是零件密集的地方。射線(xiàn)穿過(guò)去打在后面的零件上是常事更麻煩的是你想點(diǎn)A零件但B零件的Collider把它擋住了。我的經(jīng)驗(yàn)是給零件分兩個(gè)層級(jí)主要零件用精確Collider小零件如螺栓、墊片用近似Collider用盒體或球體替代射線(xiàn)檢測(cè)時(shí)優(yōu)先命中大件小件通過(guò)名字匹配。還有一個(gè)辦法是按住Alt鍵切換高亮候選每次檢測(cè)到多個(gè)零件時(shí)按Alt可以在命中列表里循環(huán)切換適合小零件操作。5.2 坐標(biāo)精度與裝配容差容差設(shè)置直接決定手感。容差太大隨便放哪都算裝好沒(méi)有裝配感容差太小位置偏一點(diǎn)就判失敗用戶(hù)會(huì)暴躁。我們項(xiàng)目里位置容差一般設(shè)在零件尺寸的2%~5%角度容差設(shè)在3度到5度。更穩(wěn)妥的做法是給用戶(hù)一個(gè)“輔助吸附”的設(shè)計(jì)當(dāng)誤差接近容差范圍時(shí)零件半透明顯示目標(biāo)位置的輪廓引導(dǎo)用戶(hù)對(duì)齊。這個(gè)效果直接用Unity的Bounds畫(huà)線(xiàn)或者用單獨(dú)的Wireframe材質(zhì)做能顯著降低操作難度尤其對(duì)于新手用戶(hù)。5.3 大規(guī)模模型卡頓優(yōu)化機(jī)械模型經(jīng)常動(dòng)輒幾十萬(wàn)面一個(gè)減速器就有幾十上百個(gè)零件。如果不做優(yōu)化Unity場(chǎng)景能卡成PPT。優(yōu)先做幾下幾件事一是模型導(dǎo)入時(shí)開(kāi)Enable GPU Instancing合并相同材質(zhì)的網(wǎng)格二是遠(yuǎn)處零件用LOD組三是零件拆下后把它身上的Collider、動(dòng)畫(huà)組件等非必要組件臨時(shí)禁用四是高亮材質(zhì)不要一換就重新生成材質(zhì)實(shí)例盡量用共享材質(zhì)參數(shù)控制避免Draw Call飆升。5.4 序列狀態(tài)丟失與重入問(wèn)題“拆了一半不小心點(diǎn)了退出再進(jìn)來(lái)又從頭開(kāi)始”是用戶(hù)最抓狂的情況。拆裝系統(tǒng)如果需要復(fù)用一定要記錄當(dāng)前拆裝狀態(tài)。我的簡(jiǎn)單做法是步驟索引和每個(gè)零件的當(dāng)前狀態(tài)未拆、已拆、已裝用PlayerPrefs存JSON。每次步驟切換時(shí)保存一次場(chǎng)景加載時(shí)讀取并恢復(fù)零件位置和步驟UI。要注意保存時(shí)機(jī)的選擇頻繁保存會(huì)產(chǎn)生IO開(kāi)銷(xiāo)每步保存一次即可。另外一個(gè)容易忽略的點(diǎn)是重入問(wèn)題。步驟完成回調(diào)有時(shí)會(huì)重復(fù)觸發(fā)比如安裝判定連續(xù)兩幀都滿(mǎn)足條件OnPartInstalled被調(diào)了兩次。用“零件狀態(tài) 步驟狀態(tài)”雙重校驗(yàn)可以避免只有零件狀態(tài)從“未安裝”變?yōu)椤按惭b”時(shí)才觸發(fā)回調(diào)后續(xù)重復(fù)滿(mǎn)足條件不再觸發(fā)。寫(xiě)在后面幾個(gè)實(shí)踐體會(huì)這套總體設(shè)計(jì)的思路在我做過(guò)的幾個(gè)拆裝項(xiàng)目里反復(fù)使用從教學(xué)演示到考核系統(tǒng)都靠它撐住了。幾點(diǎn)體會(huì)供參考。數(shù)據(jù)驅(qū)動(dòng)的架構(gòu)一定要盡早做哪怕最開(kāi)始只需要拆三個(gè)零件。我見(jiàn)過(guò)太多項(xiàng)目一開(kāi)始圖省事零件名、步驟順序全寫(xiě)在代碼里結(jié)果后期加模型、調(diào)流程一個(gè)Bug改完另一個(gè)Bug又出來(lái)。配置表化雖然前期多寫(xiě)一點(diǎn)代碼但后面維護(hù)、擴(kuò)展、換設(shè)備型號(hào)時(shí)收益是成倍的。容差和手感的調(diào)校比功能實(shí)現(xiàn)更花時(shí)間。不要指望一套參數(shù)走天下。不同大小的零件、不同操作習(xí)慣的用戶(hù)手感差別很大最好把容差、吸附幀數(shù)、相機(jī)跟隨速度都做成可配置項(xiàng)讓現(xiàn)場(chǎng)調(diào)試時(shí)能直接調(diào)不用改代碼重新打包。拆裝系統(tǒng)在Unity里實(shí)現(xiàn)的難度不在功能而在流程控制和數(shù)據(jù)組織的取舍。想清楚要解決什么問(wèn)題、數(shù)據(jù)怎么配置、邏輯和表現(xiàn)怎么分離再用文章里的框架去搭基本能少走一半彎路。如果后續(xù)要做考核評(píng)分、多人協(xié)同、VR頭顯適配只要分層合理都是在這套骨架上加肉的事。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷五月色| 在线中文字幕极品av| 亚洲综合中文字幕有码| 亚洲自拍欧美国产首页网曝| 少妇久久久久久| 牛黄色久午久| 97久久天天综合色天天综合色电影| 中文字幕视频在线观看一区二区| 国产精品一区二区三区免费视频| 99热综合| 九九热只有精品| 一,爱啪啪,在线免费视频| AV丝袜少妇| 私人尤物在线精品不卡| 亚洲 欧美 91| 超碰97护士| 成人片在线播放| 亚洲综人网| 日韩乱中文 | 亚洲91极品| 亚洲国产97在线精品一区| 无码操逼网| 人妻在线大香蕉| 国产操逼网站亚洲一级黄色| 亚洲另类久操网| 丝袜亚洲综合| 亚洲成人精品久久久| 免费观看成人www精品视频| 91蜜桃婷婷狠狠久久综合9色| 白嫩妹子国产骚| 亚洲强奸乱伦影视网| 怡春苑东京热| 亚洲精品一区二区三区在线播放| 青草地一本线一区二区三区| 人人操av| 久久精品国产亚洲粉嫩| 农村妇女一级二级三级视频| 精品九九九九| 欧美亚州综合图片| 操我无码| 蜜臀Av一区二区三区| 香蕉综合网| 综合色好色| 久久侵犯人妻爽爽爽| 日日不卡av| 黑丝91视频| 国产精品直播在线观看直播| 96久久精品一二三区色欲| 欧美 亚洲 另类 综合| 亚洲自拍天堂| 欧洲综合色| 蜜桃无码AV一区二区| 午夜亚洲| 99热97| 67914在线兔费成人视频| 亚洲日本韩国在线| 久久夜夜| 美女的肌被草喷水视频| 操逼逼福利视频| av橘色网站| 91网站18在线观看| 深夜国产一区二区三区在线看| 风月影院男女十八禁| 色成人Www精品永久观看| 丰满少妇一区二区三区免费看| 亚洲骚女一区二区三区| 强奸乱伦亚洲第一页| 久草线上视频免费看| 激情五月天丁香| 人妻精品视频一区二区三区| 91亚洲狠狠色| 在线黄色污污网站| 久久久精品日本一道| 欧美日韩啪啪电影| 蜜臀在线网站| 国产天天看| 国产AV高清AV无码| 国产精品com| 日韩性爱再线视频| 中国一级αV| 60秒免费视频| 青青青国产| 国产高清成人mv在线观看| 这里都是精品| 色踪合AV| 在线综合 亚洲 欧美中文字幕 | 99re国产中文字幕| 国产丝袜美女在线一区| 黄色成人网久久久久久| 又黄又硬又粗又长国产视频| 亚洲免费97免费| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 色婷婷aV一区二区三区麻豆综合| 伊人网综合在线视频| 超碰97COm中文| 久久久久久久国产| 欧美色图私拍91| 九九色精品| 五月丁香激情四射| 久久东京热久久| 久久久久斤小| 欧美国产成人在线| 亚洲欧洲小说图片视频| 97色碰| 偷拍自拍在线视频观看| 91精品亚洲内射孕妇| 国产欧美伊人| 亚洲AV永久无码一区仙野| 91搞逼视频| 蜜臀久久99精品久久久| 美女黄页网站| 亚洲天堂久| 东京热熟女亚洲视频网站| 国产超碰国产97| 爽爽淫人网| 婷婷午夜| 99色视频| 成人资源中文字幕在线观看天天| 五月婷婷综合网| www久| 女人喷水视频在线观看| 高清在线偷拍自拍视频| 精品超碰国产| 色香色欲天天综合网天天来吧 | 大香蕉综合网| 97这里有精品| 蜜臀AV一区二区三区| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 天天情欲宗合网| 曰本91情色| 91在线丝袜视频| 亚洲第一页欧美| 国产高清1234区| 亚洲黑丝在线| 亚洲夜色在线| 青青操青娱乐| 国产久久一区二区午夜| 熟女精品一区二区三区| 99热97| 伊人网免费视频| 91亚州| 天天草天天日| 日韩激情啪啪啪| 精品成人亚洲午夜电影| 国产高清MV操逼视频| 日本免费专区| 亚洲欧美日韩免费电影| 玖玖爱免费观看视频| 夜嗨影院| 97超碰69| 少妇三P| 香港日本韩国人妇99www.wccm20| 超碰97.com| 久久久久久久久女黄| 伊人九九| 国产一区二区三区久久久精品| 欧美性爱无码一区二区三区| 色色福利| 99激情视频| 少妇 综合| 中文字幕av久久爽Av| 国产精品午夜成人福利| 欧美淫乱视频| 久草在线| 亚欧成人综合影院| 黄色av一区二区在线| 日本天天操| 女同亚洲欧美一二三区久久电影| 欲射影视| 天天综合网~69| 国产精品91ai| 天堂av最新电影网| 思思久热在线精品66| 热无码中文亚洲H一道本一区二区| 无码免费精品高清| 欧美激情超碰777| 精品九九淫乱男| 亚洲天天天| 男人天堂电影院| 精品成人动漫一区二区| 激情色播| 亚洲久草AV色图| 蜜臀久久99精品久久久| 亚洲黄色a级片| 色综合久| 操b网站亚洲无码| 亚洲少妇自拍中文字幕懂色| 大香蕉一级黄色片久久| 五月丁香社区婷婷日韩欧美精品影院 | 97久久精品亚洲中六字幕| 人妻免费观看| 97精品| 强歼乱伦资源网| 热久久这里只有精品| 久久久久久中文版| 亚洲天堂资源网| 白天啪啪晚上啪啪视频| 大香蕉手机在线视频| 亚州色阁| 老女人老91妇女老热女| 日韩欧洲操屄视频| 99久久9| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 美女主播色欲91抠b在线播放| 桑老女人九区| www.久久制服糖| 欧美日韩在线国产在线| 国产老熟女| 欧美高清16| 日韩欧美成人性爱在线| 亚洲精品 超碰| 91黄站| 性爱精品一区| 色女网日韩| 91中文字幕在线观看| 中文字幕日韩人妻视频一区二区三区| 五月天加勒比啪| 色亚洲欧美| 99re这里只有精品中心播放 | 久久女婷| 亚洲毛片基地专区| 97爱免费插| 综合网 欧美| 五月婷婷六月色| 超碰欧美COM| 91色色色| 探花精品 一区二区| 久久婷婷色| 草久在线| 97激情97激情| 综合免费无码中文| 国产91丝袜在线播放蜜月| 亚洲色 国产 欧美 日韩| 九草九九九| 九九九热精品| 日韩欧美一级特黄大片| 人人搡人人肉久久精品| 蜜桃视频成a人v在线| 蜜臀亚洲中文| 欧美老妇曰批的视频| 日韩成人午夜精品久久高潮| 黄色在线网站| 久欲AV| 人人做人人妻人人夜视频| 黑人性欧美| 肥臀熟女福利视频一区二区| 日本www操操操| 老熟女天天操| 欧美色997| 日韩人妻 中文字幕| 十八禁黄色| 日本一区二区三区欧美日韩中文字幕| 做爱A级亚欧| 青青草AV色| 人妻在线臀日韩| 在线A日本| 国产综合久| 国产日韩精品一区二区三区| 午夜电影在线观看无码专区| 91色插| 欧美人妻色| 日产狠狠干| 黄色大片免费在线| 丝袜美腿丝袜| 伊人991| 能看的av| 五月天大香蕉| 午夜黄色免费在线观看| 51久久夜色精品国产麻豆| 99精品无码| 亚洲AV资源| 深夜激情无码| 国产男女边吃边摸视频网站| 91欧美经典| 日本一区二区三区精品| 超碰久热| 欧美日韩 强奸乱伦| 97视频播放| 蜜桃久久精品一区二区三区| 天天日日日射| 成人综合色网| 婷婷伊人| 午夜男女爽爽爽在线视频| 国产操逼视频在线观看| 国产精品高清2021在线| 91肉片| 天天干人人乐| 91亚洲丝袜熟女| 日韩欧美水蜜桃人妻| 九色 人妻 大香蕉| 色99视频| 人妻熟女午夜精品在线| 成人性爱电影一区二区| 国产精品久久久久久 百度| 小视频国产| 天堂v无码免费视频| 天天操熟妇| 一区二区三区色综合| 韩日男人的天堂| 五月天色五月| 920日本午夜免费| 爱媛媛久久国产福利| 国产av强奸美女| 啊啊啊啊在线播放| 果冻传媒A片一二三区| 色综和网| 久久99草| 色香伊人| 骚日日av| 男人的天堂久久久| 91亚洲综合在线| 强乱老妇中文字幕| 91亚洲网站| 国产视频第二页| 国产激情在线| 国产精品乱码久久久久| 欧美色999| 男人亚洲天堂| 人人玩人人添人人澡免费| 亚洲一区二区三区在线激情| 内射小黄片| 亚洲一区二区三区中文字幕| 午夜福利在线合集| 亚洲成A∨人影院在线欢看| 99精品欧美一区二区三区桃色| 亚洲成人日韩小说| 九九性视频| 国产精品一二三免费网站| 丁香六月激情综合| 人人乐大香蕉| 欧洲亚洲人妻无码中字久久三区四区| 九久久九精品视频| 亚洲凸凹超碰成人| 亚洲丝袜二区在线| 97超碰超碰| 91看黄片| 国产黄色av大片网站| 免费观看啪视频| 天天综合亚在线| 97高清啪啪| 成人精品欧洲亚洲| 欧美色图20P| 久久大黄片| 人人人人插| 在线观看精品国产免费| 91 在线亚洲| 美女AV一区二区| 老鸭窝日丰县女人| 97狠狠| 日韩字幕一区| 日本三级中国三级99人妇网站| 久久久亚洲精品电影免费看| 天美传媒Av在线| 少妇高潮九九九九九九九| 东京热男人的天堂| 无遮挡一级毛片视频免费的| 国产久久久久久久久一区二区 | 久久精品一区二区一8| 亚欧成人综合影院| 肥臀熟女福利视频一区二区| 这里都是精品| 欧美午夜视频免费观看| 亚洲情色婷婷五月天| 丝袜喷水在线| 国内一级精品| 日韩丰满熟妇| 大香蕉亚洲中文| 大香蕉琪琪日本女优不卡| 中文字幕乱码在线观看| 国产精品久久伊人| 妇人噜噜| dy888午夜老子影视达达兔| 免费的很黄很污的全部视频| 久久女人视频| 九久久九九久视频| 狠狠操夜夜| 日韩精品 资源| 麻豆区久久久久亚| 亚洲中文国际强奸字幕| 日欧美色| 欧美一区二区三区不卡高清视频| 国产精品视频白浆免费| 久草线上视频免费看| 囯产精品久久久久久久久久梁医生| 六月婷婷综合| 夜夜国自区| 久久riav中文精品| 亚州综合电影| 性色AV网站| renqi久久久久久久久久久久| 中文日韩欧美熟| 亚洲 欧美 偷拍 唯美| 玖玖97综合| 久久久久久久久久久久色网| 欧美日韩国内不卡| 国产熟码AV| 国产极品美女高潮无套在线观看| 爱爱久久| 无码人妻丰满热妇又大又粗| 无码男人天堂| 萌白酱自拍视频| 亚洲污一污二| 91精品女厕偷拍视频| 综合久欧洲| 91综合中文字幕| 色哟哟国产精品免费网址| 九热久| 亚洲无码99| 91欧美www| 欧美黄色片AAAAA| 91在线丝袜| 人人操人人摸人人看人人干| 后入福利视频| 成视频在线观看免费看| 日日骚网站| 亚洲人妻一区二区三区| 黑人精品欧美一区二区蜜桃| 丁香五月影院| 手机看片91人妻| 久久亚洲天天做| 99re热有精品视频国产| 精品美女久久一二三| 亚洲成人av电影在线| 91少妇香蕉久久精品| 国产精品欧美日韩久久| 啊啊啊骚| 91九九九馒头| 亚洲日韩精品久久久久一区壹牛| 久久久久久久久久久久九| 可以在线观看AV的网站| 亚洲色婷婷综合久久久久中文| 玖玖婷婷五月天| 午夜精品久久99蜜桃的功能章节| 国产夜夜操| 国产福利在线视频网站| 风韵犹存大大大大香蕉| 久久9亚洲| 色官网色综合| 96久久久久久久| 久久久久久夜夜夜夜夜| av午夜影院在线播放| 97人人色| 欧美成人都市人妻| 亚洲无线观看久久| 天美一区在线| 久久久com| 人人贴人人摸| 欧美激情内射| 国产亚洲色婷婷99精品91| 家庭乱伦网站国产| 91久久久亚洲| 91视频女生| 91国产丝袜足交精品视频| 精品亚洲国产成人精品| 国产美女高潮| 五月天亚洲网| 久久只有精品一区二区三区| 亚洲免费看片| 91在线视频观看国产| 91精品人妻一区二区三区蜜臀| 久久国产对白激情浪潮| 性吧在线视频| 亚洲日韩美女中文字幕乱| 丝袜美腿av女优在线| 亚洲人久久久网| 97国产色综合| 婷婷久久五月| 成人八戒网站| 亚洲av无码成电影在线播放| 91亚洲欧美激情| 国产青青美女玩逼视频| 久久精品免费| 私色综合网| 强奸乱亚洲| 乱伦图一区| 日本一区二区亚洲综合| 午夜男人的天堂| 日本久久999| 亚洲AO在线| 五月丁香色婷婷| 日本熟妇人妻中出视频| 操逼免费视频无码国产| 麻豆国产精品午夜视频| 婷婷久月| 成人精品无码| 91在线视频国产网站| 亚洲天堂电影网99999| 国产偷人妻精品一区二区在线| 婷婷大香蕉| 国产成人精品亚洲日本| 国产乱码精品一区二区三区四川| 日韩综合无码色欲vv| 日本操逼视频在线| 91在线免费精品视频| 玖色av| 久久是精品| 久9爱经典视频| 天天操天天日天天干| 欧美夜色| 蜜桃久久久久久久久久久久| 欧美一级专区免费大片| 国产免费一区| 久久久久婷婷精品av电影| 亚洲城人男人的天堂| 97AV爱| av优播| 精品大久久| 天天综合日韩网| 亚洲精品视频二区| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 懂色Av一区二区三区| 欧洲精品二区| 成人毛片免费| 综合网~91综合网| 爱欲AV| 330dv亚洲成年视频网| 亚洲资源网| 天操天操夜操夜月月年年操操| 久久久91福利姬| 色拍偷亚洲| 国产精品乱码久久久久久| 蜜臀久久99'精品久久久| 51一区二区三区| 日韩综合97p| 天天做天天爱| 91香蕉视频在线观看免费| 国产麻豆福利av在线播放| 色情乱伦AV| 欧美操逼一二三区| 99热精品国产| av草草在线电影| 99热婷婷一区二区三| 黑人精品XXX一区一二区| 999国产精品999| 欧美日韩淫加| 91美女视频直播| 国产在线观看91精品一区| 丁香五月激情综合国产| 欧美精品人妻视频| 九九九热精品| 欧美亚洲激情| 国产精品无套内谢| 国产999精品久久久久久| 日韩人妻无码精品系列| 91站街按摩店老熟女熟女| 天天爽天天| 亚州高清色综合| 78操B| 丁香色狠狠色综合久久小说| 日韩精品永久在线观看| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 另类小说欧美激情校园春色| 97色色婷婷| 色九久| V A在线| 91成人在线免费视频| 久久久久国产亚洲一区欧美色图日韩| 亚洲好色人妻| 欧美黄片免费在线观看视频| 啊啊啊啊啊啊在线看| 亚洲人精品久久久| 近亲乱伦一区二区| 久久久久久波多野吉衣高潮| 1769成人国产精品视频| 蜜桃久久一区二区三区| 亚洲一区二区中文字幕| 国产精品一区二区 尿失禁| 国产精品视频播放| 青娱乐淫乱1314| 久久黄黄| 色噜噜狠狠色综无码久久合欧美| 中文字幕 国产区| 亚州国产成人精品女人久久 | 被窝影院午夜看片无码| 中文字幕高清20页视频| 亚洲男人在线观看天堂| 九九黄色网| 色九九久九九| 91Chinese在线| 久操免费电影| 综合婷婷| 欧洲综合色| 99热这里是精品| 91色欧美| 嗯啊不要在线观看嗯啊| 亚洲天堂男人天堂网| 欧美1727免费观看视频| 亚洲乱妇p22| 久久久精品国产亚洲伊人| 亚洲图片第一页| 欧美极品少妇交| 久久久久九九九| 亚洲人精| 国产午夜福利电影免费在线观看| 亚洲欧美国产中文字幕| 成人 日本A片无码8888| 麻豆天美AV传媒第一页| 五月激情影院| 国产91精品在线免费| 九九热免费在线国产视频伊人五月| 亚洲国产精品无码AV久久| 久久这里精品国产99丫e6| 国产主播福利| 精品无码人妻一区二区免费蜜桃| 欧美网站免费| 福利视频网站| 亚洲人妖网| 国产激情在线| 亚欧韩av| 国产精品福利视频| 日韩在线97| 免费中文在线| 色综合一区二区三区| 久久综合女优| 欧美成人性爱视频大全| 97超碰久久| 人妻 制服 日韩 中文 在线| 2020国产精品| 日本人妻伦在线中文字幕| 噜噜噜亚洲精品| 激情综合五月丁香| 亚洲欧美日韩制服另类| 蜜桃午夜视频一区二区| 欧美三级一级| 国产视频不卡在线观看| 热思思免费视频| 蜜臀aV午夜一区二区三区| 91N欧美| 久久久久久国产无码精品| 97色综合中文网| 丰满精品人妻少妇久久字幕| 美女刺激久久国产欧美| 先锋色眉乱伦资源| 搡老女人老熟女91| 99热这里只有精品1| 久久超碰亚洲人| 99操碰| 中文字幕乱在线伦视频中文字幕乱码在线 | 日韩亚洲美女一区久久| 久久久久久国产手机AV| 乱伦日本中文自拍| 欧美偷拍| 亚洲清纯唯美| 国产又大又粗又长视频在线| 91狠| 日本午夜福利影院| 国产日韩区| 亚洲天天综合| 91亚洲最新在线| 免费成人在线熟妇网| 天美国产三级传媒| 色爱综合网| 岛国大片在线观看网站入口| 日本熟妇浓毛hdsex| 操久久久久| 欧美日本不卡| 欧美日韩精品久久| 欧美色图天堂网m| 91亚·色| 欧美日韩高潮喷水91| 久久久免费一级黄片| 亚欧性爱无码| 亚洲在高跟鞋自慰久久在色线| 亚洲人成色9999精品久久| 十八禁视频网站| 午夜无码精品免费看性色| 欧美偷拍区| 国产成人超碰在线| 黄色免费一级在线毛片| 大JI巴好深好爽又大又粗视频| 亚洲熟妇A V黑人| 青青草这里只有精品| 精品国产乱码久久久影院| 超碰97导航| 日本免费一区二区不卡| 97jingpin| 久草久日| 熟妇激情| 欧美 日韩第一性色| 热热色综合网| 男人的天堂VA| 久操免费观看| 少妇久久久久久| 久久天堂| 无码精品久久| 激情网色| 熟女被操视频网址| 97精品综合| 嗯嗯啊中文字幕| 亚洲天堂性爱| 国产精品午夜成人福利| 欧美曰韩国产精品| 男人的天堂在线| 肉丝中文无码高清| 综合网亚洲在线| 91欧美综合| V A在线| 国产精品点击进入在线影院| 免费簧片在线观看| 99人人干| 亚洲国产精品久久久久婷婷青年| 亚洲官网在线| 91艹| 亚州性色| 国产不良强奸视频免费看| 日韩精品一区二区日韩| 国产一区二区三区影片| 极品色社| 熟女AV一区| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 极品后入免费视频| 91在线一起| 淫荡网址| 欧美色视频在线| www色婷婷| 蜜臀AV一区二区三区激情综合| 天堂伊人久久| 久久精品72| 欧美色天堂网在线视频| 最新9久久久9免费视频| 婷婷色香伊人| 国产激情av女片自拍| 熟妇人妻一区二区 | 啊啊啊啊操死我| 日韩无码一级黄色av片| 中文字幕av乱伦| 人妻在线中出视频| 九月伊人中文字幕| 国产午夜福利专区综合| 呻吟 欧美 日本 中出| 日本大香蕉综合网| 国产suv精品一区二区四| 99热免费| 无遮挡猛进视频免费无限观看| 91女在线观看| 91精品少妇搡搡搡| 欧美视频一| 成片免费播放| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 成人夜夜| 国产三级资源在线观看| 99精品在线观看| 日韩欧美天天爽爽爽天天爽爽| 高清孕妇孕交| 无遮挡h肉动漫在线观看| 成人老鸭窝人人在线视频| 天天综合91入口| 成人麻豆av电影网站| 日本三级韩三级99久久| 羞答答AV中文字| 免费1级a做爰片观看| 久久久草成人网站久久久草成人久久久草久久久| 亚洲爱爱视频一区二区| A 天堂| 婷婷爱五月| 国产热av| 国产精品视频麻豆入口| 一区二区首页| 97天堂| 激情五月天婷婷| 中文字幕色AV| 亚洲最大的综合性av| 婷婷另类小说| 青娱乐老司机视频| 殴美,日韩国产伦精品| 99re28在线观看| 爆操无码| 超碰综合97在线| 欧美另类综合久久| www.男人天堂| 午夜AV人气不卡| 四虎免费看黄| 尤物视频一区| 成人热久久精品| 国产精品久久久无码aV去| 蜜桃精品一区二区三区ww| 伊人网高清| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 中国熟女网站| 手机在线A片| 小骚逼被操的爽不爽| 欧美激情另类一区二区| 亚洲激情色片 | 乱伦熟女专区| 97超碰逼| 日韩精品碰碰| 嗯嗯嗯啊啊啊干死我吧| 欧美操逼熟女| 九一国产精品| av在线资源| 欧美 亚洲 在线| 久悠悠av| 操人人| 欧亚成人在线视频| 日韩人成网站在线播放| 欧洲一区二区| 欧美|91色综合| 99亚洲国产精品色一区二区三区| 久久亚洲不卡一区二区三区| 国产一在线观看| 久久精品成人一区二区三区蜜臀| www.人人cao| 葡萄牙性视频一二区| 国产精品国产自产拍高清AV| 一级做a爰片性色毛片久久| 神马久久中文字幕| 午夜爽爽爽在线观看永久入口姬片| 超碰在线1234区| 婷婷爱五月| 国产无码精品久久久久久| 国产熟妇一区二区| 亚洲性爱无码乱伦av| 亚洲久久久| 双插在线| 丁香五月天堂| 性爱网站一区二区| 嫩草91| 啊啊啊com| 人人人人插| 天天网综合| 性性久久| 天天综合,91综合永久| 日韩精品色呦呦| 亚洲脚交| 在线综合 亚洲 欧美中文字幕 | 美日韩男女操屄视频| 人人摸人人舔一区二区| 97国产超湿| 国产AV久久野战精品| 友优传媒精品在线一区二区| 欧美老妇女内射网址| 久久婷婷色| 以及麻豆国产入口在线观看免费| 国产天天噜一噜久久久| 91 丝袜在线| 最近的最新的中文字幕视频| 日韩性爱小视频| 少妇人妻在线| 男女激情中文字幕| 东京热免费视频| 久久亚洲欧美中文字幕国语 | 亚洲综合夜色| 国产精品久久9| 久久欧美性爱视频| 亚洲乱色熟女一区| 九九热九九| 人妻天天爽夜夜爽2| 蜜奶av| 三级三级三级日本99| 超碰在线香蕉| 日本一区二区亚洲综合| 中文字幕1区2区| 久久女同性恋一二区| 日本人妻一区二区| 天天爽夜夜操| 黄aaaaaaaaaaaaaaaaaa色网站| 国产男女边吃边摸视频网站| 九九九九免费| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 亚洲日韩97| 牛牛久久国产精品视频一二三| 青青草九九九九九| 99综合视频一体| 久久久久亚洲Aⅴ无码| 无遮挡一级毛片视频免费的| 超碰78| 日韩猛交| 99re黄 | 操91| 91精品国久久久久久无码| 亚洲男人的天堂一区二区| 黑丝内射一区二区三区| 色综合九九| 自拍偷拍2025在线观看| 最近2019中文字幕国语免费版| 中文日本免费高清| 中文字幕精品一区二| 人妻精品视频一区二区三区| 九九热九九| 夜色91| 亚洲97在线| 九九久久久| 亚洲视频精选| 欧美 亚洲 第一页| 丝袜AV一区二区三区| 无码粉嫩白虎一线天b区| 999色欧美中文字幕| 1204人成网站色www| 蜜桃午夜视频一区二区| 熟妇无码视频三区| 久久本道| 亚洲无套久久嗯嗯| 亚洲,欧美,春色,另类| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 上床啊啊啊| 日韩有码专区| 啪啪啪综合网| 精品国产Av无码久久久亚洲| 欧美色www亚洲国产阿娇要播| 立川理惠被中出无码 | 亚洲熟女一区二区| 日本布卡一区二三区| 91中出视频| 视频不卡中文字幕| 久草精品国产99| 6080YYY午夜理论片在线观看| 人妻一二三区| 日本五十路熟女一区二区| 日亚韩精品视频二区三| 99在线免费观看| 无码99| 日本不卡二三区| 997色在线| 久久久久久久97| 午夜福利一区二区影院| 3028国产精品| 婷婷激情四射| 日韩欧亚太美不卡| 久热久| 98超碰欧美| 少妇一级无码精品| 久久高清欧美国产| 91蜜臀熟女| 97这里只精品| 九七超碰人人乐| 美女天天干| 91天堂色男人的天堂| 亚洲欧美大香蕉| 黄色不卡视频| 大香蕉伊人75| 日本 色 导航| 婷婷综合五月天| 日韩国产十八禁| 一本大道久| 成人小说另类在线| 操逼操操操91| 96AV久久久| chaopen97久久| 久久综合九色综合欧洲98| 女人喷水视频在线观看| 日本高清电影欧美色图| 国产一区二区久久| 天美传媒AV在线| 国产三级多多影院2022国产AA一级毛片无码| 亚洲操逼网| 欧美日韩精品久久| 精品视频一二三中文| 国产三级中文有码在线视频| 欧美熟爽综合| 婷婷五月天色网| 日韩激情毛片一级久久久| 久热这里| 日本天天干天天日一区| 91精品人妻偷情| 99久在线精品99re8| 嗯嗯,好大,好爽,好骚| 伊人麻豆传媒| 黄片免费看黄片免费看| 久草资源欧美在线视频| 99re99| 久操不卡视频| 久久伦理视频久久大香蕉视频| 天天日天天操天天射河南省| 99人人干| 国产自啪精品视频网站黑丝| 国产在线观看91精品一区| 禁片 高清 在线观看视频网站| 久久精品一区二区三区蜜桃臀| 最新日日夜夜天天干干| 欧美亚洲综合色| 色97欧美| 婷婷亚洲五月***久久| 色五月第四色| 免费在线看黄片av| 日韩AV片| 午夜在线播放| a在线观看| 美女上床网站| 欧美性爱中文字幕无线码| 日本99一区二区| 欧美成年人性爱视频免费观看| 亚洲天堂男人在线| 国产日韩怡红院| AAA久久| 久久久涩| av在线资源| 一区二区三区男人的天堂| 亚洲欧洲日韩国产自在线| 国产精品电影推荐| 一本久道在线综合视频| SS久久| 亚洲视频1区| 麻豆人妻少妇在线免费观看| 思思热在线视频在线| 高潮内射在线| 日韩性爱一级片| 日韩精彩免费| 超碰97人妻免费在线| 欧美综合色站| 男女激烈网站最新| 精品国产国产AV| 视频黄色国产一级| 天美麻豆黄色录像| 91强奸乱轮| 亚洲天堂一二| 在线99热| 78久久| 欧美日韩免费专区在线| 成人97人人超碰人人| 欧美 熟女 日韩| 乱伦AVxx| 97K超碰在线| 大香蕉97久久| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 狼人综合婷婷激情四射| 久久国产逼| 91色色综合| 日本午夜久久电影| 葡萄牙性视频一二区| 91丝袜美女| 国产精品无码av| 3级毛片一二| 青青网三级视频| 国产超碰AV在线精品| 内射卯月麻衣| 激情综合五月丁香| 日韩欧美亚洲自拍偷拍| 色九九九综合| 欧美视频中文字幕区| 麻豆精品一区二区三区四区免费观看| 97久久超碰国产网站| 91人妻中文| 超碰人妻久久| 精品网站99999| 在线看免费无码AV天堂的| 日本天天干天天操一区| 在线黄色污污网站| 亚洲AV无码乱码在线观看性色| 精品国产乱码久久| 精吧天堂| 小草三级久久观看| 国产女人极品高潮毛片| 色色九区| 91色伦综合| 狠狠操狠狠| 在线播放一级无码视频| 美女好片色日本| 啊啊啊好舒服好爽啊啊啊视频| 欧美啪啪女女| 中文字幕黄片在线| 欧美久久人体| 好看的91视频| 五月婷婷无码| 亚洲 欧美 偷拍 唯美| 97超碰欧美精品| 国产一区二区三区,在线观看观看| 涩五月婷婷| 久久直播国产| 欧洲在线性爱视频| 96精品久久久| 亚州久久9| 97中文超碰| 五月婷婷爱六月丁香色| 欧亚性爱在线视频| 麻豆91熟妇人妻中文字幕茄子| 啊啊啊好舒服视频在线观看| 亚码激情| 国产精品一区二区黄片| 精品久久久高清无码| 亚洲欧美日韩偷拍色图| 亚洲AV永久无码精品成人调教| 无码视频一区二区| 大稥蕉免费视频这里只有精品| 成人免费福利在线观看| 亚洲精品白浆高清久久久久久| 97狠狠| 小电影欧美91| 97精品97久久| 黄色十八禁网站| 国产精品天美传媒| 亚洲超碰在线| 久久肏大逼| 日本性爱网址| 2017大香蕉国产精品久久| 国产欧美第五页| 大香网伊人久久综合| 亚洲一卡2卡3卡4卡乱码网站| 97资源视频| 私人尤物在线精品不卡| 亚洲 欧美 色图| julia国产在线| 一本色道久久综合狠狠操| 久偷拍欧美日韩三区| 97 超碰 人人做 人人爱| 日韩精彩免费| 1956日韩精品| 精品女人999| 日本一本一区二区三区四区五区欧美日韩中文字幕| 啪一啪免费视频| 午夜影美女日鸡鸡天天视频国产| 欧美日韩色综合网| 一区二区三区亚洲| 色y情视频免费看| 夜夜草我| 香蕉国产精品麻豆亚洲欧美日韩| 91狠狠| 久久亚洲AV无码白度| 97在线免费观看| 欧美91精品国产自产| 综合久久97| 亚洲美女AV无码| 国产精品点击进入在线影院高清| 思思热国产高清| 国产精品懂色tv影视免费观看| 国产h小视频在线观看免费| 91天天综合| 97色伦97色伦国产欧美| 男女做爰猛烈动高潮A片免费应用| 中文字幕第9页萱萱影音先锋| 欧州一区二区三区四区| 青青免费在线视频一区| 亚洲h片在线免费观看| 无码丰满熟妇一区二区浪潮AV| 免费公开人人操| 91天堂色男人的天堂| 再深点灬舒服灬太大了好硬好爽| www久久99| 亚洲有码 欧美精品| 91在线视频免费中出| 欧美精品久久96人妻无码| 欧美色日本| 青青草女人天天干| 97美日韩视频| 青春草莓视频在线观看网址| 18禁在线视频| 岛国毛片手机在线观看| 热99这里只有精品| 可以看的av| 色狠狠综合噜一二三区| 国产在线精品电影观看| 亚洲中字慕不卡| 超碰91在线| 日韩熟女乱伦中出| 亚洲欧洲国产综合av| 一区二区三区黄色片a| 色娱乐色呦呦夜夜夜夜av| 人澡逼| 手机在线大香蕉| 亚洲熟女乱色一区二区三区| 亞洲久久直播| 嗯啊不要啊在线 | 不卡在线一区,精品一区二区三区中| 啊啊啊啊啊啊啊国| 亚洲视频二区 | 人人妻人人澡人人爽久久av| av网站国产主播在线| 囯产操逼片| 97色插| 中出在线视频| av黄图片在线观看|