VRをはじめましょう

この記事は[リンク情報システム](https://www.lis.co.jp/)が主催するイベント「[Tech Connect! Autumn](https://qiita.com/dgkz/items/4c3a449f3168d6c787cf)」のリレー記事です。
「[Tech Connect! Autumn](https://qiita.com/dgkz/items/4c3a449f3168d6c787cf)」は engineer.hanzomon のグループメンバによってリレーされます。
（リンク情報システムのFacebookは[こちらから](https://ja-jp.facebook.com/lis.co.jp/)）
12日目の担当は@h-yamasakiです。

#1.はじめに
2017年末あたりからバーチャルYoutuber界隈が盛り上がり始め、それに伴いVR界隈も盛り上がってきているような気がします。
かく言う私もその辺りに影響を受けて７月末ごろにVR環境を整えました。
そんなわけでVR機器も色々と増えてきて家庭でVRを利用するハードルも若干下がってきたということで、VRって家でできるの！？みたいな人向けに色々書いていこうと思います。

#2.VRあれこれ
##VRの良いところ
###未来っぽい体験ができる
とりあえずHMDを使ってVRのゲームなりで動いているだけでおー！すげー！なんか未来っぽい！って感じで感動できます。
私が単純なだけかもしれませんが・・・。
後述するVRChat上ではVR空間内での即売会や勉強会が行われており近未来SFみたいなことが既に行われていたりします。
###運動になる・・・？
VRで遊んでいる間は立ちっぱなしのことが多く、3,4時間立ちっぱなしだったり、1時間くらいめっちゃ動き回ったりみたいなかんじなので少なくともPCの前にずっと座っているよりは運動にはなってる・・・かなぁという感じ。
そもそも外に出ろという話なんですが・・・。
##VRが体験できる場所
色々とVRが体験できる施設があるので書いていこうと思ったのですが、調べてみると思ってた以上に沢山あったので省略。
恒常的にやっているもの以外にもイベントなどで体験会をやっていることもあるようです。
「VR　体験」とかでググってみましょう！（投げやり

##VR機器の種類
大きく分けて以下の4つに分かれるようです。

1.スマホを利用するもの（~15,000円程度
　　ex)Gear VRなど
2.ゲーム機を利用するもの（35,000円程度
　　ex)PlayStation VR
3.PCを利用するもの（50,000~170,000円程度
　　ex)Oculus Rift,HTC Viveなど
4.スタンドアロン（25,000~50,000円程度
　　ex)Oculus Goなど

