From e3b19f628385d44dbdfa09318b9a8373ecbe17a6 Mon Sep 17 00:00:00 2001 From: uc deploy Date: Mon, 21 May 2018 12:44:32 +0800 Subject: [PATCH] KinectOpticalFlowMath constrain calculate count --- Unity_2018_Frozen/Assets/Frozen/Frozen.unity | 177 +++++++++--------- .../KinectOpticalFlowMath.cs | 8 +- 2 files changed, 96 insertions(+), 89 deletions(-) diff --git a/Unity_2018_Frozen/Assets/Frozen/Frozen.unity b/Unity_2018_Frozen/Assets/Frozen/Frozen.unity index 485db7a..6fdc9fa 100644 --- a/Unity_2018_Frozen/Assets/Frozen/Frozen.unity +++ b/Unity_2018_Frozen/Assets/Frozen/Frozen.unity @@ -1923,6 +1923,7 @@ MonoBehaviour: m_EditorClassIdentifier: kinect: {fileID: 1848145251} fps: 15 + maxSampleCount: 10000 countThreshold: 30 averagePositinon: {x: 0, y: 0, z: 0} standardDeviation: -1 @@ -2422,7 +2423,93 @@ MonoBehaviour: material: {fileID: 2100000, guid: 0858735f439783448b9cc855a56a9e94, type: 2} shader: {fileID: 7200000, guid: 12722f65bf7d89d448b703b34b9e4dcb, type: 3} references: [] ---- !u!43 &778926529 +--- !u!1 &810572921 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 810572922} + - component: {fileID: 810572923} + m_Layer: 0 + m_Name: KinectPositionBuffer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &810572922 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 810572921} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1848145250} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &810572923 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 810572921} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: afa75a2a1fe8aff4ab1d6418df9d62dd, type: 3} + m_Name: + m_EditorClassIdentifier: + bufferName: KinectPositionBuffer +--- !u!1 &850228140 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 850228141} + - component: {fileID: 850228142} + m_Layer: 0 + m_Name: FluidSimInputController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &850228141 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 850228140} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 528715329} + - {fileID: 1820320969} + - {fileID: 182553294} + m_Father: {fileID: 386695297} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &850228142 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 850228140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: efb50f560ef686940ab1bfb542387078, type: 3} + m_Name: + m_EditorClassIdentifier: + fluidSimulation: {fileID: 774429923} + uniforms: {fileID: 11400000, guid: 4dcbc9a971de5974da304d60289ebe0f, type: 2} +--- !u!43 &884361616 Mesh: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} @@ -2552,92 +2639,6 @@ Mesh: m_BakedConvexCollisionMesh: m_BakedTriangleCollisionMesh: m_MeshOptimized: 0 ---- !u!1 &810572921 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 810572922} - - component: {fileID: 810572923} - m_Layer: 0 - m_Name: KinectPositionBuffer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &810572922 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 810572921} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1848145250} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &810572923 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 810572921} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: afa75a2a1fe8aff4ab1d6418df9d62dd, type: 3} - m_Name: - m_EditorClassIdentifier: - bufferName: KinectPositionBuffer ---- !u!1 &850228140 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 850228141} - - component: {fileID: 850228142} - m_Layer: 0 - m_Name: FluidSimInputController - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &850228141 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 850228140} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 528715329} - - {fileID: 1820320969} - - {fileID: 182553294} - m_Father: {fileID: 386695297} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &850228142 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 850228140} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: efb50f560ef686940ab1bfb542387078, type: 3} - m_Name: - m_EditorClassIdentifier: - fluidSimulation: {fileID: 774429923} - uniforms: {fileID: 11400000, guid: 4dcbc9a971de5974da304d60289ebe0f, type: 2} --- !u!1 &887356092 GameObject: m_ObjectHideFlags: 0 @@ -3753,7 +3754,7 @@ MeshFilter: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1379541361} - m_Mesh: {fileID: 778926529} + m_Mesh: {fileID: 884361616} --- !u!1 &1390635887 GameObject: m_ObjectHideFlags: 0 diff --git a/Unity_2018_Frozen/Assets/KinectOpticalFlow/KinectOpticalFlowMath.cs b/Unity_2018_Frozen/Assets/KinectOpticalFlow/KinectOpticalFlowMath.cs index 6005b35..3ada8a8 100644 --- a/Unity_2018_Frozen/Assets/KinectOpticalFlow/KinectOpticalFlowMath.cs +++ b/Unity_2018_Frozen/Assets/KinectOpticalFlow/KinectOpticalFlowMath.cs @@ -14,6 +14,9 @@ namespace UltraCombos float step; float stamp = 0.0f; + [SerializeField] + int maxSampleCount = 40000; + [SerializeField] int countThreshold = 30; @@ -51,12 +54,15 @@ namespace UltraCombos //averageVelocity = Vector3.zero; if (home_count > countThreshold) { + float inc = Mathf.Max((float)home_count / maxSampleCount, 1.0f); + float div = 1.0f / home_count; float avg_dist = 0.0f; standardDeviation = 0.0f; - for (int i = 0; i < home_count; i++) + for (float k = 0; k < home_count; k += inc) { + int i = (int)k; var pos_smp = new Vector3(position_samples[i].x, position_samples[i].y, position_samples[i].z); averagePositinon += pos_smp; float dist = new Vector2(pos_smp.x - transform.position.x, pos_smp.z - transform.position.z).magnitude;