52

iPhone で 1 つの 3D モデル (できればテクスチャ付き) を表示して回転させたいと考えています。拡大縮小したり、背景を設定したりする必要はありません。

私は次のものを持っています:

  • iPhone
  • マックブック
  • iPhone SDK
  • ブレンダー

私の知識ベース:

  • さまざまな 3D プログラムで 3D モデルを作成できます (以前コースを受講した 3D Studio Max に最も慣れていますが、他のプログラムも使用したことがあります)。
  • 数年前からの手続き型プログラミングの一般的な知識 (QuickBasic - 私は年をとっています!)
  • 簡単な Java と C# のチュートリアルによるオブジェクト指向プログラミングの初心者向けの知識 (Head Start C# の本と、妻の Java を使用した OOP コースの紹介)
  • 3D テクスチャ モデルを表示し、C# のチュートリアルを使用してそれを回転させることができました (コピー アンド ペーストしただけではなく、基本的にどのように機能するかを理解しています)。XNA ゲーム開発ライブラリは、Visual Studio を使用してウィンドウズ。

私は知らないもの:

  • Objective C に関する多くのこと
  • iPhoneが明らかに使用しているOpenGLまたはOpenGL ESに関するもの
  • XCodeに関することなら何でも

私の主な問題は、どこから始めればよいかわからないことです。私が見つけたすべての iPhone の本は、OpenGL アプリではなく、GUI アプリケーションの作成に関するもののようです。OpenGL の本を見つけましたが、iPhone 開発にどれだけ当てはまるかわかりません。また、Objective C の構文は、奇妙なネストされたメソッドの命名、意味をなさない「id」のようなもの、手動でメモリ管理を行わなければならないという恐ろしい考えなど、やや混乱しています。

開始するのに最適な場所はどこですか? この種のチュートリアルは見つかりませんでしたが、Google-Fu が弱いのかもしれません。それとも、Objective C の学習から始めるべきでしょうか? 私は Aaron Hillgrass のような本を知っていますが、それらは時代遅れであり、サンプル コードの多くが iPhone SDK で機能しないことも読んだことがあります。 3D アプリに適しているようです。

基本的に、最初のステップがどうあるべきかについて混乱しています。

4

5 に答える 5

39

繰り返しになりますが、私自身の作業をプラグインすることができれば、iPhone で OpenGL ES アプリケーションを開発することから学んだことについて記事を書きました。そのアプリケーションであるMolecules (frankodwyer が参照) はオープン ソースであり、開発中に遭遇した他のいくつかのトリッキーな問題についての記事があります。このアプリケーションは 3D モデルを生成し、指でモデルを回転させたり拡大縮小したりできます。コードをダウンロードしてコンパイルし、数分でデスクトップ上で実行できます。iPhone Developer Program に参加すると、デバイスにインストールできます。

オブジェクトの読み込みに関しては、Bill DudneyがiPhone 用の Wavefront OBJ ローダーに取り組んでいます。これは、Blender ファイルをその形式でエクスポートできる場合に取り込める可能性があります。私はまだ iPhone で多くのテクスチャ作業を行っていませんが、彼の例では現在それが機能しているようです。

全体として、例によって学習し、ターゲットを絞ったいくつかの小さなアプリケーション (リリースすることはないかもしれません) の開発に飛び込むことは、私にとってうまくいくと思います。上記の例を微調整して、何が起こるかを確認してください。これらの例の Objective-C コードを一通り読んで、何をしているのかを感じ始めることができるはずです。

Hillegass の本 (第 3 版が出たばかりで最新版) は Mac に焦点を当てていますが、彼が教える Cocoa の基礎は iPhone にも当てはまります。MVC デザイン パターンは、Mac と同様に iPhone でも機能します。実際、私は Molecules 内のいくつかの場所でそのパターンから逸脱しました。アプリケーションのそれらのセクションが混乱したため、その決定を後悔しています。この本は読みやすく、時間を費やす価値があります。

于 2009-01-06T16:10:06.347 に答える
8

これは古いスレッドであり、私はひどく遅れています。それでも、ここに 2 ペンスを投稿します。

スニークプレビュー

獣に入る前に、これが私のセットアップです。

私が使う

  1. 3D モデルを作成するブレンダー。(Maya または 3D Max を使用できます。Blender 用にモデルをエクスポートする方法を説明します。3D Max と Maya でも同じことができます)。
  2. Cocos3Dゲームエンジン。
  3. ブレンダー モデルを Cocos3D が理解できる形式に変換する Imagination Technology のPVRGeoPOD ブレンダー拡張。リンクによってインストーラー ファイルがダウンロードされ、それによって SDK 全体がダウンロードされることがわかります。Blender 拡張機能だけをダウンロードする簡単な方法がわかりません。

したがって、Cocos3D を使用するつもりがない場合は、この回答をスキップしてお金を稼ぐことができます.

