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

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(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è)輕量的就夠用。基本狀態(tài)可以分成準(zhǔn)備中、待拆卸、待裝配、完成。每個(gè)步驟對(duì)應(yīng)一個(gè)或一組零件只有當(dāng)當(dāng)前步驟的零件滿足條件流程才能推進(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á)很多信息。拾取交互上核心是射線檢測(cè)。用Camera主攝像頭發(fā)射線檢測(cè)到帶Part標(biāo)簽的物體后觸發(fā)事件。有一個(gè)細(xì)節(jié)很容易忽略當(dāng)鼠標(biāo)穿過(guò)多個(gè)零件時(shí)要取射線碰撞點(diǎn)最近的零件而不是第一個(gè)碰撞的。尤其機(jī)械零件經(jīng)常有嵌套關(guā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)都滿足才算安裝成功。位置約束看零件當(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)格順序模式下步驟是線性的只有完成當(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)的一句話是“換一個(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方便射線檢測(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)射線與一個(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ù)多幀滿足條件再觸發(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)象解決思路射線檢測(cè)點(diǎn)穿透點(diǎn)擊前面零件選中的卻是后面零件用RaycastAll取最近的有效碰撞體或者給零件分層Raycast時(shí)用LayerMask過(guò)濾裝配位置吸附過(guò)敏感零件快速劃過(guò)目標(biāo)位置就被吸住連續(xù)5幀以上滿足容差條件再吸附避免單幀誤判拆裝序列狀態(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)題尤其是零件密集的地方。射線穿過(guò)去打在后面的零件上是常事更麻煩的是你想點(diǎn)A零件但B零件的Collider把它擋住了。我的經(jīng)驗(yàn)是給零件分兩個(gè)層級(jí)主要零件用精確Collider小零件如螺栓、墊片用近似Collider用盒體或球體替代射線檢測(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à)線或者用單獨(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ù)兩幀都滿足條件OnPartInstalled被調(diào)了兩次。用“零件狀態(tài) 步驟狀態(tài)”雙重校驗(yàn)可以避免只有零件狀態(tài)從“未安裝”變?yōu)椤按惭b”時(shí)才觸發(fā)回調(diào)后續(xù)重復(fù)滿足條件不再觸發(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| 精品少妇一区二区三区在线视频| 日本欧美亚洲高清在线看| 国产乱弄免费在线视频。| 欧美福利视频啊啊啊啊| 4141514逼喷水三级片| 玖日综合网| 强奸乱伦大香蕉网| 丝袜狠狠草尤物人妻av91| 日韩精品一区二区三区色欲| 操b网站亚洲无码| 亚洲无码久久久久久久| 国产91丝袜在线播放蜜月| 欧美激情久操网| 日本天天吊| 少妇色欲综合网2| 久久久九九九九| 曰韩操B| 欧美综合97www| a亚洲欧美色欲| 97超碰亚洲| caoni国产亚洲av| 人人妻人人操人人乐| 日本大香蕉综合网| 麻豆天美国美国产AV| 欧美综合另类| 欧美伦乱| 亚洲综合99999| 五月婷婷爱六月丁香色| 中国一级特黄大片护士| 精品1区2区3区| 婷婷三区| 丁香五月综合| 国产树林里野战在线看| 欧美色图91p| 国产伦精品一区二区三区视频女| 东京热亚洲一区二区| 欧美在线伊人色| 欧美性生活男人的天堂| 91四海无码日韩欧美| 国产婷婷一区| 丁香五月激情综合| 婷婷影院入口| 免费一级a毛片久久久久久鸭绿欲| 久久久久久久久久久精| 亚洲少妇色图自慰直播| 色综合久| AⅤ片水多多| 欧美色图20P| 天天插天天操天天摸天天射天天看| 国产极品99热在线播放69| 欧美一级A一级a爱片久久| 超碰97久久国| 日本日日色视频| 欧美色图片| 日韩女模中文造逼| 久久精品国产亚洲妲己影视| 久久精品免费| 亚洲欧美九九| 伊人五月天青青草婷婷| 久7色| 亚洲免费看片| 少妇啪啪自拍| 欧美色网络| 欧美九九九| 精品白丝一区| 亚洲欧美日韩中文播放 | 视频在线观看一二三区| 久久东京伊人一本到鬼色| 欧美人妻一区二区| 99热欧美| 久久久久女教师免费一区| 91精产一区二区三区| HEYZO高无码国产精品227| 国模不卡| 蜜乳中文字幕a在线| 精品无码一区二区三区| 日韩性爱免费视频在线网站| 九九九九亚洲| 亚欧洲日韩国产精品| 久久成年精品| www.狠狠干.coom| 九九久久首页| 密臀视频一区二区三区| julia国产在线| 人人妻人人爽一区二区三区| 天美传媒在线一区| 久久噜| 久艹99| 久久丝袜| 日韩性爱长视频免费| 国产一国产一级毛片古装| 欧美99热| 18禁网站在线播放| 大香蕉综合| 国产深夜福利| 中文有码第五页| 夜间福利片1000无码| 亚洲人妻精品一区二区| 激情无码日韩| 四季av一区二区凹凸精品小说| 大香蕉手机在线视频| 三级日韩一区二区三区| 91黄站| 日本午夜福利影院| 国产熟女完整版中字| 人人妻人人澡人人爽人人精品浪潮| 97色论| 伊人综合色网| 国产视频三区四区| 嗯啊不要在线| 看一级黄色视频| 一起草精品人妻| 凹凸视频在线一区二区| 亚洲欧美精品久| 久久久熟妇熟女国产| 婷婷三区| 操淫穴亚洲五月丁香| 欧美成人性爱视频大全| 国产 亚洲 丝袜 制服| 秋霞久久亚洲精品成人| 国产69精品久久久久99尤物| 国产午夜激片Av毛片不卡| 亚洲人体视频在线观看| 肏逼视频日本| 九热久| 午夜美女诱惑电源网| 国产9熟妇视频网站| 人妻黑丝袜电影| 国产传媒1234区| 9 1果冻精品视频| 伊人五月天激情| 岛国天天午夜影院传媒网| 亭亭丁香激情| 亚洲高清无毛一区二区| 秋霞无码av鲁丝片一区| 一区二区三区精品黑丝白丝酒店对鸡| 热久久无毒不卡| 亚洲第2页| 69国产对白刺激| 蜜桃天美传媒AV一区二区三区| 色 婷97| 日韩久久超碰色| 欧美日动态视频| 国产视频第2页| 91操熟女视频| 国产A v无码专区| 精品一区二区亚洲国产| 九一综合精品视品av| Av色五月| 夜夜骑操视频| 97亚洲欧美| 久久久久久久久久久久久久久久9| 亚洲激情深爱文学小说网站| 人人做天天爱| 嗯嗯啊啊啊好舒服| 天天爱天天操| 精品视频久久久久九九九九9999 | 亚洲一曲日韩精品| 呻吟 欧美 日本 中出| 无码人妻丰满熟妇区毛片| 伊人丁香五月婷婷| 夜夜中出国产| 无马一区二区| av中文字幕在线熟女| 天天操天天7| av无线看| 蜜臀一二三区| WWW操逼| 欧美淫穴| 婷婷丁香激情| 人人操av| 999综合网| 天天摸夜夜摸| 日韩无码人妻| 欧美第38页| 亚洲密乳AV| 看黑人AV不卡| 98久久| 亚洲成人免费电影| 人人操欧美风骚| 精品国产嫩穴视频| 91色宗合| 99热这里都是精品| 人妻91少妇| 五月婷婷色| 久久蜜桃一区二区| 有码人妻系列| 一区在线精品中文字幕| 久久久精品国产亚洲伊人| 久久久精精精| 韩国女主播青草福利视频| 精品999一区二区| 99精品无码| 欧美组图日韩亚洲中文字幕| 91色碰| 天天日日夜夜| 97干97色| 噜噜噜亚洲精品| 色综合一本| 精久久久91| 婷婷影院入口| 亚洲本色精品一区二区久久| 久久国产对白激情浪潮 | 日本久久网| 亚洲色图综合网| 久操大香蕉| 日韩成人精品| 啊啊啊啊网站| 中文字幕综合人妻| 欧美久久草熟女| 国产亚州精品美女久久久免费| 青娱乐91| 91中文字幕制服丝袜免费视频| 99热伊人| 今日头条成人一区二区三区四虎精品 | 国产精品亚洲一区二区三区四区| 午夜啪| 亚洲欧美碰碰| 78精品| 国产中文字幕在线| 亚洲中文字幕精品一区| 老熟妇一区二区三区啪啪| 亚洲婷婷五月天| 秋霞曰韩R级| 深夜视频| 超碰97丝袜| 色97综合中文字幕| 噜噜瑟| 夜夜做夜夜爽精品视频| 三级片大波波| 午夜男女爽爽爽在线视频| 97av,com| 91真人天天在线| 曰韩操B| 国产h小视频在线观看免费| 伊人97| 蜜臀99久久精品久久久久久| 97超色| 99爱爱| 欧美日韩另类在线| 亚洲欧美另类小说| 久久精品欧美一区二区三区不卡| 亚洲色人| 丁香五月天视频| 97在线播放 | 久久久久久免费电影| 中文字幕av久久爽Av| 能看的AV| 三级网站超变态精品| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 91麻豆天美国产| 国产最新小视频在线播放下载 | 久久久夜夜嗨免费视频| 99热色这里只有精品| 五月天婷精品激情| 午夜寂寞欧美| 日本成人A片网站| 中日韩久久久| 亚洲有薄码区日本系列中文字幕| 欧洲精品人妻| 超碰九7| 久久久久久AV无码免费网站| 天美传媒精品一区二区| 精品亚洲国产成人AV制服丝袜 | 亚洲国产精品久久久久久久久久| 人妻精品综合中文字幕在线| 人妻少妇无码| 精品国产人成在线| 天天影视之亚洲综合网| 国产成人无码久久精品| 久久综合18p| 激情欧美97| 久久久18禁| 超碰 另类 欧美| 亚洲色婷婷久久91| 成人资源中文字幕在线观看天天| 久草毛片| 色情综合| 日韩97精| 国产sv美女内射| 操高情无码| 99操| 老司机香蕉久久久久| 九月丁香综合网| 精品亚州18| 日韩中文字幕人妻视频| 久久久精品日本一道| 日韩美女,国产传媒,视频一区| 91网站18禁| 乱欲视频| 不卡av免费在线网址| 91丨九色丨东北熟女| 亚洲中文字幕av | 91高跟美女在线播放| 97超碰精品| 国产精品亚洲色婷婷久久久| 亚洲不卡不卡中文字幕不卡| 亚洲国产精品无码AV久久| 小泽玛利亚一二三| 国产精品露脸在线观看| 欧美成人国产精品| 色999亚洲人成色| 国产女同视频在线播放| 1二区9| 思思热在线视频免费| 熟妇熟女亚洲天堂网| 亚洲五月婷| 综合激情五月丁香| 999999精品| 国内三级自拍小视频在线观看 | 蜜桃臀AV在线| 澳门黄片一香蕉视频| 激情五月天婷婷| 天天射天天操天天干天天吃2018 | 久久精品色欧美aⅴ一区二区| 欧美色亚洲色| 国产a级精品| 在线色导航| 伊人96在线| 99婷婷| 啪啪视频免费在线观看| 狠色婷婷久久一区二区三区_| 中国亚洲呦女专区| www.99色| 成人欧美日超碰| 久久婷婷一区二| 强奸乱伦AV一天堂网| 999日韩中文精品观看视频。| 亚洲 小说 欧美 激情 另类| 精久久久91| 久久精品国产亚洲AV清纯| 国产日本熟女顶级一区二区三区视频 | 综合一区中亚洲国产成人综合精品 | 91亚洲综合| 日本不卡免费二区| surenchaopeng| 夜夜爽爽爽| 殴美大黄片| 色综合久久av| 久久国产乱子伦精品免费女,网站| 午夜精品人妻二区三区| 加勒比伊人综合| 麻豆福利视频导航| 婷婷五月天av| 婷婷五月天网| 国产不卡精品91| 亚洲综合射| 天天天天天超碰| 国产AV色黄看到爽| 久偷拍欧美日韩三区| 久久青青草在线视频| 97日韩欧美亚洲| 日韩国产品视频中文字| 九九色图| 另类小色呦| 国产高清免费不卡av| 操婢日韩| 五月天玖玖资源站| 婷婷中文字幕| 97啪啪| 久久riav中文精品| 久久一区二区高清免费| 日韩激情中文字幕有码| 国产男女无套视频免费观看| 人妻乱仑一区二区三区| 欧美熟爽综合| 亚州欧美综合| 国产AV色黄看到爽| 欧美激情 亚洲色图| 男人天堂无码| 东北女人高潮视频| 综合少妇网| 欧美性爱日韩性爱| 青青操97| 欧洲亚洲人妻无码中字久久三区四区 | 午夜天堂网| 天天影视激情欧美| 在线播放欧洲免费av| а√天堂资源官网在线资源| 狼人综合婷婷激情四射 | 亚欧美无遮挡| 男人的天堂免费| 岛国视频一二三区| 一本道综合色图| 色呦呦、国产精品| 天天综合网~91| 大香蕉一级黄色片久久| 岛国视频免费在线观看| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 中文字幕免费在线观看| 无码免费在线观看黄色片| 久久婷婷亚洲| 天天操熟妇| 综合激情二| 柠檬AV导航| 干b在线性社区| 日韩精品午夜操呦呦不卡影院| 日本中文字幕不卡视频| 超碰人人色| 亚洲成人妻日韩在线| 深喉吞精| 韩国三级理论在线| 福利一级版子| 波多野结衣之双飞调教在线播放 | 97视频在线免费看| 江都AV在线| 狠插 制服 自拍| 亚洲欧美综合| 夜夜草网站| 日韩av色图| 日韩免费在线观看不卡| 91九九九馒头| 岛国色情视频在线观看| 中文字幕免费看| 日韩欧美经典在线观看| 久久久不卡| 精品区9| 中文字幕乱码在线| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 国产精品农村妇女| 校园春色亚洲欧洲| 99国产精品视频尤物| 男人的天堂在线| 福利在线黄片| 欧美性爱超碰97| 男人的天堂亚洲| 亚州熟女乱伦| 97视频新免费| 澳门成人网站久国产日韩| 蜜臀久久久久久999| 国产自产22区| 天天天天干| 中文字幕交换人妻| 欧美精品久久| 国产高清成人传媒影视| 日本孕妇一区二区视频操逼免费看| 5252色欧美在线| 久精品无码av一区二免费国产在线观看| 操淫穴亚洲五月丁香 | 九九九网页| 操操逼视频| 国产91丝袜在线播放蜜月| 婷婷五月天色色| 国产毛片毛片4p懂色| 色av中文字幕| 婷婷久久五月| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 亚洲97成人在线观看| 欧美最婬乱婬爆婬牲视频| 美女黄色一级A视频| www..com操老师| 高精欧美色| 人妻爽爽啪视频| 翘臀vidoes| 操逼操逼视频操逼| 最新亚洲人成网站在线影院| 亚洲人妻五月丁香婷婷| 欧美72网页| 成功精品影院| 果冻国产精品麻豆成人av| 91香蕉国产尤物视频| 91欧美少妇| 粉嫩小泬久久久一区二区| 久久香蕉国产传媒一区剧情天美| 18禁的网站在线| 秋霞网无码| 亚洲激情视频| 啊啊啊草死我| 夜草欧美| 91少妇香蕉久久精品| 久热久一区二区三区| 午夜福利视频在线一区| 中文字幕一区二区韩| 丰满人妻-区二区三区免费看| 在线国产福利网址导航| 日韩黄片影院| 殴美在线AⅤ| 中国操逼无码| 国产日韩区| 国产熟女无套内射| 在线啊啊啊啊| 免费看一级a性色生活片久久无| 亚洲国产欧美一区二区潘金莲| 国产h小视频在线观看免费| 大香蕉伊人一区在线观看| 精品一久久久| 劲爆欧美人妖三区91| 99最新日韩偷拍视频| 97日韩欧美亚洲| 人妻人久久精品中文字幕| 91综合天天看| 国产操逼网站亚洲一级黄色| 97在线精品观看视频| 日韩精品在线观看观看| AV乱伦国产| 岛国黄| 国产在线精品偷| 综合色图亚洲欧美| 中国的操老妇女| 超碰人人干天天射| 国内精品久久人妻性色av| 天天摸夜夜添无码小视频| 成人免费福利在线观看| 久久婷婷色综合一区二区三区| 熟女色图在线| 亚洲色天堂九9| 精彩久久中文| 91国模| japan日本高清乱xxxx| 蜜桃中文字日产乱幕4区| 黄色不卡视频| 青春草莓视频在线观看网址| 丁香婷婷九月| 我爱搞逼综合网| 精品久久在线区一区| 亚洲一二三四区在线免费看视频| 蜜臀中文字幕| 天天干,夜夜爽| 激情小说亚洲视频| 人人插人人摸人人| 麻豆天美电影一区二区| 久久婷婷热| 日本午夜精品理论片A级APP发布| 日韩超碰97| 9Ⅰ老熟女| 波多野结衣之双飞调教在线播放 | 黑人黄片在线免费观看| 成人AV素股で擦久久| 伊人在线大香蕉视频久久| 少妇综合网| 国产曰批免费观看久久久| 91成人精品在线播放| 中文乱码99| 欧美老妇综合网| 日日骚av| 国产精品爱欲| 国产精品乱码久久久久久久久久久久| 黑人精品欧美一区二区蜜桃| 尤物黄色在线观看网站| 欧美少妇大量自拍视频在线观看| 国产中文字幕在线| 日韩国产乱子伦App| 99热9| 久久6热精品99视频| 高清国产无码av| 大奶啊啊好爽| 在线亚洲欧美| 120分钟婬片免费看| 9久9久9久9久视频网站| 天天天天天天天天天天干美女 | 成人熟女视频一区二区三区| 欧美色青| 嗯嗯啊啊啊好舒服| 亚洲精品九九九| 玖玖视频在线资源一区二区三区| rivers-china.com| 精品人妻美妇91job| 亚洲图片第一页| renqi久久久久久久久久久久| 啊啊啊在线看| 国产精品3| 色超碰综合| 激情五月天网站| 大香蕉99re| 麻豆国产原创AV色哟哟| 黑人精品成人一区二区三区 | 亚洲爱爱视频一区二区| 91亚洲综合在线| 久久久婷| 免费国产视频| 五月天色电影| 欧美的性爱网站免费| 麻豆a'v电影| 蜜臀少妇一区二区| 色欲三区| 超碰是碰在线观看| 亚洲天堂久久| 成人av在线播放| 久久综合日韩亚洲欧美| 国产成人自拍视频在线| 日韩极品无码B| 久久亚洲日韩国产欧| 强免费黄色网址| 久久久久久网址| 中国熟女91| 伊人97色天使| 草草影院最新网址| 欧美丝袜中文字幕07在线| 大香蕉十区| 国产成人一级av88| 91亚洲黄色网| 97丝袜亚洲在线播放| 国产久久一区二区午夜| 夜夜影视四色| 日韩国产乱子伦App| 内射夫妻三片| 碰碰97| 欧美一区二区三区黄色影视| caopeng97| 国产精品激情久久久久久久| 17c嫩草51久久91嫩草| 亚洲drav色图| www.高清无码诱惑一区.com | 易易A毛视频| 久久久久密臀视频| 狠插 制服 自拍| 人妻中文在线| 亚洲中文日韩精品| 2019精品国产无码成人| 96超碰网| 9999亚洲精品| 91性高| 天天干天天日天天射黄色| 色色操| 精品亚洲国产成人精品| 2019久久久久久久久福利| 2017大香蕉| 中国AAAAAA黄色片| 天天干人人看综合| 欧美在线天堂| 国产精品网址| 超碰在线日韩一区| 丰满人妻一区二区三区免费| 欧美激情精品久久久久久| 欧美瑟综合| 91n处女在线观看| 欧美日韩亚洲少妇寂寞影院正在播放| 0755午夜福利视频| 国产小视频91| 九九视频黄色片| 亚洲熟伦熟妇AV无码春色| 人妻少妇久久中文字幕一区二区 麻豆| 中文乱码字幕观看视频| 国产精品96| 97精品久久| 欧美一级美片在线观看免费| 天天操天天干一区二区| 国产午夜激片Av毛片不卡| 桃花色涩综合影院| 天天色香欲综合网| 91红杏| 欧美色自拍| yazhououmeizongya| 久久久国产护士丝袜美腿一| 九九九九九九九九九国产精品 | 亚洲码在线中文在线观看| 五月天婷婷在线看| 国产亚洲精品农村妇女| 色啪网| 欧美超碰96| 人妻少妇精品久久久| 中文字幕青青草| 久久东京热成人| AV乱伦专区| 囯产操逼片| 熟女丰满人妻一区| 天天舔九色婷婷| hd成人一区二区在线| 91狠狠综合久久久| 伊人网在线观看| 四虎在线视频| 国内毛片婷婷六月色| 最近2019中文字幕国语免费版| 久久久一热在线播放| 精品制服美女中文一区二区三区| 91欧洲国产成人久久精品网站| 无码av永久免费专区网站| 免費黃色視頻觀看一| 福利天堂| 日韩熟女三十乱伦| 天天综合91在线| 亚洲脚交| 天天爽夜夜爽夜夜爽精| www.91久久| 啊啊啊啊在线播放| 国产亚洲精品第一最新| 久污| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 天天综合-91入口| 伊人网综合在线视频| 久久伊人青青草| 无码视频一区二区| 欧美福利视频啊啊啊啊| 亚洲精品蜜桃久久久一区二区三区| 色777999综合| 国产精品 久久久精品一牛| 富二代亚洲精品99| 欧美激情激情xxxx欧美专区| 91九久| 91天天综合日韩欧美| 五月丁香六月激情综合| 国产九九九九九九| 日韩激情啪啪| 蜜臀99久久精品久久久久久| av在线免费一区二区| 香蕉大久久久| 全球成人中文在线| 综合亚洲欧美| 精品婷婷| 久久色精品视频在线| 亚洲国产成人高清在线| 色偷偷超碰亚洲| 色爱国产| 国产精品视频内谢女人| 欧美精品 - 91爱爱| 国产区91柔拿会所技师| 97鸡把在线视频| 97青青操视频| 91被操| 尤物视频偷拍免费| 国产精品一区人妻精品阁在线| 色久综合| 人人操 欧美| 另类成人首页一区| 国产后入精品| 亚洲天堂AV在线播放| 97精品久久久久中文字幕| 黑人精品成人一区二区三区 | 久久国产在线一区二区| 东北操逼| 无码自拍SM| 日韩精品字幕| 久久精品国产97欧美精品亚洲| 91美女在线精品视频| 正在播放国产精品一区| 日韩综合色网| 日韩成人免费电影| 亚洲一区二区三区播放在线| BBBBB97COM| 少妇与黑人高潮在线| 午夜国产成人福利视频| 国产无码久久高清| 亚洲av综合色| 99re在线| 久久精品无码不卡| 久久久国产精品人妻丝袜| 婷婷色综合| 九九久久一区二区伦理| 性综合网| 98久久超碰| 色综合20p| 嗯……啊…嗯嗯…啊…好舒服| 国产小u女在线观看| 一区二区不卡视| 在线播放中文字幕| 职场同事知名国产国产精品久久欧美日韩| 中文字幕高清20页视频| 色情乱伦AV| 秋霞网—男女啪啪亚洲免费体验区 | 日本在线不卡123| 婷婷大香蕉| 丁香五月天堂网| 99久久综合网| hd成人一区二区在线| 韩三级a视频在线观看| 国语精品对白| 美女爽到高潮91| 久草久日| 人妻丝袜肏逼| 99精品丰满人妻| 天天天天天天天天综合| 91美女视频在线| 九九九综合精品| 99re视频在线观看这里只有精品| 一区在线观看中文字幕| 国产剧情AV不卡在线观看| 国产成年免费大片黄在线观看| 91欧洲国产成人久久精品网站| 久久久久久九九九| 欧美精品97| 天天综合97| 蜜桃狠狠色伊人亚洲综合网站| 欧美 亚洲| 少妇 综合| 旡码电影特区| 熟女一区二区| 中文字幕精品人妻丝袜| 精品十三区| 日欧毛片久久| 久久久久久少妇| 日韩内| 男人天堂网址 | 女同性恋久久| 久久久久久性爱片| av线电影| 人人操人人操人妻人| 2024黄色视频| 国产白嫩漂亮KTV在线| 无码国产精品久久久久| 色情综合网| 精品大久久| 亚洲污污网站| 中国少妇啪啪视频| 综合久久久久久久久91| 国产AV无码AV| 夜夜一区二区| 加勒比色综合| www.av在线视频| 久久精品国产亚洲AV无码做| 色婷婷狠狠| 狼人综合婷婷激情四射| 免费国产| 亚洲精品乱码线路中文字幕 | 四虎AV在线观看| 久久人妻少妇| 精品国产无码中文| 色老汉玖玖爱| 后入合集| 天堂俺去俺来也www久久婷婷| 欧美久热| 亚洲清纯唯美| 在线看污网站| 免费看黄视频亚洲网站| 极品白嫩福利在线| 欧美日韩中文字幕不卡| 亚洲va有码在线天堂| 国产四虎在线| 黑人在线91| 97摸视频| 亚洲91大片| 午夜a成v人电影| 亚洲一区二区三区久久 亚洲一区二区| 欧美青青视频| 88xx成人精品视频| 射 色综合| 人妻丰满熟妇av无码区蜜桃| 日韩 欧美 视频 在线 一区| 伊人久久大香蕉线AV五月天| 乱欲视频| 日韩精品一二三四| 91青青| 青娱乐手机日韩在线视频| 久久无码精品| 欧美午夜精品久久久久久超碰| 日韩大香蕉AV影片| 欧亚综合一卡二卡中文字幕| 91综合网站| 内射中出日韩在线观看视频| 成人精品无码| 秋霞午夜视频一区二区| 国产一区二区在线播放量| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 欧美第一页性| 牛牛AV人人夜夜澡人人爽| 久久综合精品一区二区三区| 欧美日韩中文亚洲v在线综合| 午夜天堂精品久久| 91无码西班牙视频在线| 麻豆久久久久久久久丝袜| 亚洲 暴爽 AV人人爽日日碰| 欧美成人精品一区二区三区| 97亚洲综合影院| 亚洲精品819| www亚洲免费| 豆1无夜无码| 伊人色综合网电影| 五月情色天| 欧美美女啪啪视频| 婷婷操逼| 97精品人妻一二三四| 久草综合京东| 日本一级二级三级网站| 四虎精品永久在线播放| 亚洲中字慕不卡| 久久后入制服| 一区二区三区四区色图| www.av家庭乱伦| 五月开心久久AV官网| 色婷婷丁香五月| 三级日韩一区二区三区| 色偷偷综合91久久噜噜| 国模限制级电影| 人人操,操人人| 久夜视频| 久操视频免费观看| 毛片17S| 一区二区三区精品久久| 好色综合| 国产激情在线| 国产精品久久久久久久久久久久久久久久 | 亚洲亚洲亚洲天堂天堂| 青青操97| 97色色婷婷| 国产91乱伦| 香蕉国产精品麻豆亚洲欧美日韩| 老熟乱一区二区三区四区| 欧美日韩国产电影| 5252色欧美在线| 一本一道人妻久久一区二区三区| 91精品伊人久久久大香线蕉91| 欧美人人曰人人操人人射射| 午夜αv| 蜜臀久久久99久久久久 | 熟女少妇一区二区三区| 欧美综合777| 99超碰色| 亚洲色人妻综合| 东京热激情视频一二三区| 亚洲图片偷拍视频区| 黄色网址在线免费观看| 精品一区二区综合熟妇| 日本成人A片免费看| 九九九久久久| 十八禁啪啪视频| 日韩强奸av| 插入逼91| 中文字幕精品一区欧美| 另类亚洲一区二区三区| 久草在线| 可免费观看的av毛片中日美韩| 精品午夜福利导航| 亚洲欧美另类激情小说| 超碰色97| 一起草三级AV电影在线观看 | 蜜臀久久99精品| 色婷婷久久综合超碰| 中文字日本乱码| 免费网色网站| 天操天操夜操夜月操月年年操操| 中文字幕午夜精品久久久| 欧美草草高清日韩视频| 亚洲熟女诱惑| 边做饭边操逼逼| 国产激情在线| 成人在线视频二区| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 亚洲激情在线一区二区| 亚欧国产无码精品在线| 人妻少妇视频在线播放| 国产十八禁视频| 成人婷婷丁香| 亚洲高潮少妇| 97色涩| 欧美97se| 国产在线综合福利网站| 久操网视频| 91超碰人人| 久久精品视| 久久久91| 天天干人人干天天日97| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 久久偷拍人| 18精品一二区| 日本成人A片网站| 青青草日韩无码| 囯产精品强| 在线播放成人高清免费视频 | 日本高清_区二区三区| 青青网三级视频| 91劲爆| 看免费一级在线播放毛片| 亚洲综合中文字幕有码| 天天影视激情欧美| 毛片99-全集电影手机免费观看完整-B029AV| 无码二级三级| 国产亚洲性生活视频播放| 色情成人五月天| 超碰免费欧美7| 日韩成人性日韩成人性爱视频在线免费观看| 琪琪精品免费一区二区三区| 丁香五月影院| 日韩不卡毛片Av免费高清| 日韩伦理视频| 91精品国产91久久青草| 清柠毛片| 色噜噜狠狠色综无码久久合欧美| 人妻精品视频一区二区| 欧美日韩国产人人| 影音先锋视频在线| 国产小炒后入式| 日韩精品一区二区日韩| 和协影院中文字幕三区| 中文操嬖片。| 国内精品久9| 99精品在线观看| 丝袜综合网| 最新亚洲风情电影| 99999国产精品| 最新加勒比丝袜在线| 国产成人在线观看网址| 日韩精彩免费| 精品国产av一区二区三区四区入口| 欧美色66| 大香网站| 人妻丝袜一区二区三区在线| 久久久999日本大片| 国产精品久久久久无码Av网曝门 | 精品一区二区三区四区外站| 精品久久人妻成人网| 性欧美999| 亚州色图欧美| 丝袜美腿亚洲| 欧美性暴力猛交XXXX| 国内偷自视频区视频综合| 死我十八禁| 午夜精品99久久久久传媒| 色欲三区| 亚洲情色 自拍| 久久国产精品,久久国产| 成年人性爱日韩| 亚洲色交| 96精品久久久久中文字幕| 熟妇视频一区二区三区在线| av亚洲天堂资源网站| 日本污ww视频网站| 精品国产一区二区三区在线播出| 天天影视91看看| 校园春色亚洲无码| 欧洲综合视频| 综合色播| 深夜国产一区二区三区在线看| 啊啊啊啊操死我| 欧美色吧综合| 日日夜夜模| 亚洲综合113页| 日韩一级二级| 99啪啪视频| 国产一级做a爰大片免费久久| 性久久久| 曰韩人妻中文字幕在线 | 五月激情天| 国产69精品久久久久99尤物| 99精品国产户外露出| 少妇无码999| 九九久久国产精品怡红院| 亚洲蜜臀视频精品久久| 日韩不卡码| 神马午夜久久久| 99啪啪视频| 久久做97| 日本A级视频| 久久精品国产99国产精品亚洲| 嗯嗯嗯啊啊啊在线免费观看| 亚洲有码 欧美精品| 亚洲激情综合| 日本人体九九九九九九| 精品国产一区二区三区av在线资源| 99久久婷婷国产综合精品草原| 色婷婷五月综合激情中文字幕| 亚洲最大网站av| 婷婷五月综合在线| 五月丁香六月激情综合| AA丁香综合激情| 中日无幕一二三四区| 亚洲日韩视频二区| 91丝袜视频在线观看| 91色欧美| 亚洲一区日韩精品中文字幕| 成人国产视频在线观看| 精品国产一区二区三区四区在线看| J?P?NESEHD熟女熟妇伦| 综合激情二| 操逼操网| 视频二区美腿丝袜制服人妻欧美| 一色网男人的天堂| 精品网站99999| 久久久九| 大香蕉一级黄色片久久| 久久久久久久久久va| 操我无码| 亚洲精品久| 久久夜夜夜| 国产伦精品| 午夜乱轮操逼视频免费看| a在线视频免费观看| 国内精品999| 插入粉嫩少妇视频| v91av| 天天摸夜夜添无码小视频| 热九九精品| 少妇与黑人高潮在线| 啊啊啊啊,啊啊好多水| 亚洲福利影院一区久久| 亚洲精品成人激情在线| 69AV女优男人的天堂| 另类图片五月天| 国产精品第一区第一页| 综合色播| 天堂伊人久久| 91老熟女| 亚洲另类在线观看| 97资源免费视频| 屁股久久久久久| 久久香蕉国产线看观看猫咪av| 三级片大波波| 亚洲97超碰| 天天操综合网| 久久精品无码不卡| 日韩久久.一级黄色片| 男人天堂站| 中欧人妻丝袜中文字幕| 牛黄色久午久| 国产亚热在线久久| 天天干人人干天天日97| 玖玖爱一区在线| 久久草草亚洲蜜桃臀| 高凊专区人人操| 超碰在线一区二区| 久久九九99| 91中出视频| 婷婷99狠狠| 本道综合精品| www.99视频| 亚洲少妇视频| 欧美亚洲日韩人妻在线观看| 偷窥自拍亚洲| 成人国产精品三级A片| 超碰9 7女人| 日韩999| 变态综合色| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴| 少妇特黄一区二区三区| 亚洲国产麻豆一区二区三区| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 人妻啊啊人妻啊| 中文字幕乱码在线| 日韩AV一区二区三区三州三州| 操逼A∨| 99国产精品免费| 欧美东京热精品A∨| 欧美,日韩,中文,另类| 99热官网| 五月天婷婷在线看| 中国小夫妻勾搭露脸淫荡对白| 伦伦成年午夜免费视频| 久久久96精品| 大香交伊人网| 极品销魂美女一区二区| 91香蕉国产尤物视频| 久久黄色视频一区二区三区| 久久久成人精品| 男人夜色天堂ss| AA级电影三区| 亚洲第二页| av在线人气| 精品一区二区人妖| 91精品网站| 亚洲日韩乱码中文无码蜜桃臀网站| 四虎影院成年人片| 三级日本一区二区三区| 久久精品一区二区三区蜜桃臀| 素人播放一区| 1024人妻熟女一区二区三区| 超碰97欧美| 日韩精品系列| 日本三级久| 国产亚洲精品激情| 九九拍拍精品视频在线播放 | 日本97久久| 91女优在线观看| 欧美影音在线| julia中文字幕在线观看| 999久久久九|