CrossRoad

XRを中心とした技術ブログ。 Check also "English" category.

Windows10 MobileにUnityアプリを実機転送する方法とTips紹介

前回に引き続き、今度はWindows 10 Mobileの場合を調べました。前回はこちらです。

iOSアプリを作ったことがない人が、Unityで作ったアプリをiOSデバイスに実機転送する方法(無料 ) - Cross Technology

1. Windows 10 Mobile とUWPについて

1-1. Windows 10

Windows 10 Mobileとは、2015年にMicrosoftより発表された、Windows Phoneの新しいOSです。これまでの Windows PhoneからRuntime を刷新し、PCやその他Windows機器と同一のOSで動作します。

参考:Developing for the Windows 10 Device Platform - Windows Experience BlogWindows Experience Blog

Microsoftでは、Windows10で動くデバイス一覧をWindows 10 Family と呼んでいます。

参考:The next generation of Windows: Windows 10 - Windows Experience BlogWindows Experience Blog

この図のように、PCだけでなく、スマートフォン、ゲーム機器、HoloLensなどの幅広い範囲のデバイスが全て同一のOSで動作します。

1-2. Windows 10 Mobile

Windows 10 Mobileは、Windows 10 OSを備えたモバイル端末です。2015年の11月頃にFREETELをはじめとした各社が対応端末を発売しました。

iOSやAndroid搭載端末のような機能が付いているスマートフォンですが、それらにはない機能として、Continuum(コンティニュアム:読み方は人によって異なります)という機能があります。

Continuumとは、PC用ディスプレイを介することで、下記のように、スマートフォンをPCのように使える仕組みです。

参考:Windows 10 Continuum Revealed

ただし、Continuumが可能な端末は限られており、Snapdragonと呼ばれるSoc(CPUや各種機能をまとめたチップ)のうち、型番が600以上のSoCであれば対応しているようです。

Snapdragon Mobile Platforms, Processors, Modems and Chipsets | Qualcomm

Windows 10 MobileのContinuum、「Snapdragon 617」を正式サポート - ITmedia Mobile

ちなみに、私の場合、Windows 10 Mobileのエントリーモデルである「KATANA01」を発売日当日に買って、ざっと調べたことがあります。

KATANA01(カタナ01)の特長|FTJ152E-Katana01|FREETEL(フリーテル)のSIMフリースマホ

以下は私のfacebook投稿のスクリーンショットです。
管理人Limesのfacebookの投稿。KATANA01の購入宣言

管理人Limesのfacebookの投稿。KATANA01のレビューメモ

KATANA01については、12,800円という低価格で、よくこれだけの端末が発売できた、と思っています。しかし、残念ながら搭載しているSoCがSnapdragon210シリーズと、ローエンドモデルのため、どうしても動作が遅いことがありました。

個人的にはWindows 10 Mobileのタイルっぽい雰囲気とか操作の方法が好きだったので、性能良い機種が出た時にまた試したいと思っています。
(4インチ台が出たらいいなと思います)

1-3. UWP

UWPとは、Universal Windows Platform の略です。Windows 10 Family上で共通で動く仕組み、と考えるのが良いと思います。そして、UWPの概念に沿ったアプリケーションをUWPアプリと呼びます。UWPアプリであれば、同一アプリが異なるデバイスで動作します。

[注意]

・デバイス別の画面解像度設定は必要です。

・「電話をかける」機能がMobile端末にしかないなど、特定のWindows 10 OS端末にしかない機能は、マニフェストファイルで制限をかける必要があります。

2. Unityで作ったアプリをWindows 10 Mobileに実機転送する方法

では、Unityで作ったアプリをWindows 10 Mobileで動かす方法を説明します。

2-1. Unityを5.2以上にする

公式ブログで言及されています。

Unity 5.2 と Windows 10 ユニバーサルアプリ – Unity Blog

今回はUnity5.3.5f1で試しました。Unity5.3以降では、ビルド対象のプラットフォーム別にインストールできます。

Windows 10 Mobile用にビルドするには、Windows Storeというプラットフォームでビルドしますが、必要なモジュールが入ってないと、「No Windows Store module loaded 」というメッセージがでます。

UnityのNo  Windows Store module loaded画面

現在使っているUnityを同じバージョンのインストーラを再度入手し、インストール時にWindows Store用のモジュールを選択することで、追加インストールができます。

■Windows Store用のモジュール選択画面

Windows Store用のモジュール選択画面

この二つだけで10GB近くあるので、インストールには時間がかかります。なお、バージョンが異なるモジュールをインストールすると、インストールは完了しても後でビルドに失敗するのでご注意ください。

2-2. Visual Studio をインストール

