13
Windows Phone Unity の概要 1 Windows Phone Unity の概要 本ドキュメントは、定期的に新しい情報や更新情報に改訂されます。この改訂作業は現在も 継続中です。 本ドキュメントで取り上げていないトピックについては、Unity Windows Phone Development フォーラムを参照してください (http://forum.unity3d.com/forums/50-Windows- Development)目次 目次............................................................................................................................................................................ 1 はじめに ...................................................................................................................................................................... 3 Unity を使って Windows Phone ゲームを作成するための要件 ......................................................... 3 移植の概要.................................................................................................................................................................. 5 デザイン時 – Unity エディターの操作性.................................................................................................... 5 Unity プロジェクトに含める Windows Phone コード ....................................................................... 5 コンパイル時 - Windows Phone をターゲットにした Unity からのビルド................................... 6 プレーヤーの設定........................................................................................................................................... 7 Windows Phone プロジェクトと Visual Studio – 開発の流れ ......................................................... 8 実行時 生成した Windows Phone アプリの実行.................................................................................. 9 ハードウェアの違い ...................................................................................................................................... 9 グラフィックス ............................................................................................................................................... 9 ディスプレイ.................................................................................................................................................. 10 メモリ................................................................................................................................................................ 10 ハードウェア API .......................................................................................................................................... 10 移植後のプラットフォーム統合 .............................................................................................................. 11

Windows Phone と Unity - download.microsoft.comdownload.microsoft.com/.../GettingStartedWindowsPhoneUnity.pdf · Unity 4.3 のリリースにより、以前よりも簡単にゲームを

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Windows Phone と Unityの概要 1

Windows Phone と Unityの概要

本ドキュメントは、定期的に新しい情報や更新情報に改訂されます。この改訂作業は現在も

継続中です。

本ドキュメントで取り上げていないトピックについては、Unity Windows Phone

Development フォーラムを参照してください (http://forum.unity3d.com/forums/50-Windows-

Development)。

目次

目次 ............................................................................................................................................................................ 1

はじめに ...................................................................................................................................................................... 3

Unity を使って Windows Phone ゲームを作成するための要件 ......................................................... 3

移植の概要 .................................................................................................................................................................. 5

デザイン時 – Unity エディターの操作性 .................................................................................................... 5

Unity プロジェクトに含める Windows Phone コード ....................................................................... 5

コンパイル時 - Windows Phone をターゲットにした Unity からのビルド ................................... 6

プレーヤーの設定 ........................................................................................................................................... 7

Windows Phone プロジェクトと Visual Studio – 開発の流れ ......................................................... 8

実行時 – 生成した Windows Phone アプリの実行 .................................................................................. 9

ハードウェアの違い ...................................................................................................................................... 9

グラフィックス ............................................................................................................................................... 9

ディスプレイ .................................................................................................................................................. 10

メモリ ................................................................................................................................................................ 10

ハードウェア API .......................................................................................................................................... 10

移植後のプラットフォーム統合 .............................................................................................................. 11

Windows Phone と Unityの概要 2

ストアへの申請 ....................................................................................................................................................... 11

その他の参考資料 .................................................................................................................................................. 12

フィードバックと改訂履歴 ...................................................................................................................... 13

Windows Phone と Unityの概要 3

はじめに

Unity 4.3 のリリースにより、以前よりも簡単にゲームを Windows Phone に移植できるよう

になりました。

本書では、Unity の開発者を対象に、既存の Unity ゲームのターゲットを Windows Phone に

切り替えるために必要となる全般的な情報をすべて提供します。このガイダンスは技術的な

機能を網羅するものではありませんが、正しい方向性を示し、関連性の高いコンテキストや

リンクを用意して詳細を確認できるようにします。このガイダンスで取り上げていない多く

の情報については、掲載するリンクをクリックして確認してください。

Unity を使って Windows Phone ゲームを作成するための

要件

Unity ゲームを開発およびコンパイルし、Windows Phone ストアに登録を申請するには、以

下が必要です。

Unity 4.3。Unity 無料バージョンまたは Unity Pro で機能します。

基本版 Unity および Unity Pro のユーザーは、Windows ストアおよび Windows Phone に

公開するためのアドオンを無料で利用できます。

Windows Phone SDK 8.0。WP8 SDK には、スタンドアロンバージョンの Visual Studio

Express 2013 が含まれています。既に Visual Studio Pro、Visual Studio Premium、または

Visual Studio Ultimate をお持ちの場合はこの SDK がアドインとして機能するため、その

まま使用できます。

Windows 8.0 以降。Windows 8 ライセンスをお持ちでなければ、90 日間評価版を入手で

きます。Mac OS X を実行している場合、または Apple のハードウェアにインストール

する場合は、Boot Camp、VMWare、または Parallelsを使用してインストールするため、

インストールオプションが異なります。

Windows Phone に加えて Windows ストアもターゲットにする場合は、Windows 8.1 と

Windows Phone と Unityの概要 4

VS2013 の組み合わせを使用することをお勧めします。この組み合わせでは Windows 8.0

と 8.1 の両方をターゲットにできます。

Windows 8.0 から Windows 8.1 へのアップグレードは無料です。

Microsoft アカウント。開発者ライセンスを取得するには Microsoft アカウントが必要に

なります。Microsoft アカウントは無料で http://signup.live.comから取得できます。

Windows Phone デベロッパーセンターアカウント。このアカウントは、Windows Phone

ストアへのゲームの申請に必要です。この申請プロセス中に登録が行われ、Windows

Phone ストアにアプリやゲームを申請できる個人または企業として認定されます。この

登録は Windows ストアと共有されます (1 つの登録が両方のストアに申請されます)。個

人の登録料は 1,847 円です。

Windows Phone 8 デバイス。Unity 4.3 では、Windows Phone エミュレーターへの配置と

デバッグがサポートされますが、エミュレーターでのテストは実機には劣ります。

端末が手元にある場合は、指示に従って端末を開発用に登録し、配置とデバッグを有効

にします。

Windows Phone と Unityの概要 5

移植の概要

移植を準備するため、次の分野での Windows Phone プラットフォーム特有の微妙な差異に

慣れておく必要があります。

デザイン時 – Unity エディターの操作性

ビルド時 – Windows Phone アプリを生成するための Unity エディターでのビルド

実行時 – Windows Phone アプリの実行

デザイン時 – Unity エディターの操作性

ゲームを Windows Phone に移植する場合、Unity IDE を使用することになります。この IDE

は使いやすく、高い生産性が維持されます。

Unity ではエディター内から Mono ランタイム上でゲームを実行できるため、デザイン時で

も見た目や感覚が変わりません。Windows Phone のランタイムは .Net for Windows Phone を

使用するため、Windows Phone プロジェクトをビルドおよび実行すると、感覚に違いがあ

ることに気付きます。

.NET for Windows Phone は .NET のサブセットです。そのため、Mono にはあっても .NET に

はない API がいくつかあり、その API でエラーが発生することがあります。この種の API の

大半は、.NET API や WinRT API を使用する場合に代わりになる型や機能がありますが、機能

させるにはコードの調整が必要になります。移植手法の詳細については、「Unity による

Windows Phone への移植のヒント」を参照してください。

Visual Studio を使用して生成した Windows Phone ソリューション内から直接 Unity コードに

移動してデバッグする機能は注目です。

Unity プロジェクトに含める Windows Phone コード

Unity エディター内で実行するスクリプトファイルを含める場合は、#if (UNITY_WP8

&& !UNITY_EDITOR)プリプロセッサディレクティブを使用して、エディター内でのテスト時

