ラボ 1 - VR 個人プロジェクトの基礎

Tutorial

Beginner

+10XP

120 mins

Unity Technologies

ラボ 1 - VR 個人プロジェクトの基礎

初回となるこのラボでは、デザインドキュメントに記入しコンセプトを整理した後、シンプルなプリミティブ形状を使って基本的な VR シーンを設定します。

このラボでは、以下のレッスンで学んだスキルを活用します:

このラボは「Create with VR」コースの一部です。

Resources

1. デザインドキュメントの記入

プロジェクトに着手する前に、実際にどのようなものを作るのかというプランが必要になります。そのためには、Design Document (デザインドキュメント) が最適です。

1. 白紙の VR Project Design Doc を入手:


2. ドキュメントのセクション 1 (App Info:アプリ情報) を記入:

  • アプリに仮のタイトルを付けます。
  • あなたのアプリを最もよく表している 1 つまたは 2 つのカテゴリーの横にチェックマーク(コピーアンドペーストを使用)を入れます。


3. ドキュメントのセクション 2 (Pitch:売り込み) を記入:

  • アプリの目的を説明します。
  • なぜ VR では特に効果的なのかを説明してください。
  • ユーザーがアプリの中で何をするのか、大まかに説明します。
  • 自由度が 3 つのデバイスと 6 つのデバイスのどちらをターゲットにするかを指定します。


4. ドキュメントのセクション 3 (Basics:基本) を記入:

  • アプリが実行される場所や、ユーザーがその環境をどのように移動するのかを説明します。
  • ユーザーが掴むことのできるオブジェクトの種類と、使用する可能性のある Socket Interactor を一覧表示します。

これで、デザインドキュメントの最初の 3 つのセクションが完成し、このラボの残りの部分を完成させるのに十分な指示が得られるはずです。

2. 新しい VR プロジェクトを開いて実行する

VR Room プロジェクトの開始時に行ったように、個人プロジェクトではまず、VR 用に設定された新しい Unity プロジェクトを作成する必要があります。

1. 個人プロジェクト用に、新しい Unity プロジェクトを作成する:

  • チュートリアル「VR Project Setup」の指示に従ってください。
  • 解凍したフォルダーを、VR Room プロジェクトと同じディレクトリに移動します。
  • プロジェクトの名前を「VR Room - [Your Name]」とするのではなく、「VR Personal Project - [Your Name]」とします。


2. VR Course Library をプロジェクトへインポート:


3. 特定のデバイスで動作するようにプロジェクトを設定:


4. 個人プロジェクトの開発を始める準備ができているかどうかを確認:

  • Starter Scene の名前を変更して開きます。
  • 作成したプロジェクトが、VR デバイスや Device Simulator で正常に動作することを確認してください。


5. Challenges をプロジェクトに入れたくない場合:

  • Project ウィンドウで Challenge フォルダーを右クリックし、Delete をクリックします。

これで、スターターシーンに新しいプロジェクトが開かれ、VR または Device Simulator でテストできるようになりました。

3. プリミティブによる基本シーンの設定

コースライブラリのアセットではなく、プリミティブとシンプルなカラーマテリアルを使って、この基本シーンを開発することができます。

1. 地面を作る:

  • Hierarchy で、Plane オブジェクトを選択します。
  • Inspector で、Plane の位置を 0, 0, 0 にリセットします。
  • 名前を「Ground」に変更します。


2. マテリアルを整理する:

  • Assets ディレクトリ内に「Materials」フォルダーを新規作成します。


3. Ground のマテリアルを作成:

  • Materials フォルダーで、right-click > Create > Material の順に選択します。
  • 新しいマテリアルの名前を「Ground」に変更します。
  • Inspector で Base Map の色を編集します。
  • マテリアルを Ground オブジェクトにドラッグします。


4. 基本シーンの残りの部分をふさぐ:

  • 引き続き、プリミティブなオブジェクト(キューブ、球体、平面、カプセルなど)の作成と拡大/縮小を行い、簡単なカラーマテリアルを適用します。
  • まだ掴めるオブジェクトは作成しないでください。部屋やテーブルなどの重要な環境的なものだけを作成します。


注意:
シーン全体で再利用されるオブジェクトがある場合は、「Prefabs」フォルダーを作成し、そこにオブジェクトをドラッグしてプレハブにします。

これで、基本シーンが適切なスケールのプリミティブが配置されて遮られているはずです。

4. 基本的なロコモーションの設定

基本シーンに障害物があるので、それを回避するための方法が必要です。

1. ユーザーがシーン内を移動できるようにする:

  • VR Locomotion のチュートリアルに沿って、Teleportation Areas を設定します。
  • テストや開発の目的で、一時的に地上のオブジェクト全体を Teleportation Area にしておくとよいでしょう。
  • また、テストや開発のために連続した動きを利用することも有効です。


2. ユーザーがシーン内の重要な位置にテレポートできるようにする:

  • VR Locomotion のチュートリアルの指示に従って、Teleportation Anchors を設定します。
  • Room の時のようにマットを使うのではなく「Teleportation Anchor」という名前の 1 × 0.1 × 1 のキューブを作ります。
  • アンカーの順方向に合わせて、Match Orientation プロパティを設定するようにしてください。

これで、基本シーン内で動かせるようになったはずです。

5. 基本的な掴めるオブジェクトの設定

最後に行うことは、ユーザーが操作することを想定した掴めるオブジェクトのプレハブを作成することです。

1. プリミティブでより複雑なオブジェクトを作るには:

  • Empty オブジェクトを作成します。
  • オブジェクトの名前を変更します。
  • オブジェクトの形状のメッシュを表す Primitive の子オブジェクトを作成します。


2. オブジェクトを掴めるようにするには:

  • チュートリアル「Grabbable Objects」の指示に従ってください。
  • プリミティブな子オブジェクトではなく、Empty の親オブジェクトにコンポーネントを追加します。


3. シーンにソケットを追加するには:

  • Sockets チュートリアルの手順に従ってください。


4. インタラクティブなオブジェクトをプレハブにするには:

  • 新しいインタラクティブなオブジェクトを Prefabs フォルダへドラッグします。

これでシーン内の主要な掴めるオブジェクトのプレハブが基本的に機能するようになりました。

6. ヒエラルキーの整理

ヒエラルキー (Hierarchy) 内のオブジェクトが多くなりすぎる前に、一度整理し直してみましょう。

1. Hierarchy 内にオーガナイザーオブジェクトを作るには:

  • Hierarchy で、「XR」、「LIGHTING」、「STATIC」、「DYNAMIC」という名前の空のゲームオブジェクトを新規に作成します。
  • すべての位置を 0、0、0 にリセットします。


2. オブジェクトをカテゴリー別に整理するには:

  • Hierarchy からオブジェクトを整理するオーガナイザー (organizer) オブジェクトの上に(子オブジェクトを作るために)、またはオーガナイザーオブジェクトの下に(オーガナイザーオブジェクトをヘッダーとして使うために)ドラッグします。

これでヒエラルキーがカテゴリー別に整理されたはずです。

7. まとめ

注目のフィーチャー

  • VR プロジェクトの設定
  • プリミティブで遮られたシーン
  • シーン内でのロコモーション
  • 掴めるオブジェクト
  • Socket Interactor

新しいコンセプト & スキル

  • ロコモーションや掴めるオブジェクトなどの VR の基本を自分の VR アプリで応用する。

次のラボ:

  • コアとなる機能とインタラクションの実装

Complete this Tutorial