private void InitializeSensor() { //if (bodyTracking) //{ // depth = true; //} switch (trackingSDK) { case Voxar.TrackingSDK.Astra: var controller = gameObject.AddComponent <AstraController>(); controller._shouldEnableColor = rgb; controller._shouldEnableDepth = depth; controller._shouldEnableBody = bodyTracking; controller.depthResolution = depthResolution; controller.rgbResolution = rgbResolution; source = new AstraSource(rgbResolution, depthResolution, numberOfBodies); controller.NewBodyFrameEvent.AddListener(source.OnNewBodyFrame); controller.NewColorFrameEvent.AddListener(source.OnNewRGBFrame); controller.NewDepthFrameEvent.AddListener(source.OnNewDepthFrame); break; case Voxar.TrackingSDK.Kinect: KinectController kinectController = gameObject.AddComponent <KinectController>(); source = new KinectSource(rgbResolution, depthResolution, numberOfBodies); kinectController.OnNewBodyFrame.AddListener(source.OnNewBodyFrame); kinectController.OnNewColorFrame.AddListener(source.OnNewRGBFrame); kinectController.OnNewDepthFrame.AddListener(source.OnNewDepthFrame); break; default: Debug.Log("SDK NOT SUPPORTED"); break; } if (bodyTracking) { foreach (var receiver in bodyReceivers) { source.AddBodyReceiver(receiver.GetComponent <IReceiver <BodyJoints[]> >()); } } if (rgb) { foreach (var receiver in rgbReceivers) { source.AddRGBReceiver(receiver.GetComponent <IImageReceiver <Texture2D> >()); } } if (depth) { foreach (var receiver in depthReceivers) { source.AddDepthReceiver(receiver.GetComponent <IImageReceiver <Texture2D> >()); } } }