change infrared to depth
This commit is contained in:
parent
29ea4ec5cf
commit
b0fd65e156
3 changed files with 79 additions and 30 deletions
|
@ -497,6 +497,18 @@ MonoBehaviour:
|
||||||
enableFptlForForwardOpaque: 0
|
enableFptlForForwardOpaque: 0
|
||||||
enableBigTilePrepass: 0
|
enableBigTilePrepass: 0
|
||||||
isFptlEnabled: 0
|
isFptlEnabled: 0
|
||||||
|
--- !u!114 &671764822 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 946191388, guid: 367ac1ecba1e2584c816e0372e8d9b31,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 880921870}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c0603bf64edb4c8885cefbc40ee206fe, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1001 &880921870
|
--- !u!1001 &880921870
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -564,10 +576,45 @@ PrefabInstance:
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6724733047624778891, guid: 367ac1ecba1e2584c816e0372e8d9b31,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: depthFrameReceived.m_PersistentCalls.m_Calls.Array.size
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6724733047624778891, guid: 367ac1ecba1e2584c816e0372e8d9b31,
|
- target: {fileID: 6724733047624778891, guid: 367ac1ecba1e2584c816e0372e8d9b31,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: skeleton
|
propertyPath: skeleton
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6724733047624778891, guid: 367ac1ecba1e2584c816e0372e8d9b31,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: depth
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6724733047624778891, guid: 367ac1ecba1e2584c816e0372e8d9b31,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: depthFrameReceived.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6724733047624778891, guid: 367ac1ecba1e2584c816e0372e8d9b31,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: depthFrameReceived.m_PersistentCalls.m_Calls.Array.data[0].m_CallState
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6724733047624778891, guid: 367ac1ecba1e2584c816e0372e8d9b31,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: depthFrameReceived.m_PersistentCalls.m_Calls.Array.data[0].m_Target
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 671764822}
|
||||||
|
- target: {fileID: 6724733047624778891, guid: 367ac1ecba1e2584c816e0372e8d9b31,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: depthFrameReceived.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
|
||||||
|
value: OnTextureReceived
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6724733047624778891, guid: 367ac1ecba1e2584c816e0372e8d9b31,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: depthFrameReceived.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName
|
||||||
|
value: UnityEngine.Object, UnityEngine
|
||||||
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 367ac1ecba1e2584c816e0372e8d9b31, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 367ac1ecba1e2584c816e0372e8d9b31, type: 3}
|
||||||
|
|
|
@ -150,12 +150,12 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 5b54a31bc1a14c1abb51fe86c56c6227, type: 3}
|
m_Script: {fileID: 11500000, guid: 5b54a31bc1a14c1abb51fe86c56c6227, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
infrared: 1
|
depth: 1
|
||||||
infraredFrameReceived:
|
depthFrameReceived:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls:
|
m_Calls:
|
||||||
- m_Target: {fileID: 583502371}
|
- m_Target: {fileID: 238320197}
|
||||||
m_MethodName: OnTextureReceived
|
m_MethodName: OnInfraredFrameReceived
|
||||||
m_Mode: 0
|
m_Mode: 0
|
||||||
m_Arguments:
|
m_Arguments:
|
||||||
m_ObjectArgument: {fileID: 0}
|
m_ObjectArgument: {fileID: 0}
|
||||||
|
@ -165,8 +165,8 @@ MonoBehaviour:
|
||||||
m_StringArgument:
|
m_StringArgument:
|
||||||
m_BoolArgument: 0
|
m_BoolArgument: 0
|
||||||
m_CallState: 2
|
m_CallState: 2
|
||||||
- m_Target: {fileID: 238320197}
|
- m_Target: {fileID: 583502371}
|
||||||
m_MethodName: OnInfraredFrameReceived
|
m_MethodName: OnTextureReceived
|
||||||
m_Mode: 0
|
m_Mode: 0
|
||||||
m_Arguments:
|
m_Arguments:
|
||||||
m_ObjectArgument: {fileID: 0}
|
m_ObjectArgument: {fileID: 0}
|
||||||
|
@ -1292,6 +1292,7 @@ VFXRenderer:
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
- {fileID: 0}
|
- {fileID: 0}
|
||||||
|
- {fileID: 0}
|
||||||
m_StaticBatchInfo:
|
m_StaticBatchInfo:
|
||||||
firstSubMesh: 0
|
firstSubMesh: 0
|
||||||
subMeshCount: 0
|
subMeshCount: 0
|
||||||
|
|
|
@ -7,13 +7,13 @@ using UnityEngine.Events;
|
||||||
|
|
||||||
namespace cylvester
|
namespace cylvester
|
||||||
{
|
{
|
||||||
[Serializable] public class UnityInfraredCameraEvent : UnityEvent<Texture2D>{ }
|
[Serializable] public class UnityDepthCameraEvent : UnityEvent<Texture2D>{ }
|
||||||
[Serializable] public class UnitySkeletonEvent : UnityEvent<Body, int>{ }
|
[Serializable] public class UnitySkeletonEvent : UnityEvent<Body, int>{ }
|
||||||
|
|
||||||
public class KinectManagerBehaviour : MonoBehaviour
|
public class KinectManagerBehaviour : MonoBehaviour
|
||||||
{
|
{
|
||||||
[SerializeField] private bool infrared;
|
[SerializeField] private bool depth;
|
||||||
[SerializeField] public UnityInfraredCameraEvent infraredFrameReceived;
|
[SerializeField] public UnityDepthCameraEvent depthFrameReceived;
|
||||||
|
|
||||||
[SerializeField] private bool skeleton;
|
[SerializeField] private bool skeleton;
|
||||||
[SerializeField] public UnitySkeletonEvent skeletonDataReceived;
|
[SerializeField] public UnitySkeletonEvent skeletonDataReceived;
|
||||||
|
@ -21,15 +21,15 @@ namespace cylvester
|
||||||
[SerializeField, Range(1, 6)] private int numberOfBodiesTobeTracked = 2;
|
[SerializeField, Range(1, 6)] private int numberOfBodiesTobeTracked = 2;
|
||||||
|
|
||||||
private KinectSensor sensor_;
|
private KinectSensor sensor_;
|
||||||
private InfraredFrameReader infraredFrameReader_;
|
private DepthFrameReader depthFrameReader_;
|
||||||
private BodyFrameReader bodyFrameReader_;
|
private BodyFrameReader bodyFrameReader_;
|
||||||
private BodyIndexFrameReader bodyIndexFrameReader_;
|
private BodyIndexFrameReader bodyIndexFrameReader_;
|
||||||
|
|
||||||
private ushort [] irData_;
|
private ushort [] depthData_;
|
||||||
private Texture2D infraredTexture_;
|
private Texture2D depthTexture_;
|
||||||
private Body[] bodies_;
|
private Body[] bodies_;
|
||||||
|
|
||||||
private EventHandler<InfraredFrameArrivedEventArgs> onInfraredFrameArrived_;
|
private EventHandler<DepthFrameArrivedEventArgs> onDepthFrameArrived_;
|
||||||
private EventHandler<BodyFrameArrivedEventArgs> onBodyFrameArrived_;
|
private EventHandler<BodyFrameArrivedEventArgs> onBodyFrameArrived_;
|
||||||
private EventHandler<BodyIndexFrameArrivedEventArgs> onBodyIndexFrameArrived_;
|
private EventHandler<BodyIndexFrameArrivedEventArgs> onBodyIndexFrameArrived_;
|
||||||
private BodyHolder trackedBodies_;
|
private BodyHolder trackedBodies_;
|
||||||
|
@ -40,7 +40,7 @@ namespace cylvester
|
||||||
if (sensor_ == null)
|
if (sensor_ == null)
|
||||||
throw new IOException("cannot find Kinect Sensor ");
|
throw new IOException("cannot find Kinect Sensor ");
|
||||||
|
|
||||||
InitInfraredCamera();
|
InitDepthCamera();
|
||||||
InitSkeletonTracking();
|
InitSkeletonTracking();
|
||||||
|
|
||||||
if (!sensor_.IsOpen)
|
if (!sensor_.IsOpen)
|
||||||
|
@ -49,38 +49,39 @@ namespace cylvester
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitInfraredCamera()
|
private void InitDepthCamera()
|
||||||
{
|
{
|
||||||
infraredFrameReader_ = sensor_.InfraredFrameSource.OpenReader();
|
|
||||||
var frameDesc = sensor_.InfraredFrameSource.FrameDescription;
|
|
||||||
irData_ = new ushort[frameDesc.LengthInPixels];
|
|
||||||
infraredTexture_ = new Texture2D(frameDesc.Width, frameDesc.Height, TextureFormat.R16, false);
|
|
||||||
|
|
||||||
onInfraredFrameArrived_ = (frameReader, eventArgs) =>
|
depthFrameReader_ = sensor_.DepthFrameSource.OpenReader();
|
||||||
|
var frameDesc = sensor_.DepthFrameSource.FrameDescription;
|
||||||
|
depthData_ = new ushort[frameDesc.LengthInPixels];
|
||||||
|
depthTexture_ = new Texture2D(frameDesc.Width, frameDesc.Height, TextureFormat.R16, false);
|
||||||
|
|
||||||
|
onDepthFrameArrived_ = (frameReader, eventArgs) =>
|
||||||
{
|
{
|
||||||
if(!infrared)
|
if(!depth)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
using (var infraredFrame = eventArgs.FrameReference.AcquireFrame())
|
using (var depthFrame = eventArgs.FrameReference.AcquireFrame())
|
||||||
{
|
{
|
||||||
if (infraredFrame == null)
|
if (depthFrame == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
infraredFrame.CopyFrameDataToArray(irData_);
|
depthFrame.CopyFrameDataToArray(depthData_);
|
||||||
unsafe
|
unsafe
|
||||||
{
|
{
|
||||||
fixed (ushort* irDataPtr = irData_)
|
fixed (ushort* irDataPtr = depthData_)
|
||||||
{
|
{
|
||||||
infraredTexture_.LoadRawTextureData((IntPtr) irDataPtr, sizeof(ushort) * irData_.Length);
|
depthTexture_.LoadRawTextureData((IntPtr) irDataPtr, sizeof(ushort) * depthData_.Length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
infraredTexture_.Apply();
|
depthTexture_.Apply();
|
||||||
}
|
}
|
||||||
infraredFrameReceived.Invoke(infraredTexture_);
|
depthFrameReceived.Invoke(depthTexture_);
|
||||||
|
|
||||||
};
|
};
|
||||||
infraredFrameReader_.FrameArrived += onInfraredFrameArrived_;
|
depthFrameReader_.FrameArrived += onDepthFrameArrived_;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitSkeletonTracking()
|
private void InitSkeletonTracking()
|
||||||
|
@ -137,7 +138,7 @@ namespace cylvester
|
||||||
|
|
||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
{
|
{
|
||||||
infraredFrameReader_.FrameArrived -= onInfraredFrameArrived_;
|
depthFrameReader_.FrameArrived -= onDepthFrameArrived_;
|
||||||
bodyFrameReader_.FrameArrived -= onBodyFrameArrived_;
|
bodyFrameReader_.FrameArrived -= onBodyFrameArrived_;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue