Pico VR開発:Unityプロジェクトのビルド・実行・デバッグ基本
Pico VR開発において、Unity Editor上でシミュレーションを実行するだけでなく、実際にPicoデバイス上でアプリケーションを動かしてテストすることは不可欠です。これはWeb開発において、ローカル環境でのテストに加えて、実際のブラウザやモバイルデバイスで動作確認を行うことに似ています。
この記事では、Web開発のご経験をお持ちのエンジニアの皆様が、Pico VR開発で作成したUnityプロジェクトを実機にビルドし、実行する基本的な手順、そして開発中に役立つ基本的なデバッグ手法について解説します。
はじめに:実機テストとデバッグの重要性
Unity Editor上での実行シミュレーションは開発効率を高めますが、実際のVRデバイス上での体験とは異なる場合があります。特に、パフォーマンス、入力デバイスの操作感、立体視の見え方、VR酔いの発生などは、実機でなければ正確に評価できません。
また、開発中に発生する様々な問題(バグ)を特定し、修正するためには、Picoデバイス上でアプリケーションの動作状況を詳細に確認するデバッグ作業が不可欠です。Web開発におけるブラウザの開発者ツールを使ったデバッグと同様に、VR開発にも独自のデバッグ手法が存在します。
この記事を通じて、ご自身のPicoデバイスでアプリケーションを動かし、問題解決のための基本的なスキルを習得することを目指しましょう。
Picoデバイスでの実行準備
Picoデバイスに開発中のアプリケーションをビルドしてインストールし、デバッグ情報を取得するためには、いくつかの準備が必要です。
1. 開発者モードの有効化
Web開発におけるブラウザの開発者ツールを有効にするように、Picoデバイスでも開発者向けのオプションを有効にする必要があります。
- Picoデバイスのホーム画面から「設定」を開きます。
- 「一般」または「システム」といった項目の中から「端末情報」を探します。
- 「ソフトウェアバージョン」(または同様の項目)を7回連続でタップします。
- 画面下部に「開発者モードが有効になりました」のようなメッセージが表示されれば成功です。
- 設定メニューの「一般」や「システム」の項目に「開発者向けオプション」という新しいメニューが表示されるようになります。
2. USBデバッグの有効化
PCとPicoデバイスをUSBケーブルで接続し、アプリケーションのインストールやデバッグ情報のやり取りを行うためには、「USBデバッグ」を有効にする必要があります。
- 開発者モードを有効にした後、「開発者向けオプション」メニューを開きます。
- 「USBデバッグ」の項目を探し、これを有効にします。
- PCとPicoデバイスをUSBケーブルで接続した際、デバイス側で「USBデバッグを許可しますか?」のようなダイアログが表示される場合があります。その際は、PCからのデバッグ接続を許可してください。(「このPCからの接続を常に許可する」にチェックを入れると次回以降の手間が省けます)
3. PCに必要なツールの準備(ADB)
PicoデバイスはAndroidベースで動作しているため、Android開発で一般的に使用されるADB(Android Debug Bridge)ツールがPCにインストールされている必要があります。
Unity開発環境のセットアップ時にAndroid Build Supportをインストールしていれば、通常はUnityと一緒にADBもインストールされています。そうでない場合は、Android SDK Platform-Toolsを別途インストールする必要があります。
PCのコマンドプロンプトやターミナルで adb devices
と入力し、接続したPicoデバイスが認識されているか確認できます。デバイスが表示されればADBは正しく機能しています。
adb devices
実行例:
List of devices attached
Pico-Neo3-Link device
(表示されるデバイス名はPicoの機種によって異なります)
Unityプロジェクトのビルド設定
Picoデバイスで実行可能なアプリケーション(APKファイル)を生成するために、Unityでビルド設定を行います。
- Unity Editorで、ビルドしたいプロジェクトを開きます。
- メニューバーから「File」 > 「Build Settings...」を選択します。
- Build Settingsウィンドウが開きます。
- 「Platform」リストから「Android」を選択します。もしAndroidが表示されていない場合は、Unity HubからAndroid Build Supportモジュールをインストールしてください。
- Androidを選択したら、右下の「Switch Platform」ボタンをクリックします。プロジェクトの変換に時間がかかる場合があります。
- 「Scenes In Build」リストに、ビルドに含めたいシーン(通常はアプリケーションの開始シーンなど)が追加されていることを確認します。必要に応じて、プロジェクトビューからシーンファイルをドラッグ&ドロップして追加します。
- Pico SDK(またはPico XR Plugin)が正しく設定されていることを確認してください。通常、XR Plug-in Managementの設定でPicoXRが有効化されています。
- Build Settingsウィンドウで「Player Settings...」ボタンをクリックし、追加の設定を行います。
Player Settingsでの重要な設定
Player Settingsウィンドウでは、アプリケーションの識別に必要な情報や、Picoデバイスに特化した設定を行います。
- Company Name: 会社名または開発者名を入力します。(例:
YourCompanyName
) - Product Name: アプリケーション名を入力します。(例:
YourVRApp
) - Package Name (Bundle Identifier): アプリケーションを一意に識別するためのIDです。Web開発のドメイン名のように、逆ドメイン形式で指定するのが一般的です。(例:
com.YourCompanyName.YourVRApp
)これは非常に重要な設定で、アプリケーションのアップデート時などにもこのIDが使用されます。 - Minimum API Level: アプリケーションが動作するために必要なAndroidの最小APIレベルを指定します。PicoデバイスがサポートするAPIレベルを確認し、適切な値を設定します。Pico SDKのドキュメントを参照してください。
- Scripting Backend: IL2CPPを選択するのが一般的です。パフォーマンスや互換性の面で推奨されています。
- Target Architectures: ARMv7とARM64の両方、またはARM64のみを選択します。新しいPicoデバイスはARM64をサポートしており、ARM64のみにすることでビルドサイズを小さくできる場合があります。
これらの設定はPico SDKやUnityのバージョンによって推奨値が異なる場合がありますので、最新の公式ドキュメントを参照することをお勧めします。
Picoデバイスへのビルドと実行
ビルド設定が完了したら、いよいよアプリケーションを生成し、デバイスにインストールして実行します。
- Build Settingsウィンドウに戻ります。
- PicoデバイスがPCにUSBケーブルで接続されており、PCで認識されていることを確認してください。
- 「Build And Run」ボタンをクリックします。
- APKファイルの保存先を指定するダイアログが表示されます。任意の場所を指定し、「保存」をクリックします。
- Unityがプロジェクトのビルドを開始し、指定した場所にAPKファイルを生成します。
- ビルドが成功すると、Unityが自動的に接続されているPicoデバイスにAPKファイルを転送し、インストール後、アプリケーションを起動します。
「Build」ボタンをクリックした場合は、APKファイルが生成されるだけで、デバイスへの転送や実行は自動では行われません。生成されたAPKファイルは、前述の adb install
コマンドを使って手動でデバイスにインストールすることも可能です。
adb install /path/to/your/YourVRApp.apk
開発時の基本的なデバッグ手法
アプリケーションがデバイス上で動作するようになったら、次に開発中の問題を特定・解決するためのデバッグ手法を学びましょう。
1. Unity Editorでの実行(シミュレーション)
最も手軽なデバッグ方法は、Unity Editor上のPlayボタンを押して実行することです。Pico SDKやXRプラグインを使用している場合、VRシミュレーションモードで実行できることが多く、コントローラー操作などもPC上でエミュレーションできます。
これはWeb開発で言うと、PC上のブラウザでローカルファイルを直接開いて動作確認する初期段階に近いと言えます。しかし、実機とは環境が異なるため、Editor上で問題なくても実機で発生する問題(パフォーマンス問題など)もあります。
2. ログ出力による確認
Web開発で console.log()
を使って変数の中身や処理の通過点を確認するように、Unityでは Debug.Log()
を使用します。
using UnityEngine;
public class ExampleScript : MonoBehaviour
{
void Start()
{
string message = "Hello, Pico VR!";
Debug.Log(message); // コンソールにメッセージを出力
int score = 100;
Debug.Log("Current score: " + score.ToString()); // 変数の値を出力
}
void Update()
{
// フレームごとに何か処理を行う場合
// Debug.Log("Update called"); // 頻繁に出力するとパフォーマンスに影響する場合がある
}
}
Debug.Log()
で出力されたメッセージは、Unity EditorのConsoleウィンドウに表示されます。
では、Picoデバイス実機で実行した場合のログはどのように確認するのでしょうか。ここで再びADBツールが登場します。
PicoデバイスをPCに接続し、コマンドプロンプトやターミナルで以下のコマンドを実行すると、デバイス上のログをリアルタイムで確認できます。
adb logcat
このコマンドを実行すると、Androidシステムやアプリケーションが出力する様々なログが大量に流れます。特定のアプリケーション(ご自身のPicoアプリ)からのログのみを表示したい場合は、ログを絞り込むためのオプションを追加します。
例えば、Unityからのログは通常 Unity
というタグが付いています。特定のタグを持つログのみを表示するには以下のようにします。
adb logcat Unity:I *:S
このコマンドは、「タグがUnity
で、重要度がInfo
以上のメッセージを表示し、それ以外のタグのメッセージは全て表示しない」という意味です。
より高度な絞り込みや、GUIでログを見やすく表示したい場合は、Android Studioに含まれるLogcatビューアなどのツールを利用することも可能です。
3. ビルド時のデバッグオプション
Build SettingsのPlayer Settingsには、デバッグに役立つオプションがいくつか用意されています。
- Development Build: これにチェックを入れると、開発用の特殊な情報がビルドに含まれます。パフォーマンスプロファイリングが可能になったり、エラーメッセージがより詳細になったりします。ただし、最終的なリリースビルドよりもパフォーマンスは低下し、ファイルサイズも大きくなります。
- Script Debugging: これにチェックを入れると、Visual StudioなどのIDEからリモートでスクリプトのステップ実行デバッグなどが可能になります。Development Buildと組み合わせて使用します。
開発中はこれらのオプションを有効にしてビルドし、問題が発生した場合に詳細な調査ができるようにしておくことが推奨されます。
まとめ
この記事では、Unityで開発したPico VRアプリケーションを実機でテストするためのビルド手順と、開発中に役立つ基本的なデバッグ手法について解説しました。
Picoデバイスでの開発者モード有効化、USBデバッグの設定といった初期準備から始まり、Unityでのビルド設定、APKファイルの生成とインストール、そして Debug.Log()
や adb logcat
を使用したログ確認といった基本的なデバッグの流れをご理解いただけたかと思います。
これらの基本的なステップを習得することは、VR開発の次の段階に進むための重要な基盤となります。パフォーマンスの最適化や、より高度なデバッグツール(Unity Profiler、Pico Dev Assistantなど)の活用については、今後の記事で解説するかもしれません。
まずは、ご自身のアプリケーションをPicoデバイスで動かし、ログを確認しながら開発を進めてみてください。実機での試行錯誤を通じて、新たな課題やVR開発ならではの発見があるはずです。