diff --git a/Assets/Plugins/Android.meta b/Assets/Plugins/Android.meta deleted file mode 100644 index 80cdde7..0000000 --- a/Assets/Plugins/Android.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e674b43a45d7dc344b61672a2436ea38 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Android/libs.meta b/Assets/Plugins/Android/libs.meta deleted file mode 100644 index fc1c1ae..0000000 --- a/Assets/Plugins/Android/libs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 933e4b82ad45e0c4d8044e06f93e5758 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Android/libs/arm64-v8a.meta b/Assets/Plugins/Android/libs/arm64-v8a.meta deleted file mode 100644 index 8fcea72..0000000 --- a/Assets/Plugins/Android/libs/arm64-v8a.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2d0bc0dfb2340e74295d5cfe635f962f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Android/libs/arm64-v8a/libopencvforunity.so b/Assets/Plugins/Android/libs/arm64-v8a/libopencvforunity.so deleted file mode 100644 index 0bdab0e..0000000 Binary files a/Assets/Plugins/Android/libs/arm64-v8a/libopencvforunity.so and /dev/null differ diff --git a/Assets/Plugins/Android/libs/arm64-v8a/libopencvforunity.so.meta b/Assets/Plugins/Android/libs/arm64-v8a/libopencvforunity.so.meta deleted file mode 100644 index 577acec..0000000 --- a/Assets/Plugins/Android/libs/arm64-v8a/libopencvforunity.so.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: d277b1b967c68fb47b5a480fc32cf818 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 1 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Android: Android - second: - enabled: 1 - settings: - CPU: ARM64 - - first: - Any: - second: - enabled: 0 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Android/libs/armeabi-v7a.meta b/Assets/Plugins/Android/libs/armeabi-v7a.meta deleted file mode 100644 index 103239e..0000000 --- a/Assets/Plugins/Android/libs/armeabi-v7a.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fe2008c770d630c479ccc4294d2d6fea -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Android/libs/armeabi-v7a/libopencvforunity.so b/Assets/Plugins/Android/libs/armeabi-v7a/libopencvforunity.so deleted file mode 100644 index f2f4d9f..0000000 Binary files a/Assets/Plugins/Android/libs/armeabi-v7a/libopencvforunity.so and /dev/null differ diff --git a/Assets/Plugins/Android/libs/armeabi-v7a/libopencvforunity.so.meta b/Assets/Plugins/Android/libs/armeabi-v7a/libopencvforunity.so.meta deleted file mode 100644 index 0280b74..0000000 --- a/Assets/Plugins/Android/libs/armeabi-v7a/libopencvforunity.so.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 15662e17b2f184547bf67611e96871e9 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 1 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Android: Android - second: - enabled: 1 - settings: - CPU: ARMv7 - - first: - Any: - second: - enabled: 0 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Android/libs/x86.meta b/Assets/Plugins/Android/libs/x86.meta deleted file mode 100644 index d2a279b..0000000 --- a/Assets/Plugins/Android/libs/x86.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c585a80e44222654ba9387bc242b19c7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Android/libs/x86/libopencvforunity.so b/Assets/Plugins/Android/libs/x86/libopencvforunity.so deleted file mode 100644 index 597ccaa..0000000 Binary files a/Assets/Plugins/Android/libs/x86/libopencvforunity.so and /dev/null differ diff --git a/Assets/Plugins/Android/libs/x86/libopencvforunity.so.meta b/Assets/Plugins/Android/libs/x86/libopencvforunity.so.meta deleted file mode 100644 index 1b02a23..0000000 --- a/Assets/Plugins/Android/libs/x86/libopencvforunity.so.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: c120e2c80b8a0934bac83fde94bbb0dd -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 1 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Android: Android - second: - enabled: 1 - settings: - CPU: x86 - - first: - Any: - second: - enabled: 0 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Android/libs/x86_64.meta b/Assets/Plugins/Android/libs/x86_64.meta deleted file mode 100644 index fd1183f..0000000 --- a/Assets/Plugins/Android/libs/x86_64.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f9d73c11ac4922d4dada3ac36e2b66b7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Android/libs/x86_64/libopencvforunity.so b/Assets/Plugins/Android/libs/x86_64/libopencvforunity.so deleted file mode 100644 index 177c414..0000000 Binary files a/Assets/Plugins/Android/libs/x86_64/libopencvforunity.so and /dev/null differ diff --git a/Assets/Plugins/Android/libs/x86_64/libopencvforunity.so.meta b/Assets/Plugins/Android/libs/x86_64/libopencvforunity.so.meta deleted file mode 100644 index 4aa8b24..0000000 --- a/Assets/Plugins/Android/libs/x86_64/libopencvforunity.so.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 517a05de3eb111b42b0c8bbacdf81a5b -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 1 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Android: Android - second: - enabled: 1 - settings: - CPU: x86_64 - - first: - Any: - second: - enabled: 0 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scenes/YogaMain.unity b/Assets/Scenes/YogaMain.unity index f7e2b9e..3248c91 100644 --- a/Assets/Scenes/YogaMain.unity +++ b/Assets/Scenes/YogaMain.unity @@ -1048,7 +1048,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: df35b0c19ca97734e87299a664cea35f, type: 3} m_Name: m_EditorClassIdentifier: - _requestedDeviceName: 2 + _requestedDeviceName: 1 _requestedWidth: 1280 _requestedHeight: 960 _requestedIsFrontFacing: 0 diff --git a/Assets/Scripts/PoseCheck/HandsUp.cs b/Assets/Scripts/PoseCheck/HandsUp.cs index 0da1524..93aa193 100644 --- a/Assets/Scripts/PoseCheck/HandsUp.cs +++ b/Assets/Scripts/PoseCheck/HandsUp.cs @@ -5,7 +5,7 @@ public class HandsUp : PoseBase { public override bool CheckPose(List<Point> points) { - // 必须包含 Nose 和 LEar 和 Neck 的点位 + // 必须包含 Neck 和 LEar 和 Neck 的点位 if (!YogaManager.Instance.ActionCheckPoints(points)) return false; diff --git a/Assets/Scripts/PoseCheck/HeadTurnDown.cs b/Assets/Scripts/PoseCheck/HeadTurnDown.cs index 261b8af..5ca0bbd 100644 --- a/Assets/Scripts/PoseCheck/HeadTurnDown.cs +++ b/Assets/Scripts/PoseCheck/HeadTurnDown.cs @@ -16,7 +16,7 @@ public class HeadTurnDown : PoseBase var noseMagnitude = ("Nose".vector(points) - "Neck".vector(points)).magnitude; var noseBaseMagnitude = ("Nose".vector(basePoint) - "Neck".vector(basePoint)).magnitude; - if (noseBaseMagnitude > noseMagnitude) + if (noseBaseMagnitude > noseMagnitude * 1.1f) return true; return false; diff --git a/Assets/Scripts/PoseCheck/HeadTurnLeft.cs b/Assets/Scripts/PoseCheck/HeadTurnLeft.cs index bb7204f..ac0aec0 100644 --- a/Assets/Scripts/PoseCheck/HeadTurnLeft.cs +++ b/Assets/Scripts/PoseCheck/HeadTurnLeft.cs @@ -28,9 +28,7 @@ public class HeadTurnLeft : PoseBase if (Vector2.Dot(headVector, noseVector) > Vector2.Dot(headBaseVector, noseBaseVector) + 0.1f) return true; - Debug.LogWarning($"REye point: {"RElbow".vector(points)}, LEye point: {"LElbow".vector(points)}, vector dot:{Vector2.Dot(headVector, noseVector)}"); - Debug.LogWarning($"REye base point: {"RElbow".vector(points)}, LEye point: {"LElbow".vector(points)}, vector dot:{Vector2.Dot(headBaseVector, noseBaseVector)}"); - + return false; } } \ No newline at end of file diff --git a/Assets/Scripts/PoseCheck/HeadTurnRight.cs b/Assets/Scripts/PoseCheck/HeadTurnRight.cs index e2ea7a7..fa06989 100644 --- a/Assets/Scripts/PoseCheck/HeadTurnRight.cs +++ b/Assets/Scripts/PoseCheck/HeadTurnRight.cs @@ -26,9 +26,6 @@ public class HeadTurnRight : PoseBase if (Vector2.Dot(headVector, noseVector) < Vector2.Dot(headBaseVector, noseBaseVector) - 0.1f) return true; - Debug.LogWarning("point:" + Vector2.Dot(headVector, noseVector)); - Debug.LogWarning("base point:" + Vector2.Dot(headBaseVector, noseBaseVector)); - return false; } diff --git a/Assets/Scripts/PoseCheck/HeadTurnUp.cs b/Assets/Scripts/PoseCheck/HeadTurnUp.cs index 1db7fe4..30a5e7c 100644 --- a/Assets/Scripts/PoseCheck/HeadTurnUp.cs +++ b/Assets/Scripts/PoseCheck/HeadTurnUp.cs @@ -16,7 +16,7 @@ public class HeadTurnUp : PoseBase var noseMagnitude = ("Nose".vector(points) - "Neck".vector(points)).magnitude; var noseBaseMagnitude = ("Nose".vector(basePoint) - "Neck".vector(basePoint)).magnitude; - if (noseBaseMagnitude > noseMagnitude) + if (noseBaseMagnitude * 1.1f < noseMagnitude) return true; return false; diff --git a/Assets/Scripts/YogaDataLoader.cs b/Assets/Scripts/YogaDataLoader.cs index 3dddedf..72e06fc 100644 --- a/Assets/Scripts/YogaDataLoader.cs +++ b/Assets/Scripts/YogaDataLoader.cs @@ -13,10 +13,11 @@ public class YogaDataLoader #if UNITY_EDITOR data[-1] = new YogaDataData() { - VideoPath = "Video/Action1", - Action = AvatarAction.HeadShake, + VideoPath = "Video/Action2", + Action = AvatarAction.Nod, MaxActionCount = 1000, - MustPoints = new List<string>() { "Nose", "REye", "LEye", "Neck" } + MustPoints = new List<string>() { "Nose", "REye", "LEye", "Neck" }, + //AnyPoints = new List<string>() { "RWrist", "LWrist" } }; #endif data[1] = new YogaDataData() @@ -58,4 +59,5 @@ public class YogaDataData public AvatarAction Action; public int MaxActionCount; public List<string> MustPoints = new List<string>(); + public List<string> AnyPoints = new List<string>(); } \ No newline at end of file diff --git a/Assets/Scripts/YogaManager.cs b/Assets/Scripts/YogaManager.cs index 1a0b897..85500c3 100644 --- a/Assets/Scripts/YogaManager.cs +++ b/Assets/Scripts/YogaManager.cs @@ -113,12 +113,12 @@ public class YogaManager : MonoSingleton<YogaManager> return false; } - //for (int i = 0; i < points.Count; i++) - //{ - // Point p = points[i]; - // if (p != new Point(-1, -1)) - // Debug.LogWarning($"ActionPoints p({i}): {i.tagName()}, value: {p.x},{p.y}"); - //} + for (int i = 0; i < points.Count; i++) + { + Point p = points[i]; + if (p != new Point(-1, -1)) + Debug.LogWarning($"ActionPoints p({i}): {i.tagName()}, value: {p.x},{p.y}"); + } foreach (var p in Action.MustPoints) { @@ -128,6 +128,20 @@ public class YogaManager : MonoSingleton<YogaManager> return false; } } + + //不设的情况下,不检测 + if (Action.AnyPoints != null && Action.AnyPoints.Count > 0) + { + foreach (var p in Action.AnyPoints) + { + if (p.IsValid(points)) //有一个点符合 返回true + { + return true; + } + } + return false; //没有一个点符合 返回false + } + return true; } } diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 11df9a0..e7f6d98 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -136,7 +136,10 @@ PlayerSettings: vulkanEnableCommandBufferRecycling: 1 loadStoreDebugModeEnabled: 0 bundleVersion: 0.12 - preloadedAssets: [] + preloadedAssets: + - {fileID: 11400000, guid: e909ead19248db448b564bc342b7c221, type: 2} + - {fileID: 11400000, guid: 9bb62c82f36383440a845a9a59025c6f, type: 2} + - {fileID: 2671796653090180050, guid: b1802c783fe98e94a9bd4fd13519cef8, type: 2} metroInputSource: 0 wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1