前提・実現したいこと
オキュラスクエスト2の加速度を使ってゲームを作ろうとしているものです。VRで加速度を使って移動を見てこれを試しにやってみました。ですがPlayerCameraのところがエラーになってしまいます。もし解決できる方がいれば教えていただけると助かります。
発生している問題・エラーメッセージ
CS0103 現在のコンテキストに 'PlayerCamera' という名前は存在しません。 Assembly-CSharp C:\VR9 Daruma-san\Assets\PlayerMove.cs 40
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class PlayerMove : MonoBehaviour { OVRInput.Controller LeftCon; OVRInput.Controller RightCon; Rigidbody rd; public Text R; public Text L; // Use this for initialization // Start is called before the first frame update void Start() { LeftCon = OVRInput.Controller.LTouch; RightCon = OVRInput.Controller.RTouch; rd = GetComponent<Rigidbody>(); } // Update is called once per frame void Update() { Vector3 accLeft = OVRInput.GetLocalControllerAcceleration(LeftCon); Vector3 accRight = OVRInput.GetLocalControllerAcceleration(RightCon); R.text = accLeft.y.ToString(); L.text = accRight.y.ToString(); float walkSpeed = 10; float moveSpeed; moveSpeed = accLeft.y + accRight.y; if (moveSpeed <= -walkSpeed || moveSpeed >= walkSpeed) { var moveDirect = PlayerCamera.transform.rotation.eulerAngles.y; var moveQuate = Quaternion.Euler(0, moveDirect, 0); rd.AddForce((moveQuate * Vector3.forward).normalized); } } }
試したこと
public GameObject PlayerCamera;や、
public Camera PlayerCamera;
を入れたりPlayerCamera のところを消してみたりしましたが動きませんでした。
PlayerCamera エラーなどでも調べてみましたがそれらしいものが見つかりませんでした。
補足情報(FW/ツールのバージョンなど)
Unity 2020.3.4f1
コードを見た感じだとコードにpublic GameObject PlayerCamera;を追加して、インスペクタでOVRCameraRig>TrackingSpace>CenterEyeAnchorとかを設定すれば動きそうな感じがしますが、駄目でしょうか?
前提条件がわからないので憶測なのですが
"PlayerCamera"という名前のクラスがないのが原因かと・・・
VRで加速度を使って移動を拝見しましたがPlayerCameraがどこから出てきたのかわかりません。
https://prgrm.work/archives/760
↑このブログでは独自にクラスを定義していましたのでPlayerCameraクラスを定義する必要があるのかなと
回答ありがとうございます。試してみたところ動かすことが出来ませんでした。public GameObject PlayerCamera;インスペクタでその通りに設定しました。ほかにもpublic Camera PlayerCamera;も試してみたのですがそれもできませんでした。何かほかに解決方法はありますでしょうか。
あなたの回答
tips
プレビュー