請給我來創建Android應用的3D對象的方式我該如何在android應用程序中創建3D對象?
回答
的Android SDK有一個OPENGL API接口:)
除了Android SDK中有很多第三方的3D引擎,可以使創建3D圖形更容易。我用來創建一些導入的網格文件的簡單3D遊戲的一個是JPCT-AE:
的支持論壇是優秀的,開發者自己通常對響應在1-2天內論壇。 JPCT在其設計中以遊戲爲中心,因此可能會有更好的純3D圖形。有幾個示例代碼的教程可幫助您開始。
要繪製3D對象,您可能需要使用OpenGL ES API。在這裏,您有可能需要以加載實現你自己的3D對象的主要步驟:
從擴展GLSurfaceView.Renderer類,因此onDrawFrame你讓所有的設置了OpenGL API調用的GL環境,繪製3d對象。
將您的模型數據(頂點,法線,面等)加載到ByteBuffer中,以便稍後在OpenGL API調用中使用它們。
您可能需要計算轉換矩陣,如果要旋轉,移動或縮放的對象插入到3D世界(Matrix.rotateM)
計算視圖矩陣,所以你可以從任何角度呈現3D對象的視圖(Matrix.setLookAtM)。
您可能還需要以某種視角呈現對象(Matrix.frustumM),以便看起來更逼真。
一旦MVP矩陣(模型 - 視圖 - 矩陣)準備就緒,您就可以初始化OpenGL選項,例如視口和背面顏色。
創建一個新的OpenGL程序,該程序使用Vertex和Fragment Shader編譯,該Vertex和Fragment Shader將在GPU上執行以處理和渲染對象(此步驟僅執行一次)。
配置先前創建的OpenGL程序(glUseProgram)並配置輸入屬性(glEnableVertexAttribArray),以便可以像要繪製的頂點一樣推送模型的數據。
最後,通過繪製使所有對象(glDrawElements或glDrawArrays)的所有三角形或元素(點,線)繪製對象。
您可能還需要檢查這個GitHub的倉庫android-3D-model-viewer實現這一切變成一個開源演示,發表在play store爲好,可以呈現3D波* .obj文件。
- 1. 如何創建3D對象
- 2. 我想在android上創建3D應用程序 - opengl
- 3. 如何用3D對象創建UIView
- 4. 如何在Android應用程序中創建進度對話框
- 5. 如何在我的android應用程序中創建數據庫?
- 6. 如何在Android應用程序中創建可觸摸的圖形對象?
- 7. 我應該如何創建可更新的應用程序?
- 8. 如何在Android中跟蹤3D對象
- 9. 如何在android中創建InetAddress對象?
- 10. 在Android中創建SMS應用程序?
- 11. 在Android中創建Web應用程序
- 12. 在應用程序對象中創建一個線程
- 13. Android應用程序崩潰 - 我在哪裏創建對象是原因
- 14. 我應該如何決定哪個類負責對象創建?
- 15. 我應該使用Redux創建我的ReactNative應用程序嗎?
- 16. 創建Android應用程序
- 17. 創建Android應用程序
- 18. 如何在Mono Android應用程序中創建速率應用程序按鈕
- 19. UWP(C#):將3D對象添加到應用程序(庫建議)
- 20. OAuth:爲什麼我應該在Facebook上創建應用程序?
- 21. 如何在Android中創建動畫,如路徑應用程序
- 22. 如何在android應用程序中使用xmlserializer創建xml
- 23. 對於iPhone地圖應用程序,我該如何創建圖表?
- 24. 我應該每次創建一個新對象還是創建一個對象?
- 25. 我該如何在JAVA中爲Web和桌面創建單一應用程序
- 26. 在Metro應用程序中實現3D對象的半透明
- 27. 在WPF和WinForms中創建應用程序對象的區別
- 28. 我的應用程序拋出'java.io.IOException:無法創建AudioData對象'?
- 29. 如何在Android應用程序中創建自定義MessageBox?
- 30. 如何在android中創建系統應用程序