YokosukaRio のすべての投稿

YokosukaRio について

破壊力 - C / スピード - B / 射程距離 - A / 持続力 - A / 精密動作性 - E / 成長性 - C

VRリモコンでのSceneの切り替え方

卒論 横須賀20241129発表

Quest2または、Quest3(ここではQuest2ということにしますが手順は同じです)のAボタンやBボタンでUnityのSceneを切り替える方法をわかりやすく説明します。以下の手順で進めてみてください。


1. 必要なパッケージをインストールする

Oculus Quest 2でボタン操作を認識するには、UnityにOculus IntegrationやXR Interaction Toolkitが必要です。

手順

  1. Unity Hubでプロジェクトを作成
    ・テンプレートを「3D」か「URP」に設定してください。
  2. Oculus Integrationをインポート
    ・UnityのAsset Storeで「Oculus Integration」を検索し、インポートします。
  3. XR Interaction Toolkitをインポート
    ・Unity Package Managerを開き、「XR Interaction Toolkit」をインポートします。 ・プロジェクト設定で「XR Plugin Management」を有効化し、Oculusを選択します。

XR Interaction ToolkitはUnityの公式パッケージで、Unity Package Managerから簡単にインストールできます。以下の手順で確認してください。

Unity Package Managerを開く

  1. Unityの上部メニューから**「Window > Package Manager」**をクリックします。

パッケージを表示する設定を変更

  1. 左上のプルダウンメニューで**「Unity Registry」**を選択します。
    • デフォルトでは「In Project」になっているため、Unityが提供しているすべてのパッケージを表示するための変更です。

「XR Interaction Toolkit」を検索

  1. 検索バーに**「XR Interaction Toolkit」**と入力します。
  2. パッケージがリストに表示されます。

インストールする

  1. 「XR Interaction Toolkit」を選択し、右下の**「Install」**ボタンをクリックします。

サポートライブラリのインストー

インストール中に「Input Systemを使用するかどうか」のポップアップが出た場合は、**「Yes」**を選んでプロジェクトを再起動してください。

これで「XR Interaction Toolkit」がインストールされ、Oculus Quest 2の操作やインタラクション機能が利用できるようになります。


2. Oculusのボタン入力を取得する準備をする

Oculusのボタン入力は、UnityのOVRinputクラスを使って取得します。

手順

  1. Oculus Interaction Prefabをシーンに配置する
    ・OVRCameraRig をシーンにドラッグ&ドロップします。
  2. スクリプトを作成する
    次のスクリプトを作成してScene切り替えの処理を実装します。

3. スクリプトを実装する

以下の手順でスクリプトを設定してください。

  1. スクリプトを作成する UnityのAssetsフォルダで右クリックして「Create > C# Script」を選択し、スクリプト名を「SceneSwitcher」にします。
  2. コードを記述する 次のコードをスクリプトに貼り付けます。

using UnityEngine;
using UnityEngine.SceneManagement; // シーン管理用
public class SceneSwitcher : MonoBehaviour
{
void Update()
{
// AボタンでScene1に切り替え
if (OVRInput.GetDown(OVRInput.Button.One))
{
SceneManager.LoadScene(“Scene1”);
}
// BボタンでScene2に切り替え if (OVRInput.GetDown(OVRInput.Button.Two)) { SceneManager.LoadScene(“Scene2”); } } }

  1. スクリプトを適用する 作成したスクリプトを任意のオブジェクト(例えばOVRCameraRig)にドラッグ&ドロップしてアタッチします。

    4. Sceneを準備する
    Unityで切り替えたいシーンを作成し、それぞれ名前を「Scene1」「Scene2」とします。
    Unityの「File > Build Settings」を開く。
    「Scenes In Build」に切り替えたいシーンを追加します。Scene1を先に追加し、次にScene2を追加します。

    5. ビルドしてQuest 2でテスト
    「File > Build Settings」からプラットフォームを「Android」に変更し、Quest 2に適したビルド設定を行います。
    ビルドしてQuest 2にインストール。
    実機でAボタンとBボタンを押してSceneが切り替わるか確認します。

    これで、Quest 2のAボタンやBボタンを使ってシーンを切り替える仕組みが完成です。

以下はXR Interaction Toolkitをインストールした際にでる忠告とその説明。

このメッセージは、XR Interaction Toolkitをインストールまたはアップデートした際に出る通知です。この通知は、古いプロジェクトや設定が新しいInteraction Layer Maskに適合するように変更されることを伝えています。このような表示が出た場合、以前からこのプロジェクトを使っていてXR Interaction Toolkitをアップデートした場合は、「I Made a Backup, Go Ahead!」を選んで設定を更新してください。これに当てはまらない場合は「No Thanks」で大丈夫です。

このメッセージは、Spatializer Pluginのアップグレードが完了したため、Unityエディターを再起動して更新を反映させる必要があることを示しています。

作業中の内容を保存している場合:
Restart」をクリックしてUnityエディターを再起動してください。

作業中の内容をまだ保存していない場合:
Not Now」を選んでプロジェクトを保存してから、手動でUnityエディターを再起動してください。

おしまい

blenderで草生やしてみた

全部説明すると長くなるので簡単に

1:shift+Aでメッシュから平面を生成

2:プロパティウィンドウからパーティクルを選択して右上の+ボタンを押す。

3:ヘアーを選択。長さを短くして、数を増やす。

4:マテリアルを選択しベースカラーを緑にする。

完成です。