Skip to content
miuccie miurror edited this page Jan 17, 2020 · 109 revisions

VR Studies 概要

VR Studiesは、株式会社ゆめみにて作成した、VRプログラミングの基礎を学ぶためのサンプルプログラム集です。これらのプログラムを通して、Unityを使用したVRアプリ開発の基本を学ぶことができます。

VRStudiesランディングページ

[作成者/講師役] 株式会社ゆめみ 技術フェロー (AI・VR) 三浦テツンド


第1章 - 入力/移動UIを実装してみよう

この章ではHTC-VIVEを使用したさまざまな入力UI、移動UIの実装方法を解説します

以下の内容は、2016年12月に株式会社ゆめみ内での講義で使用した資料をリファインしたものになります。

動作確認環境

  • Unity / ver 5.5.1 ( ver 5.6ではSteamVRPluginの動作が不安定とのレポートがありますので、5.5を使用してください)
  • SteamVR Unity Plugin / ver 1.2.0
  • Windows 10
  • HTC-VIVE

学習の流れとサンプルプログラムの構造

この章に対応したサンプルシーンはGit内の以下の場所にあります
https://github.com/yumemi-inc/vr-studies/tree/master/vol1/VR-studies

1. VR-monitor - HMD/コントローラーの状態をモニターする

SteamVR Pluginを通してVIVEデバイスの情報を取得する方法を解説します
101-VRモニタリング-(前編)
101-VRモニタリング-(後編)

2. VR-controller - VR空間でプレイヤーの入力を扱う

プレイヤーの視線方向を入力として扱う方法を解説します
102-1-視線コントローラー

詳細な選択を可能にするレーザーポインタを実装する方法を解説します
102-2-レーザーコントローラー

物理空間上での物体との様々なインタラクション方法を解説します
102-3-力学コントローラー(前編)
102-3-力学コントローラー(後編)

3. VR-teleporter - VR空間でプレイヤーの移動を扱う

プレイヤー移動時の足元の高低差を扱う方法を解説します
103-1-力学テレポーター

シーン上に配置した特定地点へテレポートする方法を解説します
103-2-ポイントテレポーター

高低差のある場所でも自由にテレポートする方法を解説します
103-3-パラボラテレポーター

第1章デモアプリ / VR-Sphere

1章の学習内容を使用して、HTC-VIVEで体験可能なVRアプリを作成しました。
地球上の様々な都市の観光スポットをダイナミックに閲覧することができます。

109-VR-sphere-(デモアプリ)


第2章 - 空間の共有を実装してみよう

この章では、Photonエンジンを使用して多人数で同一の空間を共有するための実装方法を解説します

以下の内容は、2017年6月にVRアカデミーのVR x Networkの講義で使用した資料をリファインしたものになります。

また2018年8月のPhoton Unity Network Ver2のリリースに伴い、以降の講義内容をPUN2に対応させました(2019年1月)。PUN1とは互換性がないことに注意してください。 PUN1のソースコードを参考にしたい場合は、masterリポジトリのPUN1タグのコミットを取得してください

動作確認環境

  • Unity / ver 2017-2.0f → ver 2018-2.20
  • Photon Unity Network / ver 1.84.1 → ver 2.6
  • Google VR SDK / ver 1.50.0
  • Mac OSX Siera
  • GearVR & Galaxy s7-edge

学習の流れとサンプルプログラムの構造

この章に対応したサンプルシーンはGit内の以下の場所にあります
https://github.com/yumemi-inc/vr-studies/tree/master/vol2/VR-studies

1. PhotonEngineの解説

Photonの概要を解説します
201-1-PhotonEngineとは

Photonクラウドへの接続方法を解説します
201-2-Photonとの接続

2. 様々な値の同期方法

Photonを使用したオブジェクト同期の方法を解説します
202-1-オブジェクトの同期方法

Photonを使用したストリーム同期の方法を解説します
202-2-連続的な値の同期方法

Photonを使用したイベント同期の方法を解説します
202-3-離散的な値の同期方法

Photonを使用したルーム同期の方法を解説します
202-4-共通変数の同期方法

第2章デモアプリ / VR-PhotonPhoto

2章の学習内容を使用して、ハコスコ等のGoogle-Cardboardに対応したVRゴーグルで体験可能なVRアプリを作成しました。
同一VR空間上に複数人でログインして記念写真を撮影することができます。
またその写真をSlackチャンネルに転送することができます。

209-VR-photonphoto-(デモアプリ)


番外編 / VR-Winter-Lesson

番外編として、株式会社ゆめみ内で開催されたVR勉強会のために作成したハンズオンを掲載しておきます。
主にUnityの物理演算をVRアプリに活用する方法を学ぶことができる内容になっています。

また、特別なコントローラがなくても遊べるように作ったので、 ハコスコ等のGoogleCardboardに対応している安価なVRゴーグルだけで手軽に体験できます。

空から降ってくるクリスマスプレゼントを踏むと、サンタがスーパージャンプするVRアプリです。
より高いところにあるプレゼントを踏むことで、さらに空高くジャンプできます。
VRゴーグルを通して見ることで本当に空を飛ぶような体験ができます。

実際のハンズオンの内容は、以下のQIITA上の記事を参照ください。
https://qiita.com/tetsundo/items/ea427b5062345f4dda69