個人であれば、Visual Studio Community 2015が使えますので、ここからダウンロードしてインストールします。

なお、インストール時は、「カスタム」を選び、「Tool and Windwos 10 SDK」と「Windows 10 SDK」にチェックを入れておきます。また、「プログラムと機能」から、インストール後に追加もできます。

Windows10のプログラムと機能から、Visual Studioのカスタムを行う画面

ちなみに、インストールサイズは10GBを超えるので、時間がかかります。

2-3. Unityでビルドして、Visual Studioのプロジェクトを生成する

ここはそのままです。Unityで好きなものを作ります。今回は、uGUIの標準部品を一通り並べたものを準備しました。

uGUIの標準部品を並べたUnityの画面

次にこれをビルドします。Build Settingsを開き、PlatformをWindows Storeに変更し、SDKを「Windows 10」にします。

UnityでUWPをビルドする時の設定画面

それ以外は特に変えなくてもビルドできます。適当なフォルダを作り、「Build」をクリックすると、指定したフォルダにVisual Studioのプロジェクトが生成されます。

2-4. Windows 10 Moibleを開発者モードに変更する

Windows 10 Mobileの画面で説明します。

Windows 10 Mobileのホーム画面
ホーム画面から、ギアアイコンをタップします。

Windows 10 Mobileの設定画面
設定画面が開くので、「更新とセキュリティ」をタップします。

Windows 10 Mobileの更新とセキュリティ画面
「開発者向け」をタップします。

Windows 10 Mobileの開発者向け画面
「Windows ストアアプリ」から「開発者モード」に変更します。これで、Visual Studioでビルドしたアプリを実機に転送できるようになります。

2-5. Visual Studioを開いてビルドする

下記の Deploy Solutionを選択すると、ビルドして実機に転送してくれます。

Visual StudioのDeploySolution画面

転送が完了すると、このように実機でアプリが実行されます。

Windows10MobileでUnityアプリを実行した時の画面

3. Tips

3-1. Windows 10 Mobileでの動作結果

こんな感じです。まだ課題がありそうですね。

・uGUIの標準部品は全て動作した

・Unityのビルド設定でauto rotationモードにすると縦長で固定され、画面の一部が欠ける

Unityのビルド設定でauto rotationモードにすると縦長で固定され、画面の一部が欠ける

・Unityのビルド設定でlandscape leftにすると、通常の横画面になる

Unityのビルド設定でlandscape leftにすると、通常の横画面になる

・Development Buildにチェックをつけると右下に表示が出るが、チェックを付けてなくても表示される(上記スクショ参照)

3-2. スクリーンロック時は実機転送が失敗する

Visual Studioのビルドから、Windows 10 Mobileへの実機転送までは少なくとも数分かかります。その間にUSBケーブルで接続したWindows 10 Mobileにスクリーンロックがかかると、下記のような画面になり、実機転送が失敗します。

Windows 10 Mobileにスクリーンロックがかかると実機転送が失敗する

また、ここのメッセージでは"Continue?"と書いてあるのですが、私の環境ではここで"Yes"を選択しても転送ができませんでした。そこで、Windows 10 Mobileのロックがかからないようにしてから(不定期にタッチパネルに触れるか、スクリーンロック設定をOFFにする)、Deploy Solutionからやり直しました。

3-3. 今回作ったUWPはWindows10 PCでも動かせる?

ふと気になったので調べてみました。

UWPはappxという拡張子のパッケージですが、Deploy Solution後にVisual Studioのプロジェクトを探してもappxは見つけられませんでした。(探し方が悪い可能性もあります)

ただ、下記のような記事もあるので、少し手間がかかるのかもしれません。ここは時間があればまた調べてみたいと思います。

Packaging Universal Windows apps for Windows 10 | Microsoft Docs

4. Windows 10 Mobile (KATARA 01)で動かしてみた感想

1-2で書いたように、Windows 10 Mobileについては発売初期から注目しており、自分なりにUWPアプリ開発を試したこともあります。これまではUWP関連についてはブログに書いてませんですが、先週のde:code2016に参加して色々と意欲が高まり、今回書いてみました。

残念ながら、私の周辺では、de:codeに参加されていた方を除き、UWPについて知っている人がいない状況です。

とはいえ、これから広まっていく(はずの)HoloLensはUWP標準対応ですし、6/1には、Holographicの技術を3rd Partyに開放するという内容がMicrosoftから発表されました。

Opening Windows Holographic to Partners for a New Era of Mixed Reality - Windows Experience BlogWindows Experience Blog

これはVRとMRを融合させることにもなりうるので、UWPを見続けることはありかなと思っています。