0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Oculus Integration】開発メモ

Last updated at Posted at 2021-03-08

M1 MacでOculus Integrationを入れると落ちる場合の解決方法

Assets/Standard Assets/Oculus/Spatializer/Plugins/AudioPluginOculusSpatializer.bundle
を削除する

参考: https://forum.unity.com/threads/macbook-pro-m1-oculus-crash.1017730/

UI Interactionの方法

  • UI CanvasにOVR Raycasterコンポーネントをアタッチします。

  • UI CanvasのGraphic Raycasterコンポーネントを削除します。
    image.png

  • UI Canvasを追加した際に同時に追加された、EventSystemオブジェクトを削除します。

  • プロジェクトからUIHelperPrefabをシーンに追加します。
    image.png

  • UI HelperEventSystemにあるOVR Input ModuleコンポーネントのRay Trasformに使用するコントローラー(Right Hand AnchorまたはLeft Hand Anchor)をドラッグ&ドロップします。

  • Joy Pad Click ButtonをTrigger Buttonにしたい場合、右コントローラの場合はSecondary Index Trigger, 左コントローラーの場合はPrimary Index Triggerを設定します。
    image.png

  • もし、ポインタまでの軌跡を表示させたい場合には、UI HelperLine Rendererコンポーネントをenableにします。

Controllerを表示する (1)

Prefabsフォルダーの中のOVRControllerPrefabControllerAnchorの下に追加します。そして、対応するように、Inspector内にある項目で、ControllerL Louchまたは、R Louchを設定します。

image.png

HandControllerを表示する

Prefabsフォルダーの中のOVRCustomHandLeftLeftHandAnchorに、OVRCustomHandRightRightHandAnchorにアタッチします。
(どちらがいいのかは、わからない)

Controllerの入力を受け取る

OVRPlayerControllerOVRInputListener.csをアタッチし、そこで全てのボタンに対する操作を記述していきます。

void Update()
{
if (OVRInput.GetDown(OVRInput.RawButton.A))
{
    Debug.Log("Aボタンを押した");
}
if (OVRInput.GetDown(OVRInput.RawButton.B))
{
    Debug.Log("Bボタンを押した");
}
if (OVRInput.GetDown(OVRInput.RawButton.X))
{
    Debug.Log("Xボタンを押した");
}
if (OVRInput.GetDown(OVRInput.RawButton.Y))
{
    Debug.Log("Yボタンを押した");
}
if (OVRInput.GetDown(OVRInput.RawButton.Start))
{
    Debug.Log("左手メニューボタンを押した(オン・オフ不安定なので注意)");
}

if (OVRInput.GetDown(OVRInput.RawButton.RIndexTrigger))
{
    Debug.Log("右人差し指トリガーを押した");
}
if (OVRInput.GetDown(OVRInput.RawButton.RHandTrigger))
{
    Debug.Log("右中指グリップを押した");
}
if (OVRInput.GetDown(OVRInput.RawButton.LIndexTrigger))
{
    Debug.Log("左人差し指トリガーを押した");
}
if (OVRInput.GetDown(OVRInput.RawButton.LHandTrigger))
{
    Debug.Log("左中指グリップを押した");
}
}

Joystickで移動する

OVR Player ControllerPrefabをCameraの代わりに使用すれば、左で前後左右の移動、右で回転の動作が可能です。

Photonを用いて複数のプレイヤーと移動を同期する

Objectを掴む

Objectを掴む(遠距離)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?