初期設定

  1. ブレンダーをインストールします。

    詳細に立ち入ることで、あなたを当惑させるつもりはありません。

  2. Cocos3Dダウンロード . .

    これを入力すると、現在のバージョンは 0.7.2 です。

  3. Cocos2Dダウンロード .

    Cocos3D は、人気のある 2D ゲーム フレームワークである Cocos2D の上に書かれています。ここで注意すべき重要な点は、Cocos2D 2.x バージョンが既に存在し、安定していることです。ただし、Cocos3D は Cocos2d 1.x バージョンでのみ動作します。

    ダウンロードしたソースを解凍すると、中に README ファイルがあり、具体的には次のように書かれています。

    cocos3d 0.7.2 は cocos2d 2.xと互換性がないことに注意してください。cocos3dと一緒に使用するために cocos2d 1.xを必ずダウンロードしてください。

    README ファイルには、インストール手順が明確に記載されています。インストール後、XCode で素敵な Cocos3D プロジェクト テンプレートを取得します。

  4. PVRGeoPOD 拡張機能を Blender に追加します。

    これには説明が必要です。PVRGeoPOD インストーラーを実行すると、インストールが必要な機能が画面に表示されます。選んだだけ

    • PVRGeoPOD - .blend ファイルのモデルを Cocos3D が理解できる .POD 形式に変換するには

    • PVRShaman - このツールを使用して、.POD 内のモデルを表示できます。

    ここに画像の説明を入力

    リストにある他のツールをインストールすることもできますが、私はこの 2 つだけを使用しました。

    インストール プロセス (時間がかかる場合があります) の後、PVRGeoPOD AddOn をブレンダーに追加する必要があります。PVRGeoPOD.UserManual.PDF ファイルは、インストールしたフォルダーにあり、以下の情報も含まれています

    • Blender Add-On フォルダーを見つけます。blender python コンソールを開き、コマンドbpy.utils.script_paths("addons")を実行して、このフォルダーへのパスを確認できます。
    • インストール パスの PVRGeoPOD フォルダー内で、blender アドオン ファイルを見つけます。libPVRGeoPOD.dylibPVRGeoPODScript.pyのようなファイル と 2 つの QTfiles が表示されたら、ここが場所であるため、そこで停止します。これらの 4 つのファイルをコピーして、blender add on フォルダーに貼り付けます。
    • ブレンダーを開き、設定を選択し、アドオンタブを見つけ、PVRGeoPOD拡張機能を検索して見つけ、右側のチェックボックスをクリックして有効にします。
    • 必要に応じてブレンダーを終了して再起動し、ファイル - >エクスポートを選択してPVRGeoPOD(.pod/.h/.cpp)というオプションがあるかどうかを確認します。ある場合は成功です。

    Blender でモデルを作成し、これらのモデルを Cocos3D が理解できる .POD ファイルとしてエクスポートできるようになりました。

    Maya、3D Max などの他の 3D 設計ツールを使用している場合は、この PVRGeoPOD 拡張機能をそれらにも追加できます。上記のPDFをご覧ください。

プロジェクトでの使用

  1. 段階的な手順を以下に示します。

    Blender (.blend) でモデルを作成し、.POD ファイルとしてエクスポートします。エクスポートするときは、通常、次のオプションを選択します

    • プリミティブ タイプ - インデックス付きトライアングル リスト
    • マテリアル タブ - エクスポート マテリアル オプションをチェック

    残りはデフォルトのままにしました。

  2. XCode で新しいプロジェクトを作成し、Cocos3D テンプレートを選択します。
  3. .POD ファイルをプロジェクトに追加します。テクスチャ モデルの場合は、そのテクスチャもプロジェクトに追加します。
  4. テンプレート プロジェクト自体にはHelloWorld.PODファイルが含まれています。モデルが表示されるように、その行を .POD ファイルに置き換えることができます。

    [self addContentFromPODFile: @"YourPODFileName.pod"];
    

これで、最初の 3D モデルが iOS デバイスに表示されました。

于 2013-08-05T08:20:16.650 に答える
8

obj-c や xcode などに慣れるために、単純な iPhone アプリやチュートリアルから始めるべきでしょう。

そのためには、実用的なプログラマー向けの iphone ブックをお勧めします。これには、開始するのに十分な情報が含まれています (私は xcode、obj-c、iphone、または mac の知識がなくても、主にこれを使用してかなり速く動作するアプリにたどり着きました)。ただし、私は C/C++ と Java のバックグラウンドがかなり高いことを付け加えておきます。

特定のプロジェクトについては、この回答を参照してください。これは、参照してヒントを得ることができるオープン ソースの 3D アプリに言及しています。

于 2009-01-05T17:58:19.733 に答える
1

iOS 8 以降の場合、答えは SceneKit です。SceneKit は Collada (DAE) ファイルをレンダリングします。適切なモデリング パッケージ (Cheetah、Blender など) は、DAE ファイルをエクスポートする必要があります。これは、XML で文書化された移植可能な形式です (ただし、xCode はスペースを節約するためにそれらをバイナリ形式にコンパイルします)。

于 2014-12-15T16:05:56.970 に答える