UnityでVRゲーム作成 その11

その10でカメラたくさん使って別視点表示できるようになったけど実行すると別視点カメラが消えた。

 

Target Eye を Noneにしてなかったからだった

あとDepthの値も変更していなかったぽい。別視点カメラのほうのDepthの値をメインのほうのカメラより大きく設定しておかないとかぶさって見えなくなっちゃうのかな。多分値の小さいものからカメラ表示していくみたいなのかな。

UnityでVRゲーム作成 その10

カメラを画面に複数表示させる

 

こちらのサイトに書いてあった。大変助かりました

 

 

【Uniry入門】複数のカメラを同時に画面表示する方法!https://mogi0506.com/unity-camera-multiple/

 

カメラを設置して見せたい部分のところまで移動してViewport Rectの値を変更するだけでok

 

 

UnityでVRゲーム作成 その9

Display側の画面をボタンを押すことでシーン遷移する方法

その8をやっている前提

また遷移先のシーンもその8をやっていないとうまく遷移できない

 

あらかじめCanvasとButtonをつくっておく

 

①Create > Emptyで空のオブジェクトを作る

 

➁シーン遷移するC#スクリプトを作成する

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class DisplaySceneChange1 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{

}
// Update is called once per frame
void Update()
{
}
public void DisplaySceneChange()
{
Debug.Log("Go to the First");
SceneManager.LoadScene("First");
}
}

➂1でつくった空のオブジェクトに2でつくったスクリプトを張り付ける

 

④ButtonのOn Click()で以下のように変更する

左下のところには1でつくった空のオブジェクト

右のところには2で書いたクラス.メソッドを選択する

f:id:Irena:20190928134437p:plain

CanvasのGraphic Raycaster にチェックが入っているかどうか確認する。チェックが入っていないとうまくいかない

 

 

 

UnityでVRゲーム作成 その8

ディスプレイとOculus側で別の視点を映す方法

cameraを二つ用意する

カメラマンがいてそれぞれが別のステージを撮影している、みたいなイメージ

 

Oculus側のCamera

CenterEyeAnchorのInspectorにあるCamera

TargetdisplayはDisplay1 Target EyeはBoth 

 

ディスプレイのCamera

新規でcreate> cameraでつくる

Audio Listenerのチェックを外す(シーン内のマイク。これは1つのシーンに1つしか持つことができない)

TargetDisplayはDisplay1、Target EyeをNoneにする

つぎにVRmirrorSettingsというスクリプトを生成する

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class VRmirrorSettings : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
UnityEngine.XR.XRSettings.showDeviceView = false;
}

// Update is called once per frame
void Update()
{

}
}

 

 これでOculus側でディスプレイが表示されないみたい

これをアタッチして実行するとうまくいくはず

f:id:Irena:20190925234902p:plain

 

参考 引用文献

 

UnityでVRゲーム作成その5

手にハンマーを持たせる方法(右手の場合)

f:id:Irena:20190908135612j:plain

HierarchyからAvaterGrabberRightの子要素にあるr_hand_skeletal_lowres > hands:hands_geom のところにハンマーを子要素として追加する

 

ハンマーのほうにOVR Grabbable(Script)とRigidBodyとBox Colliderを追加しておいた

 

※OVR GrabbableとRigidBodyはいらないぽい

RigidBodyつけるとハンマーが重力を受けて落ちるのかな?Use Gravityのチェックを外せばいいのかな

 

ハンマーのBox ColliderのIs Triggerをtrueにする