UnityでAndroidアプリを開発する際に1つ課題だったのが、Unity側でアプリを変更した後、動作を確認する際はビルドして実機で確認をする必要があったことです。
一応ビルド前にPC上でも動作確認できますが、「タッチパネルでの操作をPC上でエミュレートできず操作ができない」などの理由で、結局実機で動作確認が必要でした。しかし、Unity 3.2から、「Android Remote」という機能がサポートされて、この問題が解消されています。
Android Remoteは、あらかじめAndroid実機にUnityが提供する「Unity Remote」という名前のAndroidアプリをインストールしておきます。
この状態でPCとUSBで接続し、これまでのようにPC上のUnityで[Play]ボタンを押すと、即座にプログラムがAndroid実機側にも転送されて実機端末上で実行されます。
特筆すべき点は、実機端末上で発生させたタッチイベントなどがPC側にもリアルタイムに転送されて、PC内のウィンドウに表示されているプレビュー画面にも反映されていることです。
また、その逆も行われています。つまり、実機側でイベントを発生させながらPC側で動作確認、あるいはその逆が同時にできるのです。
本機能については、「Unity - Android Remote」に記載があります。実機端末にインストールしておく「Unity Remote」アプリは、若干まだ不安定な印象な否めませんが、必要な機能は動作しているのでデバッグには利用できますし、今後の修正に期待したいところです。
次回でも紹介するようなUnityの拡張コードは、「Unityプラグイン」として、さまざまなものが提供されています。
Unity本体が提供していないインターフェイスを開発者が各自で拡張コードを書くことで、Unityプログラム内から利用できるようにしている機構です。
Unityがスクリプト言語としてサポートしているJavaScriptやC#などで拡張コードを書くことも可能ですし、iOSではObjective-C、AndroidではJava/C言語を用いた拡張が可能です。
Unityプラグインはその名のとおり、プラグインとしてUnityプログラム本体、およびUnity本体とは分離して扱えるために、プラグイン単体で流通しています。個人または法人がプラグインを開発してそれをフリーまたは有償で配布しています。
例えば、GREEでは、もともとiOS/Android端末向けのソーシャルアプリを開発するためのSDK、「GREE iOS/Android SDK」をUnityからでも利用できるように「Unity Plugin for iOS/Android SDK」を開発者向けに提供しています。
その他にもいろいろWebサイト上で公開されているので、検索して活用してみてください。
またUnityプラグインは、開発者のそれぞれのWebサイトで配布しているケースもありますが、最近Unity社が始めた「Asset Store」と呼ばれる、Unityで利用可能な素材やプラグインをマーケット形式で配布・販売できるシステムも提供されています。
「UNITY: Asset Store - Unity 3 Editor Features」からアクセス可能ですし、Unityのメニューから[Window]→[Asset Store]でもアクセス可能です。
まずは、自分で実装する前に利用できそうなプラグインを探してみて、もしなかったとしても比較的簡単にプラグインを自作できますし、またそれを自分のWebサイト、あるいはAsset Storeで公開して他の開発者に利用してもらう、あるいは販売するといったことも可能です。
開発コストだけでなく移植コストを最小限に抑えてくれるUnityですが、よくあるマルチOS対応のソリューションでは、逆に個別のOSごとの個別実装ができない、あるいは難しいという点があったりします。
特にネイティブコードとの連携、ネイティブデバイスとの連携などが最たるものです。しかしUnityでは、この問題を解決する方法を提供しています。
次回は、Unityが提供しているネイティブコードとの連携手段についてサンプルコードを交え解説したいと思います。また、BluetoothなどデバイスとUnityの連携や、JavaライブラリとUnityの連携についても解説するので、お楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.