Windows Phone と Unityの概要 6

に実行すべきでないコードを指示します。これにより、指示されたコードは、生成後の実際

の Windows Phone アプリ内でのみ実行されるようになります。!UNITY_EDITOR ディレクテ

ィブは、[File] メニューの [Build Settings] でプラットフォームを Windows Phone に切り替え

た状態でエディター内で実行しているシナリオに対処します。

コードをエディター内で実行する場合は、Windows Phone アプリをターゲットにするよう

にプラットフォームを構成するときに単純に #if UNITY_WP8 を使用します。エディター内で

実行するコードからは Windows Phone API を参照できません。エディターにはこの参照を解

決する方法がありません。

.Net for Windows Phone API には、Windows Phone に統合するための機能 (ランチャーやタス

クの実装、センサーへのアクセスなど) の大半が含まれています。こうした機能にはすべて

Unity プラグインから参照できますが、エディター内で実行されるコードから直接参照する

ことはできません。

コンパイル時 - Windows Phone をターゲットにした

Unity からのビルド

ビルドする場合は、[File] メニューの [Build Settings] を使用して、[Build Settings] ウィンドウ

でターゲットプラットフォームを [Windows Phone 8] に切り替えます。

Windows Phone と Unityの概要 7

この切り替えにより、ビルド時に Windows Phone Xaml/C# ソリューションが生成されます。

これを Visual studio でコンパイルすれば、最終的なパッケージ (別名 XAP ファイル) になり

ます。

プレーヤーの設定

