Как отследить конкретное движение с помощью kinect v2 - PullRequest
0 голосов
/ 02 ноября 2019

Я сделал проект единства, в котором я заставляю объект следовать движению сустава, который я выбрал (например, правая рука), но теперь я хочу, чтобы он двигался только тогда, когда я делаю определенное движение (например, для подъема образца)вся моя рука), но я не знаю, что мне следует изменить?

вот что у меня сейчас:

public class DetectJoints : MonoBehaviour
{

      public GameObject BodySrcManager;
      public JointType TrackedJoint;
      private BodySourceManager bodyManager;
      private Body[] bodies;
      public float multiplier = 10f;

      // Start is called before the first frame update
      void Start()
      {

          if (BodySrcManager == null)
          {
              Debug.Log("Assign Game Object with Body Source Manager");
          }
          else
          {
              bodyManager = BodySrcManager.GetComponent<BodySourceManager>();
          }

      }

      // Update is called once per frame
      void Update()
      {
          if(bodyManager == null)
          {
              return;
          }
          bodies = bodyManager.GetData();

          if (bodies == null)
          {
              return;
          }
          foreach(var body in bodies)
          {
              if (body == null)
              {
                  continue;
              }

              if (body.IsTracked)
              {
                  var pos = body.Joints[TrackedJoint].Position;
                  gameObject.transform.position = new Vector3(pos.X * multiplier, pos.Y * multiplier);

              }
          }
      }
}
...