using UnityEngine; using System.Collections; using System.Collections.Generic; namespace com.rfilkov.kinect { public class DummyK2Interface : DepthSensorBase { public override KinectInterop.DepthSensorPlatform GetSensorPlatform() { return KinectInterop.DepthSensorPlatform.DummyK2; } //public override bool InitSensorInterface(bool bCopyLibs, ref bool bNeedRestart) //{ // bool bOnceRestarted = bNeedRestart; // bNeedRestart = false; // if (!bCopyLibs) // { // // skip this interface on the 1st pass // return bOnceRestarted; // } // return true; //} //public override void FreeSensorInterface(bool bDeleteLibs) //{ //} public override List GetAvailableSensors() { List alSensorInfo = new List(); KinectInterop.SensorDeviceInfo sensorInfo = new KinectInterop.SensorDeviceInfo(); sensorInfo.sensorId = "DummyK2"; sensorInfo.sensorName = "Dummy Kinect-v2"; sensorInfo.sensorCaps = KinectInterop.FrameSource.TypeAll & ~KinectInterop.FrameSource.TypePose; alSensorInfo.Add(sensorInfo); return alSensorInfo; } public override KinectInterop.SensorData OpenSensor(KinectInterop.FrameSource dwFlags, bool bSyncDepthAndColor, bool bSyncBodyAndDepth) { // save initial parameters base.OpenSensor(dwFlags, bSyncDepthAndColor, bSyncBodyAndDepth); List alSensors = GetAvailableSensors(); if (deviceIndex < 0 || deviceIndex >= alSensors.Count) return null; KinectInterop.SensorData sensorData = new KinectInterop.SensorData(); sensorData.colorImageWidth = 1920; sensorData.colorImageHeight = 1080; // flip color & depth images vertically sensorData.colorImageScale = new Vector3(1f, -1f, 1f); sensorData.depthImageScale = new Vector3(1f, -1f, 1f); sensorData.infraredImageScale = new Vector3(1f, -1f, 1f); sensorData.sensorSpaceScale = new Vector3(1f, 1f, 1f); sensorData.depthImageWidth = 512; sensorData.depthImageHeight = 424; Debug.Log("DummyK2-sensor opened"); return sensorData; } public override void CloseSensor(KinectInterop.SensorData sensorData) { Debug.Log("DummyK2-sensor closed"); } } }