強火で進め

このブログではプログラム関連の記事を中心に書いてます。

Adobe Director 12 で iOS アプリを作ってみた

(2013/02/14 追記)
iOS アプリを App Store で有料販売する予定の有る人は End-User License の 4. をしっかり確認しておきましょう。詳しくはこちらの記事を参照下さい。

Director で作った iOS アプリを App Store で有料販売する予定の有る人は End-User License の 4. をしっかり確認しておいた方が良いと思う - 強火で進め
http://d.hatena.ne.jp/nakamura001/20130214/1360840605

(追記ここまで)

Director 12 で iOS アプリを作る手順を解説します。

まずはこちらの動画をみて下さい。この動画は SketchUp ファイルを Director に取り込んで、その3Dモデルを回転させる処理を追加した後に iOS アプリを生成、実機での動作テストまでの一連の作業を撮影した動画です。

動画の解説

Director はタイムラインが終わるとアプリが終了しますのでループ処理のスクリプトを設置しています。これは動画撮影前に設置済みです。

3Dモデルデータの読み込み

次に3Dモデルデータを読み込みます。今回は SketchUp ファイルを使いました。ファイルはこちらで公開されている「The Great Clock of Westminster (Big Ben) ( Kevin Girard )」という物を使わせて頂きました。

SketchUp ファイルはShockwave 3D形式にコンバートされ為、読み込みはかなり時間が掛かるみたいです。因みに Director を動かしている環境は Mac Book Pro Retina モデルでストレージはSSDというかなり良い環境でかつポリゴン数もそんなに多くないにも関わらずあれだけの時間がかかりました。

カメラ位置調整

読み込んだ後に内蔵のツールを起動してカメラの位置を変更しています。このカメラ位置変更ツールですが Mac では問題無く動作するのですが自分のWindowsマシン(OSはWindows 7)へインストールした Director ではこのツールを起動しようとすると必ず Director が落ちてしまい使えませんでした。

3Dモデルデータの回転処理

モデルデータの回転処理はこの様なスクリプト

on beginSprite me
  -- initialize the scene
  sprite(me.spritenum).member.resetWorld()
end

on enterFrame me
  -- rotate the 3D object
  sprite(me.spriteNum).member.model(1).rotate(0,0,1)
end 

こちらの記事を参考に作成しました。

Lesson 17: 3-D Basics
http://dreamsteep.com/video/tutorials1/132-about/170-lesson-17-3-d-basics.html

iOS アプリ(.ipaファイル)の生成

iOS アプリの生成にはプロビジョニングファイルが必要です。このファイルを作成するには有料の「iOS Developer Program」に加入する必要が有ります。
※事前に Xcode 4.2 以降がインストールされている必要が有ります。

まずはパブリッシュの設定を開き、「 iOS プロジェクタ」にチェックを入れます。

次に「iOS」タブに切り替えそれぞれの項目を埋めます。

その後、「パブリッシュ」ボタンを押すと .ipa ファイルが生成されます。

この .ipa ファイルの生成はかなり速いです。 Xcode でビルドするよりはるかに速いです。

恐らく、元となる雛形のデータのうち Director のムービーデータだけを差し替えた後に署名をするという動作しており、ソースコードからビルドしているのでは無いと思われます。

生成された .ipa ファイルの中を見るとムービーファイルをビルドしたもので有る .dcr ファイル(Showckwave ファイル)が見つかりました。

このファイルだけが「差し替え」 or 「追加」された後、署名をし直すだけなのであれだけ高速に生成されるのでは無いかと思っています。

まぁ、バックグラウンドの処理はともかくビルド(パブリッシュ)の時間があれだけ短いと開発効率はかなり良さそうですね。