2009/07/08

SIO2 - Blender で作ったシーンファイルを表示させる

今日は、Tutorial04 をベースにして、自分で作った Blender シーンを iPhone シミュレータで表示させてみます。

Tutorial04 はヤシの木と箱と草があるシーン(tutorial04.blend)を表示し、画面をドラッグすることで視点の移動ができるというサンプルです。



プロジェクトの作成

SIO2_SDK_v1/tutorial04 を SIO2_SDK_v1/foo04 としてコピーし、ここを今回の作業場所とします。



Blender でシーンを作成

起動直後の Cube 1個に加えて、tutorial04.blend からヤシの木をコピーしてみました。ヤシの木が見えるようにカメラの位置を調整します。

20090707_iphone_0

Blender でレンダリングできていることを確認します。

20090707_iphone_1



.sio2 形式にエクスポート

Blender シーンを独自形式に変換するため、SIO2 SDK 付属のエクスポータ SIO2_SDK_v1/exporter/sio2_exporter.py を使います。


  1. エクスポート先ディレクトリ SIO2_SDK_v1/foo04/export/ を作る

  2. シーンを全選択

  3. sio2_exporter.py を Blender から実行して、エクスポート先ディレクトリを指定してエクスポート



成功すると、SIO2_SDK_v1/foo04/export/ 以下に Scene/ と Scene.sio2 ができます。

Scene/ ディレクトリには camera, material, object などの要素ごとにディレクトリがあり、その中に要素の情報が記述されたファイルがあります。

Scene.sio2 は Scene/ を ZIP したものみたいです。

スクリプトのエラーメッセージは、MacOS X のアプリケーション → ユーティリティ → コンソール で見ることができます。



Scene.sio2 を読み込むように変更


  • プロジェクトファイル template.xcodeproj を開いて、Resources に Scene.sio2 を追加

  • template.mm を開いて、templateLoading 内で sio2ResourceOpen している部分のファイル名を "Scene.sio2" に変更



printf したものは、コンソールで見ることができます。




インストールされるプログラム名称を変更


iPhone シミュレータ上で元々の tutorial04 が上書きされないように、プログラムの名前を変えます。

Xcode menu → プロジェクト → アクティブターゲット "tutorial04" を編集 → Packaging → プロダクト名 を tutorial04 から foo04 に変更



動作確認

20090707_iphone_2

ビルドして実行すると、こんな感じで出ました。
特にコアな部分ではまることもなく、ほうほうといった感触です。

次回は、Tutorial06 を元に、自分で作ったシーンに対して物理シミュレーションを有効にしてみる予定です。