GenvidとUnityサンプルゲームのWindowsローカル環境での動かし方



##概要
Genvid は YouTube や Twitch で動かせる、多人数参加・インタラクティブなゲーム実況システムです。

詳しくはこちら
公式ホームページ
https://www.genvidtech.com/

4Gamer.net の記事
Genvidが手がける次世代ゲーム実況システムは，実況中のゲーム内に視聴者が干渉できる？
https://www.4gamer.net/games/999/G999905/20190402096/


この記事ではGenvidとUnityのサンプルプログラムをインストールし、
Windowsローカル環境でゲームとゲーム実況画面の両方を動かします。


##この手順の動作環境
Windows 10
Unity 2018.4（おそらくどのバージョンでも動きます）
Genvid Technologies SDK 1.23
GenvidTanks Sample 1.23


##SDKのインストール１
https://www.genvidtech.com/
の右上にある"DOWNLOAD SDK"から
Genvid Technologies SDK 1.23
をダウンロードしてインストールします。

※
C:\Genvid
にディレクトリが作成される。


##Unityの処理１（SDKのインポート）
1. Unityを起動する。

2. 新規3Dゲームを作成する。
※この時のフォルダは後でパス設定を行うので忘れないようにします。
※今回は D:\Unity\tank01\ としました。

3. UnityにダウンロードしたSDKをAssetとしてインポートする。
Assets > Import Packege > Custom Pacage
C:\Genvid\Genvid Technologies SDK 1.23.0.130\engine-integration\unity\genvid.unitypackage

※インポートの仕方
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/41bdca15-4180-e743-cf99-821a46cbbfae.png)


※以下をImportする。
![WS000002.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/555aedc0-45e2-e358-460e-35e9b238146c.jpeg)


※
以下のフォルダが作成される。
Assets/Genvid
Assets/Plugins

![WS000003.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/da1bebe4-1791-e10c-acbc-c3e669d2dec2.jpeg)



##Unityの処理２（サンプルゲームのインポート）
1. UnityにAsset StoreからGenvidTanksをインポートする。

Window > Asset Store
GenvidTanks
で検索する。
パッケージが検索されたらimport
※Unityのバージョンによって、インポート方法が異なることがあります。

![WS000004.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/982cf6b9-cd5d-d2d8-e7a0-a8a3d5d99eab.jpeg)

![WS000005.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/09616f9f-2572-c71f-9472-c4ef621bebe9.jpeg)


※
Assets/GenvidTanks
フォルダが作成される。

![WS000006.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/8fe0558b-1050-4f1b-1e4a-28d3c4edf1ca.jpeg)


この時点でGenvidTanksを単体で実行できます。
Assets > GenvidTanks > GenvidTanksScene をダブルクリックして再生ボタンを押下する。

![WS000007.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/84896b5b-b686-c147-4bf6-ccf69ef26a85.jpeg)

しかし、右クリック・左クリック以外のキー操作できないので Input を追加します。

Edit > Project Settings > Input
![WS000010.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/0be8b393-2bdf-3fb9-0fd1-f68b13bdaf9a.jpeg)


で、右上のスライダーを選択して、

![WS000009.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/ab285b97-0019-ba92-515a-9ad2efd108bb.jpeg)


GenvidTanks のアイコンををダブルクリックします。

![WS000008.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/fabc70e7-2459-e048-d377-bee6d8e8bb8f.jpeg)

再度再生ボタンを押下すると
1P側：WASDキー、2P側：方向キーで戦車を動かせるようになっている。


##Unityの処理３（プロジェクトのビルド）
File > build settings

![WS000011.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/d306d541-45a9-5ad5-16f3-32bd43935d87.jpeg)


Add Open Scene ボタンを押下する。
![WS000012.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/404957da-4579-9cee-c55d-b0d68f16b692.jpeg)


Build ボタンを押下する。
※フォルダはプロジェクトと同じフォルダを選択する。

![WS000013.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/8f2ae44a-1fde-6d6c-67a1-293d78d56d34.jpeg)



Unityを閉じます。
※閉じないとServiceの設定が失敗します。


##Serviceの設定１

