はじめに
VRゲームを作ってみたのでその記録です。
環境
・Unity 5.6
・SteamVR Plugin 2.0
・HTC Vive
1.SteamVRプラグインの導入
Unity+HTC Vive開発メモ
わかりやすい。2.0の情報はまだ少ないようですが。
https://framesynthesis.jp/tech/unity/htcvive/
2.設計
どんなゲームにするか考える。完成イメージを固めておくとモチベを保ちやすい……と思います。
2.素材集め
使うものをかき集める。あるものは使っておく方が楽。
Unityアセットストア
今回は、地面(1ドル)、天球テクスチャ(1ドル)、エフェクトで使用。
https://assetstore.unity.com/
アセットストアのものはシーンに配置するだけで完成度が上がった気分になれます。
下は天球に夜空を張り付けて、地面を配置したとき。
自作
時間とスキルがあるなら自作もアリ。自作すると愛着がわく。
今回はコインのテクスチャを自作。Unity側で円柱型オブジェクトに単純に張り付けたからか、側面が変になってますね。
3.コーディング
スクリプトを作ってオブジェクトに付けていきます。
アクション系のゲームにすると物理特性を使えば制御が少なくて済むのでお勧めです。
##詰まったところメモ
Viveコントローラの入力値受け取り
①Window > SteamVR Input
②Actionsの「+」ボタンでAction追加。名前とInputを適当に決める。
③SteamVR Inputウィンドウ下部の「Open binding UI」押下。ブラウザで設定画面が開かれる。
④それぞれのボタンは受け取る型が決まっているので、②でその型を設定しているアクションしか候補に出てこない。←詰まったところ。
⑤紐づけたあとは「Replace Default Binding」→ Unityに戻ってSteamVR Inputウインドウの 「Save and generate」で必要なファイルを作ってくれる。
⑥コード
public SteamVR_Input_Sources hand;
public SteamVR_Action_Boolean teleport;
public SteamVR_Action_Vector2 trackpad ;
void Update () {
if (teleport.GetStateDown (hand)) {
TrackPadManager (trackpad.GetAxis(hand));
}
}
できたもの
コインがたくさん落ちてくる。
コインに手が触れるとエフェクトがキラキラする。
動画
hc demo pic.twitter.com/osvAAucYNw
— ぶいしー (@vc_dev_alx) 2018年12月23日
4.まとめ
課題
- 前にしか移動できなくて不便なので、移動システムを良くする。
- さびしいので効果音をつける。
- スコアを表示するUIをつくる。
感想
- もう少しSteamVR Plugin2.0の情報が巷に出そろってからやるほうがよさそう。
- 天球と地面を配置すれば好きなVRワールドを簡単に作成できる。
- 3日間で完成を目指しましたが、かろうじてプレイしているように見えるところまでとなりました。