From 6cac80fe179f8cc41e0077ef96046433319a051c Mon Sep 17 00:00:00 2001 From: jackfiled Date: Fri, 10 Feb 2023 15:28:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9D=90=E6=A0=87=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=9E=9A=E4=B8=BE=E5=92=8C=E5=9D=90=E6=A0=87=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- Assets/Models.meta | 3 + Assets/Models/PoseLandmark.cs | 160 ++++++++++++++ Assets/Models/PoseLandmark.cs.meta | 3 + Assets/Models/PoseLandmarkType.cs | 39 ++++ Assets/Models/PoseLandmarkType.cs.meta | 3 + Assets/Scenes/SampleScene.unity | 235 ++++++++++++++++++++- ProjectSettings/SceneTemplateSettings.json | 167 +++++++++++++++ 8 files changed, 602 insertions(+), 11 deletions(-) create mode 100644 Assets/Models.meta create mode 100644 Assets/Models/PoseLandmark.cs create mode 100644 Assets/Models/PoseLandmark.cs.meta create mode 100644 Assets/Models/PoseLandmarkType.cs create mode 100644 Assets/Models/PoseLandmarkType.cs.meta create mode 100644 ProjectSettings/SceneTemplateSettings.json diff --git a/.gitignore b/.gitignore index 7a5cd83..801ff7c 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ # Visual Studio cache directory .vs/ +.idea/ # Gradle cache directory .gradle/ @@ -69,4 +70,4 @@ crashlytics-build.properties # Temporary auto-generated Android Assets /[Aa]ssets/[Ss]treamingAssets/aa.meta -/[Aa]ssets/[Ss]treamingAssets/aa/* \ No newline at end of file +/[Aa]ssets/[Ss]treamingAssets/aa/* diff --git a/Assets/Models.meta b/Assets/Models.meta new file mode 100644 index 0000000..b89c2d7 --- /dev/null +++ b/Assets/Models.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d8a6b9c135344b43a73361b00c5cccc5 +timeCreated: 1676012829 \ No newline at end of file diff --git a/Assets/Models/PoseLandmark.cs b/Assets/Models/PoseLandmark.cs new file mode 100644 index 0000000..27bb89b --- /dev/null +++ b/Assets/Models/PoseLandmark.cs @@ -0,0 +1,160 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Models +{ + public class PoseLandmark + { + private const double Tolerance = 1E-6; + + /// + /// 单个包的长度 + /// + public const int PacketLength = 28; + + /// + /// 坐标点的种类 + /// + public PoseLandmarkType Type { get; } + + /// + /// 真实世界x坐标 + /// 以米为单位 + /// 以臀部为重心 + /// + public float X { get; } + + /// + /// 真实世界y坐标 + /// 以米为单位 + /// 以臀部为重心 + /// + public float Y { get; } + + /// + /// 真实世界z坐标 + /// 以米为单位 + /// 以臀部为重心 + /// + public float Z { get; } + + /// + /// 该坐标点估计的可见性 + /// [0,1] + /// + public float Visibility { get; } + + public long TimeStamp { get; } + + public PoseLandmark(PoseLandmarkType type, float x, float y, float z, float visibility, long timeStamp) + { + Type = type; + X = x; + Y = y; + Z = z; + Visibility = visibility; + TimeStamp = timeStamp; + } + + /// + /// 转换成字节数组 + /// 便于UDP发送 + /// + /// + public byte[] ToByteArray() + { + var result = new byte[PacketLength]; + + BitConverter.GetBytes((int)Type).CopyTo(result, 0); + BitConverter.GetBytes(X).CopyTo(result, 4); + BitConverter.GetBytes(Y).CopyTo(result, 8); + BitConverter.GetBytes(Z).CopyTo(result, 12); + BitConverter.GetBytes(Visibility).CopyTo(result, 16); + BitConverter.GetBytes(TimeStamp).CopyTo(result, 20); + + return result; + } + + /// + /// 解析字节数组 + /// + /// 收到的字节数组 + /// 字节数组中代表的坐标对象 + public static PoseLandmark ValueOf(byte[] bytes) + { + var result = new PoseLandmark( + (PoseLandmarkType)BitConverter.ToInt32(bytes, 0), + BitConverter.ToSingle(bytes, 4), + BitConverter.ToSingle(bytes, 8), + BitConverter.ToSingle(bytes, 12), + BitConverter.ToSingle(bytes, 16), + BitConverter.ToInt64(bytes, 20)); + + return result; + } + + /// + /// 解析字节数组为对象列表 + /// 单个 + /// + /// 字节数组 + /// + public static List ArrayOf(byte[] bytes) + { + var result = new List(); + + for (var i = 0; i < bytes.Length; i = i + PacketLength) + { + var landmark = new PoseLandmark((PoseLandmarkType)BitConverter.ToInt32(bytes, i), + BitConverter.ToSingle(bytes, i + 4), + BitConverter.ToSingle(bytes, i + 8), + BitConverter.ToSingle(bytes, i + 12), + BitConverter.ToSingle(bytes, i + 16), + BitConverter.ToInt64(bytes, i + 20)); + + result.Add(landmark); + } + + return result; + } + + public override bool Equals(object obj) + { + if (obj is not PoseLandmark landmark) + { + return false; + } + else + { + return Type == landmark.Type + && Math.Abs(X - landmark.X) < Tolerance + && Math.Abs(Y - landmark.Y) < Tolerance + && Math.Abs(Z - landmark.Z) < Tolerance + && Math.Abs(Visibility - landmark.Visibility) < Tolerance + && TimeStamp == landmark.TimeStamp; + } + } + + public override int GetHashCode() + { + var hashCode = Type.GetHashCode(); + hashCode ^= X.GetHashCode(); + hashCode ^= Y.GetHashCode(); + hashCode ^= Z.GetHashCode(); + hashCode ^= Visibility.GetHashCode(); + hashCode ^= TimeStamp.GetHashCode(); + + return hashCode; + } + + public override string ToString() + { + var builder = new StringBuilder(); + builder.Append($"Time: {TimeStamp}, Type: {Type}:\n"); + builder.Append($"\tX:{X}, Y:{Y}, Z:{Z}, Visibility: {Visibility}\n"); + + return builder.ToString(); + } + } +} \ No newline at end of file diff --git a/Assets/Models/PoseLandmark.cs.meta b/Assets/Models/PoseLandmark.cs.meta new file mode 100644 index 0000000..769ea61 --- /dev/null +++ b/Assets/Models/PoseLandmark.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6ea8689473f646dda518f8951906180a +timeCreated: 1676012961 \ No newline at end of file diff --git a/Assets/Models/PoseLandmarkType.cs b/Assets/Models/PoseLandmarkType.cs new file mode 100644 index 0000000..eae75fb --- /dev/null +++ b/Assets/Models/PoseLandmarkType.cs @@ -0,0 +1,39 @@ +namespace Models +{ + public enum PoseLandmarkType + { + Nose, + LeftEyeInner, + LeftEye, + LeftEyeOuter, + RightEyeInner, + RightEye, + RightEyeOuter, + LeftEar, + RightEar, + MouthLeft, + MouthRight, + LeftShoulder, + RightShoulder, + LeftElbow, + RightElbow, + LeftWrist, + RightWrist, + LeftPinky, + RightPinky, + LeftIndex, + RightIndex, + LeftThumb, + RightThumb, + LeftHip, + RightHip, + LeftKnee, + RightKnee, + LeftAnkle, + RightAnkle, + LeftHeel, + RightHeel, + LeftFootIndex, + RightFootIndex + } +} \ No newline at end of file diff --git a/Assets/Models/PoseLandmarkType.cs.meta b/Assets/Models/PoseLandmarkType.cs.meta new file mode 100644 index 0000000..737c815 --- /dev/null +++ b/Assets/Models/PoseLandmarkType.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f24fb8e37b154f0ba361371acb94ba7c +timeCreated: 1676012846 \ No newline at end of file diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 2221b04..101525e 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_IndirectSpecularColor: {r: 0.18029127, g: 0.22572401, b: 0.3069303, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -118,14 +118,128 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &320693305 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 320693310} + - component: {fileID: 320693309} + - component: {fileID: 320693308} + - component: {fileID: 320693307} + - component: {fileID: 320693306} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &320693306 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320693305} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 11e8a976fe328b1c3bdf9f44ef9f6fa1, type: 3} + m_Name: + m_EditorClassIdentifier: + rotateAmount: {x: 0, y: 1, z: 0} +--- !u!65 &320693307 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320693305} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &320693308 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320693305} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &320693309 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320693305} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &320693310 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320693305} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.24, y: 1.1, z: -1.8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &705507993 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 705507995} @@ -141,15 +255,18 @@ GameObject: Light: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 705507993} m_Enabled: 1 - serializedVersion: 8 + serializedVersion: 10 m_Type: 1 + m_Shape: 0 m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} m_Intensity: 1 m_Range: 10 m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 m_CookieSize: 10 m_Shadows: m_Type: 2 @@ -159,6 +276,24 @@ Light: m_Bias: 0.05 m_NormalBias: 0.4 m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 m_Cookie: {fileID: 0} m_DrawHalo: 0 m_Flare: {fileID: 0} @@ -166,23 +301,29 @@ Light: m_CullingMask: serializedVersion: 2 m_Bits: 4294967295 + m_RenderingLayerMask: 1 m_Lightmapping: 1 m_LightShadowCasterMode: 0 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 m_ColorTemperature: 6570 m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!4 &705507995 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 705507993} m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 1 @@ -191,7 +332,8 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 963194228} @@ -208,23 +350,26 @@ GameObject: AudioListener: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 963194225} m_Enabled: 1 --- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 963194225} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_GateFitMode: 2 m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 @@ -256,12 +401,82 @@ Camera: Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 963194225} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 1, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1880773849 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1880773852} + - component: {fileID: 1880773851} + - component: {fileID: 1880773850} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1880773850 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1880773849} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1880773851 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1880773849} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1880773852 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1880773849} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/ProjectSettings/SceneTemplateSettings.json b/ProjectSettings/SceneTemplateSettings.json new file mode 100644 index 0000000..6f3e60f --- /dev/null +++ b/ProjectSettings/SceneTemplateSettings.json @@ -0,0 +1,167 @@ +{ + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicMaterial", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "", + "ignore": false, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + "newSceneOverride": 0 +} \ No newline at end of file