Unity+C#で始める!ゼロから学ぶVRプログラミング入門

4. Unityの基本操作とC#スクリプト入門

Unityエディタの基本構成と操作方法

Unityエディタは主に以下の領域で構成されています:

  • Hierarchy(階層): シーン内のすべてのオブジェクトがツリー構造で表示されます。
  • Scene(シーン): 3D空間を視覚的に編集する作業エリアです。
  • Game(ゲーム): プレイモード時のゲーム画面のプレビューです。
  • Inspector(インスペクタ): 選択したオブジェクトのプロパティを表示・編集します。
  • Project(プロジェクト): プロジェクト内のすべてのアセットを管理します。
  • Console(コンソール): デバッグメッセージやエラーが表示されます。

基本操作:

  • シーンビューでの操作:
  • マウス右ボタン + WASD: カメラ移動
  • Alt + 左クリック: カメラ回転
  • マウスホイール: ズームイン/アウト
  • F(オブジェクト選択時): 選択オブジェクトにフォーカス
  • オブジェクトの作成:
  • Hierarchy右クリック→「3D Object」→任意のプリミティブ
  • コンポーネントの追加:
  • Inspector下部の「Add Component」ボタン

C#スクリプトの作成とアタッチ方法

Unityでのスクリプト作成は以下の手順で行います:

  1. Projectウィンドウで右クリック→「Create」→「C# Script」を選択
  2. スクリプト名を入力(例:「PlayerController」)
  3. 作成したスクリプトをダブルクリックしてIDEで開く

基本的なC#スクリプトの構造は以下のようになっています:using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { // 変数宣言部分 public float speed = 5.0f; // 初期化時に一度だけ実行 void Start() { Debug.Log("ゲーム開始!"); } // 毎フレーム実行 void Update() { // ここにゲームロジックを書く } }

スクリプトをオブジェクトに適用するには:

  1. Hierarchyでオブジェクトを選択
  2. InspectorのAdd Componentをクリック
  3. 作成したスクリプト名を検索して追加

または、Projectウィンドウからスクリプトを直接オブジェクトにドラッグ&ドロップすることもできます。

簡単な動作スクリプトを書いてみよう

物体を回転させる簡単なスクリプトを作成してみましょう:

using UnityEngine;

public class SimpleRotator : MonoBehaviour
{
    // 回転速度をパブリック変数として宣言
    public float rotationSpeed = 50.0f;

    // 毎フレーム実行されるUpdateメソッド
    void Update()
    {
        // Time.deltaTimeを使うことで、フレームレートに依存しない一定の回転を実現
        transform.Rotate(0, rotationSpeed * Time.deltaTime, 0);
    }
}
  1. 上記スクリプトを「SimpleRotator.cs」という名前で作成
  2. シーンに立方体(Cube)を作成(Hierarchy右クリック→3D Object→Cube)
  3. 作成したCubeオブジェクトにSimpleRotatorスクリプトをアタッチ
  4. プレイボタン(▶)を押して実行すると、キューブが回転するのが確認できます

これで、Unityの基本操作とC#スクリプトの基礎を理解できました。次は、これらの知識をベースにVR環境の構築を進めていきましょう。

5. VRプロジェクトのセットアップ

VR用にUnityを設定する手順

VR開発用にUnityを設定するには、いくつかの重要なステップがあります:

  1. プロジェクト設定の最適化:
  • メニューから「Edit」→「Project Settings」を開く
  • 「Quality」設定を開き、VRに適したプリセットを選択(モバイルVRの場合は低め、PCVR向けは中~高に設定)
  • 「Player」設定を開き、「Other Settings」の「Color Space」を「Linear」に設定(より正確な色表現が可能)
  1. ビルド設定の確認:
  • Meta Quest向け開発の場合、「File」→「Build Settings」を開き、プラットフォームを「Android」に切り替え
  • 「Switch Platform」ボタンをクリック
  • 「Player Settings」ボタンをクリックして詳細設定を開く:
    • 「Other Settings」内の「Graphics APIs」が「OpenGLES3」になっていることを確認
    • 「Minimum API Level」を「Android 10.0 (API level 29)」以上に設定
    • 「Scripting Backend」を「IL2CPP」に設定

XR Plugin Managementの設定

  1. メニューから「Edit」→「Project Settings」を開く
  2. 左側のリストから「XR Plugin Management」を選択
  3. 「Install XR Plugin Management」ボタンが表示されている場合はクリック
  4. 「Initialize XR on Startup」にチェックを入れる
  5. 「Plug-in Providers」セクションで、使用するデバイスに応じたプラグインにチェックを入れる:
  • Meta Quest向けの場合は「Oculus」
  • 多くのVRデバイスに対応させたい場合は「OpenXR」(推奨)

OpenXR/Meta Questなどの導入と設定

OpenXRを使用する場合の設定:

  1. 「XR Plugin Management」の設定画面で「OpenXR」にチェックを入れる
  2. 左側のリストから「OpenXR」を選択
  3. 「Interaction Profiles」セクションで使用するコントローラーを選択:
  • Meta Quest向けの場合「Oculus Touch Controller Profile」
  • Valve Index向けの場合「Valve Index Controller Profile」など
  1. 「Features」セクションで必要な機能にチェックを入れる:
  • 「Hand Tracking Subsystem」
  • 「Motion Controller Model」など

Meta Quest固有の設定(Oculus Integrationを使用する場合):

  1. Asset Storeから「Oculus Integration」パッケージをインポート
  2. メニューから「Oculus」→「Tools」→「OVR Utilities Plugin」→「Fix All」を実行
  3. プロジェクト設定の「Player」→「Other Settings」→「Active Input Handling」を「Both」に設定

VRカメラリグ(XR Origin)の設置

XR Interaction Toolkitを使用してVRカメラをセットアップします:

  1. Hierarchyで右クリック→「XR」→「XR Origin (VR)」を選択
  2. 作成されたXR Originには以下のコンポーネントが含まれています:
  • Camera Offset: プレイヤーの物理的な高さに合わせるオフセット
  • Main Camera: VRヘッドセットと連動するカメラ
  • Left/Right Hand Controller: 左右のコントローラーを表す
  1. デフォルトのXR Originを調整する:
  • XR Originを選択し、Inspectorで「Transform」の「Position」をY軸方向に1程度の値に設定(床から適切な高さに)
  • 「XR Origin」コンポーネントの「Camera Y Offset」を1.6程度に設定(標準的な人の目の高さ)
  1. シンプルな環境を作成:
  • Hierarchyで右クリック→「3D Object」→「Plane」を選択
  • 作成したPlaneを選択し、「Transform」の「Scale」を(10, 1, 10)程度に設定
  • 「Add Component」→「Physics Material」→「Physic Material」を追加し、摩擦などを調整

これでVR環境の基本セットアップは完了です。プレイモードで実行すると、VRヘッドセットを装着していなくても、エディタ上でVRカメラの動きをシミュレートできます。