2015年5月2日土曜日

[Unity3D] Unity5のプロジェクトをAndroid Studioにインポートする方法

How to import Unity projects into Android Studio
Unity5で作ったアプリケーションはAndroid用のapkファイルにビルドすることが出来ます。
また、Android Developer Tools用のプロジェクトにエクスポートすることもできます。
エクスポートしたプロジェクトをAndroid Studioにインポートすることもできたので、その手順をまとめてみました。


環境

・Windows 8.1
・Android Studio 1.1.0
・Unity 5.0.0f4


Unityでアプリを作る

Androidで動作させたいアプリを作ります。
特定のプラットフォームに依存しないようにAndroidでも動作するように作るのが前提です。


Unity5からAndroid Projectをエクスポートする

メニューの
File - Build Settings
でAndroidを選択してSwitch Platformボタンをクリックします。
Google Android ProjectをチェックしてExportボタンをクリックすると、Android用Projectに必要なファイル一式を出力するので保存場所を指定して出力してください。


Android Studioにインポートする

Android StudioのWelcome画面を起動します。
Welcome画面が起動しない場合はメニューの
File - Close project
で開いているプロジェクトを閉じてください。
Import projectでUnity5のプロジェクトをインポートします。


マニフェストを修正する

マニフェスト(manifests)のエラー箇所である
android:debuggable="false"
の部分を消します。


起動してみる

PCとAndroidスマートフォンをUSBケーブルで接続して、Android StudioのDebug appボタンをクリックしたら動作しました。
実行環境はエミュレーターではなく実機を推奨します。


Unityアプリをカスタマイズする

UnityPlayerActivityを継承したクラスを作れば独自の機能を追加できます。
たとえば、下のようなActivityを作ってマニフェストで起動用Activityとして宣言すればUnityアプリが起動した時にLogCatにログ出力する機能を追加できます。




エラーが出た場合の対処方法

Android Studioのコンソールに
Error type 3 Error: Activity class {クラス名} does not exist
というエラーが出て起動しないことがありましたが、プロジェクトフォルダーのbuildフォルダーの中を全て消したら起動するようになりました。
Unity3.xとEclipse+ADTの頃はもっと手間がかかってトラブルがつきものでしたが、今の環境ではあっけにとられるほど簡単になりました。


注意事項

ゲームのイベントに合せるような処理は難しいですが、Activityで出来ることはだいたい出来ると思います。
たとえばゲーム画面にToastを表示したり、画像をオーバーレイ表示することも可能です。
ただし無料版Unityを使用する場合、起動時のUnityのスプラッシュスクリーンの上に別の画像をオーバーレイ表示させる行為はライセンス違反の可能性があるのでご注意ください。



※2016年2月11日、タイトルを修正しました。

関連ブログ

[Unity3D] サイドバイサイドで立体視できるゲームを作るには [クエリちゃん][ユニティちゃん]
[Unity3D] Unity4からUnity5へのバージョンアップでの変化
[Unity3D] 透視投影と平行投影を合成するには[ユニティちゃん]
[Unity3D] ゲーム画面をキャプチャしてMovie Studioで動画に編集する
[Unity3D] Visual Studio Community 2013を日本語化してUnityアプリを作る
[Android] 高速Androidエミュレーター・BlueStacks

以上、参考になれば幸いです。

0 件のコメント:

コメントを投稿