4. Unityの基本操作とC#スクリプト入門
Unityエディタの基本構成と操作方法
Unityエディタは主に以下の領域で構成されています:
- Hierarchy(階層): シーン内のすべてのオブジェクトがツリー構造で表示されます。
- Scene(シーン): 3D空間を視覚的に編集する作業エリアです。
- Game(ゲーム): プレイモード時のゲーム画面のプレビューです。
- Inspector(インスペクタ): 選択したオブジェクトのプロパティを表示・編集します。
- Project(プロジェクト): プロジェクト内のすべてのアセットを管理します。
- Console(コンソール): デバッグメッセージやエラーが表示されます。
基本操作:
- シーンビューでの操作:
- マウス右ボタン + WASD: カメラ移動
- Alt + 左クリック: カメラ回転
- マウスホイール: ズームイン/アウト
- F(オブジェクト選択時): 選択オブジェクトにフォーカス
- オブジェクトの作成:
- Hierarchy右クリック→「3D Object」→任意のプリミティブ
- コンポーネントの追加:
- Inspector下部の「Add Component」ボタン
C#スクリプトの作成とアタッチ方法
Unityでのスクリプト作成は以下の手順で行います:
- Projectウィンドウで右クリック→「Create」→「C# Script」を選択
- スクリプト名を入力(例:「PlayerController」)
- 作成したスクリプトをダブルクリックして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() { // ここにゲームロジックを書く } }
スクリプトをオブジェクトに適用するには:
- Hierarchyでオブジェクトを選択
- InspectorのAdd Componentをクリック
- 作成したスクリプト名を検索して追加
または、Projectウィンドウからスクリプトを直接オブジェクトにドラッグ&ドロップすることもできます。
簡単な動作スクリプトを書いてみよう
物体を回転させる簡単なスクリプトを作成してみましょう:
using UnityEngine;
public class SimpleRotator : MonoBehaviour
{
// 回転速度をパブリック変数として宣言
public float rotationSpeed = 50.0f;
// 毎フレーム実行されるUpdateメソッド
void Update()
{
// Time.deltaTimeを使うことで、フレームレートに依存しない一定の回転を実現
transform.Rotate(0, rotationSpeed * Time.deltaTime, 0);
}
}- 上記スクリプトを「SimpleRotator.cs」という名前で作成
- シーンに立方体(Cube)を作成(Hierarchy右クリック→3D Object→Cube)
- 作成したCubeオブジェクトにSimpleRotatorスクリプトをアタッチ
- プレイボタン(▶)を押して実行すると、キューブが回転するのが確認できます
これで、Unityの基本操作とC#スクリプトの基礎を理解できました。次は、これらの知識をベースにVR環境の構築を進めていきましょう。
5. VRプロジェクトのセットアップ
VR用にUnityを設定する手順
VR開発用にUnityを設定するには、いくつかの重要なステップがあります:
- プロジェクト設定の最適化:
- メニューから「Edit」→「Project Settings」を開く
- 「Quality」設定を開き、VRに適したプリセットを選択(モバイルVRの場合は低め、PCVR向けは中~高に設定)
- 「Player」設定を開き、「Other Settings」の「Color Space」を「Linear」に設定(より正確な色表現が可能)
- ビルド設定の確認:
- 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の設定
- メニューから「Edit」→「Project Settings」を開く
- 左側のリストから「XR Plugin Management」を選択
- 「Install XR Plugin Management」ボタンが表示されている場合はクリック
- 「Initialize XR on Startup」にチェックを入れる
- 「Plug-in Providers」セクションで、使用するデバイスに応じたプラグインにチェックを入れる:
- Meta Quest向けの場合は「Oculus」
- 多くのVRデバイスに対応させたい場合は「OpenXR」(推奨)
OpenXR/Meta Questなどの導入と設定
OpenXRを使用する場合の設定:
- 「XR Plugin Management」の設定画面で「OpenXR」にチェックを入れる
- 左側のリストから「OpenXR」を選択
- 「Interaction Profiles」セクションで使用するコントローラーを選択:
- Meta Quest向けの場合「Oculus Touch Controller Profile」
- Valve Index向けの場合「Valve Index Controller Profile」など
- 「Features」セクションで必要な機能にチェックを入れる:
- 「Hand Tracking Subsystem」
- 「Motion Controller Model」など
Meta Quest固有の設定(Oculus Integrationを使用する場合):
- Asset Storeから「Oculus Integration」パッケージをインポート
- メニューから「Oculus」→「Tools」→「OVR Utilities Plugin」→「Fix All」を実行
- プロジェクト設定の「Player」→「Other Settings」→「Active Input Handling」を「Both」に設定
VRカメラリグ(XR Origin)の設置
XR Interaction Toolkitを使用してVRカメラをセットアップします:
- Hierarchyで右クリック→「XR」→「XR Origin (VR)」を選択
- 作成されたXR Originには以下のコンポーネントが含まれています:
- Camera Offset: プレイヤーの物理的な高さに合わせるオフセット
- Main Camera: VRヘッドセットと連動するカメラ
- Left/Right Hand Controller: 左右のコントローラーを表す
- デフォルトのXR Originを調整する:
- XR Originを選択し、Inspectorで「Transform」の「Position」をY軸方向に1程度の値に設定(床から適切な高さに)
- 「XR Origin」コンポーネントの「Camera Y Offset」を1.6程度に設定(標準的な人の目の高さ)
- シンプルな環境を作成:
- Hierarchyで右クリック→「3D Object」→「Plane」を選択
- 作成したPlaneを選択し、「Transform」の「Scale」を(10, 1, 10)程度に設定
- 「Add Component」→「Physics Material」→「Physic Material」を追加し、摩擦などを調整
これでVR環境の基本セットアップは完了です。プレイモードで実行すると、VRヘッドセットを装着していなくても、エディタ上でVRカメラの動きをシミュレートできます。
