EasyAR4.0帶了運動跟蹤功能,用這個試着做了個室內導航的例子。
基於運動跟蹤的室內導航,效果不理想,一是偏差還是比較大,二是導航開始的時候需要掃描特定圖片。
原理很簡單,利用運動跟蹤功能,及當移動設備在空間移動的時候,能夠很準確的知道設備當前的位置角度的變化。簡單說就是,設備在空間中向某個方向移動了多少距離,設備自己是知道的。
利用運動跟蹤這個特性,在Unity中建立一個和現實要導航的空間1:1對應的導航路徑(NavMesh)。
導航開始的時候,通過掃描一副特定圖片,實現虛擬空間的導航路徑和現實空間位置角度對應。當對應起來以後,在Unity虛擬空間導航的結果,就能正確的反應到現實空間。
做法是這樣的,首先在空間中掃描特定圖片獲取關鍵點,然後,根據關鍵點設置路徑。在導航開始的時候,先根據關鍵點和設置的路徑建立出路徑,掃描到特定圖片以後,將建立的路徑和現實對應起來並烘焙導航信息。然後利用Unity自帶的導航功能即可完成導航。
EasyAR官方例子中,有個叫MotionTracking_ImageTarget的場景,即運動跟蹤和圖片識別同時作用的場景,整個過程中用到EasyAR的內容就和這個例子場景中用到的一樣。
導航效果如下
EasyAR4.0運動跟蹤室內導航
使用過程如下:
EasyAR4.0運動跟蹤室內導航
源碼放在了github:https://github.com/wuyt/Shingeki
編譯好的apk和需要打印的圖片都在網盤裏:
https://pan.baidu.com/s/1wpQ4HvP4VeOB5ndIYtjl4g
ebdq