【初心者向け】Unity 2017 + Vuforiaで３Dモデルを表示してみた ～スマホビルド&再生編～

## バックナンバー

過去3回にわたりUnity + Vuforiaの記事を書いてきたのでご紹介

[【初心者向け】Unity 2017 + Vuforiaで３Dモデルを表示してみた ～準備編～][Uni1]

[【初心者向け】Unity 2017 + Vuforiaで３Dモデルを表示してみた ～3Dモデル表示編～][Uni2]

[【初心者向け】Unity 2017 + Vuforiaで３Dモデルを表示してみた ～動画再生編～][Uni3]

[Uni1]:https://qiita.com/SeagullShingo/items/f5193bb283b96562fd54
[Uni2]:https://qiita.com/SeagullShingo/items/8d0837049be11ab2ed17
[Uni3]:https://qiita.com/SeagullShingo/items/2054f57d2091bfd0d670

## やること

今回は下記を行う

- Androidにビルドしてマーカー検出時にモデル表示＆動画再生

## 環境

今回検証した環境を記載。

- Unity起動環境：windows7(Lenovo X1 Carbon)
- Unity 2017.3.1f1
- Vuforia(2018/4時点)

使用したAndroidは下記

- Galaxy S8


## 準備（モジュール）
2018年3月時点くらいの最新を導入しました

- Java Development Kit 8u162　　->JDK設定の為
- Android Studio 3.0.1  　      ->SDK設定の為

Android NDKは今回は使用していない（IL2CPPは使用しないからだと思われる）
実現することによってはNDKが必要だったり他のコンポーネントが必要になるかもしれないが、あくまでも今回Unity2017 + Vuforiaで必要なものを導入。


■JDK導入
下記からダウンロード
[Java SE Development Kit 8 Downloads][JDK]

[JDK]:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

windows7(64bit)を使用しているので下記をダウンロード
![Ad1_1.jpg](https://qiita-image-store.s3.amazonaws.com/0/225931/354b7984-1573-36e9-0846-6dc9e870b163.jpeg)

基本的にデフォルトでダウンロードする。
後ほどJDKのインストールパスを設定するのでどこかに控えておく

■Android Studio導入
下記からダウンロード
[Android Studio][Android Studio]

[Android Studio]:https://developer.android.com/studio/index.html


![AD3.jpg](https://qiita-image-store.s3.amazonaws.com/0/225931/fb1b635d-7e45-e056-e27f-6627d6977b7c.jpeg)


Android　Studioを使用するというよりAndroid StudioのSDKを利用する
基本ダウンロードはデフォルト。
後ほどSDKのインストールパスを設定するのでどこかに控えておく


■インストールパス設定

Unityの「Edit」->「Preference」->「External Tools」より設定
ここで入力しない場合は、ビルド時にパスが設定していないといわれ、その時に指定することになる

![Ad2.jpg](https://qiita-image-store.s3.amazonaws.com/0/225931/d1ee9bf4-ab73-6307-61c2-fd29d7a4c7c7.jpeg)


## ビルドの為の設定

「File」->「Build Settings」-> 「Player Settings」で下記の2箇所を修正
今回はAndroidなので、一番右の設定を行う

![AD6_2.jpg](https://qiita-image-store.s3.amazonaws.com/0/225931/6aa4d669-1d6a-832e-68ff-e3048f568481.jpeg)


デフォルトのCompany Name、ProductNameを揃えないといけない

実際に名前を揃えない場合（デフォルトのままの場合）は下記のエラーがビルド中にでた。

![AD9.jpg](https://qiita-image-store.s3.amazonaws.com/0/225931/334a024d-78e8-49d0-0d90-0027f677dbbd.jpeg)

下記の赤枠を修正
「Package Name」に「Company_Name」と「Product Name」を入力する

![AD10.jpg](https://qiita-image-store.s3.amazonaws.com/0/225931/d089f0e1-1c7f-6a8b-b1da-251c0d404658.jpeg)




下の方に「AndroidTV」にチェックがついているとビルド時にエラーになったのでチェックを外しておく。

![AD11_2.jpg](https://qiita-image-store.s3.amazonaws.com/0/225931/a47af357-d32a-1250-4295-37c28bc929cc.jpeg)




あと、「XR Setting」の下記の2つはチェックが外れていることがあるのでビルド前にチェックしておくこと

- Virtual Reality Supported
- Vuforia Augmented Reality Support

![AD4_2.jpg](https://qiita-image-store.s3.amazonaws.com/0/225931/f3f087d7-fe0a-e588-18d6-487e533cadc8.jpeg)


## ビルド
Unity上の「File」->「Build Settings」を選択
PlatformをAndroidに選択して「Build」をクリック

![AD7.jpg](https://qiita-image-store.s3.amazonaws.com/0/225931/47f7ff48-6a0a-fe9e-4a74-12119f19055d.jpeg)

適当な名前をつけ「保存」
![AD8.jpg](https://qiita-image-store.s3.amazonaws.com/0/225931/9f14f77b-a9f0-19a8-00d4-dd55701f0a23.jpeg)

無事ビルドできると「.apk」ファイルが出力される

![AD12.jpg](https://qiita-image-store.s3.amazonaws.com/0/225931/41beae3e-b41c-36ae-f7c9-68ae0629b907.jpeg)



## Android側でインストール

作成したapkファイルをAndroidスマホ側にコピー。
（筆者はPCとケーブルをつなぎ、apkファイルを適当な「Download」フォルダにコピーした）

ダウンロードしたファイルを選択しインストール
<img src="https://qiita-image-store.s3.amazonaws.com/0/225931/2c745258-963f-2fbd-34f6-16c478e5eb50.png" width=50%>
<img src="https://qiita-image-store.s3.amazonaws.com/0/225931/2ccf7d35-7e0a-712c-58f9-6c4f0e5da594.png" width=50%>
インストール中に色々な許可を求められる可能性があるが許可を選択しインストールを完了させる
<img src="https://qiita-image-store.s3.amazonaws.com/0/225931/7492ab6a-ba45-9085-3308-f3bbe344f7c9.png" width=50%>
スマホ内でアプリとして認識されるようになった
<img src="https://qiita-image-store.s3.amazonaws.com/0/225931/ec5b5301-0df1-d9f5-bdd9-f64eaedc7fd3.png" width=50%>


## アプリ起動

実際にアプリを起動してみると、ちゃんとマーカー検出時に3Dモデルと動画が再生された。
（何故かモデルの画像が荒くなっているのはご愛嬌・・・）

![AD18.png](https://qiita-image-store.s3.amazonaws.com/0/225931/7fcb97c7-cb7d-015a-6196-a8def3281906.png)


今度、アプリ中の映像を動画で撮ってアップしたいと思う。
一旦、今回やりたいことは出来たのでこれで終了。

次は複数のシーンに切り替えて（複数のマーカーを使用して）3Dモデルや動画が表示できるかをUnity2017 + Vuforiaで最後に行いたいと思う。