[Player Settings] をクリックすると、出力した Windows Phone ソリューションに関連して構

成できる設定が表示されます。この設定は、Windows Phone アプリのマニフェストファイ

ルの作成に反映されます。

Windows Phone と Unityの概要 8

Windows Phone プロジェクトと Visual Studio – 開発の流れ

Windows Phone をターゲットにするときに前述の問題が発生する場合は、「Unity による

Windows Phone への移植のヒント」の「Unity でのアプリのコンパイル」で、移植中の API

関連のエラーを解決する方法を参照してください。

コンパイル時のエラーをすべて解決すると、Unity によりゲームをテスト、実行、および公

開するためのプロジェクトが Visual Studio でコンパイルできる形式でエクスポートされます。

したがって、ゲームは以下の 2 つの手順で作成することになります。

1. Unity からプレーヤーとプロジェクトを生成する

2. Visual Studio でコンパイルして最終バイナリと Windows Phone ソリューションを作

成する

Unity 内でビルドするときに毎回同じフォルダーを対象にすることができるため、Visual

Studio でソリューションファイルに加えた変更が Unity によって上書きされることはありま

せん。Unity によって、以下のフォルダーとファイルが更新されます。

1. プロジェクトの /Data フォルダー

2. プロジェクトの参照アセンブリ (プロジェクト自体から除外されるプロジェクトル

ートに追加されます)

これにより、Visual Studio プロジェクトの変更やネイティブ機能の追加、マニフェストファ

イルや構成ファイルの微調整が可能になり、Visual Studio でゲームプレイに加えた変更が失

われることはありません。

Windows Phone と Unityの概要 9

注意すべき重要な点は、Unity 内でプロジェクトファイルに影響する変更 (新しいプラグイン

や参照など) を加えた場合、Visual Studio のプロジェクトファイルを手動でマージしてこの

ような変更を取得する必要があることです。

実行時 – 生成した Windows Phone アプリの実行

Visual Studio でプロジェクトをコンパイルすると、Windows Phone アプリとして実行するの

に必要なバイナリファイルとマニフェストファイルが生成されます。これだけでバイナリは

動作しますが、ゲームを差別化し大ヒットにつなげるには、ハードウェアや Windows

Phone の特徴を活かす工夫が必要になります。ゲームに工夫を加えるために活用できるプラ

ットフォーム特有の主な考慮事項を以下に示します。

ハードウェアの違い

複数のデバイスでの一貫性を高く保つため、Windows Phone 8 には、すべてのデバイスが満

たすべき最小限のハードウェア仕様 (英語) が詳しく定められています。ここでは、ハード

ウェアに関する詳細をすべて取り上げるのではなく、ゲームプレイに影響する可能性がある

要素のみを説明します。

グラフィックス

プログラム可能な GPU によるハードウェアアクセラレーション。Windows Phone は、機能

レベル 9_3 をサポートする Direct3D を使用します。MSDN で各レベルでサポートされてい

Windows Phone と Unityの概要 10

る機能を詳しく示した表を確認してください。注意が必要なのは、シェーダーモデルがレベ

ル 2 であることと、最大テクスチャサイズが 4096 であることの 2 点です。

ディスプレイ

Windows phone 8 デバイスは、現状、480 x 800 (WVGA)、768 x 1280 (WXGA)、720 x 1280

(720p)、および 1080 x 1920 (1020p) の 4 つの解像度をサポートします。デバイスの解像度を

確認するには、Unity スクリプト内で Screen.width プロパティと Screen.height プロパティを

照会します。ゲーム内では確認した解像度に応じて適宜スケールを調整します。ゲーム以外

の静的アセット (タイル、スプラッシュ画像など) は、多くの場合 WXGA 解像度のアセット

を用意すれば十分です。Windows Phone によってスケール変換されます。

メモリ

WVGA デバイスの 512 MB RAM、720p デバイスの 1 GB RAM のように、メモリには複数の構

成があります。Nokia 1020 などの最新端末は最大 2 GB です。1 つのアプリが使用できるメ

モリ量は OS によって制限されます。「Unity による Windows Phone への移植のヒント」を

参照し、メモリの拡張方法とデバイスがサポートするメモリ制限を解除する方法 (お勧めし

ません) を確認してください。

ハードウェア API

加速度計はすべての携帯電話で利用でき、Unity API から直接アクセスできます。

磁気センサーやジャイロスコープは、携帯電話のハードウェアによっては利用できない場合

があります。Microphone API、Location API、および Camera API はいずれも 4.3 で利用でき

ます。

Unity の Windows Phone 向けサポートはまだ拡大中で、すべての API が移植されているわけ