詳しくはこのあたり( https://vron.jp/2016/11/27/post-529/ )を参照
それなりのVR体験をしたい場合は2~4あたりが良いようですね。
とはいえ2~4の場合やはりまだまだそれなりにお値段が・・・ということで敷居は高め。
特に3の場合それなりのスペックのPCが必要となるためPC買い替えからとなると大変です。

##導入へのハードル
###費用
とりあえずスマホVRで体験しよう程度であれば特に問題にはならないとはおもいますががっつりPCでVRをやりたい！となると上述したようにそれなりの費用がかかってしまいます。
割と極端な例ですが、私の場合PC新調+HTC Vive+Vive Proアップグレードキット+Viveトラッカー×3だったので夏のボーナスはきれいさっぱり消し飛びました。南無・・・。
さすがに一気にこれだけ買うこともそうないとは思いますがPCがすでにそれなりのスペックでトラッカーやProを買わないとしても約7万ですし人によっては少しためらうお値段でしょう。
###場所
こちらもViveでルームスケールを使う場合以外は問題にならないでしょう。たぶん。
Viveの場合ルームスケールといって1.5×2m以上の空間を確保してそこをプレイエリアとすることができるのですが、部屋が狭いとなかなかしんどいです。
私は結構ぎりぎりなので後述のVRChatで遊んでいる時などコントローラが壁にぶつかったり机にぶつかったりで大変なので広い部屋に引っ越したい・・・って感じです。

こう考えるとがっつりやらないのであれば大してハードルは高くなさそうですね・・・？

#3.VRゲーム
色々ありますがとりあえず私がよく遊んでいるものを少しだけ紹介。
##VRChat
VR空間上でアバターを纏い、色々な人たちと交流するゲーム・・・というかSNSのようなものです。
ユーザーがワールドやアバターを作成し、アップロードすることができるため様々なアバターやワールドが存在します。
基本的にはVR空間内でおしゃべりするだけのものですが、ユーザー作成のワールドには簡単なFPSができるワールドや麻雀ができるワールド、カラオケやダンスフロア、バーやカフェ、睡眠用のワールドなど様々なものがあり自由に遊ぶことができます。
アバターもユーザーが作成して使えるため、アニメやゲームのキャラやオリジナルのキャラが歩いている横で動物が歩いていたり、でっかいプリンやカップがスーッと動いていたりとカオスな空間になっています。
最近ではRPGのようなダンジョン攻略ができるワールドが話題になっていました。
私も1度友人と3人で行ってみましたが普通に難しく、これ3人じゃ無理だ・・・となってリタイアしました。

・渋谷っぽい場所
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/7d883641-045e-af7d-0c13-129a1a19fb22.jpeg" width=50%>
・こちらはVR空間で麻雀ができる
(実際に牌をつかんで動かせます)
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/402d62d6-3ad1-c149-c3f5-4ae27950a6b9.jpeg" width=50%>
・こちらはスウェーデンに実在する博物館(Hallwyl Museum)
自由に中を歩いて回ることができます
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/05a18c9c-4ff7-1190-89fe-6d85717c4725.jpeg" width=50%>

##BeatSaber
VRの音楽ゲーム。
音楽に合わせて矢印付きのキューブが飛んでくるので某映画のなんちゃらセイバー的なもので切り裂いていくゲームです。
デフォルトの曲数は少ないですがModを導入することでユーザー作成の譜面をプレイすることが可能です。
結構全身を動かすことになるため、運動量はそこそこ・・・記事によるとテニス並みとか(https://www.moguravr.com/beat-saber-vr-4/ )。
まぁ実際そこまでは・・・という気もしますが1時間もプレイすれば汗だくになるくらいには動かされます(当然難易度による)。
下のは私がプレイしたもの。GIFなので音がないのは許してください・・・。
![nadeshiko.gif](https://qiita-image-store.s3.amazonaws.com/0/282891/6e75c6a9-8409-5f1c-601b-5d2e6f0aa4ae.gif)



#4.VRゲームを自分で作ってみる？
せっかくなので簡単なゲームみたいなものを作ってみましょう。
とはいえUnityなんてVRChatにアバターインポートするのに使った程度の知識なのでほんのさわりだけ・・・
今回の環境は以下
・Unity : 5.6.3p1(64bit)
・HMD : HTC Vive Pro(ルームスケール)
・SteamVRPlugin : 1.2.3
##SteamVRPluginをインポート
Unityを立ち上げ、新しくプロジェクトを作成したらまずAssetStoreからSteamVRで検索し、SteamVRPluginをインポートします。
Downloadボタンをクリックし、終わったらImportボタンをクリックします。
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/eba0ccda-ffb1-4a04-5c95-cbb50a975d19.jpeg" width=50%>
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/48fea22b-06e7-2fc3-0037-65c7a1a90f8c.jpeg" width=50%>

なんか上書きするけどええか？みたいな警告がでますが気にせずImport。
ポップアップがでますがよくわからないので全選択したままImport。
またなんかでますがよくわからないのでAcceptAllを選択。
これでインポートは終わりです。
##シーン作成とカメラの配置
Assetsフォルダ内を右クリックし、CreateからFolderを選択してSceneフォルダを作成します。
さらにSceneフォルダ内で右クリック、CreateからSceneを選択してSceneファイルを作成します。
まぁフォルダは別に作成する必要はないしSceneファイルもプロジェクトを保存するときに作れ！って言われた気がするので今つくらなくてもよい・・・かもしれません。
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/f101d2fa-4d22-6054-f2ee-df517e8b2781.jpeg" width=50%>
Sceneを作成したらSteamVR>Prefabsフォルダ内の[CameraRig]をHierarchyにD&Dで放り込みます。
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/94a7fe2c-d8dd-738c-0b55-e65c8198d0d2.jpeg" width=40%>
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/c3b21de1-0d71-290e-e9ab-4a73ddbeb62e.jpeg" width=100%>
これでカメラの配置まで終了です。
元々あったMain Cameraは削除してしまいましょう。
##フィールド系の色々を配置する
このままではほんとに何もないので地面つくったり小物を置いたりしましょう。
置物とかいろいろ作るのは大変なのでなにかないかなーとAssetStoreを見回して・・・今回はNatureStarterKit2なるものと使わせてもらおうとおもいます。
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/476992c9-de6d-78d2-c6f2-c2d78d9ac02e.jpeg" width=50%>
###地面をつくる
まずはともあれ地面を作りましょうってことでHierarchy内で右クリックして3D Object>Planeを選択します。
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/4db8d6c2-c5bd-cbf4-703b-850d73cbccf0.jpeg" width=40%>
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/cb26bef3-07ed-f7ba-bfcc-4f8acf07c15c.jpeg" width=50%>
座標を原点に動かして大きさもすこし変えておきます。右にあるInspectorを選択し、PositionとScaleをいじります。
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/79f549ee-ca11-3b4a-ece2-41ac5c7e4b74.jpeg" width=50%>
このままだとただの灰色の板なのでマテリアルの設定を行います。
Assetsフォルダ内にMaterialフォルダを作成し、マテリアルフォルダ内で右クリック>Create>Materialを選択しマテリアルを作成します。
Inspector内にあるAlbedoの◎みたいなところをクリックしてground01を選択します。
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/451b0a2b-9f39-be87-6986-f5aecb7c908b.jpeg" width=50%>
次にHierarchyからPlaneを選択しInspector内のMeshRenderer>Materials>Element 0に作成したマテリアルをD&Dて突っ込みます。
これで地面がなんかそれっぽくなった・・・気がします。
###置物を置く
地面はできたので置物をおいていきます。
インポートしたNatureStarterKit2>Natureフォルダに木がいっぱいあるのでこれを置いていきましょう。
HierarchyにD&Dで突っ込んで移動させたり、Ctrl+Dで複製したりして植林していきます。
<img src="https://qiita-image-store.s3.amazonaws.com/0/282891/931aa040-d83a-02d7-a456-83f6b668d772.jpeg" width=50%>
配置センスが壊滅的な気がしますが気にしてはいけない。
##HMDに映してみる
ステージっぽいものはできたので早速HMDに映してみましょう。
上部真ん中あたりにある▶ボタンを押すだけです！
出力結果はこんなかんじに。ぐるぐる見渡してます。
![vrtest.gif](https://qiita-image-store.s3.amazonaws.com/0/282891/1b5762fd-6a2d-3c21-d1d9-f4b2f13e7be0.gif)
やっとスタート地点って感じがしますが今回はここまで。
気が向いたら何かしらのギミック作ったりしてゲームっぽくしたいですねぇ・・・。
VRChatのワールド作るのもたのしそうです。
#5.おわりに
ということでざっくりと雑な感じでVRを紹介していきました。
私もまだVRを始めたばかりなので何もわかっていませんが、お手軽に(?)未来っぽい感じを味わうことができるので興味を持った方はVRの世界に飛び込んでみてください！
VRはいいぞ！