NyARToolKit
NyARToolKit for Unity
Section 3 サンプルシーンをAndroidに出力
About
NyARToolKit for Unity のサンプルをAndroidに書き出す方法について説明します。
なお、「Unity Editor上で動作する = 実機でも動作する」とは限りません。 これはファイルの保存場所なども関係するためですが、ウェブ上で解決策が出ていたりするので積極的に調べて問題を解決してください。
サンプルプロジェクト - SimpleLiteM
SimpleLiteMのサンプルプロジェクトを開いてください。
まず、このサンプルがPC上で動作するか確認してください。 マーカーはHiroマーカーと人マーカーの二枚です。
プラットフォームの切替えとBuildセッティング
[File]->[Build Settings…]と辿って[Build Settings]ウィンドウを開きます。
Androidを選択して、[Switch Platform]をクリックして確定します。
続いて[Player Settings…]ボタンをクリックしてPlayerSettings Viewを開きます。
まず[Resolution and Presentation]タブを開いて、[Default Orientation]をLandscape Leftに変更してください。
次に[Other Settings]を開き[Bundle Identifier]を適切なものに変更して下さい。たとえばjp.sixwish.nyartoolkit.unity.android.simplelite2のようにします。 また、[Minimum API Level]をAndroid 2.3.3 ‘Gingerbread’ (API level 10)に変更します。
これで準備が整いました。
Player Setting
サンプルとして実行するためだけの設定です。
リリースするアプリにする場合は、[Other Settings]の内容を説明のままにしてはいけません。必ず適切なものに置き換えてください。
また、それ以外にもSplashやIconなど書き換えた方が良い箇所がいろいろあります。書籍を参考にリリースに当るようお願いします。
実行
Build Settingsのウィンドウ内に[Build And Run]ボタンがあるのでクリックしてください。
apkを保存する場所を指定するように問いかけてくるので適当な場所に適切な名前で保存してください。 今回はC:\UnityWorkspace\bin\SimpleLiteMフォルダにSimpleLiteM-1.0.apkという名称で保存します。
確定後、Build処理が走るのでしばらく待ちます。
その後、Android端末がadb接続でPCにつながっている場合はそのまま端末に転送してくれます。 接続されていない場合は、apkファイルができるのでそれを端末にコピーしてインストールしてください。
きちんと動作すれば下図のようになります。
Android用に書かれたサンプルではないため[戻る]ボタンで終了しないなどいろいろありますが、アプリケーションの実装の範囲内なのであとは実装次第です。
Unity次第?
実行されたサンプルを見るとわかると思いますが表示されているもののアスペクト比がおかしいです。これはカメラの解像度が4:3になっているためでコード中の値を変えれば16:9になる……はずなのですが、うまくいったためしがありません。 一応、Cameraの[Normalized View Port Rect]の値の[W]に0.75をセットすればアスペクト比が維持されますが表示画面が小さくなります。 カメラの解像度もいろいろ試しているのですがこちらの思うようにセットできないので何かわかる方からの情報をお待ちしております。