Unityで点群を可視化したアプリをAndroidスマートフォン用に書き出し表示します。
■UnityからAndroid用アプリに書き出し
以前の記事で紹介いたしました「Unityで点群データを可視化」データを使用してAndroid用アプリに書き出しを行いスマートフォンで点群を表示します。
手順としては
・Unityでコンテンツを制作
・AndroidSDKをインストール(インストール時にJavaが入っていない場合はインストール)
・UnityのBuildを行いAndroid用のアプリに書き出し
・Android用アプリデータ(apk)をスマホに入れる
・スマホでインストール
と以上の手順で行っていきます。
■UnityコンテンツをAndroidアプリとしてBuild
<1>AndroidSDKとJavaをインストールしUnityに設定
前回の記事で作成した点群を表示するコンテンツを使用します。
今回はAndroidアプリに書き出すことが目的のためコンテンツ内容は適当なものを使用します。
AndroidSDK、JDKを設定していきます。
Unityのメニュー/Edit/Preferences…からPreferenceウィンドウを開きます。
External Toolsを選択するとAndroidの設定画面が表示されます。
SDK、JDKのところにある「Download」ボタンを押すとそれぞれダウンロードページがブラウザで開きますので環境に合わせたデータをダウンロード、インストールします。
インストール完了後に再度PreferenceウィンドウからAndroidのSDK、JDKを設定します。
<2>UnityでAndroidアプリにビルド
UnityのBuild Settingsでビルド前の設定を行っていきます。
Build SettingsのPlatformから「Android」を選択します。
次にウィンドウ下部にある「Player Settings…」ボタンを押してInspectorを表示させます。
InspectorのCompany Name、Product Nameに任意の名前をつけます。
Inspector下部のAndroidマークを選択してOther Settingsタブを開きます。
Other Settingsタブ内にIdentification項目のPackage Nameの記述を先に設定したCompany Name、Product Nameに書き換えます。
書き方は「com.CompanyName.ProductName」と記述します。
後はAndroidのバージョンを設定して基本的な設定は以上でOKです。
他にアイコンの設定やスマホの回転への対応などの設定ができますので任意に設定します。
すべて設定が完了しましたらBuild Settingsウィンドウの「Build」ボタンを押して書き出します。
エラーなく書き出しが完了すると指定場所に「.apk」ファイルが作成されます。
■Androidスマホにソフトをインストール
作成した「.apk」ファイルをスマホに移します。
スマホへの移動方法はiPhoneと違い簡単です。メール添付で送っても良いですし、サーバにアップしてダウンロードでも良いですし、PCにUSBをつなげて直接ストレージに入れてもOKです。
とにかくスマホ内に「.apk」ファイルを入れます。
アプリをインストールする前に設定のセキュリティから「提供元不明のアプリ」をONにします。
Playストアなどから正規にインストールするわけではありませんのでこちらをONにしなければインストールできません。(自己責任でお願いします)
設定が完了するとさほどストレージ内に入れた「.apk」ファイルをタップしてインストールを行います。
特に問題がでなければ上記のようにUnityで制作したまま表示させることができるかと思います。
※注意事項
・Point Cloud Free ViewerをそのままだとAndroid側で表示できませんでした。
Point Cloud Free Viewerで一度Playすると「Resources」を生成しそのなかに点群をPrefab化してくれるのでそれをHierarchyに入れてオブジェクトとすると表示されます。
・Player Settings Inspectorの「Company Name」と「Product Name」の文言は数値や記号で始まる文言はエラーになる。
■まとめ
Unityで制作したアプリを実際にAndroidスマホに実装してみてマルチプラットフォームの素晴らしさを実感しました。
同時にそれぞれのプラットフォームへの書き出しにはそれなりの設定などが必要となりそこまで気軽にはできないというのも感じました。
コンテンツ開発の環境としてはこういったマルチプラットフォーム対応アプリが主流になっていくのではないかと思われます。
引き続きUnityでどのようなことができるのか可能性の検証を行っていきたいと思います。
有限会社マグネットインダストリー
西内伸太郎