コード例 #1
0
ファイル: trackJoint.cs プロジェクト: Toshbrown/MirrorScene
 // Use this for initialization
 void Start()
 {
     KinectAndScreen = GameObject.Find("KinectAndScreen");
     KBM             = KinectAndScreen.GetComponent <KinectBodyManager>();
     origScale       = gameObject.transform.localScale;
     correctedPos    = gameObject.transform.position;
 }
コード例 #2
0
ファイル: getFaceMesh.cs プロジェクト: Toshbrown/MirrorScene
    void Start()
    {
        controller      = GameObject.Find("Controller").GetComponent <Controller>();
        KinectAndScreen = GameObject.Find("KinectAndScreen");
        KBM             = KinectAndScreen.GetComponent <KinectBodyManager>();

        Face = new Mesh();
        Face.MarkDynamic();
    }
コード例 #3
0
    public virtual void Start()
    {
        bodyManager = FindObjectOfType <KinectBodyManager>();
        appManager  = FindObjectOfType <ApplicationManager>();

        // start audio effects at 0
        if (soundEffect != null)
        {
            soundEffect.volume = 0;
        }

        startTime = Time.time;
    }
コード例 #4
0
    // Update is called once per frame
    void Update()
    {
        if (BodySourceManager == null)
        {
            return;
        }

        _BodyManager = BodySourceManager.GetComponent <KinectBodyManager>();
        if (_BodyManager == null)
        {
            return;
        }

        Kinect.Body[] data = _BodyManager.GetData();
        if (data == null)
        {
            return;
        }

        List <ulong> trackedIds = new List <ulong>();

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

            if (body.IsTracked)
            {
                trackedIds.Add(body.TrackingId);
            }
        }

        List <ulong> knownIds = new List <ulong>(_Bodies.Keys);

        // First delete untracked bodies
        foreach (ulong trackingId in knownIds)
        {
            if (!trackedIds.Contains(trackingId))
            {
                Destroy(_Bodies[trackingId]);
                _Bodies.Remove(trackingId);
            }
        }

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

            if (body.IsTracked)
            {
                if (!_Bodies.ContainsKey(body.TrackingId))
                {
                    _Bodies[body.TrackingId] = CreateBodyObject(body.TrackingId);
                }

                RefreshBodyObject(body, _Bodies[body.TrackingId]);
            }
        }
    }