本發明屬于工業設備虛擬拆裝技術領域,具體涉及一種基于unity三維引擎和vr設備的自動綁定拆裝工具到設備零件上正確位置的方法,適用于工業設備虛擬拆裝的各類設備零件的拆裝操作中。
背景技術:
vr(virtualreality:虛擬現實)技術是一種可以創建和體驗虛擬世界的計算機仿真系統,它利用計算機生成一種模擬環境是一種多源信息融合的交互式的三維動態視景和實體行為的系統仿真,使用戶沉浸到該環境中。
虛擬現實技術(vr)主要包括模擬環境、感知、自然技能和傳感設備等方面,模擬環境是由計算機生成的、實時動態的三維立體逼真圖像。感知是指理想的vr應該具有一切人所具有的感知,除計算機圖形技術所生成的視覺感知外,還有聽覺、觸覺、力覺、運動等感知,甚至還包括嗅覺和味覺等,也稱為多感知,自然技能是指人的頭部轉動,眼睛、手勢、或其他人體行為動作,由計算機來處理與參與者的動作相適應的數據,并對用戶的輸入作出實時響應,并分別反饋到用戶的五官,傳感設備是指三維交互設備。
vr主要是利用計算機生成的一種模擬環境,通過各種傳感設備使用戶進入到這個環境中,實現了該環境直接進行交互的技術。由于虛擬現實技術在很大的程度上解決很多的實際問題,還節約了資金不受環境限制等問題,因此成為了目前各個領域如工業、娛樂、游戲、軍事、旅游等倍受青睞的技術。現在和將來很長時間內,vr技術將會越來越成熟,給人帶來越來越多的立體感官體驗。
vr虛擬拆裝是目前vr應用比較廣泛的一個領域。在某些場景模式下,虛擬拆裝需要手拿工具來模擬真實的拆解零件,當手拿工具在拆裝設備零件前需要先將工具綁定對應的位置才能合理的模擬拆解零件,但目前還沒有針對這種使用方式的解決方案。
技術實現要素:
鑒于現有技術缺少成熟的將vr手柄與工具緊密結合起來的交互控制系統的問題,提出了本發明的一種設備零件虛擬拆裝前工具自動綁定到目標零件正確位置的解決方案,以解決上述背景技術中提出的問題。
根據本發明的第一個方面,本發明提供一種基于unity三維引擎和vr設備的工具自動綁定系統,其包括:
數據采集模塊,用于采集vr手柄在其空間中的位置信息;
工具控制模塊,用于將vr手柄的位置信息應用到虛擬工具模型上,使得所述虛擬工具模型綁定到手柄上;
碰撞檢測模塊,根據所述虛擬工具模型和目標零件模型在空間中的位置信息判斷虛擬工具模型與目標零件模型是否碰撞;
數據處理模塊,當碰撞檢測判斷為發生碰撞時,根據預設參數計算所述虛擬工具模型和所述目標零件模型綁定所需的綁定數據;
工具綁定模塊,當所述虛擬工具模型和所述目標零件模型的相對位置滿足綁定數據時,將所述虛擬工具模型綁定到所述目標零件模型上;
數據傳輸模塊,在vr設備與客戶端之間傳輸所述虛擬工具模型、目標零件模型、vr手柄和vr頭盔的位置信息。
優選地,所述位置信息包括位置坐標position和旋轉rotation數據。
優選地,在所述虛擬工具模型與所述目標零件模型綁定時,所述工具綁定模塊將所述預設參數應用到所述虛擬工具模型與所述目標零件模型上。
優選地,所述預設參數包括虛擬工具模型相對于目標零件中心點的位置坐標position、旋轉rotation、比例scale數據、虛擬工具模型和目標零件對象的子父級層級結構中的一種或多種。
優選地,所述虛擬工具模型和目標零件模型綁定后,當所述碰撞檢測模塊檢測到工具模型和目標零件之間超出可綁定范圍后,解除工具模型與目標零件的綁定。
在本發明的一些實施方式中,所述位置坐標position和旋轉rotation為相對值。
在本發明的一些實施方式中,所述位置坐標position和旋轉rotation為絕對值。
在本發明的一些實施方式中,所述綁定數據包括旋轉角度。
在本發明的一些實施方式中,所述可綁定范圍為可發生碰撞的范圍。
根據本發明的第二個方面,本發明提供一種基于unity三維引擎和vr設備的工具自動綁定方法,其包括:
s110采集vr手柄在其空間中的位置信息;
s120將vr手柄的位置信息應用到虛擬工具模型上,使得所述虛擬工具模型綁定到vr手柄上;
s130根據所述虛擬工具模型和目標零件模型在空間中的位置信息判斷虛擬工具模型與目標零件模型是否碰撞;
s140當碰撞檢測判斷為發生碰撞時,根據預設參數計算所述虛擬工具模型和所述目標零件模型綁定所需的綁定數據;
s150當所述虛擬工具模型和所述目標零件模型的相對位置滿足綁定數據時,將所述虛擬工具模型綁定到所述目標零件模型上。
優選地,所述位置信息包括位置坐標position和旋轉rotation數據。
優選地,在所述虛擬工具模型與所述目標零件模型綁定時,所述工具綁定模塊將所述預設參數應用到所述虛擬工具模型與所述目標零件模型上。
優選地,所述預設參數包括虛擬工具模型相對于目標零件中心點的位置坐標position、旋轉rotation、比例scale數據、虛擬工具模型和目標零件對象的子父級層級結構中的一種或多種。
優選地,所述虛擬工具模型和目標零件模型綁定后,當檢測到工具模型和目標零件之間超出可綁定范圍后,解除工具模型和目標零件的綁定。
在本發明的一些實施方式中,所述綁定數據包括旋轉角度。
在本發明的一些實施方式中,所述可綁定范圍為可發生碰撞的范圍。
附圖說明
通過閱讀參考一下附圖所作的對非限制性實施例所作的詳細描述,本發明的其他特征、目的和優點將會變得更明顯:
圖1是示意地表示本發明的一些實施方式的系統原理圖。
圖2是示意地表示本發明的一些實施方式的系統結構圖。
圖3是本發明的一些實施方式的vr視覺效果截圖。
圖4是示意地表示本發明的一些實施方式的方法的流程圖。
具體實施方式
在下文的描述中,給出了大量具體的細節以便提供對本發明更為徹底的理解。然而,對于本領域技術人員來說顯而易見的是,本發明可以無需一個或多個這些細節而得以實施。在其他的例子中,為了避免與本發明發生混淆,對于本領域公知的一些技術特征未進行描述。
在本發明中,術語“unity軟件”:是指基于unity三維引擎平臺開發的軟件。unity是由unitytechnologies開發的一個讓玩家輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發工具,是一個全面整合的專業游戲引擎。
在本發明中,術語“htcvivelighthouse”是htcvr設備使用的定位系統“lighthouse”,由兩個激光基站構成:每個基站里有一個紅外led陣列,兩個轉軸互相垂直的旋轉的紅外激光發射器。轉速為10ms一圈。基站的工作狀態是這樣的:20ms為一個循環,在循環開始的時候紅外led閃光,10ms內x軸的旋轉激光掃過玩家自由活動區域,y軸不發光;下10ms內y軸的旋轉激光掃過玩家自由活動區域,x軸不發光。
在本發明中,術語“碰撞體”(collider)是unity3d軟件下剛體碰撞的組件,能夠讓模型之間模擬發生物理碰撞,附加在模型上。unity三維引擎中自身的物理系統包含了物體間的碰撞檢測方法。在本發明中,可以設置為一旦發生碰撞即綁定,也可以設置為發生碰撞并相對位置滿足預設條件時綁定。
通過vr設備的兩個手柄模擬控制虛擬空間的手或者工具物體,來實現虛擬物體的控制效果。如圖3所示,其中手柄與虛擬的扳手綁定,虛擬扳手再與虛擬螺釘綁定,當手柄(虛擬手)控制的虛擬扳手與虛擬螺釘的相對位置滿足綁定數據時,隨著手柄的運動,帶動虛擬扳手與虛擬螺釘一同運動(即綁定)。
在虛擬空間中進行虛擬拆裝操作時,當對目標零件進行拆裝操作前,需要根據當前工具相對目標零件所處位置,將工具綁定到目標零件正確位置上后才開始繼續其他拆裝操作,實現模擬真實世界的視覺效果,從而使虛擬培訓更有沉浸感。
圖1示出了本發明的一些實施方式的系統原理圖。vr設備中包括頭盔和手柄,頭盔和手柄都設有傳感器,采集自身的動作信息及空間中的位置信息,并將數據發送到客戶端。手柄對虛擬工具的控制可以通過系統直接設置,例如選擇虛擬工具為扳手。選定虛擬工具后,手柄的位置信息被應用到與手柄綁定的虛擬工具上。
如圖2所示,本發明的工具自動綁定系統包括:數據采集模塊、工具控制模塊、碰撞檢測模塊、數據處理模塊、工具綁定模塊和數據傳輸模塊。
數據采集模塊:
s110采集設備數據信息。獲取vr設備手柄數據,每個vr設備都有自己的空間定位技術,通過vr設備空間定位技術獲取手柄位置信息。例如htc的lighthouse室內定位技術屬于激光掃描定位技術,靠激光和光敏傳感器來確定運動物體的位置。兩個激光發射器被安置在對角,形成大小可調的長方形區域。激光束由發射器里面的兩排固定led燈發出,每秒6次。每個激光發射器內有兩個掃描模塊,分別在水平和垂直方向輪流對定位空間發射激光掃描定位空間。獲取到vr手柄數據包括坐標position、旋轉rotation;
工具控制模塊:
s120手柄控制工具。數據傳輸模塊將數據采集模塊采集的手柄數據傳輸到工具控制模塊。根據采集并記錄下的數據,使用手柄的坐標position、旋轉rotation數據,應用到虛擬工具模型上,使得工具模型綁定到手柄上,跟隨手柄移動。再通過數據傳輸模塊將綁定虛擬工具后的數據傳輸到vr設備上,使用者能夠在vr頭盔中清楚看到工具的模型隨手柄移動。
碰撞檢測模塊:
s130模型碰撞檢測。目標零件在虛擬空間中有預定的位置。首先對工具模型和目標零件進行碰撞檢測,例如碰撞檢測指模型的碰撞體之間接觸的檢測。通過操縱手柄,改變虛擬空間中工具模型的位置,判斷工具模型和目標零件是否處于可綁定范圍內,當檢測到工具模型和目標零件發生碰撞后,才可進行工具綁定。反之,工具模型與目標零件綁定后,當檢測到工具模型和目標零件之間超出可綁定范圍,解除工具模型與目標零件的綁定。工具一旦綁定到零件上后,受手柄位置和零件位置雙重控制,工具會和零件完全綁定,同步移動。在一些與零件綁定的情況下,手柄對工具在某些軸向的控制會受限制。當工具模型和目標零件之間超出可綁定范圍后,工具僅受手柄控制。
數據處理模塊:
s140數據分析處理。當碰撞檢測結果為發生碰撞后,根據采集并記錄下的數據,對數據進行處理分析,根據預設參數計算所述虛擬工具模型和所述目標零件模型綁定所需的綁定數據。
例如根據虛擬工具模型和所述目標零件模型的坐標position判定發生碰撞,根據預設參數,當旋轉rotation達到某值時,則綁定數據滿足。
根據具體的需要,所述坐標position和旋轉rotation可以為絕對值,也可以為相對值。
在本發明的一些實施方式中,為滿足視覺效果的需要,當虛擬工具模型和目標零件模型實現綁定時綁定處加載修飾效果。可以在目標零件上設定預設綁定位置,其上加載隱藏的修飾效果。當虛擬工具模型和目標零件模型發生碰撞時,根據預設參數計算所述虛擬工具模型和所述目標零件模型綁定所需的綁定數據。其中,所述綁定數據包括預設綁定位置到碰撞位置的差值,例如旋轉角度。
工具綁定模塊:
s150工具綁定。得到經過計算處理的數據后,將工具綁定到目標零件上的正確位置,并反饋到vr頭盔中。通過這樣實時數據的傳輸更新,在vr眼鏡能清楚的看到工具準確綁定到正確位置。
本發明不限于上述實施方式,在本發明思想的范圍內可以進行各種變更。本發明已通過上述實施例進行了說明,但應當理解的是,上述實施例只是用于舉例和說明的目的,而非意在將本發明限制于所描述的實施例范圍內。此外本領域技術人員可以理解的是,本發明并不局限于上述實施例,根據本發明教導還可以做出更多種的變型和修改,這些變型和修改均落在本發明所要求保護的范圍以內。本發明的保護范圍由附屬的權利要求書及其等效范圍所界定。