2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

UnityでVRゲーム作ったログ

Last updated at Posted at 2018-12-23

はじめに

VRゲームを作ってみたのでその記録です。

環境

・Unity 5.6
・SteamVR Plugin 2.0
・HTC Vive

1.SteamVRプラグインの導入

Unity+HTC Vive開発メモ

わかりやすい。2.0の情報はまだ少ないようですが。
https://framesynthesis.jp/tech/unity/htcvive/

2.設計

どんなゲームにするか考える。完成イメージを固めておくとモチベを保ちやすい……と思います。
プレイ画面.jpg

2.素材集め

使うものをかき集める。あるものは使っておく方が楽。

Unityアセットストア

今回は、地面(1ドル)、天球テクスチャ(1ドル)、エフェクトで使用。
https://assetstore.unity.com/

アセットストアのものはシーンに配置するだけで完成度が上がった気分になれます。
下は天球に夜空を張り付けて、地面を配置したとき。
2.png

自作

時間とスキルがあるなら自作もアリ。自作すると愛着がわく。
今回はコインのテクスチャを自作。Unity側で円柱型オブジェクトに単純に張り付けたからか、側面が変になってますね。
coin.png

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));
		}
	}

できたもの

コインがたくさん落ちてくる。
コインに手が触れるとエフェクトがキラキラする。
動画

4.まとめ

課題

  • 前にしか移動できなくて不便なので、移動システムを良くする。
  • さびしいので効果音をつける。
  • スコアを表示するUIをつくる。

感想

  • もう少しSteamVR Plugin2.0の情報が巷に出そろってからやるほうがよさそう。
  • 天球と地面を配置すれば好きなVRワールドを簡単に作成できる。
  • 3日間で完成を目指しましたが、かろうじてプレイしているように見えるところまでとなりました。
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?