WebブラウザでUnityで作ったシーンを歩き廻ろう！

UnityのシーンをWebGLでビルドすると[こんなページ](https://web.editey.com/1FBSLyN5SEKhN9GveVZ8gdGQUEL8bgWL5/index.html)が簡単にできたのでやり方をメモしておきます。
移動方法はキーボードで「W→前進・A→左・S→後退・D→右・Space→ジャンプ・マウス移動→見廻す」です。
※PCで見てね

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">新しい建築ポートフォリオの提案です！<br>&quot;Webブラウザから&quot;建築内を歩き回ることができます✨<br><br>VR環境を持っているひとはまだ少数なので、まずはデスクトップで気軽に入れたらいいかなと思って作りました！<a href="https://t.co/cIsqf7qjzB">https://t.co/cIsqf7qjzB</a><br>キーボード移動(W→前進・A→左・S→後退・D→右）<br>※PCで見てね <a href="https://t.co/P7nw1VSYZL">pic.twitter.com/P7nw1VSYZL</a></p>&mdash; 松本ちなつ (@matsumotobim) <a href="https://twitter.com/matsumotobim/status/1084014823875039233?ref_src=twsrc%5Etfw">2019年1月12日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


#はじめに
1. この記事では[このサイト](https://web.editey.com/1FBSLyN5SEKhN9GveVZ8gdGQUEL8bgWL5/index.html)のような、Webブラウザで3Dモデルの中に入って歩き廻れるようにする手順を説明します。
1. 3Dモデル、Unityのシーンの作り方はこの記事では説明しません。[公式チュートリアル](https://unity3d.com/jp/learn/tutorials/projects/hajiuni-jp)などを参考にしてください。
1. <font color="DarkPinl">他の用途で使ったUnityプロジェクトを流用する場合はバックアップをとってから作業してください。</font>
1. Unityのバージョンは2017.4.15f1でしか試していないので(VRC用に作ったワールドを持っていきたかった)、他のバージョンとは異なる部分があるかも知れません。
1. Unity初心者なので間違ってることがあったら教えてくれると嬉しいです！
1. ご連絡は[@matsumtobim](https://twitter.com/)まで

#準備するもの
1. Unityのシーン(バージョンは2017.4.15f1でしか試してないのですがたぶん他のバージョンでもいけるかも)
1. Googleアカウント(今回はお手軽サーバーとしてGoogleDrive使います)

#既存のVRChat用のワールドを持っていきたい人へ(違う人は読み飛ばしてね)
1. VRChat用のProjectフォルダをコピーして、WebGL用のProjectを作ってください。<font color="DarkPinl">WebGL用のProject・VRChat用のProjectは完全に分かれます。</font>  
![00.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/5811e92d-0610-aadd-0de4-cd19d5904ea1.png)
1. ここからはWebGL用のProjectでの作業です。残念ながらVRCSDKはWebGLでビルドできません。「Assets」内の「VRCSDK」・「VRCSDK.meta」と「Assets>Plugins」内の「VRCSDK」・「VRCSDK.meta」を削除します。
1. シーン内のVRCSDK関連のオブジェクト、Triggerを全て削除してください。

#Packageをインポートする
1. メニューの「Assets>Import Paclage」から「Caracters」と「CrossPlatformInput」をインポートします。　　　
![01.png](https://qiita-image-store.s3.amazonaws.com/0/263991/e64a8024-5b62-0949-d040-a1bd8e9362e7.png)
1. Assets内にこの二つのフォルダができたことを確認します。  
![02.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/ed02b343-295a-5097-2ac0-069ed63043f2.png)

#FPSControllerを配置する
1. 「Assets>Standard Assets>Characters>FirstPersonCharacter>Prefabs>FPSController.prefab」をシーンに配置します。地面にめり込ませずに少し浮くくらいの高さがおすすめです。このprefabの位置が起動したときのスタート地点になります。
![03.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/224f50f6-0664-7484-f0bc-9e85af6d0000.png)
1. FPSController.prefabのInspectorで歩く速さなどを設定します。足音など音がいらない場合は「Audio Source」のチェックをはずします。  
![04.png](https://qiita-image-store.s3.amazonaws.com/0/263991/5798cdc1-cbdb-d276-23c4-d3685b07511e.png)

#ビルドする
1. 「File>Build Setting」を開きます。  
![05.png](https://qiita-image-store.s3.amazonaws.com/0/263991/e041558f-a1cb-f392-fabc-cedcdc35f76f.png)
1. 「WebGL」を選択して、「Player Setting」をクリックします。  
![07.png](https://qiita-image-store.s3.amazonaws.com/0/263991/a2eef837-abf3-8b8f-456d-6a40de7d06a9.png)
1. 「Inspector>Other Settings」の「Auto Graphics API」のチェックを外し、「WebGL1.0」を削除します。
「WebGL2.0」のみにしてください。  
![08.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/849ccb53-5c1d-6ee6-432b-00302cbea2ca.png)
![09.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/d72940e3-875a-5d9d-1e39-211b7ec2136a.png)
1. 「WebGL」を選択した状態で「Switch Platform」をクリックします。
![10.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/6600d554-abdf-3b8d-0cba-1fd33f2e2b00.png)
1. 「WebGL」の横にUnityのアイコンが付けばプラットフォームの変更が完了です。
![11.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/30dda480-603e-35b6-17ac-bdef489b79fd.png)
1. Scenes In Buildにドラッグ&ドロップでシーンを追加します。
![13.png](https://qiita-image-store.s3.amazonaws.com/0/263991/f084925b-231c-8192-b032-e6d908c7ecac.png)
1. 「Build」をクリックするとビルドが始まります！
![14.png](https://qiita-image-store.s3.amazonaws.com/0/263991/7cfab222-43a8-7754-7f1d-630d6c181306.png)
1. ビルドが終わると7で指定した場所にファイルが3つ作られます！
![15.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/b2bda3a6-9b78-99a4-af75-8ec57e55ccaf.png)

#サーバーに置いて公開
1. Googleドライブに任意のフォルダを作り、先ほどビルドした3つのファイルをアップロードします。<font color="Red">(2019/02/27追記:残念ながらEditeyは有料になってしまったようです汗)</font>  
![16.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/86d6aaac-5e32-cf0c-255e-a7f51de106d2.png)
1. 「Editey」をインストールします。「新規」をクリックし、「その他>アプリを追加」をクリックします。
![19.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/8e9214e9-dc1c-1b9c-69e6-ef6cd66d1deb.png)
![17.png](https://qiita-image-store.s3.amazonaws.com/0/263991/0c6b29b7-7026-b204-0de2-a6c2e370315b.png)
1. 「Editey」で検索し、「接続」をクリックするとインポートされます。
![18.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/98b4d370-5797-b64a-f710-5836b136ccfa.png)
1. フォルダを右クリック「アプリで開く>Editey」を選択します。
![20.png](https://qiita-image-store.s3.amazonaws.com/0/263991/aa99f191-3a1c-458e-e59e-28b4aa05e578.png)
1. 「index.html」にチェックを入れて「OK」します。
![21.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/1f6f36d9-615e-b9a2-4a2e-02906a771b4d.png)
1. よくわからないエラーが出るので「Reload file」します。  
![22.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/05d6cfec-a5b2-9a00-1eef-ddc6ddd84522.png)
1. publishします。  
![23.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/32d8b7a7-22fd-037e-fc7a-f6e6975217c7.png)
1. ドメイン設定もできるみたいですが、必要ないときは「Publish Project」をクリックします。
![24.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/1f86f900-3cd2-9a36-b1b3-b8946b474010.png)
1. しばらくするとpublishが完了します！このリンクを開くと建築の中に入れます！！
![25.PNG](https://qiita-image-store.s3.amazonaws.com/0/263991/09ac4ff0-331f-e7ac-d7cf-f0506c435eb4.png)

#おわり
けっこう簡単じゃないですか？
VRほどの没入感はないかもしれないけど、これならVR機器やアプリのインストールも必要ないし、他の人にurlを教えるだけで簡単に空間デザインを共有できます。まだVR環境が整っている人はごく一部なので…
建築のポートフォリオとか、いろいろ活用の場面があるんじゃないかなぁと思いました！
ぜひ全国の建築学生に使ってほしい！！

また、近々[STYLYさん](https://styly.cc/ja/)が同じような機能を追加するそうなので、更に気軽にWebGLでのウォークスルーができるようになりそうです。自力では画面の大きさ変更やスマホ対応などの実装が難しかったので、STYLYさんの新しいリリースにとても期待しいます♪

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">実は実装中で、今月リリース予定なので少々お待ちください🙇‍♂️</p>&mdash; awai / STYLY (@akrst1229) <a href="https://twitter.com/akrst1229/status/1082854580814196736?ref_src=twsrc%5Etfw">2019年1月9日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">STYLYもあと少しで対応できるので、もう少しお待ちください！！ <a href="https://t.co/PWcs3u4ZrT">https://t.co/PWcs3u4ZrT</a></p>&mdash; ryohei@STYLY (@rudeboy0821) <a href="https://twitter.com/rudeboy0821/status/1084016052298633217?ref_src=twsrc%5Etfw">2019年1月12日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

#参考
http://pineplanter.moo.jp/non-it-salaryman/2016/07/06/editey-google-drive/
https://unity-code.com/webgl/

#追記
さらに[このパッケージ](https://github.com/greggman/better-unity-webgl-template)を使えば、最初からブラウザサイズいっぱいに表示することができます✨