###前提・実現したいこと
Kinectで認識した骨格の座標をUnityで使いたいのですが座標が出力されず、エラーが発生します。
座標はx,y,z全てとる予定ですがとりあえずx座標のみで試している状態です。
この状態でもKinectは動きます。
エラーは毎フレーム増えていき骨格を認識するとエラーは止まるのですが、骨格を認識しても座標を出力しないです。
###発生している問題・エラーメッセージ
NullReferenceException: Object reference not set to an instance of an object HipLeft.SerchKinectJoint () (at Assets/KinectView/Scripts/HipLeft.cs:25) HipLeft.Update () (at Assets/KinectView/Scripts/HipLeft.cs:16)
###該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class HipLeft : MonoBehaviour { 6 Transform KinectJointTransform; 7 GameObject KinectJoint; 8 // Use this for initialization 9 void Start () { 10 11 } 12 13 // Update is called once per frame 14 void Update () { 15 16 SerchKinectJoint();//16行目 17 18 } 19 20 21 22 void SerchKinectJoint() 23 { 24 GameObject KinectJoint = GameObject.Find("HipLeft"); //HipLeftは取りたい座標の名前 25 Transform KinectJointTransform = KinectJoint.transform;//25行目 26 float jointX = KinectJointTransform.position.x; 27 28 } 29 30 31}
###試したこと
NullReferenceExceptionについては調べ、開始時に”HipLeft”が見つからずにエラーが起こってしまうのを防ぐためにNullチェックをするのは理解したのですが具体的にどうすればいいのかがわかりませんでした。
また、出力するために Debug.Log があるということも知り、試してみましたが知りたい座標ではなく「HipLeft.x」と返されてしまいました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/25 03:53
2017/12/25 04:24
2017/12/25 05:01