想在iPhone上顯示3D模型:如何入門?



Answers

再一次,如果我可以插上自己的作品,我已經寫了一篇關於我在iPhone上開發OpenGL ES應用程序所學到的東西的帖子 。 該應用程序Molecules (由frankodwyer提到)是開源的,我在開發它時遇到了一些其他棘手的問題。 該應用程序生成3-D模型,讓您用手指旋轉和縮放它們,這聽起來很接近您的需要。 您可以在幾分鐘內下載代碼,編譯代碼並在桌面上運行代碼。 如果您加入iPhone開發人員計劃,則可以將其安裝在您的設備上。

談到對象加載時, Bill Dudney正在開發一款適用於iPhoneWavefront OBJ加載程序 ,如果它們可以以該格式導出,那麼它可以接收你的Blender文件。 我還沒有在iPhone上做過很多紋理工作,但聽起來他的例子現在已經有效了。

總的來說,我發現通過示例學習並跳入一些小的,有針對性的應用程序(你可能永遠不會發布)的開發對我有用。 嘗試調整上面列出的示例,看看會發生什麼。 您應該能夠閱讀這些示例中的Objective-C代碼,並開始了解他們正在做什麼。

儘管Hillegass的書(第三版剛剛出版並且是最新的)專注於Mac,但他所教授的Cocoa基礎知識仍然與iPhone相關。 MVC設計模式在iPhone上和Mac一樣適合您。 我實際上在Molecules的一些地方偏離了這種模式,我後悔這個決定,因為應用程序的那些部分變得一團糟。 這本書很容易閱讀,值得你花時間。

Question

我想在iPhone上顯示和旋轉單個3D模型,最好是紋理。 無需放大和縮小,或有背景或任何東西。

我有以下內容:

  • 一部iPhone
  • 一台MacBook
  • iPhone SDK
  • 攪拌機

我的知識庫:

  • 我可以在各種3D程序中製作3D模型(我最熟悉3D Studio Max,我曾經參加過課程,但我已經使用過其他課程了)
  • 多年前程序編程的一般知識(QuickBasic - 我老了!)
  • 通過簡單的Java和C#教程初學者對面向對象編程的了解(Head Start C#book和我妻子介紹的使用Java的OOP課程)
  • 我已經設法顯示一個3D紋理模型並使用C#中的教程旋轉它我離網(我不只是複制和粘貼,我基本上理解它是如何工作的)和XNA遊戲開發庫,使用Visual Studio視窗。

我不知道的是:

  • 很多關於目標C.
  • 有關iPhone顯然使用的OpenGL或OpenGL ES的任何信息
  • 有關XCode的任何信息

我的主要問題是我不知道從哪裡開始! 我發現的所有iPhone書籍似乎都是關於創建GUI應用程序,而不是OpenGL應用程序。 我發現了一本OpenGL書,但我不知道有多少(如果有的話)適用於iPhone開發。 我發現Objective C語法有點混亂,奇怪的嵌套方法命名,像“id”這樣沒有意義的東西,以及我必須做手動內存管理的可怕想法。

最佳起點在哪裡? 我找不到任何這方面的教程,但也許我的Google-Fu很弱。 或者我應該從學習Objective C開始? 我知道像Aaron Hillgrass這樣的書籍,但我也讀到它們已經過時了,大部分示例代碼都不適用於iPhone SDK,而且它似乎面向模型 - 視圖 - 控制器範例而不是似乎適合3D應用程序。

基本上我對我的第一步應該是什麼感到困惑。




無恥的插頭

我為iPhone製作了一個小型的AC3D渲染器。 Link>>

隨意嘗試一下,可以使用iPhone模擬器的演示庫。 請注意,iPhone上的OpenGLES性能與模擬器中的不同。

它使用優化階段並構建tristrips並構建最終的頂點陣列以便能夠在iPhone上運行。

觀看quickstart如何使用它




我正在玩iPhone開發以獲得一些樂趣,併購買了Dave Mark和Jeff LaMarche的開始iPhone開發(ISBN13:978-1-4302-1626-1),並且正在享受這些章節的工作。 我有一個帶有一點.NET的Win32 Delphi背景,因此Objective C對我來說是一個新手。

其中一章是OpenGL和Quartz,您可能會感興趣。 我還沒有那麼遠,所以我無法評論它對你自己有多有用,但是寫作風格非常容易接受,並且節奏很好(無論如何對我來說)。

最初的章節詳細解釋瞭如何通過對Xcode和InterfaceBuilder的良好介紹來開始運行。




iphone的2個好3d sdks:

sio2interactive和oolong。

sio2interactive在他們的網站上有很棒的視頻和src教程。 它將有助於攪拌器和模型導出和渲染 - 讓您正確的遊戲開發。 對於sio2,src全部都在c中,代碼評論很好。 這是一個開始學習3d和opengles的好地方。 Blender到sio2的出口是WYSIWYG。

從頭開始做所有這些,你必須知道如何自己導出和導入模型。 因此,對於有人入門的兩個好的庫。




Related