2012-06-27 25 views
-4

我要開始開發一個遊戲一樣工作:AR手機遊戲採用實時攝像機

  1. 蚊子AR遊戲:http://www.makayama.com/mosquitoes.html
  2. DriodShooting:http://www.youtube.com/watch?v=kU9qsUJWzgI

應用程序使用攝像頭和雷達發現物體並使用觸摸命中什麼是最好的SDK或平臺或編程模型來執行類似的遊戲瞄準android和ios

您的幫助和建議表示高度讚賞

感謝所有提前

+3

嗨,那麼在互聯網上搜索它呢?我相信你會找到許多關於它的信息。 –

+0

感謝您的回覆我看看互聯網,我看到這是交流經驗的最佳場所,順便說一句,我不是在尋找信息,而是在幫助和建議上勾住正確的方式,非常感謝您的回覆,並很抱歉如果我浪費你的時間閱讀它 – user1486714

回答

2

我與伊萬同意,這個問題太寬而不能在這裏處理。但無論如何,這裏有幾件事要考慮的Android平臺:

如果你想使用3D圖形(OpenGL),那麼你可能會遇到一個瓶頸,因爲目前你不能有實時相機預覽和同一屏幕上的OpenGL表面視圖。問題在於所謂的SurfaceView(用於OpenGL渲染和相機實時預覽)並非設計爲彼此疊加。所以,當涉及到顯示順序時,您可以獲得意想不到的結果(在後面的視頻預覽中呈現的3D圖形)。

有此問題,但兩個解決方案:

  1. 你不使用3D圖形和訴諸相機預覽的頂部渲染2D對象

  2. 你使用3D圖形,但那麼您必須捕捉相機預覽,將YUV編碼的數據轉換爲RGB(由於某些非標準的編碼定製符合於某些設備,因此這會產生問題),並將該數據加載到OpenGL紋理中以顯示在矩形圖元上。這種方法的問題是:由於額外的處理開銷導致速度不足,並且很可能需要縮小相機預覽紋理,因爲與OpenGL相關的限制。

此外,你需要讓自己熟悉capturing motion sensor data用於計算可用於轉化的覆蓋圖形/虛擬物體的裝置旋轉矩陣。

如果您的AR應用程序應該與捕獲的實時視頻流「交互」,則會遇到下一個瓶頸問題。這完全取決於你想要達到的目標。你想識別人臉,某些形狀,條形碼等等......無論要求是什麼,Java實現可能太慢了,你需要求助於使用NDK編寫C代碼(用不同手機的體驗在圖像處理方面獲得更快的速度)。這是你需要覆蓋的下一個主題。您還需要熟悉圖像處理。但首先:創建一個規範。你需要知道你的AR應用需要什麼。

一些現代AR應用程序還會將捕獲的視頻數據實時流式傳輸到具有更多處理能力以用於形狀/圖像識別的服務器。

關於該主題,您可以閱讀this master's thesis以獲取更多信息。

因此,底線是AR應用程序可以成爲真正雄心勃勃的項目,涉及大量不同的技術和學科。

+0

你已經清楚地對這個答案進行了很多思考,但我想指出的是,即使Android應用程序的處理能力有限,也不是很難寫出一個體面的AR應用程序。捕捉傳感器數據對於熟悉Android的人來說是一件容易的事情,像AndAR這樣的圖書館可以非常容易地在三維空間中渲染覆蓋圖。在屏幕上同時擁有兩個以上中等細節的是一個性能殺手,但它是可能的。 –

+0

感謝您提供的大量信息,我認爲使用低端sdk更容易,這意味着我必須更多地瞭解您的答案的細節,非常感謝您的努力 – user1486714

+0

嘗試編寫一個之後,我同意上面的答案。目前許多設備沒有足夠的電力(CPU/GPU),並且存在延遲問題,即屏幕增大,某些事情工作得很好,但是在內存較小的時刻,它們運行非常糟糕,支持成本可能很高。 – nycynik