Assets/GenvidTanks/
の中にある
GenvidServices.zip
を取り出す。
※今回は以下の場所
D:\Unity\tank01\Assets\GenvidTanks\GenvidServices.zip

![WS000014.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/1c1bff2c-6db3-2d6b-4810-dab2581125d3.jpeg)


zipファイルを解凍してどこかに置く。
今回は以下の場所
C:\Genvid\GenvidServices


C:\Genvid\GenvidServices\config\game.hcl
のファイルに記載されているパスを、作成したプロジェクト名のものに変更する。

![WS000015.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/30a867ca-4040-51e1-27a3-4ffd67cf7def.jpeg)


今回は以下となる。
変更前
path = "{{env `UNITYPROJECTROOT` | js}}\\Build\\GenvidTanksProject.exe"
→
変更後
path = "{{env `UNITYPROJECTROOT` | js}}\\Build\\tank01.exe"

![WS000016.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/feadc593-bd3b-43aa-788f-a34e7bab4583.jpeg)




##SDKのインストール２
ここからの処理はpower shellにて行う

power shellを起動する

Unityのプロジェクトフォルダのパス設定を行う。
今回はpower shellに以下を入力して実行する。

``` sh
$ENV:UNITYPROJECTROOT="D:\Unity\tank01"
```

SDKをインストールする。power shellに以下を入力して実行する。

``` sh
cd "C:\Genvid\Genvid Technologies SDK 1.23.0.130"
py install-toolbox.py --user
```

※PythonやAWS CLI等が一緒にインストールされる。
※最後にパスを設定するか聞かれるので「Y」を入力すること

##Serviceの設定２

power shellに以下を入力して実行する。

``` sh
cd C:\Genvid\GenvidServices
py unity.py build
```

※Unityを閉じていないと以下のようなエラーになります。
![WS000017.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/70e3c26a-ef9e-ea1a-4da0-8f5dce2e1ab6.jpeg)

※buildが成功すると以下のような画面になります。

![WS000018.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/0985dce6-5046-606b-fc9d-895964238cfc.jpeg)

##Genvid の起動

bastionを設定する。

``` sh
genvid-bastion install --bastionid localbastion --loadconfig
```

※成功すると以下のような画面になってプロンプトが戻ってきます。

![WS000019.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/4da23e62-8930-11a4-dc1d-9619412b3e30.jpeg)

次に以下を実行します。

``` sh
genvid-sdk setup
genvid-sdk clean-config
genvid-sdk load-config-sdk
```

これでjobが起動します。
失敗する場合、パスの設定が間違っているか、他のjobが起動しているかもしれないので、
PCを再起動してパスの設定をやりなおします。

※成功すると以下のような画面になります。

![WS000020.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/6f65810b-f233-663b-e3d5-4b7bc2fbca0c.jpeg)

以下を実行します。

``` sh
genvid-sdk monitor
```

ブラウザが立ち上がる。以下のようにjobが１つ表示されます。

![WS000021.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/9853e9e5-fad2-26ba-415b-5b6107a9051c.jpeg)

以下を実行します。

``` sh
py genvid-project.py load
```

→jobが３つになります。

![WS000022.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/ae718c2a-42f5-69a9-ed08-c84f80b208b1.jpeg)


ブラウザの右上にある start all ボタンを押下します。

![WS000023.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/baa30e1d-ae0a-d985-6ba7-065b5ff520d0.jpeg)


Unityが起動します。
これがゲームプレイヤーの画面になります。

![WS000025.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/73b70b7c-8c59-890b-6d24-32b220967d61.jpeg)

Unity起動時に解像度を選ぶポップアップが出たらどれかを選択してください。

![WS000024.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/11c5b4b0-e9a0-2e01-bfb8-2f8c50871ed9.jpeg)


ブラウザでGENVID TANKS DEMO ボタンを押下します。
![WS000026.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/b9ef1bad-3303-c219-5717-180e673dfbf0.jpeg)

さらにブラウザが開きます。これが視聴者の画面となります。いいねしたり投票したりできます。
いいねや投票はゲームプレイヤーの画面にも反映されます。

![WS000027.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255878/32d2b70e-bdff-dde6-df33-7770128a5d9c.jpeg)


Genvidのローカル環境での動かし方は以上です。
お疲れ様でした。