🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
VR

VRは、「Virtual Reality」の略。「人工現実感」や「仮想現実」などの意味を持ちます。VRゴーグルなどを装着してコンピュータでつくられた三次元空間を視覚などの感覚を通じ疑似体験できるようにした技術です。

Oculus

Oculusは、 仮想現実のハードウェアなどを開発している米IT企業、およびそのVRデバイスのシリーズ。低価格で広い視野角やヘッドトラッキングが特徴のVRヘッドセット「Oculus Rift」を始め、さまざまなVRデバイスがリリースされています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

5532閲覧

OculusQuestにてリアル空間で動いた際にゲーム内でも位置が変わるようにしたい

moegimattya

総合スコア1

VR

VRは、「Virtual Reality」の略。「人工現実感」や「仮想現実」などの意味を持ちます。VRゴーグルなどを装着してコンピュータでつくられた三次元空間を視覚などの感覚を通じ疑似体験できるようにした技術です。

Oculus

Oculusは、 仮想現実のハードウェアなどを開発している米IT企業、およびそのVRデバイスのシリーズ。低価格で広い視野角やヘッドトラッキングが特徴のVRヘッドセット「Oculus Rift」を始め、さまざまなVRデバイスがリリースされています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/12/20 19:12

前提・実現したいこと

現在卒業制作でOculus QuestとUnity2020.1.10f1を使用し、初めてのVR制作を進めています。

OVRPlayerControllerを利用し、実際に動いて作品の空間内を歩き回らせたい、また、作品の大きな目的である階段を上らせたいと考えていました。しかし、作品をビルドした後、実際にリアル空間を歩いて移動すると階段のオブジェクトにめり込んでしまいます。
Oculusのコントローラーを使用すれば空間内を移動したり、階段を上ったりすることは可能でした。
どうやらリアル空間の移動の際はOVRCameraRig内のCenterEyeAnchorしか動いていない。トラッキングで上書きされているのではないか、というところまでは分かったのですが、具体的な解決方法が得られず、未だに詰まっています。どうかご教授いただけますと幸いです。

試したこと

https://teratail.com/questions/236199
こちらの質問者様と近い状態だと思い、コメント欄のサイト等を参照し試してみても状況は変わらずじまいでした。どのように解決すれば良いのか見当がついていない状態です。

補足情報(FW/ツールのバージョンなど)

Oculus Quest、unity2020.1.10f1を使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

イメージ説明
全然伝わらないと思うんですがコントローラーで動かしているわけじゃないです!
リアルで前に進んだ時に階段を上ってます

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class PositionUpdate : MonoBehaviour { 6 [SerializeField] private Transform parent; 7 [SerializeField] private Transform eyeCamera; 8 [SerializeField] private CharacterController characterController; 9 10 private Vector3 prevPos; 11 private float offset; 12 13 private void Start() { 14 prevPos = eyeCamera.position; 15 offset = (parent.position - characterController.transform.position).y; 16 } 17 18 private void Update() { 19 characterController.Move(eyeCamera.position - prevPos); 20 prevPos = eyeCamera.position; 21 22 if (!characterController.isGrounded) { 23 characterController.Move(Physics.gravity); 24 } 25 26 Vector3 pos = parent.position; 27 pos.y = characterController.transform.position.y + offset; 28 parent.position = pos; 29 } 30}

イメージ説明

上の通りに設定してもらったら動くと思います
Quest2で試していますが多分Questでも大丈夫

OVRPlayerControllerを利用し~
Oculusのコントローラーを使用すれば~

と書いてあったのでOVRPlayerControllerで使われてるCharacterControllerを利用して同じような動作をするようにしてます

初めに思いついた方法をバーっと書いたので、無駄なことをしてる、またはもっと簡単な方法があるかもしれないです

・備考
カメラはHierarchyウィンドウから作ったまま初期設定です
Position等の値は適当に変えてもたぶん大丈夫だとは思いますが検証してませんのでまずはそのままで
階段はただのCubeの塊です当たり判定は見た目通り

・環境
Unity 2019.4.11f1
Oculus Quest2
Oculus Integration Version 20.1

投稿2020/12/21 17:46

編集2020/12/21 17:53
lazh

総合スコア300

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moegimattya

2020/12/22 10:41

lazh様 画像、動画を添えていただき、とても分かりやすく丁寧なご回答、誠にありがとうございます。 確認のため同プロジェクト内にシーンを新しく設定し、lazh様に提示していただいた通りの名称・階層・オブジェクト設定で制作しビルドしてみたのですが、 ・頭を動かすとワールドごと(オブジェクトや水平線等)すべてが頭に合わせて動いてしまう。→そのため、リアル空間で動いてみても動けない。 ・ビルド前のunityエディター上ではマウスで座標を変えればParentやCharacterは問題なく移動するしトントンと階段を上がる動作もする。カメラも問題なし。 ・コンソールにエラーは出ていない。 という状況に陥っています。公式の手順に従ってOVRPlug-inManagementは導入・設定済みなのですが、unityのバージョンがあまり良くない・何か設定で足りないことがある等の問題があるのでしょうか… 補足:Oculus Integrationは同じくversion20.1でした。
lazh

2020/12/22 11:30 編集

なるほど、導入方法は2つあるみたいで自分はmoegimattyaさんとは別の以前からある方法で導入しました XRPlug-inManagementの方法で導入するとこっちでも同じように動かなくなりました なのでCameraを消して代わりにOVRCameraRigを設置、PositionUpdateのEyeCameraにはCenterEyeAnchorをアタッチで同じように動作することを確認しました 一瞬しか確認してないので他に影響あるかもしれないです
moegimattya

2020/12/23 06:11

lazh様 ご返信、検証していただき誠にありがとうございます。 ご提示の通り設定したところ無事に実機で階段を登る動作を確認いたしました…!!!positionの値等を変えても問題なく動くことを確認したため、これから実際の作品内にも組み込んでいけるよう調整を続けて参ります。 こちらの知識不足が多々あるにも関わらず、とても丁寧に教えてくださりありがとうございます。ここ何か月かこの問題で悩んでいたため本当に助かりました…!!ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問