這個必須要吐槽一下,花了一個星期,才把ground plane在iphone5s上跑起來了。中間各種坑。參考了網上的各種資料。最后發現問題出在官網教程有一個問題,所以導致沒有辦法運行。因此在這里留個貼,希望后續大家不要再這個問題上跌倒了。
| 系統1 | Win7, Unity3d 2017.4.10f1, Vuforia 7.0.43, 紅米Pro, Android 6, 紅米6S, Android 8. |
| 系統2 | Mac book air, OS 10.10.37, Unity3d 2017.4.10f1, Vuforia 7.0.43, Xcode 9, iphone 5S, iOS 10.3.3 |
中間各種坑。
1,首先就是按照Unity的官方manual,https://docs.unity3d.com/Manual/vuforia-sdk-overview.html。一步一步的學習制作Vuforia AR,先是完成了Image Targets部分,一切順利,在系統1,android紅米pro上面跑起來了,相安無事。
2, 但是接下來做ground plane的時候就有問題了,unity官方竟然沒有教程。其實groundplane是很重要的功能,將來AR一定是基於現實生活環境的,但是Unity竟然沒有提供這部分的教程。猜測一下,估計unity是了解到目前這個技術基於手機傳感器,精度比較低,虛擬模型位移計算不准確,還有很大瑕疵,所以還不急於推廣?不管怎么樣,如果Unity沒有教程,那么我們就找Vuforia。
Vuforia教程https://library.vuforia.com/content/vuforia-library/en/articles/Solution/ground-plane-guide.html,寫的很詳細,一步一步照着做唄。但是在系統1紅米Pro手機上運行,為毛什么都不發生?鏡頭里什么都沒有?
pic1.
好吧,我承認紅米Pro有點老,硬件上不見得支持。(這里還是要吐槽一下Vuforia, 他們有一個支持Ground plane的手機機型列表https://library.vuforia.com/articles/Solution/vuforia-fusion-supported-devices.html,里面的機型比較少,我本來以為是列表不全面,后來才發現真的只有那些列表上的機型才支持!)那我們就換成最新的紅米6S(2018年8月剛發布的)還是什么都不發生!好吧,我投降。你列表上面有iphone5S對吧,那我就在iphone上面跑。調試好系統2,iphone5S之后,還是光有鏡頭,什么都不發生,好吧,這回不怪我了吧,一定是哪里有問題!
3, 參考了網上的各種資料:
https://blog.csdn.net/testiness_wind/article/details/78909705, testiness_wind大神應該是對groundplane理解很深刻的,但是這篇教程缺失了最關鍵的真機展示環節。
http://www.manew.com/blog-184645-43577.html,這一篇有真機展示環節,但是是基於Unity assetstore上面的示例工程的,沒過多技術和操作方面的內容。還有紅米note3上都能運行,為毛我的紅米6S都不行!!!(后來突然發現紅米note3竟然更貴)
http://www.arvrschool.com/read-7293,這一篇有真機展示,說assetstore上面的示例教程無法運行,adroidstudio版本可以運行。但是我又沒裝Androidstudio,怎么調試呢?
4,示例工程。
后來實在是沒辦法了,還是把unitystore上面的示例工程跑一邊吧。(為什么沒有早一點運行這個,實在是因為長城寬帶鏈接不上unityID登陸啊,一直是只能看到unitystore 上面的資源,但是希望下載就顯示Unity ID無法登陸,嚴重吐槽長城寬帶!)蹭了公司網絡下載了assetsotre示例工程,build到系統1我的紅米手機上,我暈,各種提示機型不支持!我投降。換成系統2,iphone5S,成功!為什么示例工程可以,而我自己建立的工程不行?
5 vuforia 分析:
遇到根本原因問題了,簡單的照貓畫虎看來是不行了,還是埋下頭來看代碼吧。一共就是加入了2個gameobject, 一個Ground Plane stage, 一個Plane Finder. 其中Ground pLane stage 里面沒有什么內容,重點看這個Plane Finder:
- Anchor Input Lister Behaviour.
- Plane Finder Behaviour.
- Content Positioning behaviour.
方法,有
