趣舎万殊

気になった事や備忘録として残しておきたい事をざっくばらんに書いています。

趣舎万殊

気になった事や備忘録として残しておきたい事をざっくばらんに書いています。

最近の記事

Unity Editor上での動作確認 (Windows Only)

Windowsでは、Quest Linkが使用できるのでヘッドセットを被ることなく、Unity Editor上で開発中のVRプログラムを動作させることができます。( Quest Linkをmacにも対応させて欲しい… ) 最終的な動作確認は、ヘッドセットを被って行う必要があるものの、開発途中のちょっとした確認をUnity Editor上で行えるのは、大変便利です。 環境Unityバージョン:Unity 2022.3.13f1 XR Interaction Toolkit:2

    • XR Interaction Toolkit 2.0が出ていた

      XR Interaction Toolkit 2.0で変更点が大きいとのツイートを見たので、確認してみました。 変更履歴を確認すると現在の最新バージョンは、2.0.0-pre.5で、2021/11/17にリリースされていました。 変更点が大きいのが、2021/11/09にリリースされた2.0.0-pre.3でXR Rigが非推奨となり代わりにXR Originを使用するようになっていました。 2.0は、2021/10/22にリリースされた2.0.0-pre.1が、最初のような

      • VRアバターを作ってみる ( VR編 )

        前回は、モデルに対して腕や頭を動かす仕組み(リギング)の設定を行いました。今回は、VR用の設定、スクリプトの作成を行い、実機(Oculus Quest2)にて動作させます。「VRアバターを作ってみる」の最終回になります。 環境Unityバージョン:2021.1.21f1 XR Interaction Toolkit:1.0.0-pre.6 Animation Rigging:1.0.3 Oculus Quest2:v32 ソフトウェア VR用の設定VRとして動かすための設

        • VRアバターを作ってみる ( リギング編 )

          前回は、VRアバターとなるモデルと実際に動かした時に確認できる鏡の用意までしました。今回は、モデルに対して腕や頭を動かす仕組み(リギング)を設定します。 リギングにはAnimation Riggingを使用し、設定に従って動作する事を確認します。 環境Unityバージョン:2021.1.21f1 XR Interaction Toolkit:1.0.0-pre.6 Animation Rigging:1.0.3 Oculus Quest2:v32 ソフトウェア モデルの設

          VRアバターを作ってみる ( 準備編 )

          VR空間上に自身を表現するモデルを配置し、VRヘッドセットやハンドコントローラーの動きに応じて動かす、VRアバター的なものを作成してみます。 VRのライブラリは、XR Interaction Toolkitを使用し、モデルを動かす仕組み(リギング)は、比較的最近(2020年6月)正式版になったAnimation Riggingを使用します。 モデルは、Unity公式のアセットとして無料でダウンロードできる「Space Robot Kyle」を使用します。 長くなりそうなので、

          VRアバターを作ってみる ( 準備編 )

          XR Interaction ToolkitでUIを使用する

          VR空間上に、ボタンやチェックボックス、テキストなどのUI部品を配置して、PCアプリケーションのような入力を可能にします。UI部品自体は、Unityに用意されているものを利用します。XR Interaction Toolkitでは、UI部品を貼り付けるCanvasとして、XR用のものが用意されているので、これを使用してUI部品を貼り付けます。 ボタン、チェックボックス、スクロールバーを用意して、入力に応じてキューブを操作するプログラムを作成します。 環境Unityバージョン

          XR Interaction ToolkitでUIを使用する

          XR Interaction ToolkitとInput System

          これまでの記事では、XR Interaction Toolkitでコントローラーを使用する場合、Action-basedのInput Systemを使用し、サンプルで用意されているアクションのマッピング(ActionMap)を適用してきました。 Input Systemは、ActionMapを用意しなくても使用できるので、ActionMapを使用しない方法と独自のActionMapを作成して使用する方法で、ハンドコントローラーからの入力を処理してみます。 環境Unityバー

          XR Interaction ToolkitとInput System

          XR Interaction Toolkitでコントローラーを振動させる

          仮想空間上の物体に触ったり、コントローラーのトリガーボタンやグリップボタンなどを押下した時に、手応えがあるとより没入感が高まります。 この手応えを表現する方法として、Oculus Questでは、コントローラーを振動させる事ができます。 コントローラーを振動させるには、振動を発生させるイベント(物体と接触した、ボタンが押下された等)に対して、振動するようにスクリプトを作成します。 具体的には、XR Grab Interacableコンポーネントに定義されているイベントに対して

          XR Interaction Toolkitでコントローラーを振動させる

          XR Interaction Toolkitで物を直接掴む

          仮想空間上の物体にコントローラーを近づけて、直接掴めるようにします。前回と同様に掴まれる物体には、XR Grab Interacableコンポーネントを設定し、コントローラーには直接掴めるようにする為のXR Direct Interactorコンポーネントを設定します。 さらに、コントローラーに対して物体に接触している事を判定する為にコライダーを設定し、物体と接触している事が見た目で分かるようにモデルを設定します。 環境Unityバージョン:2020.3.12f1 XR I

          XR Interaction Toolkitで物を直接掴む

          XR Interaction Toolkitで指定した物を掴む

          コントローラーが示した物体を掴めるようにします。コントローラーで掴めるようにするには、掴まれる物体にXR Grab Interacableコンポーネント、コントローラーにXR Ray Interactor又はXR Direct Interactorコンポーネントを設定する必要があります。 XR Ray Interactorは、コントローラーから線(Ray)を伸ばして線が当たった対象を掴みます。XR Direct Interactorは、コントローラーが当たったものを掴みます。

          XR Interaction Toolkitで指定した物を掴む

          XR Interaction Toolkitでコントローラーを表示する

          Unityが提供しているXR Interaction Toolkitを使用して、コントローラーを表示します。 Oculus Integrationでは、OVRPlayerControllerにコントローラーのモデルが付属しており、デフォルトで設定済みなので、OVRPlayerControllerを使用する事で、特に意識せずに表示されます。 しかし、XR Interaction Toolkitでは、コントローラーのモデルが付属していないので、自前でモデルを用意し設定しないと表示

          XR Interaction Toolkitでコントローラーを表示する

          XR Interaction Toolkitでテレポートする

          Unityが提供しているXR Interaction Toolkitを使用して、コントローラーのグリップのボタンを使用してテレポートできるようにします。 テレポート先を作成し、コントローラーから伸びる線(Ray)を当てる事で、テレポート先を指定、グリップのボタンを押下する事でテレポートします。 テレポート先が選択されているかどうかは、Rayの色(赤から白)で判断します。 前回の連続的に視界が変化する平行移動は、VR酔いをしやすいですが、瞬時に視界が変わるテレポートでの移動は、

          XR Interaction Toolkitでテレポートする

          XR Interaction Toolkitで移動する

          Unityが提供しているXR Interaction Toolkitを使用して、コントローラーのスティックを使用して移動ができるようにします。 Unityのキーボードやマウス、コントローラーなどからの入力を受け付ける仕組みとして、Device-basedのInput ManagerとAction-basedのInput Systemの二つがあります。Action-baseの方は、最近できたもので、デバイス間の差異を吸収できるように抽象度が上がっており、デバイスの入力とプログラ

          XR Interaction Toolkitで移動する

          XR Interaction Toolkitを使用してみる

          Oculus Quest2上で、VRプログラムを作成する為のツールとして、Oculusから提供されているOculus Integrationの他にも、MRTK(Mixed Reality Toolkit)やVRTK(Virtual Reality Toolkit)などがあります。 ここでは、Unityが提供しているXR Interaction Toolkitを使用してみます。まだ、プレビュー版ですが、趣味で使用する分には、問題ないかと思います。 環境Unityバージョン:2

          XR Interaction Toolkitを使用してみる

          Oculus Quest2で自作プログラムを動かす最初の一歩

          Oculus Quest2上で自作のプログラムを作成して動かしてみます。 プログラムの内容は、キューブ(正六面体)をVRヘッドセッドから通して眺めるだけの簡単なものです。Oculusから提供されているOculus Integrationを使用する事で、1行のコードも記述する事なく、実現する事ができます。 開発環境の設定に関しては、Oculus開発者公式ページに記載されていますので参考にしてください。 環境Unityバージョン:2020.3.6f1 Oculus Integr

          Oculus Quest2で自作プログラムを動かす最初の一歩

          Oculus QuestにWi-Fiでアクセスする方法

          Unityなどで開発したVRアプリをOculus Questにインストールする場合、開発機とUSBで接続する方法が一般的ですが、Android Device Bridge(ADB)を使用する事で、Wi-Fi経由でインストールする事が可能になります。実機確認時の有線の煩わしさから解放されます。 adbコマンドについてWi-Fi経由のADBの接続方法については、Oculus開発者用のドキュメントに説明されています。 adbコマンド自体は、Android SDK Platform

          Oculus QuestにWi-Fiでアクセスする方法