前提
現在、unityでVive SRanipalRuntime Plugin を使用して視線を解析しようとしています。
実現したいこと
Vive SRanipalRuntime Plugin というSDKを使用して視線を解析後
座標を取得したいのですがエラーが出てしまいます。
発生している問題・エラーメッセージ
NullReferenceException: Object reference not set to an instance of an object ViveSR.anipal.Eye.SRanipal_Eye.Focus (ViveSR.anipal.Eye.GazeIndex index, UnityEngine.Ray& ray, ViveSR.anipal.Eye.FocusInfo& focusInfo, System.Single radius, System.Single maxDistance, System.Int32 focusableLayer, ViveSR.anipal.Eye.EyeData eye_data) (at Assets/ViveSR/Scripts/Eye/SRanipal_Eye.cs:593) ViveSR.anipal.Eye.SRanipal_Eye.Focus (ViveSR.anipal.Eye.GazeIndex index, UnityEngine.Ray& ray, ViveSR.anipal.Eye.FocusInfo& focusInfo, ViveSR.anipal.Eye.EyeData eye_data) (at Assets/ViveSR/Scripts/Eye/SRanipal_Eye.cs:785) ViveSR.anipal.Eye.SRanipal_Eye.Focus (ViveSR.anipal.Eye.GazeIndex index, UnityEngine.Ray& ray, ViveSR.anipal.Eye.FocusInfo& focusInfo) (at Assets/ViveSR/Scripts/Eye/SRanipal_Eye.cs:805) ViveSR.anipal.Eye.VIVE_eye.Update () (at Assets/Scripts/VIVE_eye.cs:225)
該当のソースコード
文字数の関係ですべて載せられないため一部抜粋 bool valid = GetGazeRay(index, out ray, eye_data); if (valid) { Ray rayGlobal = new Ray(Camera.main.transform.position, Camera .main .transform .TransformDirection(ray.direction)); RaycastHit hit; if (radius == 0) valid = Physics .Raycast(rayGlobal, out hit, maxDistance, focusableLayer); else valid = Physics .SphereCast(rayGlobal, radius, out hit, maxDistance, focusableLayer); focusInfo = new FocusInfo { point = hit.point, normal = hit.normal, distance = hit.distance, collider = hit.collider, rigidbody = hit.rigidbody, transform = hit.transform };
試したこと
エラーの意味はおそらくソースコードの中の
Camera.main
がnullになってしまっているといったエラーなのかなと思っています。
これを解決するために調べたところTagのMain Cameraをシーンのカメラに設定すれば解決されている方が多かったのですがそれを設定しても解決に至りません。
タグがだめならという事でオブジェクト名などでメインカメラを取得しようとしましたが
MissingComponentException: There is no 'Camera' attached to the "camera" game object, but a script is trying to access it. You probably need to add a Camera to the game object "camera". Or your script needs to check if the component is attached before using it.
このようなエラーが出てしまいうまくいきませんでした。
分かる方、お力をお貸しください。
どうぞよろしくお願いいたします。
あなたの回答
tips
プレビュー