ではありません。わずかですが移植されていないものがあります。以下に、移植されていな

いと考えられるものを示します (ただし、すべて含められていない可能性があります。)

- WWW は実装されていますが、複数プレーヤーネットワーク API はありませ

ん。.NET API やサードパーティのライブラリ (photon など) で代用できます。

Windows Phone と Unityの概要 11

- GPU プロファイルはまだ利用できません。

移植後のプラットフォーム統合

ゲームの基本的な移植が完了したら、Windows Phone ユーザーが歓迎するプラットフォー

ム機能でゲームを強化します。Windows Phone の API をいくつか追加してゲームを収益化す

ることも考えられます。以下に例を示します。

ライブタイルとプッシュ通知

試用版やアプリ内購入のサポートなどの収益化

これらのトピックについては、情報を追加する予定です。

ストアへの申請

ストアに申請するには、Windows Phone デベロッパーセンターアカウントと、ライセンス

を取得したバージョンの Unity が必要です。試用版の Unity では、ビルド時にゲームの右下

隅に「development build」という透かしが設定されるため、認定には合格しません。基本版

の Unity と Unity Pro のユーザーは、Windows Phone 用の Unity アドオンを無料で入手できる

ので、このアドオンを Unity エディターに含めます。

ストアに申請する準備が整ったら、以下の手順に従います。4 つ目の手順に注意してくださ

い。

1. 「App certification requirements for Windows Phone」(英語) を確認します。

2. Windows Phone アプリおよびアプリ内製品の申請についての詳細を確認します。

3. 戻るボタンの動作を正しくに処理していることを確認します (「Unity による

Windows Phone への移植のヒント」を参照)。

4. Windows Phone Store Test Kit でアプリを実行します。Windows Phone Store Test Kit は、

ゲームの自動テストおよび手動テストを実行するスイートです。

Windows Phone と Unityの概要 12

このキットを使用して、マイクロソフトのテスト担当者が認定時に確認する問題点

を早期に発見して解決することで、時間を大幅に短縮できます。

5. Windows Phone Store Test Kit は Visual Studio 内 ([プロジェクト] タブ) から実行できま

す。キットの実行に関する手順と詳細については、Windows Phone Store Test Kitの

チュートリアルを確認してください。

自動テストだけを実行し、手動テストは実行しなくてもと考えがちですが、これは

お勧めしません。マイクロソフトの認定者が何をテストしているかを確認すること

で、プラットフォームやゲームの強化について多くのことを学べます。手動テスト

を試して、ゲームの課金方法について確認してください。

6. [追加手順] 新しいプラットフォームに慣れるまでは、ベータ申請を実施することを

お勧めします。詳細については、MSDN で「アプリおよびアプリ内製品のベータテ

ストを行う」を参照してください。

7. Master 構成をビルドし申請します。Unity では、Visual Studio プロジェクト向けに

Debug 構成、Release 構成、および Master 構成が作成されます。Release 構成ではな

く、Master 構成でビルドしたパッケージを申請するようにします。

その他の参考資料

Unity の「Windows Phone 8: Getting Started ガイド」(英語) は必ずお読みください。

「Windows Phone の開発の概要」では、ツールのダウンロード、開発用端末の登録 (端末の

ロック解除)、および Visual Studio プロジェクトの構造を示す基本アプリの作成についての

チュートリアルが提供されます。

本シリーズには、以下のホワイトペーパーとリソースが含まれています。

Windows Phone と Unity の概要

Unity による Windows Phone への移植のヒント

Windows ストアと Unity の概要

Windows Phone と Unityの概要 13

Unity による Windows ストアへの移植のヒント

Github リポジトリの Unity プロジェクトサンプル (英語)

Windows Phone SDK のサンプルを集めたコレクションには、特定のタスクを実現するための

コーディングサンプルが多数含まれています。このようなサンプルもすべて有益ですが、

Windows Phone SDK チームが投稿したコード (Windows Phone のロゴが付く予定) を参照す

ることをお勧めします。

フィードバックと改訂履歴

ここで取り上げた以外にも、多くの項目があります。本シリーズの他のドキュメントや、こ

こで提示している参考資料を確認してください。

取り上げられていない情報やさらに詳しい情報が必要な場合は、[email protected]まで

英語でメールをお送りください。

改訂番号 日付 変更点 担当

1.0 11/15/2013 多くの意見が本書の内容を充実

させていきます。ご意見、ご感

想をお送りください。

Jaime Rodriguez (マイクロ

ソフト)、

Keith Patton (Marker

Metro)、MarkerMetro チー

ム。