連載
» 2011年05月26日 00時00分 公開

iOSアプリのAndroid移植も簡単なUnityの基礎知識Unityで楽々スマホ用3Dアプリ開発入門(1)(3/3 ページ)

[佐藤大介,グリー株式会社 メディア開発本部]
前のページへ 1|2|3       

デバッグに便利な、Unity 3.2の「Android Remote」

 UnityでAndroidアプリを開発する際に1つ課題だったのが、Unity側でアプリを変更した後、動作を確認する際はビルドして実機で確認をする必要があったことです。

 一応ビルド前にPC上でも動作確認できますが、「タッチパネルでの操作をPC上でエミュレートできず操作ができない」などの理由で、結局実機で動作確認が必要でした。しかし、Unity 3.2から、「Android Remote」という機能がサポートされて、この問題が解消されています。

Androidアプリ「Unity Remote」

 Android Remoteは、あらかじめAndroid実機にUnityが提供する「Unity Remote」という名前のAndroidアプリをインストールしておきます。

 この状態でPCとUSBで接続し、これまでのようにPC上のUnityで[Play]ボタンを押すと、即座にプログラムがAndroid実機側にも転送されて実機端末上で実行されます。

図8 Unity Remote上で動く「Batching」サンプル 図8 Unity Remote上で動く「Batching」サンプル

実機端末上のタッチイベントがリアルタイムでPC側に反映

 特筆すべき点は、実機端末上で発生させたタッチイベントなどがPC側にもリアルタイムに転送されて、PC内のウィンドウに表示されているプレビュー画面にも反映されていることです。

図9 Unity Remoteと連動して「Batching」サンプルをUnityでプレビュー(画像をクリックすると、拡大します) 図9 Unity Remoteと連動して「Batching」サンプルをUnityでプレビュー(画像をクリックすると、拡大します)

 また、その逆も行われています。つまり、実機側でイベントを発生させながらPC側で動作確認、あるいはその逆が同時にできるのです。

「Unity Remote」アプリは、今後の修正に期待

 本機能については、「Unity - Android Remote」に記載があります。実機端末にインストールしておく「Unity Remote」アプリは、若干まだ不安定な印象な否めませんが、必要な機能は動作しているのでデバッグには利用できますし、今後の修正に期待したいところです。

Unityはプラグインでさまざまな機能拡張ができる

 次回でも紹介するような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」を開発者向けに提供しています。

図10 「Unity Plugin for iOS/Android SDK」で開発したアプリの例 図10 「Unity Plugin for iOS/Android SDK」で開発したアプリの例

 その他にもいろいろWebサイト上で公開されているので、検索して活用してみてください。

「Asset Store」もある

 またUnityプラグインは、開発者のそれぞれのWebサイトで配布しているケースもありますが、最近Unity社が始めた「Asset Store」と呼ばれる、Unityで利用可能な素材やプラグインをマーケット形式で配布・販売できるシステムも提供されています。

 「UNITY: Asset Store - Unity 3 Editor Features」からアクセス可能ですし、Unityのメニューから[Window]→[Asset Store]でもアクセス可能です。

図11 Unityの「Asset Store」(画像をクリックすると、拡大します) 図11 Unityの「Asset Store」(画像をクリックすると、拡大します

 まずは、自分で実装する前に利用できそうなプラグインを探してみて、もしなかったとしても比較的簡単にプラグインを自作できますし、またそれを自分のWebサイト、あるいはAsset Storeで公開して他の開発者に利用してもらう、あるいは販売するといったことも可能です。

UnityによるAndroidネイティブ連携は次回で

 開発コストだけでなく移植コストを最小限に抑えてくれるUnityですが、よくあるマルチOS対応のソリューションでは、逆に個別のOSごとの個別実装ができない、あるいは難しいという点があったりします。

 特にネイティブコードとの連携、ネイティブデバイスとの連携などが最たるものです。しかしUnityでは、この問題を解決する方法を提供しています。

 次回は、Unityが提供しているネイティブコードとの連携手段についてサンプルコードを交え解説したいと思います。また、BluetoothなどデバイスとUnityの連携や、JavaライブラリとUnityの連携についても解説するので、お楽しみに。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。