diff --git a/Assets/Mediapipe/Samples/Scenes/Hello World/HelloWorldConfig.cs b/Assets/Mediapipe/Samples/Scenes/Hello World/HelloWorldConfig.cs index 026968bfd..2f8f28a31 100644 --- a/Assets/Mediapipe/Samples/Scenes/Hello World/HelloWorldConfig.cs +++ b/Assets/Mediapipe/Samples/Scenes/Hello World/HelloWorldConfig.cs @@ -5,7 +5,6 @@ // https://opensource.org/licenses/MIT. using System; -using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; diff --git a/Assets/Mediapipe/Samples/Scenes/Holistic/Holistic Tracking Config Window.prefab b/Assets/Mediapipe/Samples/Scenes/Holistic/Holistic Tracking Config Window.prefab index a83af001a..d9eac06ba 100644 --- a/Assets/Mediapipe/Samples/Scenes/Holistic/Holistic Tracking Config Window.prefab +++ b/Assets/Mediapipe/Samples/Scenes/Holistic/Holistic Tracking Config Window.prefab @@ -622,6 +622,206 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 +--- !u!1 &826132402924256415 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2248904768205503051} + - component: {fileID: 94039348191806843} + - component: {fileID: 4994825181293843850} + - component: {fileID: 1715824545962397898} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2248904768205503051 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 826132402924256415} + 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: 1019232493083976280} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 72} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &94039348191806843 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 826132402924256415} + m_CullTransparentMesh: 1 +--- !u!114 &4994825181293843850 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 826132402924256415} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 48 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 4 + m_MaxSize: 300 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Smooth Segmentation +--- !u!114 &1715824545962397898 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 826132402924256415} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 800 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &847624881626310196 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2288490860381071116} + - component: {fileID: 1557462769694266210} + - component: {fileID: 3393494996483443408} + - component: {fileID: 4095599852069893350} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2288490860381071116 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 847624881626310196} + 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: 2148926634907640625} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 72} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1557462769694266210 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 847624881626310196} + m_CullTransparentMesh: 1 +--- !u!114 &3393494996483443408 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 847624881626310196} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 48 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 4 + m_MaxSize: 300 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enable Segmentation +--- !u!114 &4095599852069893350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 847624881626310196} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 800 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 --- !u!1 &851359627644512490 GameObject: m_ObjectHideFlags: 0 @@ -1077,6 +1277,149 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1444578709323502538 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1019232493083976280} + - component: {fileID: 1212131387635668288} + m_Layer: 5 + m_Name: Smooth Segmentation + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1019232493083976280 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1444578709323502538} + 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: 2248904768205503051} + - {fileID: 4466900408287736692} + m_Father: {fileID: 7710130227850707868} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1212131387635668288 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1444578709323502538} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 24 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 12 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &2204821882462160053 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1937603284349921622} + - component: {fileID: 130443741757148804} + - component: {fileID: 6737524525889906724} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1937603284349921622 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2204821882462160053} + 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: 4466900408287736692} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 9, y: -0.5} + m_SizeDelta: {x: -28, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &130443741757148804 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2204821882462160053} + m_CullTransparentMesh: 1 +--- !u!114 &6737524525889906724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2204821882462160053} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 48 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 4 + m_MaxSize: 49 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: --- !u!1 &2358664826247471437 GameObject: m_ObjectHideFlags: 0 @@ -1128,30 +1471,137 @@ MonoBehaviour: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2358664826247471437} + m_GameObject: {fileID: 2358664826247471437} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &2493115657889090791 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4466900408287736692} + - component: {fileID: 6621202831463253450} + - component: {fileID: 5941123635902125905} + m_Layer: 5 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4466900408287736692 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2493115657889090791} + 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: 5435586801405929030} + - {fileID: 1937603284349921622} + m_Father: {fileID: 1019232493083976280} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 72} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6621202831463253450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2493115657889090791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2402266575151577794} + toggleTransition: 1 + graphic: {fileID: 6059866371235042708} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!114 &5941123635902125905 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2493115657889090791} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 800 + m_PreferredHeight: -1 + m_FlexibleWidth: 3 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 --- !u!1 &2572924098775076856 GameObject: m_ObjectHideFlags: 0 @@ -1614,7 +2064,7 @@ RectTransform: - {fileID: 7739636496932004659} - {fileID: 4889236392567933706} m_Father: {fileID: 7710130227850707868} - m_RootOrder: 5 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -2111,6 +2561,8 @@ RectTransform: - {fileID: 6917543152734324474} - {fileID: 3528492529737658842} - {fileID: 3101618510674091820} + - {fileID: 2148926634907640625} + - {fileID: 1019232493083976280} - {fileID: 1423722328293772700} - {fileID: 8036930725352629537} m_Father: {fileID: 8898856628389366212} @@ -2161,6 +2613,81 @@ MonoBehaviour: m_EditorClassIdentifier: m_HorizontalFit: 0 m_VerticalFit: 2 +--- !u!1 &3855477498862847518 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4453917465061568872} + - component: {fileID: 1556635785660000484} + - component: {fileID: 3321130264904146618} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4453917465061568872 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3855477498862847518} + 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: 3441583067454037215} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1556635785660000484 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3855477498862847518} + m_CullTransparentMesh: 1 +--- !u!114 &3321130264904146618 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3855477498862847518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &3904221041796045838 GameObject: m_ObjectHideFlags: 0 @@ -2839,6 +3366,82 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &5315935211690824324 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3441583067454037215} + - component: {fileID: 3336122351080945765} + - component: {fileID: 8628239850430918241} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3441583067454037215 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5315935211690824324} + 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: 4453917465061568872} + m_Father: {fileID: 2640670759912435686} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: 1} +--- !u!222 &3336122351080945765 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5315935211690824324} + m_CullTransparentMesh: 1 +--- !u!114 &8628239850430918241 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5315935211690824324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &5355234870780015945 GameObject: m_ObjectHideFlags: 0 @@ -3136,6 +3739,81 @@ MonoBehaviour: m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: Enter a positive integer... +--- !u!1 &5856482917733356904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6729890307825802448} + - component: {fileID: 8478036222650255950} + - component: {fileID: 6059866371235042708} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6729890307825802448 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5856482917733356904} + 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: 5435586801405929030} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8478036222650255950 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5856482917733356904} + m_CullTransparentMesh: 1 +--- !u!114 &6059866371235042708 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5856482917733356904} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &6043814214445582224 GameObject: m_ObjectHideFlags: 0 @@ -3211,6 +3889,70 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &6124378402045353197 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2148926634907640625} + - component: {fileID: 4007503571547536110} + m_Layer: 5 + m_Name: Enable Segmentation + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2148926634907640625 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6124378402045353197} + 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: 2288490860381071116} + - {fileID: 2640670759912435686} + m_Father: {fileID: 7710130227850707868} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &4007503571547536110 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6124378402045353197} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 24 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 12 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &6414537821100621688 GameObject: m_ObjectHideFlags: 0 @@ -3622,6 +4364,113 @@ MonoBehaviour: m_FlexibleWidth: 3 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1 &6583851554628582186 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2640670759912435686} + - component: {fileID: 1906752199474220554} + - component: {fileID: 7824682873762394550} + m_Layer: 5 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2640670759912435686 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6583851554628582186} + 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: 3441583067454037215} + - {fileID: 7069907939338028519} + m_Father: {fileID: 2148926634907640625} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 72} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1906752199474220554 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6583851554628582186} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 8628239850430918241} + toggleTransition: 1 + graphic: {fileID: 3321130264904146618} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!114 &7824682873762394550 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6583851554628582186} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 800 + m_PreferredHeight: -1 + m_FlexibleWidth: 3 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 --- !u!1 &6655745174104396485 GameObject: m_ObjectHideFlags: 0 @@ -3653,7 +4502,7 @@ RectTransform: - {fileID: 7368247365119313596} - {fileID: 916782750758033152} m_Father: {fileID: 7710130227850707868} - m_RootOrder: 4 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -4568,6 +5417,82 @@ MonoBehaviour: m_FlexibleWidth: 1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1 &7951529774822017511 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5435586801405929030} + - component: {fileID: 4174950226989251508} + - component: {fileID: 2402266575151577794} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5435586801405929030 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7951529774822017511} + 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: 6729890307825802448} + m_Father: {fileID: 4466900408287736692} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: 1} +--- !u!222 &4174950226989251508 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7951529774822017511} + m_CullTransparentMesh: 1 +--- !u!114 &2402266575151577794 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7951529774822017511} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &8014084491893522992 GameObject: m_ObjectHideFlags: 0 @@ -4969,6 +5894,85 @@ MonoBehaviour: m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: Holistic Tracking Configuration +--- !u!1 &8902212902169046826 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7069907939338028519} + - component: {fileID: 3838805166281179976} + - component: {fileID: 3626747902664125840} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7069907939338028519 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8902212902169046826} + 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: 2640670759912435686} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 9, y: -0.5} + m_SizeDelta: {x: -28, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3838805166281179976 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8902212902169046826} + m_CullTransparentMesh: 1 +--- !u!114 &3626747902664125840 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8902212902169046826} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 48 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 4 + m_MaxSize: 49 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: --- !u!1 &8932836335194391051 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Mediapipe/Samples/Scenes/Holistic/Holistic.unity b/Assets/Mediapipe/Samples/Scenes/Holistic/Holistic.unity index 747aacc09..1db363ac6 100644 --- a/Assets/Mediapipe/Samples/Scenes/Holistic/Holistic.unity +++ b/Assets/Mediapipe/Samples/Scenes/Holistic/Holistic.unity @@ -416,27 +416,8 @@ MonoBehaviour: refineFaceLandmarks: 0 modelComplexity: 0 smoothLandmarks: 1 - OnPoseDetectionOutput: - m_PersistentCalls: - m_Calls: [] - OnPoseLandmarksOutput: - m_PersistentCalls: - m_Calls: [] - OnFaceLandmarksOutput: - m_PersistentCalls: - m_Calls: [] - OnLeftHandLandmarksOutput: - m_PersistentCalls: - m_Calls: [] - OnRightHandLandmarksOutput: - m_PersistentCalls: - m_Calls: [] - OnPoseWorldLandmarksOutput: - m_PersistentCalls: - m_Calls: [] - OnPoseRoiOutput: - m_PersistentCalls: - m_Calls: [] + enableSegmentation: 1 + smoothSegmentation: 1 --- !u!114 &275874969 MonoBehaviour: m_ObjectHideFlags: 0 @@ -457,6 +438,7 @@ MonoBehaviour: _poseDetectionAnnotationController: {fileID: 1375628863} _holisticAnnotationController: {fileID: 1375628862} _poseWorldLandmarksAnnotationController: {fileID: 1936307555} + _segmentationMaskAnnotationController: {fileID: 1375628865} _poseRoiAnnotationController: {fileID: 1375628861} --- !u!114 &275874970 MonoBehaviour: @@ -1294,7 +1276,7 @@ PrefabInstance: - target: {fileID: 4965192403804369240, guid: 3b696480602fe21de85315216956bd42, type: 3} propertyPath: m_RootOrder - value: 2 + value: 3 objectReference: {fileID: 0} - target: {fileID: 4965192403804369240, guid: 3b696480602fe21de85315216956bd42, type: 3} @@ -1365,6 +1347,112 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ba39488de81a63b298a92a9d09ac42db, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1001 &1033092134 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1375628858} + m_Modifications: + - target: {fileID: 1416249681263347896, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1416249681263347896, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1416249681263347896, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1416249681263347896, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1416249681263347896, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1416249681263347896, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1416249681263347896, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1416249681263347896, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1416249681263347896, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1416249681263347896, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1416249681263347896, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1416249681263347897, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: m_Name + value: Mask Annotation + objectReference: {fileID: 0} + - target: {fileID: 5850198979010014858, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: _screen + value: + objectReference: {fileID: 1375628864} + - target: {fileID: 5850198979010014858, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: _color.b + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5850198979010014858, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: _color.g + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5850198979010014858, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: _threshold + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 5850198979010014858, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + propertyPath: _maskShader + value: + objectReference: {fileID: 4800000, guid: d684c6d125278d05fbb1904ee5103f3a, type: 3} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 24d349d9c78db0f3d94d4657029f4c5e, type: 3} +--- !u!114 &1033092135 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5850198979010014858, guid: 24d349d9c78db0f3d94d4657029f4c5e, + type: 3} + m_PrefabInstance: {fileID: 1033092134} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f993d16dcccfcecb6892ad3cc2ea76c8, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1158763519 GameObject: m_ObjectHideFlags: 0 @@ -2004,6 +2092,31 @@ MonoBehaviour: m_EditorClassIdentifier: annotation: {fileID: 1334974597} _threshold: 0 +--- !u!114 &1375628864 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3259285889726014649, guid: 5713b959e3c77a58fb258133fc8e4aef, + type: 3} + m_PrefabInstance: {fileID: 1375628857} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1375628865 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1375628859} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ece564ad16755f1ef94c4fe04bd7ce2e, type: 3} + m_Name: + m_EditorClassIdentifier: + annotation: {fileID: 1033092135} --- !u!1 &1625996802 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingConfig.cs b/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingConfig.cs index fa9df781b..4de46a3a3 100644 --- a/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingConfig.cs +++ b/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingConfig.cs @@ -17,6 +17,8 @@ public class HolisticTrackingConfig : ModalContents private const string _ModelComplexityPath = "Scroll View/Viewport/Contents/Model Complexity/Dropdown"; private const string _SmoothLandmarksPath = "Scroll View/Viewport/Contents/Smooth Landmarks/Toggle"; private const string _RefineFaceLandmarksPath = "Scroll View/Viewport/Contents/Refine Face Landmarks/Toggle"; + private const string _EnableSegmentationPath = "Scroll View/Viewport/Contents/Enable Segmentation/Toggle"; + private const string _SmoothSegmentationPath = "Scroll View/Viewport/Contents/Smooth Segmentation/Toggle"; private const string _RunningModePath = "Scroll View/Viewport/Contents/Running Mode/Dropdown"; private const string _TimeoutMillisecPath = "Scroll View/Viewport/Contents/Timeout Millisec/InputField"; @@ -24,6 +26,8 @@ public class HolisticTrackingConfig : ModalContents private Dropdown _modelComplexityInput; private Toggle _smoothLandmarksInput; private Toggle _refineFaceLandmarksInput; + private Toggle _enableSegmentationInput; + private Toggle _smoothSegmentationInput; private Dropdown _runningModeInput; private InputField _timeoutMillisecInput; @@ -58,6 +62,18 @@ public void ToggleRefineFaceLandmarks() _isChanged = true; } + public void ToggleEnableSegmentation() + { + _solution.enableSegmentation = _enableSegmentationInput.isOn; + _isChanged = true; + } + + public void ToggleSmoothSegmentation() + { + _solution.smoothSegmentation = _smoothSegmentationInput.isOn; + _isChanged = true; + } + public void SetTimeoutMillisec() { if (int.TryParse(_timeoutMillisecInput.text, out var value)) @@ -78,6 +94,8 @@ private void InitializeContents() InitializeModelComplexity(); InitializeSmoothLandmarks(); InitializeRefineFaceLandmarks(); + InitializeEnableSegmentationInput(); + InitializeSmoothSegmentationInput(); InitializeRunningMode(); InitializeTimeoutMillisec(); } @@ -115,6 +133,20 @@ private void InitializeRefineFaceLandmarks() _refineFaceLandmarksInput.onValueChanged.AddListener(delegate { ToggleRefineFaceLandmarks(); }); } + private void InitializeEnableSegmentationInput() + { + _enableSegmentationInput = gameObject.transform.Find(_EnableSegmentationPath).gameObject.GetComponent(); + _enableSegmentationInput.isOn = _solution.enableSegmentation; + _enableSegmentationInput.onValueChanged.AddListener(delegate { ToggleEnableSegmentation(); }); + } + + private void InitializeSmoothSegmentationInput() + { + _smoothSegmentationInput = gameObject.transform.Find(_SmoothSegmentationPath).gameObject.GetComponent(); + _smoothSegmentationInput.isOn = _solution.smoothSegmentation; + _smoothSegmentationInput.onValueChanged.AddListener(delegate { ToggleSmoothSegmentation(); }); + } + private void InitializeRunningMode() { _runningModeInput = gameObject.transform.Find(_RunningModePath).gameObject.GetComponent(); diff --git a/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingGraph.cs b/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingGraph.cs index 5fd5ccc8a..020b8218f 100644 --- a/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingGraph.cs +++ b/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingGraph.cs @@ -26,6 +26,8 @@ public enum ModelComplexity public bool refineFaceLandmarks = false; public ModelComplexity modelComplexity = ModelComplexity.Lite; public bool smoothLandmarks = true; + public bool enableSegmentation = true; + public bool smoothSegmentation = true; private float _minDetectionConfidence = 0.5f; public float minDetectionConfidence @@ -77,6 +79,12 @@ public event EventHandler> OnPoseWorldLandmarksOut remove => _poseWorldLandmarksStream.RemoveListener(value); } + public event EventHandler> OnSegmentationMaskOutput + { + add => _segmentationMaskStream.AddListener(value); + remove => _segmentationMaskStream.RemoveListener(value); + } + public event EventHandler> OnPoseRoiOutput { add => _poseRoiStream.AddListener(value); @@ -90,6 +98,7 @@ public event EventHandler> OnPoseRoiOutput private const string _LeftHandLandmarksStreamName = "left_hand_landmarks"; private const string _RightHandLandmarksStreamName = "right_hand_landmarks"; private const string _PoseWorldLandmarksStreamName = "pose_world_landmarks"; + private const string _SegmentationMaskStreamName = "segmentation_mask"; private const string _PoseRoiStreamName = "pose_roi"; private OutputStream _poseDetectionStream; @@ -98,6 +107,7 @@ public event EventHandler> OnPoseRoiOutput private OutputStream _leftHandLandmarksStream; private OutputStream _rightHandLandmarksStream; private OutputStream _poseWorldLandmarksStream; + private OutputStream _segmentationMaskStream; private OutputStream _poseRoiStream; public override void StartRun(ImageSource imageSource) @@ -110,6 +120,7 @@ public override void StartRun(ImageSource imageSource) _leftHandLandmarksStream.StartPolling().AssertOk(); _rightHandLandmarksStream.StartPolling().AssertOk(); _poseWorldLandmarksStream.StartPolling().AssertOk(); + _segmentationMaskStream.StartPolling().AssertOk(); _poseRoiStream.StartPolling().AssertOk(); } StartRun(BuildSidePacket(imageSource)); @@ -129,6 +140,8 @@ public override void Stop() _rightHandLandmarksStream = null; _poseWorldLandmarksStream.RemoveAllListeners(); _poseWorldLandmarksStream = null; + _segmentationMaskStream.RemoveAllListeners(); + _segmentationMaskStream = null; _poseRoiStream.RemoveAllListeners(); _poseRoiStream = null; base.Stop(); @@ -140,7 +153,7 @@ public void AddTextureFrameToInputStream(TextureFrame textureFrame) } public bool TryGetNext(out Detection poseDetection, out NormalizedLandmarkList poseLandmarks, out NormalizedLandmarkList faceLandmarks, out NormalizedLandmarkList leftHandLandmarks, - out NormalizedLandmarkList rightHandLandmarks, out LandmarkList poseWorldLandmarks, out NormalizedRect poseRoi, bool allowBlock = true) + out NormalizedLandmarkList rightHandLandmarks, out LandmarkList poseWorldLandmarks, out ImageFrame segmentationMask, out NormalizedRect poseRoi, bool allowBlock = true) { var currentTimestampMicrosec = GetCurrentTimestampMicrosec(); var r1 = TryGetNext(_poseDetectionStream, out poseDetection, allowBlock, currentTimestampMicrosec); @@ -149,9 +162,10 @@ public bool TryGetNext(out Detection poseDetection, out NormalizedLandmarkList p var r4 = TryGetNext(_leftHandLandmarksStream, out leftHandLandmarks, allowBlock, currentTimestampMicrosec); var r5 = TryGetNext(_rightHandLandmarksStream, out rightHandLandmarks, allowBlock, currentTimestampMicrosec); var r6 = TryGetNext(_poseWorldLandmarksStream, out poseWorldLandmarks, allowBlock, currentTimestampMicrosec); - var r7 = TryGetNext(_poseRoiStream, out poseRoi, allowBlock, currentTimestampMicrosec); + var r7 = TryGetNext(_segmentationMaskStream, out segmentationMask, allowBlock, currentTimestampMicrosec); + var r8 = TryGetNext(_poseRoiStream, out poseRoi, allowBlock, currentTimestampMicrosec); - return r1 || r2 || r3 || r4 || r5 || r6 || r7; + return r1 || r2 || r3 || r4 || r5 || r6 || r7 || r8; } protected override IList RequestDependentAssets() @@ -196,6 +210,8 @@ protected override Status ConfigureCalculatorGraph(CalculatorGraphConfig config) calculatorGraph, _RightHandLandmarksStreamName, config.AddPacketPresenceCalculator(_RightHandLandmarksStreamName), timeoutMicrosec); _poseWorldLandmarksStream = new OutputStream( calculatorGraph, _PoseWorldLandmarksStreamName, config.AddPacketPresenceCalculator(_PoseWorldLandmarksStreamName), timeoutMicrosec); + _segmentationMaskStream = new OutputStream( + calculatorGraph, _SegmentationMaskStreamName, config.AddPacketPresenceCalculator(_SegmentationMaskStreamName), timeoutMicrosec); _poseRoiStream = new OutputStream( calculatorGraph, _PoseRoiStreamName, config.AddPacketPresenceCalculator(_PoseRoiStreamName), timeoutMicrosec); } @@ -207,6 +223,7 @@ protected override Status ConfigureCalculatorGraph(CalculatorGraphConfig config) _leftHandLandmarksStream = new OutputStream(calculatorGraph, _LeftHandLandmarksStreamName, true, timeoutMicrosec); _rightHandLandmarksStream = new OutputStream(calculatorGraph, _RightHandLandmarksStreamName, true, timeoutMicrosec); _poseWorldLandmarksStream = new OutputStream(calculatorGraph, _PoseWorldLandmarksStreamName, true, timeoutMicrosec); + _segmentationMaskStream = new OutputStream(calculatorGraph, _SegmentationMaskStreamName, true, timeoutMicrosec); _poseRoiStream = new OutputStream(calculatorGraph, _PoseRoiStreamName, true, timeoutMicrosec); } @@ -251,13 +268,38 @@ private SidePacket BuildSidePacket(ImageSource imageSource) var sidePacket = new SidePacket(); SetImageTransformationOptions(sidePacket, imageSource); + + // TODO: refactoring + // The orientation of the output image must match that of the input image. + var isInverted = CoordinateSystem.ImageCoordinate.IsInverted(imageSource.rotation); + var outputRotation = imageSource.rotation; + var outputHorizontallyFlipped = !isInverted && imageSource.isHorizontallyFlipped; + var outputVerticallyFlipped = (!runningMode.IsSynchronous() && imageSource.isVerticallyFlipped) ^ (isInverted && imageSource.isHorizontallyFlipped); + + if ((outputHorizontallyFlipped && outputVerticallyFlipped) || outputRotation == RotationAngle.Rotation180) + { + outputRotation = outputRotation.Add(RotationAngle.Rotation180); + outputHorizontallyFlipped = !outputHorizontallyFlipped; + outputVerticallyFlipped = !outputVerticallyFlipped; + } + + sidePacket.Emplace("output_rotation", new IntPacket((int)outputRotation)); + sidePacket.Emplace("output_horizontally_flipped", new BoolPacket(outputHorizontallyFlipped)); + sidePacket.Emplace("output_vertically_flipped", new BoolPacket(outputVerticallyFlipped)); + + Logger.LogDebug($"output_rotation = {outputRotation}, output_horizontally_flipped = {outputHorizontallyFlipped}, output_vertically_flipped = {outputVerticallyFlipped}"); + sidePacket.Emplace("refine_face_landmarks", new BoolPacket(refineFaceLandmarks)); sidePacket.Emplace("model_complexity", new IntPacket((int)modelComplexity)); sidePacket.Emplace("smooth_landmarks", new BoolPacket(smoothLandmarks)); + sidePacket.Emplace("enable_segmentation", new BoolPacket(enableSegmentation)); + sidePacket.Emplace("smooth_segmentation", new BoolPacket(smoothSegmentation)); Logger.LogInfo(TAG, $"Refine Face Landmarks = {refineFaceLandmarks}"); Logger.LogInfo(TAG, $"Model Complexity = {modelComplexity}"); Logger.LogInfo(TAG, $"Smooth Landmarks = {smoothLandmarks}"); + Logger.LogInfo(TAG, $"Enable Segmentation = {enableSegmentation}"); + Logger.LogInfo(TAG, $"Smooth Segmentation = {smoothSegmentation}"); return sidePacket; } diff --git a/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingSolution.cs b/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingSolution.cs index b06b8edd5..2707f0d78 100644 --- a/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingSolution.cs +++ b/Assets/Mediapipe/Samples/Scenes/Holistic/HolisticTrackingSolution.cs @@ -15,6 +15,7 @@ public class HolisticTrackingSolution : ImageSourceSolution graphRunner.refineFaceLandmarks = value; } + public bool enableSegmentation + { + get => graphRunner.enableSegmentation; + set => graphRunner.enableSegmentation = value; + } + + public bool smoothSegmentation + { + get => graphRunner.smoothSegmentation; + set => graphRunner.smoothSegmentation = value; + } + protected override void SetupScreen(ImageSource imageSource) { base.SetupScreen(imageSource); @@ -51,6 +64,7 @@ protected override void OnStartRun() graphRunner.OnLeftHandLandmarksOutput += OnLeftHandLandmarksOutput; graphRunner.OnRightHandLandmarksOutput += OnRightHandLandmarksOutput; graphRunner.OnPoseWorldLandmarksOutput += OnPoseWorldLandmarksOutput; + graphRunner.OnSegmentationMaskOutput += OnSegmentationMaskOutput; graphRunner.OnPoseRoiOutput += OnPoseRoiOutput; } @@ -58,6 +72,8 @@ protected override void OnStartRun() SetupAnnotationController(_poseDetectionAnnotationController, imageSource); SetupAnnotationController(_holisticAnnotationController, imageSource); SetupAnnotationController(_poseWorldLandmarksAnnotationController, imageSource); + SetupAnnotationController(_segmentationMaskAnnotationController, imageSource); + _segmentationMaskAnnotationController.InitScreen(imageSource.textureWidth, imageSource.textureHeight); SetupAnnotationController(_poseRoiAnnotationController, imageSource); } @@ -74,20 +90,23 @@ protected override IEnumerator WaitForNextValue() NormalizedLandmarkList leftHandLandmarks = null; NormalizedLandmarkList rightHandLandmarks = null; LandmarkList poseWorldLandmarks = null; + ImageFrame segmentationMask = null; NormalizedRect poseRoi = null; if (runningMode == RunningMode.Sync) { - var _ = graphRunner.TryGetNext(out poseDetection, out poseLandmarks, out faceLandmarks, out leftHandLandmarks, out rightHandLandmarks, out poseWorldLandmarks, out poseRoi, true); + var _ = graphRunner.TryGetNext(out poseDetection, out poseLandmarks, out faceLandmarks, out leftHandLandmarks, out rightHandLandmarks, out poseWorldLandmarks, out segmentationMask, out poseRoi, true); } else if (runningMode == RunningMode.NonBlockingSync) { - yield return new WaitUntil(() => graphRunner.TryGetNext(out poseDetection, out poseLandmarks, out faceLandmarks, out leftHandLandmarks, out rightHandLandmarks, out poseWorldLandmarks, out poseRoi, false)); + yield return new WaitUntil(() => + graphRunner.TryGetNext(out poseDetection, out poseLandmarks, out faceLandmarks, out leftHandLandmarks, out rightHandLandmarks, out poseWorldLandmarks, out segmentationMask, out poseRoi, false)); } _poseDetectionAnnotationController.DrawNow(poseDetection); _holisticAnnotationController.DrawNow(faceLandmarks, poseLandmarks, leftHandLandmarks, rightHandLandmarks); _poseWorldLandmarksAnnotationController.DrawNow(poseWorldLandmarks); + _segmentationMaskAnnotationController.DrawNow(segmentationMask); _poseRoiAnnotationController.DrawNow(poseRoi); } @@ -121,6 +140,11 @@ private void OnPoseWorldLandmarksOutput(object stream, OutputEventArgs eventArgs) + { + _segmentationMaskAnnotationController.DrawLater(eventArgs.value); + } + private void OnPoseRoiOutput(object stream, OutputEventArgs eventArgs) { _poseRoiAnnotationController.DrawLater(eventArgs.value); diff --git a/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_cpu.txt b/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_cpu.txt index 093029395..68671237c 100644 --- a/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_cpu.txt +++ b/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_cpu.txt @@ -25,6 +25,7 @@ input_stream: "input_video" output_stream: "pose_landmarks" output_stream: "pose_world_landmarks" +output_stream: "segmentation_mask" output_stream: "pose_roi" output_stream: "pose_detection" output_stream: "face_landmarks" @@ -76,11 +77,23 @@ node { input_side_packet: "MODEL_COMPLEXITY:model_complexity" input_side_packet: "SMOOTH_LANDMARKS:smooth_landmarks" input_side_packet: "REFINE_FACE_LANDMARKS:refine_face_landmarks" + input_side_packet: "ENABLE_SEGMENTATION:enable_segmentation" + input_side_packet: "SMOOTH_SEGMENTATION:smooth_segmentation" output_stream: "POSE_LANDMARKS:pose_landmarks" output_stream: "WORLD_LANDMARKS:pose_world_landmarks" + output_stream: "SEGMENTATION_MASK:segmentation_mask_rotated" output_stream: "POSE_ROI:pose_roi" output_stream: "POSE_DETECTION:pose_detection" output_stream: "FACE_LANDMARKS:face_landmarks" output_stream: "LEFT_HAND_LANDMARKS:left_hand_landmarks" output_stream: "RIGHT_HAND_LANDMARKS:right_hand_landmarks" } + +node: { + calculator: "ImageTransformationCalculator" + input_stream: "IMAGE:segmentation_mask_rotated" + input_side_packet: "ROTATION_DEGREES:output_rotation" + input_side_packet: "FLIP_HORIZONTALLY:output_horizontally_flipped" + input_side_packet: "FLIP_VERTICALLY:output_vertically_flipped" + output_stream: "IMAGE:segmentation_mask" +} diff --git a/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_gpu.txt b/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_gpu.txt index ed977c564..07884397d 100644 --- a/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_gpu.txt +++ b/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_gpu.txt @@ -26,6 +26,7 @@ input_stream: "input_video" output_stream: "pose_landmarks" output_stream: "pose_world_landmarks" +output_stream: "segmentation_mask" output_stream: "pose_roi" output_stream: "pose_detection" output_stream: "face_landmarks" @@ -83,11 +84,29 @@ node { input_side_packet: "MODEL_COMPLEXITY:model_complexity" input_side_packet: "SMOOTH_LANDMARKS:smooth_landmarks" input_side_packet: "REFINE_FACE_LANDMARKS:refine_face_landmarks" + input_side_packet: "ENABLE_SEGMENTATION:enable_segmentation" + input_side_packet: "SMOOTH_SEGMENTATION:smooth_segmentation" output_stream: "POSE_LANDMARKS:pose_landmarks" output_stream: "WORLD_LANDMARKS:pose_world_landmarks" + output_stream: "SEGMENTATION_MASK:segmentation_mask_gpu" output_stream: "POSE_ROI:pose_roi" output_stream: "POSE_DETECTION:pose_detection" output_stream: "FACE_LANDMARKS:face_landmarks" output_stream: "LEFT_HAND_LANDMARKS:left_hand_landmarks" output_stream: "RIGHT_HAND_LANDMARKS:right_hand_landmarks" } + +node: { + calculator: "ImageTransformationCalculator" + input_stream: "IMAGE_GPU:segmentation_mask_gpu" + input_side_packet: "ROTATION_DEGREES:output_rotation" + input_side_packet: "FLIP_HORIZONTALLY:output_horizontally_flipped" + input_side_packet: "FLIP_VERTICALLY:output_vertically_flipped" + output_stream: "IMAGE_GPU:segmentation_mask_unrotated_gpu" +} + +node: { + calculator: "GpuBufferToImageFrameCalculator" + input_stream: "segmentation_mask_unrotated_gpu" + output_stream: "segmentation_mask" +} diff --git a/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_opengles.txt b/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_opengles.txt index 8a0c61479..f1a0f3339 100644 --- a/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_opengles.txt +++ b/Assets/Mediapipe/Samples/Scenes/Holistic/holistic_opengles.txt @@ -25,6 +25,7 @@ input_stream: "input_video" output_stream: "pose_landmarks" output_stream: "pose_world_landmarks" +output_stream: "segmentation_mask" output_stream: "pose_roi" output_stream: "pose_detection" output_stream: "face_landmarks" @@ -76,11 +77,29 @@ node { input_side_packet: "MODEL_COMPLEXITY:model_complexity" input_side_packet: "SMOOTH_LANDMARKS:smooth_landmarks" input_side_packet: "REFINE_FACE_LANDMARKS:refine_face_landmarks" + input_side_packet: "ENABLE_SEGMENTATION:enable_segmentation" + input_side_packet: "SMOOTH_SEGMENTATION:smooth_segmentation" output_stream: "POSE_LANDMARKS:pose_landmarks" output_stream: "WORLD_LANDMARKS:pose_world_landmarks" + output_stream: "SEGMENTATION_MASK:segmentation_mask_gpu" output_stream: "POSE_ROI:pose_roi" output_stream: "POSE_DETECTION:pose_detection" output_stream: "FACE_LANDMARKS:face_landmarks" output_stream: "LEFT_HAND_LANDMARKS:left_hand_landmarks" output_stream: "RIGHT_HAND_LANDMARKS:right_hand_landmarks" } + +node: { + calculator: "ImageTransformationCalculator" + input_stream: "IMAGE_GPU:segmentation_mask_gpu" + input_side_packet: "ROTATION_DEGREES:output_rotation" + input_side_packet: "FLIP_HORIZONTALLY:output_horizontally_flipped" + input_side_packet: "FLIP_VERTICALLY:output_vertically_flipped" + output_stream: "IMAGE_GPU:segmentation_mask_unrotated_gpu" +} + +node: { + calculator: "GpuBufferToImageFrameCalculator" + input_stream: "segmentation_mask_unrotated_gpu" + output_stream: "segmentation_mask" +} diff --git a/Assets/Mediapipe/Samples/Scenes/Pose Tracking/Pose Tracking.unity b/Assets/Mediapipe/Samples/Scenes/Pose Tracking/Pose Tracking.unity index 83809b5c1..c567d65c5 100644 --- a/Assets/Mediapipe/Samples/Scenes/Pose Tracking/Pose Tracking.unity +++ b/Assets/Mediapipe/Samples/Scenes/Pose Tracking/Pose Tracking.unity @@ -2752,7 +2752,7 @@ PrefabInstance: - target: {fileID: 5850198979010014858, guid: 24d349d9c78db0f3d94d4657029f4c5e, type: 3} propertyPath: _color.a - value: 0.49803922 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5850198979010014858, guid: 24d349d9c78db0f3d94d4657029f4c5e, type: 3} diff --git a/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_cpu.txt b/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_cpu.txt index a6b0325e1..cab8d9923 100644 --- a/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_cpu.txt +++ b/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_cpu.txt @@ -24,6 +24,7 @@ input_stream: "input_video" output_stream: "pose_landmarks" output_stream: "pose_world_landmarks" +output_stream: "segmentation_mask" output_stream: "pose_detection" output_stream: "roi_from_landmarks" diff --git a/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_gpu.txt b/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_gpu.txt index 49feec757..9a725b517 100644 --- a/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_gpu.txt +++ b/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_gpu.txt @@ -25,6 +25,7 @@ input_stream: "input_video" output_stream: "pose_landmarks" output_stream: "pose_world_landmarks" +output_stream: "segmentation_mask" output_stream: "pose_detection" output_stream: "roi_from_landmarks" diff --git a/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_opengles.txt b/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_opengles.txt index 98422981d..450d863a2 100644 --- a/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_opengles.txt +++ b/Assets/Mediapipe/Samples/Scenes/Pose Tracking/pose_tracking_opengles.txt @@ -24,6 +24,7 @@ input_stream: "input_video" output_stream: "pose_landmarks" output_stream: "pose_world_landmarks" +output_stream: "segmentation_mask" output_stream: "pose_detection" output_stream: "roi_from_landmarks"