基於unity 高通AR專案的一些總結

2021-07-24 16:27:45 字數 1411 閱讀 5840

因為考慮到後期ios打包的問題,為了避免盡量少出錯,基本所有的開發全在一部21寸的imac上,用的自然是osx系統(不能用vs真的好痛苦啊

暫時只能配置了vscode進行指令碼的編寫(想要用unity3d**補全功能,除了官網所需要安裝的外掛程式之外 還需要brew install mono)。

unity版本最初使用的是5.3.4版本,後來公升級成了5.3.6版本,原因會在後面詳述。高通sdk 也就是vuforia用的版本是vuforia-unity-5-5-9(截止目前為止 最新的版本在6.0以上)。

1.ar識別後的模型物體出現不穩定的情況,這一點實際上跟ar識別圖有很大的關係,識別圖的明暗對比,材質都將對此產生影響。一定要記得將畫好的識別圖上傳到高通的開發中心,高通提供了對識別圖的圖集打包和識別圖的識別點的顯示。識別點越多,識別圖越容易被顯示,相應的識別星級也就越高。

2.現在我的專案中模型擺放的方式是:在場景中擺入所要識別的imagertarget(有多少張就必須在場景中放多少個imagertarget,動態載入是沒用的),將所要識別的模型作為子物體分別放在相應的imagertarget下,只要識別圖一旦被識別 就會連同模型一起被啟用顯示,躍然紙上。一開始這種方式是非常好的,但卻有乙個致命的缺陷,因為要在場景中要擺放所有的模型,那麼進入該場景時,就會占用大量的記憶體(因為要載入場景中所有的模型),這樣移動端的配置越低進入的時間就越長,普遍在15秒以上,使用者體驗非常的不好。這是在專案的後期才發現的 ,為時已晚,不由有些遺憾。而乙個我想到乙個正確的思路是沒必要將模型放在場景中,而是在imagertarget被識別時,以resource的方式載入模型進場景中,並跟蹤imagertarget的位置資訊,然後以物件池的方式管理這些模型。這樣在進入場景時,就不會因為載入過慢 影響使用者體驗。

4.ar模型在多圖識別的情況,會出現角度偏移的情況,這個問題非常讓人抓狂,經過無數次的debug發現根本不是模型本身出現了角度偏移,而是父物體imagertarget出現了角度偏移,故而只需要在每次失去識別的事件介面中將其復位至原始位置即可。

5.應用中接入了語音識別sdk,很不巧的發現unity5.3.4的乙個bug,那便是呼叫麥克風識別之後,場景中的所有聲音全部失效,再也沒有任何的聲音。這點唯獨在unity5.3.4版本下有這樣的bug,公升級至5.3.6版本後就得以解決。

6.在**構造上,說實話實在過於凌亂,一方面是因為自己實在是經驗不足,對邏輯的把控十分不清,因此在此階段惡補了物件導向的程式設計思想和設計模式,才發現自己寫的**實在太難看了,難以擴充套件和修改,不過好在專案正常的執行起來,希望在將來能將**構造的更加乾淨,寫出真正優雅的**。

2016.11.24更新

7.ios手機螢幕的邊框地帶出現了詭異的殘影,一開始以為是opengles的問題,試過切換圖形庫結果還是不行,最後發現是ar攝像機的重新整理設定為根據深度進行重新整理,後來設為soild color  黑色後 就一切正常了,完美解決。 

專案的一些總結

這是我做的第乙個專案,關於電商型別的專案,主要用的是jquery和json資料庫。通過做這個專案我總了三點,希望對大家有用 1.做專案前 首先要想好自己寫的是什麼型別的專案,再去看看這個型別專案的模板,讓自己腦袋裡有個框架。開始動手去開發專案,一定要先理好自己的思路,結構,如何實現。一般來說,做的時...

關於專案的一些心得

1.分析需求很重要。在最近做的專案中,關於需求這一點,基本上不容易一次就找好,總是需要不斷的反覆看業務去分析才能知道需求。2.三層架構模式 介面層 user inte ce layer 業務邏輯層 business logic layer 資料訪問層 data access layer 區分層次的目...

近期專案的一些心得

1.關於不同部門協作 1 要配合對方的工作,大家建立好合作的基礎。2 盡量將一些其他部門能夠主導的工作交給對應部門,通過產品進度來推進。比如配55寸屏黑屏問題,這個我們可以自己來負責追,但是硬體追會更好,因為硬體直接會參與採購,能夠更好的主導該問題。3 盡量不要將一些與對方厲害關係不大而對自己關係很...