void Start() { kinectManager = KinectManager.Instance; sensorData = kinectManager != null?kinectManager.GetSensorData(sensorIndex) : null; }
public override bool UpdateSensorData(KinectInterop.SensorData sensorData, KinectManager kinectManager, bool isPlayMode) { base.UpdateSensorData(sensorData, kinectManager, isPlayMode); if (sensorData.colorCamIntr == null && colorStreamProfile != null) { lock (colorFrameLock) { Intel.RealSense.Intrinsics colorCamIntr = colorStreamProfile.GetIntrinsics(); if (colorCamIntr.model != Distortion.None) { GetCameraIntrinsics(colorCamIntr, ref sensorData.colorCamIntr, 1); } } } if (sensorData.depthCamIntr == null && depthStreamProfile != null) { lock (depthFrameLock) { Intel.RealSense.Intrinsics depthCamIntr = depthStreamProfile.GetIntrinsics(); //Debug.Log("RS distType: " + depthCamIntr.model); if (depthCamIntr.model != Distortion.None || deviceStreamingMode == KinectInterop.DeviceStreamingMode.PlayRecording) { GetCameraIntrinsics(depthCamIntr, ref sensorData.depthCamIntr, 0); if (depthCamIntr.model == Distortion.None && deviceStreamingMode == KinectInterop.DeviceStreamingMode.PlayRecording) { // workaround for playback mode (model & coeffs are missing there) sensorData.depthCamIntr.distType = KinectInterop.DistortionType.BrownConrady; } // body & body-index data if ((frameSourceFlags & KinectInterop.FrameSource.TypeBody) != 0) { Debug.LogWarning("Body tracking is not supported for RealSense sensors!"); //if(depthCamIntr.width == 640 && depthCamIntr.height == 480) //{ // Calibration cal = GetBodyTrackerCalibration(sensorData.depthCamIntr); // InitBodyTracking(frameSourceFlags, sensorData, cal, true); // if (isSyncBodyAndDepth && bodyTracker == null) // { // // don't sync body and depth if the body tracker can't be created // isSyncBodyAndDepth = false; // } //} } } } } if (sensorData.depth2ColorExtr == null && depthStreamProfile != null && colorStreamProfile != null) { lock (depthFrameLock) { lock (colorFrameLock) { Intel.RealSense.Extrinsics depth2ColorExtr = depthStreamProfile.GetExtrinsicsTo(colorStreamProfile); GetCameraExtrinsics(depth2ColorExtr, ref sensorData.depth2ColorExtr); } } } if (sensorData.color2DepthExtr == null && colorStreamProfile != null && depthStreamProfile != null) { lock (colorFrameLock) { lock (depthFrameLock) { Intel.RealSense.Extrinsics color2DepthExtr = colorStreamProfile.GetExtrinsicsTo(depthStreamProfile); GetCameraExtrinsics(color2DepthExtr, ref sensorData.color2DepthExtr); } } } return(true); }