単一の3Dモデル(できればテクスチャ付き)をiPhoneで表示して回転させたい。ズームインやズームアウトする必要も、背景などを用意する必要もありません。
私は次のものを持っています:
私の知識ベース:
私は知らないもの:
私の主な問題は、どこから始めればいいのかわからないことです!私が見つけたiPhoneの本はすべて、OpenGLアプリではなく、GUIアプリケーションの作成に関するもののようです。 OpenGLの本を見つけましたが、iPhoneの開発にどれだけ当てはまるかわかりません。そして、Objective Cの構文は、奇妙なネストされたメソッドの命名、意味をなさない "id"のようなもの、および手動のメモリ管理をしなければならないという恐ろしい考えで、やや混乱します。
始めるのに最適な場所はどこですか?この種のチュートリアルは見つかりませんでしたが、私のGoogle-Fuは弱いかもしれません。それとも、Objective Cの学習から始めるべきでしょうか?私はアーロン・ヒルグラスのような本を知っていますが、私はそれらが時代遅れであり、サンプルコードの多くがiPhone SDKで動作しないことを読みました、そしてそれはそうではないModel-View-Controllerパラダイムに向けられているようです3Dアプリに適しているようです。
基本的に私は私の最初のステップがどうあるべきかについて混乱しています。
おそらく、obj-cやxcodeなどの基礎を得るために、よりシンプルなiPhoneアプリ/チュートリアルから始めるべきです。
そのためには、実用的なプログラマーのiphoneブックをお勧めします。この本には、始めるのに十分な情報があります(xcode、obj-c、iphone、またはMacの知識がなく、主にこれを使用して作業用アプリにかなり早く到達しました)。ただし、C/C++およびJavaのかなり良いバックグラウンドから来たことを付け加えます。
特定のプロジェクトについては、おそらく this answerを参照してください。これは、オープンソースの3Dアプリを参照し、そこからヒントを得ることができます。
繰り返しになりますが、自分の作品をプラグインする場合、iPhoneでOpenGL ESアプリケーションを開発して学んだことについて 投稿を書いた があります。そのアプリケーション Molecules (frankodwyerによって参照)はオープンソースであり、開発中に遭遇した他のトリッキーな問題のいくつかについて writeup があります。このアプリケーションは3Dモデルを生成し、指で回転およびスケーリングできるため、ニーズに近い音がします。コードをダウンロードしてコンパイルし、数分でデスクトップで実行できます。 iPhone Developer Programに参加すると、デバイスにインストールできます。
オブジェクトの読み込みに関しては、 Bill Dudney は iPhone用のWavefront OBJローダー に取り組んでいます。フォーマット。私はまだiPhoneで多くのテクスチャ処理を行っていませんが、彼の例では現在動作しているようです。
全体として、私は例による学習と、いくつかの小さなターゲットアプリケーション(決してリリースしないかもしれない)の開発に飛び込むことで学習できることがわかりました。上記の例を調整して、何が起こるかを確認してください。これらの例のObjective-Cコードを読んで、彼らが何をしているのかを感じ始めることができるはずです。
Hillegassの本(第3版が出版されたばかりで最新のもの)はMacに焦点を当てていますが、彼が教えるCocoaの基礎はまだiPhoneに関連しています。 MVCデザインパターンは、iPhoneでもMacと同じように役立ちます。実際、Molecules内のいくつかの場所でそのパターンから逸脱しました。アプリケーションのこれらのセクションが混乱したため、その決定を後悔しています。本は読みやすく、あなたの時間の価値が十分にあります。
これは古代の糸であり、私はひどく遅れています。それでも、ここに私の2ペンスを投稿するつもりです。
獣に入る前に、これが私のセットアップです。
私が使う
したがって、 Cocos3D を使用するつもりがない場合は、この回答をスキップしてお金のために走ることができます。
Install blender 。
詳細を説明することであなたを困らせるつもりはありません。
ダウンロード Cocos3D. 。
これを入力すると、現在のバージョンは0.7.2です。
ダウンロード Cocos2D.
Cocos3Dは、人気のある2Dゲームフレームワークである人気のCocos2Dの上に記述されています。ここで注意すべき重要な点は、Cocos2D 2.xバージョンがすでに存在し、安定していることです。ただし、Cocos3DはCocos2d 1.xバージョンでのみ動作します。
ダウンロードしたソースを解凍すると、README=ファイルが内部にあり、具体的には、
cocos3d 0.7.2 IS cocos2d 2.x との互換性がないことに注意してください。必ずcocos2d 1.xをダウンロードしてください。 cocos3d 。(エンファシス鉱山)で使用
README=ファイルはインストール手順を明確に示しています。インストール後、XCodeでNice Cocos3Dプロジェクトテンプレートを取得します。
PVRGeoPOD拡張機能をBlenderに追加します。
これにはいくつかの説明が必要です。 PVRGeoPODインストーラーを実行すると、画面にインストールする必要のある機能が表示されます。選択しただけ
PVRGeoPOD -.blendファイル内のモデルをCocos3Dが理解できる.POD形式に変換するには
PVRShaman -このツールを使用して.POD内のモデルを表示できます。
リスト内の他のツールをインストールできますが、私はこれら2つだけを使用しました。
インストールプロセス(時間がかかる場合があります)の後、PVRGeoPOD AddOnをブレンダーに追加する必要があります。 PVRGeoPOD.UserManual.PDFファイルは、インストールしたばかりのフォルダーにあり、以下の情報も含まれています。
bpy.utils.script_paths("addons")
を実行し、このフォルダーへのパスを確認できます。Blenderでモデルを作成し、これらのモデルをCocos3Dが理解できる.PODファイルとしてエクスポートできるようになりました。
Maya、3D Maxなどの他の3D設計ツールを使用している場合は、このPVRGeoPOD拡張機能も追加できます。 PDF上記を参照してください。
手順を追って説明します。
モデルをブレンダー(.blend)で作成し、.PODファイルとしてエクスポートします。エクスポートするとき、私は通常次のオプションを選択します
残りはデフォルトのままにしました。
テンプレートプロジェクト自体にHelloWorld.PODファイルが含まれている場合、その行を.PODファイルに置き換えて、モデルを表示できます。
[self addContentFromPODFile: @"YourPODFileName.pod"];
これで、iOSデバイスに最初の3Dモデルが表示されました。
この投稿は非常に古いものであり、あなたが望むことをするためのより良いリソースがあると思います。私もかなり初心者ですが、いくつかの研究を行った後、このリンクが最も有用であることがわかりました。
http://38leinad.wordpress.com/2011/10/19/practical-blender-with-glkit-part-1-introducing-glkit/
OpenGLの処理を簡単にするglkitについて説明し、Blenderと対話する方法のニースチュートリアルも含まれています。
私はちょっとした楽しみのためにiPhone開発の遊びをしていて、Dave MarkとJeff LaMarcheのBeginning iPhone Development(ISBN13:978-1-4302-1626-1)を購入し、各章の作業を楽しんでいます。私はWin32 Delphiのバックグラウンドを少しの.NETで持っているので、Objective Cは私にとって非常に新しいものです。
章の1つは、OpenGLとQuartzにあります。私はまだそこまで持っていないので、自分にとってそれがどれほど役に立つかについて本当にコメントすることはできませんが、文章のスタイルは非常にアクセスしやすく、うまくいきます(とにかく私にとって)。
最初の章では、XcodeとInterfaceBuilderの優れた紹介とともに、実行を開始する方法を正確に説明します。
IOS 8以降の場合、答えはSceneKitです。 SceneKitはCollada(DAE)ファイルをレンダリングします。適切なモデリングパッケージ(Cheetah、Blenderなど)は、DAEファイルをエクスポートする必要があります。XMLで文書化されたポータブル形式です(ただし、xCodeはスペースを節約するためにバイナリ形式にコンパイルします)。
iPhone用の2つの良い3D SDK:
sio2interactiveおよびウーロン。
Sio2interactiveのサイトには、すばらしいビデオとsrcチュートリアルがあります。ブレンダーとモデルのエクスポートとレンダリングを支援します-ゲーム開発を正しく行うことができます。 srcはすべてsio2のcにあり、コードは非常によくコメントされています。 3DとOpengleの学習を始めるのに最適な場所です。 Blenderからsio2へのエクスポートはWYSIWYGです。
これをすべてゼロから行うと、モデルを自分でエクスポートおよびインポートする方法を知る必要があります。だから、始めようとする人のための両方の素晴らしいライブラリ。
Emcore3Dを使用する ---(https://github.com/Things3D/Emcore3D )
Obj、mt、およびテクスチャへのパスを定義するだけです。
T3DModelPathInfo * newModelPath = [T3DModelPathInfo createModelPathInfoWithModelName:@ "model.obj" material:@ "model.mtl" path:@ "/ 3DModels /"];
その後、T3DModelPathInfoを使用してT3DObjectを作成し、T3DRenderControllerに追加します。
T3DObject * newObject = [T3DObject initWithModelPathObject:newModelPath]; [renderVC addT3DObject:newObject];
ps:私がEmcore3Dチームの一員であることの開示