EasyAR4.0使用說明(Unity3D)六----表面跟蹤和運動跟蹤

表面跟蹤和運動跟蹤很類似,其目的都是通過感知設備在現實空間的變化來實現將3D模型顯示得像是在現實空間某個位置的感覺。實際使用的方式也很類似,只要將物體放置在【WorldRoot】遊戲對象下成爲其子游戲對象就能自動實現跟蹤效果。 表面跟蹤對設備的要求更低,支持的設備更多,但是效果更差一些,而且場景中只能放置一個虛擬物體。能實際應用的場景其實不多。

運動跟蹤對設備有要求,官方給出了設備支持列表:地址:https://help.easyar.cn/EasyAR%20Sense/v4/Guides/EasyAR-Motion-Tracking-Supported-Devices.html

支持列表裏面沒提蘋果設備,官方說明是凡是支持ARKit的蘋果設備都支持EasyAR的運動跟蹤。儘管運動跟蹤對設備要求比較高,但是能實現的跟蹤效果好很多,而且沒有虛擬物體限制。實際情況下,根推薦使用運動跟蹤而不是表面跟蹤。

總體說明

表面跟蹤基本結構

表面跟蹤基本結構

運動跟蹤基本結構

運動跟蹤基本結構

兩者使用的時候,都是要設置Center Mode屬性爲World Root,並將WorldRoot遊戲對象設置爲World Root Controller屬性的值。同時將需要跟蹤的遊戲對象放置在WorldRoot遊戲對象下面即可。

表面跟蹤

  • 設置場景中的Main Camera的Clear Flags屬性爲Solid Color。
  • 將EasyAR/Prefabs/Composites目錄下的EasyAR_SurfaceTracker預製件拖到場景中。

表面跟蹤

  • 將EasyAR/Prefabs/Primitives目錄下的WorldRoot預製件拖到場景中。
  • 選中EasyAR_SurfaceTracker遊戲對象,將WorldRoot遊戲對象拖到World Root Controller屬性中爲其賦值。

表面跟蹤

在場景中添加2個方塊,都在原點附近。一個在World Root遊戲對象下,一個在根目錄下。

表面跟蹤

打包後在設備運行,效果如下:

表面跟蹤

方塊出現在屏幕前方一點的位置,即WorldRoot的原點和場景的原點出現在設備啓動位置前方一點的位置。當設備小範圍發生移動旋轉的時候,方塊位置變化不大。但是當設備大範圍左右移動旋轉以後,方塊位置也會發生偏移,而且受周圍環境影響。但是兩個方塊的相對位置基本不變。

運動跟蹤

  • 設置場景中的Main Camera的Clear Flags屬性爲Solid Color。
  • 將EasyAR/Prefabs/Composites目錄下的EasyAR_MotionTracker預製件拖到場景中。

表面跟蹤

  • 將EasyAR/Prefabs/Primitives目錄下的WorldRoot預製件拖到場景中。
  • 選中EasyAR_MotionTracker遊戲對象,將WorldRoot遊戲對象拖到World Root Controller屬性中爲其賦值。

表面跟蹤

和表面跟蹤一樣,在中心位置添加兩個錯開的方塊,一個方塊是在場景根目錄,一個方塊在WorldRoot遊戲對象下。同時在【WorldRoot】遊戲對象下再添加一些模型。在三個軸的正方向和負方向各添加一個模型並用顏色區分。

表面跟蹤

打包後在設備運行,效果如下:

表面跟蹤

屏幕豎着拿(Portrait),方塊出現在屏幕位置,即WorldRoot的原點和場景的原點出現在設備啓動位置。運動跟蹤開始的時候,屏幕背面是Z軸正方向。X軸和Z軸的方向和東南西北無關,只和啓動時候設備的角度有關。Y軸正方向永遠朝上。

視頻版地址:https://www.bilibili.com/video/BV1Kt4y1m7Ch/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章