Repository: derenlei/Unity_Detection2AR Branch: main Commit: e7aa9cd0525f Files: 95 Total size: 77.2 MB Directory structure: gitextract__ij81bq6/ ├── .gitignore ├── .vsconfig ├── Assets/ │ ├── Models/ │ │ ├── coco.txt │ │ ├── coco.txt.meta │ │ ├── food100.txt │ │ ├── food100.txt.meta │ │ ├── yolov2-tiny-food-freeze.onnx │ │ ├── yolov2-tiny-food-freeze.onnx.meta │ │ ├── yolov3-tiny-416.onnx │ │ └── yolov3-tiny-416.onnx.meta │ ├── Models.meta │ ├── Prefabs/ │ │ ├── AR Plane Debug Visualizer.prefab │ │ ├── AR Plane Debug Visualizer.prefab.meta │ │ ├── AR Point Cloud Debug Visualizer.prefab │ │ ├── AR Point Cloud Debug Visualizer.prefab.meta │ │ ├── DetectorTestPlane.prefab │ │ ├── DetectorTestPlane.prefab.meta │ │ ├── Mats/ │ │ │ ├── AR Simulation Plane Material.mat │ │ │ ├── AR Simulation Plane Material.mat.meta │ │ │ ├── TestMat.mat │ │ │ └── TestMat.mat.meta │ │ ├── Mats.meta │ │ ├── Text Anchor.prefab │ │ └── Text Anchor.prefab.meta │ ├── Prefabs.meta │ ├── Resources/ │ │ └── Retry.png.meta │ ├── Resources.meta │ ├── Scenes/ │ │ ├── Detect.unity │ │ └── Detect.unity.meta │ ├── Scenes.meta │ ├── Scripts/ │ │ ├── AnchorCreator.cs │ │ ├── AnchorCreator.cs.meta │ │ ├── Detector.cs │ │ ├── Detector.cs.meta │ │ ├── DetectorYolo2.cs │ │ ├── DetectorYolo2.cs.meta │ │ ├── DetectorYolo3.cs │ │ ├── DetectorYolo3.cs.meta │ │ ├── GraphicsWorker.cs │ │ ├── GraphicsWorker.cs.meta │ │ ├── NewText.cs │ │ ├── NewText.cs.meta │ │ ├── PhoneARCamera.cs │ │ ├── PhoneARCamera.cs.meta │ │ ├── TextureTools.cs │ │ └── TextureTools.cs.meta │ ├── Scripts.meta │ ├── XR/ │ │ ├── Loaders/ │ │ │ ├── AR Core Loader.asset │ │ │ ├── AR Core Loader.asset.meta │ │ │ ├── AR Kit Loader.asset │ │ │ ├── AR Kit Loader.asset.meta │ │ │ ├── AR Simulation Loader.asset │ │ │ └── AR Simulation Loader.asset.meta │ │ ├── Loaders.meta │ │ ├── Settings/ │ │ │ ├── AR Core Loader Settings.asset │ │ │ ├── AR Core Loader Settings.asset.meta │ │ │ ├── AR Core Settings.asset │ │ │ ├── AR Core Settings.asset.meta │ │ │ ├── AR Kit Settings.asset │ │ │ ├── AR Kit Settings.asset.meta │ │ │ ├── AR Simulation Loader Settings.asset │ │ │ └── AR Simulation Loader Settings.asset.meta │ │ ├── Settings.meta │ │ ├── XRGeneralSettings.asset │ │ └── XRGeneralSettings.asset.meta │ └── XR.meta ├── LICENSE ├── Packages/ │ └── manifest.json ├── ProjectSettings/ │ ├── AudioManager.asset │ ├── BurstAotSettings_Android.json │ ├── BurstAotSettings_StandaloneOSX.json │ ├── BurstAotSettings_iOS.json │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── NavMeshAreas.asset │ ├── NetworkManager.asset │ ├── PackageManagerSettings.asset │ ├── Physics2DSettings.asset │ ├── PresetManager.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── TagManager.asset │ ├── TimeManager.asset │ ├── UnityConnectSettings.asset │ ├── VFXManager.asset │ ├── VersionControlSettings.asset │ ├── XRPackageSettings.asset │ └── XRSettings.asset ├── README.md └── UserSettings/ └── EditorUserSettings.asset ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ # This .gitignore file should be placed at the root of your Unity project directory # # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore # /[Ll]ibrary/ /[Tt]emp/ /[Oo]bj/ /[Bb]uild/ /[Bb]uilds/ /[Ll]ogs/ /[Mm]emoryCaptures/ # Asset meta data should only be ignored when the corresponding asset is also ignored !/[Aa]ssets/**/*.meta # Uncomment this line if you wish to ignore the asset store tools plugin # /[Aa]ssets/AssetStoreTools* # Autogenerated Jetbrains Rider plugin [Aa]ssets/Plugins/Editor/JetBrains* # Visual Studio cache directory .vs/ # Gradle cache directory .gradle/ # Autogenerated VS/MD/Consulo solution and project files ExportedObj/ .consulo/ *.csproj *.unityproj *.sln *.suo *.tmp *.user *.userprefs *.pidb *.booproj *.svd *.pdb *.mdb *.opendb *.VC.db # Unity3D generated meta files *.pidb.meta *.pdb.meta *.mdb.meta # Unity3D generated file on crash reports sysinfo.txt # Builds *.apk *.unitypackage # Crashlytics generated file crashlytics-build.properties Assets/Samples/AR Simulation/ Assets/Samples/AR Simulation.meta Assets/Samples.meta Assets/Test/NewBehaviourScript.cs Assets/Test/ Assets/Test.meta Packages/package/ Packages/packages-lock.json ================================================ FILE: .vsconfig ================================================ { "version": "1.0", "components": [ "Microsoft.VisualStudio.Workload.ManagedGame" ] } ================================================ FILE: Assets/Models/coco.txt ================================================ person bicycle car motorbike aeroplane bus train truck boat traffic light fire hydrant stop sign parking meter bench bird cat dog horse sheep cow elephant bear zebra giraffe backpack umbrella handbag tie suitcase frisbee skis snowboard sports ball kite baseball bat baseball glove skateboard surfboard tennis racket bottle wine glass cup fork knife spoon bowl banana apple sandwich orange broccoli carrot hot dog pizza donut cake chair sofa pottedplant bed diningtable toilet tvmonitor laptop mouse remote keyboard cell phone microwave oven toaster sink refrigerator book clock vase scissors teddy bear hair drier toothbrush ================================================ FILE: Assets/Models/coco.txt.meta ================================================ fileFormatVersion: 2 guid: c88409e946cdfce4d856d1577eee644a TextScriptImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Models/food100.txt ================================================ rice eels-on-rice pilaf chicken-n-egg-on-rice pork-cutlet-on-rice beef-curry sushi chicken-rice fried-rice tempura-bowl bibimbap toast croissant roll-bread raisin-bread chip-butty hamburger pizza sandwiches udon-noodle tempura-udon soba-noodle ramen-noodle beef-noodle tensin-noodle fried-noodle spaghetti Japanese-style-pancake takoyaki gratin sauteed-vegetables croquette grilled-eggplant sauteed-spinach vegetable-tempura miso-soup potage sausage oden omelet ganmodoki jiaozi stew teriyaki-grilled-fish fried-fish grilled-salmon salmon-meuniere sashimi grilled-pacific-saury- sukiyaki sweet-and-sour-pork lightly-roasted-fish steamed-egg-hotchpotch tempura fried-chicken sirloin-cutlet nanbanzuke boiled-fish seasoned-beef-with-potatoes hambarg-steak beef-steak dried-fish ginger-pork-saute spicy-chili-flavored-tofu yakitori cabbage-roll rolled-omelet egg-sunny-side-up fermented-soybeans cold-tofu egg-roll chilled-noodle stir-fried-beef-and-peppers simmered-pork boiled-chicken-and-vegetables sashimi-bowl sushi-bowl fish-shaped-pancake-with-bean-jam shrimp-with-chill-source roast-chicken steamed-meat-dumpling omelet-with-fried-rice cutlet-curry spaghetti-meat-sauce fried-shrimp potato-salad green-salad macaroni-salad Japanese-tofu-and-vegetable-chowder pork-miso-soup chinese-soup beef-bowl kinpira-style-sauteed-burdock rice-ball pizza-toast dipping-noodles hot-dog french-fries mixed-rice goya-chanpuru ================================================ FILE: Assets/Models/food100.txt.meta ================================================ fileFormatVersion: 2 guid: 4308da5922acc4035bfd80354ca33fa8 TextScriptImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Models/yolov2-tiny-food-freeze.onnx ================================================ [File too large to display: 43.1 MB] ================================================ FILE: Assets/Models/yolov2-tiny-food-freeze.onnx.meta ================================================ fileFormatVersion: 2 guid: 016586ec820c54c409f01ecabe1df1e2 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} serializedVersion: 2 userData: assetBundleName: assetBundleVariant: script: {fileID: 11500000, guid: 683b6cb6d0a474744822c888b46772c9, type: 3} patchReshapeToSupportBatchSize: 1 ================================================ FILE: Assets/Models/yolov3-tiny-416.onnx ================================================ [File too large to display: 33.8 MB] ================================================ FILE: Assets/Models/yolov3-tiny-416.onnx.meta ================================================ fileFormatVersion: 2 guid: 885f42f35cce8544bb6e71e7079f0295 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} serializedVersion: 2 userData: assetBundleName: assetBundleVariant: script: {fileID: 11500000, guid: 683b6cb6d0a474744822c888b46772c9, type: 3} optimizeModel: 1 forceArbitraryBatchSize: 1 treatErrorsAsWarnings: 0 ================================================ FILE: Assets/Models.meta ================================================ fileFormatVersion: 2 guid: be6ea49d92ab84e08ad8f9db5112eea2 folderAsset: yes DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Prefabs/AR Plane Debug Visualizer.prefab ================================================ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!1 &4790095165407838153 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4788404696006209747} - component: {fileID: 4893940144740187451} - component: {fileID: 4893876163668126941} - component: {fileID: 4800810498425521857} - component: {fileID: 4757156012561800091} - component: {fileID: 4767098943853782827} - component: {fileID: 5887170679372203532} m_Layer: 0 m_Name: AR Plane Debug Visualizer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!4 &4788404696006209747 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4790095165407838153} 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: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &4893940144740187451 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4790095165407838153} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 5f66da7470dce8f4d821d71dd2b1d4ac, type: 3} m_Name: m_EditorClassIdentifier: m_DestroyOnRemoval: 1 m_VertexChangedThreshold: 0.01 --- !u!114 &4893876163668126941 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4790095165407838153} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 3d180956a54db4646a1c6342921672ad, type: 3} m_Name: m_EditorClassIdentifier: --- !u!64 &4800810498425521857 MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4790095165407838153} m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 serializedVersion: 4 m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 0} --- !u!33 &4757156012561800091 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4790095165407838153} m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} --- !u!23 &4767098943853782827 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4790095165407838153} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: ab11933456b2f7f4ca7233da0537f327, type: 2} 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: 0 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!114 &5887170679372203532 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4790095165407838153} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: bc6347de109f489e9c9f226cb7d80c3f, type: 3} m_Name: m_EditorClassIdentifier: UpdateChildren: 1 ================================================ FILE: Assets/Prefabs/AR Plane Debug Visualizer.prefab.meta ================================================ fileFormatVersion: 2 guid: c4e486de976fe5b458821f4f895780b2 PrefabImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Prefabs/AR Point Cloud Debug Visualizer.prefab ================================================ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!1 &1854016325464908 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4459255792954120} - component: {fileID: 198296754606205776} - component: {fileID: 199567844588220584} - component: {fileID: 114674181514608572} - component: {fileID: 114143057649092886} m_Layer: 0 m_Name: AR Point Cloud Debug Visualizer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!4 &4459255792954120 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1854016325464908} 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: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!198 &198296754606205776 ParticleSystem: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1854016325464908} serializedVersion: 7 lengthInSec: 5 simulationSpeed: 1 stopAction: 0 cullingMode: 1 ringBufferMode: 0 ringBufferLoopRange: {x: 0, y: 1} looping: 0 prewarm: 0 playOnAwake: 0 useUnscaledTime: 0 autoRandomSeed: 1 useRigidbodyForVelocity: 1 startDelay: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 moveWithTransform: 0 moveWithCustomTransform: {fileID: 0} scalingMode: 0 randomSeed: 0 InitialModule: serializedVersion: 3 enabled: 1 startLifetime: serializedVersion: 2 minMaxState: 0 scalar: 5 minScalar: 5 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 startSpeed: serializedVersion: 2 minMaxState: 0 scalar: 5 minScalar: 5 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 startColor: serializedVersion: 2 minMaxState: 0 minColor: {r: 1, g: 1, b: 1, a: 1} maxColor: {r: 0.007843152, g: 0.6313726, b: 0.07684743, a: 0.36078432} maxGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 startSize: serializedVersion: 2 minMaxState: 0 scalar: 0.02 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 startSizeY: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 startSizeZ: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 startRotationX: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 startRotationY: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 startRotation: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 randomizeRotationDirection: 0 maxNumParticles: 1000 size3D: 0 rotation3D: 0 gravityModifier: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 ShapeModule: serializedVersion: 6 enabled: 0 type: 4 angle: 25 length: 5 boxThickness: {x: 0, y: 0, z: 0} radiusThickness: 1 donutRadius: 0.2 m_Position: {x: 0, y: 0, z: 0} m_Rotation: {x: 0, y: 0, z: 0} m_Scale: {x: 1, y: 1, z: 1} placementMode: 0 m_MeshMaterialIndex: 0 m_MeshNormalOffset: 0 m_MeshSpawn: mode: 0 spread: 0 speed: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 m_Mesh: {fileID: 0} m_MeshRenderer: {fileID: 0} m_SkinnedMeshRenderer: {fileID: 0} m_Sprite: {fileID: 0} m_SpriteRenderer: {fileID: 0} m_UseMeshMaterialIndex: 0 m_UseMeshColors: 1 alignToDirection: 0 m_Texture: {fileID: 0} m_TextureClipChannel: 3 m_TextureClipThreshold: 0 m_TextureUVChannel: 0 m_TextureColorAffectsParticles: 1 m_TextureAlphaAffectsParticles: 1 m_TextureBilinearFiltering: 0 randomDirectionAmount: 0 sphericalDirectionAmount: 0 randomPositionAmount: 0 radius: value: 1 mode: 0 spread: 0 speed: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 arc: value: 360 mode: 0 spread: 0 speed: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 EmissionModule: enabled: 1 serializedVersion: 4 rateOverTime: serializedVersion: 2 minMaxState: 0 scalar: 10 minScalar: 10 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 rateOverDistance: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 m_BurstCount: 0 m_Bursts: [] SizeModule: enabled: 0 curve: serializedVersion: 2 minMaxState: 1 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 1 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 1 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 y: serializedVersion: 2 minMaxState: 1 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 1 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 1 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 z: serializedVersion: 2 minMaxState: 1 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 1 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 1 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 separateAxes: 0 RotationModule: enabled: 0 x: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 y: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 curve: serializedVersion: 2 minMaxState: 0 scalar: 0.7853982 minScalar: 0.7853982 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 separateAxes: 0 ColorModule: enabled: 0 gradient: serializedVersion: 2 minMaxState: 1 minColor: {r: 1, g: 1, b: 1, a: 1} maxColor: {r: 1, g: 1, b: 1, a: 1} maxGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 UVModule: serializedVersion: 2 enabled: 0 mode: 0 timeMode: 0 fps: 30 frameOverTime: serializedVersion: 2 minMaxState: 1 scalar: 0.9999 minScalar: 0.9999 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 1 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 1 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 startFrame: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 speedRange: {x: 0, y: 1} tilesX: 1 tilesY: 1 animationType: 0 rowIndex: 0 cycles: 1 uvChannelMask: -1 rowMode: 1 sprites: - sprite: {fileID: 0} flipU: 0 flipV: 0 VelocityModule: enabled: 0 x: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 y: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 z: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 orbitalX: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 orbitalY: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 orbitalZ: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 orbitalOffsetX: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 orbitalOffsetY: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 orbitalOffsetZ: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 radial: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 speedModifier: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 inWorldSpace: 0 InheritVelocityModule: enabled: 0 m_Mode: 0 m_Curve: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 LifetimeByEmitterSpeedModule: enabled: 0 m_Curve: serializedVersion: 2 minMaxState: 1 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: -0.8 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0.2 inSlope: -0.8 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 m_Range: {x: 0, y: 1} ForceModule: enabled: 0 x: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 y: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 z: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 inWorldSpace: 0 randomizePerFrame: 0 ExternalForcesModule: serializedVersion: 2 enabled: 0 multiplierCurve: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 influenceFilter: 0 influenceMask: serializedVersion: 2 m_Bits: 4294967295 influenceList: [] ClampVelocityModule: enabled: 0 x: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 y: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 z: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 magnitude: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 separateAxis: 0 inWorldSpace: 0 multiplyDragByParticleSize: 1 multiplyDragByParticleVelocity: 1 dampen: 0 drag: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 NoiseModule: enabled: 0 strength: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 strengthY: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 strengthZ: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 separateAxes: 0 frequency: 0.5 damping: 1 octaves: 1 octaveMultiplier: 0.5 octaveScale: 2 quality: 2 scrollSpeed: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 remap: serializedVersion: 2 minMaxState: 1 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 1 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 1 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 remapY: serializedVersion: 2 minMaxState: 1 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 1 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 1 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 remapZ: serializedVersion: 2 minMaxState: 1 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 1 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 1 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 remapEnabled: 0 positionAmount: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 rotationAmount: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 sizeAmount: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 SizeBySpeedModule: enabled: 0 curve: serializedVersion: 2 minMaxState: 1 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 1 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 1 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 y: serializedVersion: 2 minMaxState: 1 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 1 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 1 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 z: serializedVersion: 2 minMaxState: 1 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 1 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 1 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 range: {x: 0, y: 1} separateAxes: 0 RotationBySpeedModule: enabled: 0 x: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 y: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 curve: serializedVersion: 2 minMaxState: 0 scalar: 0.7853982 minScalar: 0.7853982 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 separateAxes: 0 range: {x: 0, y: 1} ColorBySpeedModule: enabled: 0 gradient: serializedVersion: 2 minMaxState: 1 minColor: {r: 1, g: 1, b: 1, a: 1} maxColor: {r: 1, g: 1, b: 1, a: 1} maxGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 range: {x: 0, y: 1} CollisionModule: enabled: 0 serializedVersion: 4 type: 0 collisionMode: 0 colliderForce: 0 multiplyColliderForceByParticleSize: 0 multiplyColliderForceByParticleSpeed: 0 multiplyColliderForceByCollisionAngle: 1 m_Planes: - {fileID: 0} - {fileID: 0} - {fileID: 0} - {fileID: 0} - {fileID: 0} - {fileID: 0} m_Dampen: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 m_Bounce: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 m_EnergyLossOnCollision: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minKillSpeed: 0 maxKillSpeed: 10000 radiusScale: 1 collidesWith: serializedVersion: 2 m_Bits: 4294967295 maxCollisionShapes: 256 quality: 0 voxelSize: 0.5 collisionMessages: 0 collidesWithDynamic: 1 interiorCollisions: 0 TriggerModule: enabled: 0 serializedVersion: 2 inside: 1 outside: 0 enter: 0 exit: 0 colliderQueryMode: 0 radiusScale: 1 primitives: - {fileID: 0} - {fileID: 0} - {fileID: 0} - {fileID: 0} - {fileID: 0} - {fileID: 0} SubModule: serializedVersion: 2 enabled: 0 subEmitters: - serializedVersion: 3 emitter: {fileID: 0} type: 0 properties: 0 emitProbability: 1 LightsModule: enabled: 0 ratio: 0 light: {fileID: 0} randomDistribution: 1 color: 1 range: 1 intensity: 1 rangeCurve: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 intensityCurve: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 maxLights: 20 TrailModule: enabled: 0 mode: 0 ratio: 1 lifetime: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minVertexDistance: 0.2 textureMode: 0 ribbonCount: 1 shadowBias: 0.5 worldSpace: 0 dieWithParticles: 1 sizeAffectsWidth: 1 sizeAffectsLifetime: 0 inheritParticleColor: 1 generateLightingData: 0 splitSubEmitterRibbons: 0 attachRibbonsToTransform: 0 colorOverLifetime: serializedVersion: 2 minMaxState: 0 minColor: {r: 1, g: 1, b: 1, a: 1} maxColor: {r: 1, g: 1, b: 1, a: 1} maxGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 widthOverTrail: serializedVersion: 2 minMaxState: 0 scalar: 1 minScalar: 1 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 1 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 colorOverTrail: serializedVersion: 2 minMaxState: 0 minColor: {r: 1, g: 1, b: 1, a: 1} maxColor: {r: 1, g: 1, b: 1, a: 1} maxGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 CustomDataModule: enabled: 0 mode0: 0 vectorComponentCount0: 4 color0: serializedVersion: 2 minMaxState: 0 minColor: {r: 1, g: 1, b: 1, a: 1} maxColor: {r: 1, g: 1, b: 1, a: 1} maxGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 colorLabel0: Color vector0_0: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 vectorLabel0_0: X vector0_1: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 vectorLabel0_1: Y vector0_2: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 vectorLabel0_2: Z vector0_3: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 vectorLabel0_3: W mode1: 0 vectorComponentCount1: 4 color1: serializedVersion: 2 minMaxState: 0 minColor: {r: 1, g: 1, b: 1, a: 1} maxColor: {r: 1, g: 1, b: 1, a: 1} maxGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 minGradient: serializedVersion: 2 key0: {r: 1, g: 1, b: 1, a: 1} key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} key6: {r: 0, g: 0, b: 0, a: 0} key7: {r: 0, g: 0, b: 0, a: 0} ctime0: 0 ctime1: 65535 ctime2: 0 ctime3: 0 ctime4: 0 ctime5: 0 ctime6: 0 ctime7: 0 atime0: 0 atime1: 65535 atime2: 0 atime3: 0 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 colorLabel1: Color vector1_0: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 vectorLabel1_0: X vector1_1: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 vectorLabel1_1: Y vector1_2: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 vectorLabel1_2: Z vector1_3: serializedVersion: 2 minMaxState: 0 scalar: 0 minScalar: 0 maxCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 minCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 time: 1 value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 vectorLabel1_3: W --- !u!199 &199567844588220584 ParticleSystemRenderer: serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1854016325464908} m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 m_MotionVectors: 1 m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 m_RayTracingMode: 0 m_RayTraceProcedural: 0 m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: - {fileID: 10301, 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: 0 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_RenderMode: 0 m_SortMode: 0 m_MinParticleSize: 0 m_MaxParticleSize: 0.1 m_CameraVelocityScale: 0 m_VelocityScale: 0 m_LengthScale: 2 m_SortingFudge: 0 m_NormalDirection: 1 m_ShadowBias: 0 m_RenderAlignment: 0 m_Pivot: {x: 0, y: 0, z: 0} m_Flip: {x: 0, y: 0, z: 0} m_UseCustomVertexStreams: 0 m_EnableGPUInstancing: 1 m_ApplyActiveColorSpace: 0 m_AllowRoll: 1 m_FreeformStretching: 0 m_RotateWithStretchDirection: 1 m_VertexStreams: 00010304 m_Mesh: {fileID: 0} m_Mesh1: {fileID: 0} m_Mesh2: {fileID: 0} m_Mesh3: {fileID: 0} m_MaskInteraction: 0 --- !u!114 &114674181514608572 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1854016325464908} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: afcab4e7938ae724a8a59ecac3580761, type: 3} m_Name: m_EditorClassIdentifier: m_DestroyOnRemoval: 1 --- !u!114 &114143057649092886 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1854016325464908} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 468ea6c98cd64494abbc2c2f34d6cde2, type: 3} m_Name: m_EditorClassIdentifier: ================================================ FILE: Assets/Prefabs/AR Point Cloud Debug Visualizer.prefab.meta ================================================ fileFormatVersion: 2 guid: 3682a31e884ba23498b98aa13424b070 PrefabImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Prefabs/DetectorTestPlane.prefab ================================================ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!1 &5889051510850662349 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2034492457774889872} - component: {fileID: 8264197659697635104} - component: {fileID: 2367961399356825960} - component: {fileID: 3629801757133234499} - component: {fileID: 3898077734593637825} m_Layer: 0 m_Name: DetectorTestPlane m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!4 &2034492457774889872 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5889051510850662349} m_LocalRotation: {x: 0.00000026783968, y: -0.7071071, z: 0.7071065, w: 0.00000026822087} m_LocalPosition: {x: 0, y: -0, z: 0.402} m_LocalScale: {x: 0.02627485, y: 0.017814666, z: 0.017814666} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 180} --- !u!33 &8264197659697635104 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5889051510850662349} m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} --- !u!23 &2367961399356825960 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5889051510850662349} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 508aa399934165844a258673a509db6f, type: 2} 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!64 &3629801757133234499 MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5889051510850662349} m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 serializedVersion: 4 m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} --- !u!114 &3898077734593637825 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5889051510850662349} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 3cf238348b474f71b4c5ad0e5f8d27b6, type: 3} m_Name: m_EditorClassIdentifier: state: 2 classification: 0 allowMerging: 0 allowRuntimeUpdate: 0 ================================================ FILE: Assets/Prefabs/DetectorTestPlane.prefab.meta ================================================ fileFormatVersion: 2 guid: 5ea05c8affc774741915233a56ca6193 PrefabImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Prefabs/Mats/AR Simulation Plane Material.mat ================================================ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: AR Simulation Plane Material m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} m_ShaderKeywords: _ALPHABLEND_ON m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: 3000 stringTagMap: RenderType: Transparent disabledShaderPasses: - SHADOWCASTER m_SavedProperties: serializedVersion: 3 m_TexEnvs: - _BaseMap: m_Texture: {fileID: 2800000, guid: 1ca84a19e4d196441b946143bff39a6e, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _DetailAlbedoMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _DetailMask: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _DetailNormalMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _EmissionMap: m_Texture: {fileID: 0} m_Scale: {x: 2, y: 2} m_Offset: {x: 0, y: 0} - _MainTex: m_Texture: {fileID: 2800000, guid: 1ca84a19e4d196441b946143bff39a6e, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _OcclusionMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _ParallaxMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _SpecGlossMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - _AlphaClip: 0 - _Blend: 0 - _BumpScale: 1 - _Cull: 2 - _Cutoff: 0.31 - _DetailNormalMapScale: 1 - _DstBlend: 10 - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0 - _GlossyReflections: 1 - _Metallic: 0 - _Mode: 2 - _OcclusionStrength: 1 - _Parallax: 0.02 - _QueueOffset: 0 - _ReceiveShadows: 1 - _Smoothness: 0 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 5 - _Surface: 1 - _UVSec: 0 - _WorkflowMode: 1 - _ZWrite: 0 m_Colors: - _BaseColor: {r: 1, g: 1, b: 1, a: 0.13333334} - _Color: {r: 1, g: 1, b: 1, a: 0.02745098} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] --- !u!114 &871439786661583393 MonoBehaviour: m_ObjectHideFlags: 11 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: version: 1 ================================================ FILE: Assets/Prefabs/Mats/AR Simulation Plane Material.mat.meta ================================================ fileFormatVersion: 2 guid: ab11933456b2f7f4ca7233da0537f327 NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Prefabs/Mats/TestMat.mat ================================================ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TestMat m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} m_ShaderKeywords: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _DetailAlbedoMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _DetailMask: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _DetailNormalMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _EmissionMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: m_Texture: {fileID: 2800000, guid: 376aa276495ba1643ad665745b049623, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _OcclusionMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _ParallaxMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - _BumpScale: 1 - _Cutoff: 0.5 - _DetailNormalMapScale: 1 - _DstBlend: 0 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 - _Metallic: 0 - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 - _UVSec: 0 - _ZWrite: 1 m_Colors: - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] ================================================ FILE: Assets/Prefabs/Mats/TestMat.mat.meta ================================================ fileFormatVersion: 2 guid: 17ea89e0a0da0a747a539ad57557d668 NativeFormatImporter: externalObjects: {} mainObjectFileID: 2100000 userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Prefabs/Mats.meta ================================================ fileFormatVersion: 2 guid: 7c2359979c4208c42ac24f8a05dcb1bf folderAsset: yes DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Prefabs/Text Anchor.prefab ================================================ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!1 &8151608749036815814 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 8151608749036815813} - component: {fileID: 8151608749036815812} - component: {fileID: 8151608749036815815} m_Layer: 0 m_Name: New Text m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!4 &8151608749036815813 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8151608749036815814} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.005, y: 0.005, z: 0.005} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &8151608749036815812 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8151608749036815814} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - {fileID: 10100, guid: 0000000000000000e000000000000000, 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 --- !u!102 &8151608749036815815 TextMesh: serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8151608749036815814} m_Text: m_OffsetZ: 0 m_CharacterSize: 1 m_LineSpacing: 1 m_Anchor: 4 m_Alignment: 1 m_TabSize: 1 m_FontSize: 28 m_FontStyle: 0 m_RichText: 1 m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} m_Color: serializedVersion: 2 rgba: 4293787746 ================================================ FILE: Assets/Prefabs/Text Anchor.prefab.meta ================================================ fileFormatVersion: 2 guid: 2c1d34a0b201e4f8ea095f4a30d79d6f PrefabImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Prefabs.meta ================================================ fileFormatVersion: 2 guid: 6c4a42ce4ff214dc8804e5df793c9402 folderAsset: yes DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Resources/Retry.png.meta ================================================ fileFormatVersion: 2 guid: feff2c38632b01640b8c4291403a8cde TextureImporter: internalIDToNameTable: [] externalObjects: {} serializedVersion: 11 mipmaps: mipMapMode: 0 enableMipMap: 0 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 mipMapsPreserveCoverage: 0 alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: convertToNormalMap: 0 externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 seamlessCubemap: 0 textureFormat: -3 maxTextureSize: 1024 textureSettings: serializedVersion: 2 filterMode: -1 aniso: 1 mipBias: -100 wrapU: 1 wrapV: 1 wrapW: 1 nPOTScale: 0 lightmap: 0 compressionQuality: 50 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} spritePixelsToUnits: 100 spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 ignorePngGamma: 0 applyGammaDecoding: 1 platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform maxTextureSize: 1024 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 0 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 internalID: 0 vertices: [] indices: edges: [] weights: [] secondaryTextures: [] spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Resources.meta ================================================ fileFormatVersion: 2 guid: 38f90fbfbafd94ca597090392c44fa16 folderAsset: yes DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Scenes/Detect.unity ================================================ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!29 &1 OcclusionCullingSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_OcclusionBakeSettings: smallestOccluder: 5 smallestHole: 0.25 backfaceThreshold: 100 m_SceneGUID: 00000000000000000000000000000000 m_OcclusionCullingData: {fileID: 0} --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 serializedVersion: 9 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 m_FogDensity: 0.01 m_LinearFogStart: 0 m_LinearFogEnd: 300 m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 m_AmbientMode: 0 m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 m_HaloTexture: {fileID: 0} m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} m_DefaultReflectionMode: 0 m_DefaultReflectionResolution: 128 m_ReflectionBounces: 1 m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} m_IndirectSpecularColor: {r: 0.3731193, g: 0.38073996, b: 0.3587269, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 serializedVersion: 12 m_GIWorkflowMode: 0 m_GISettings: serializedVersion: 2 m_BounceScale: 1 m_IndirectOutputScale: 1 m_AlbedoBoost: 1 m_EnvironmentLightingMode: 0 m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 1 m_LightmapEditorSettings: serializedVersion: 12 m_Resolution: 2 m_BakeResolution: 40 m_AtlasSize: 1024 m_AO: 0 m_AOMaxDistance: 1 m_CompAOExponent: 1 m_CompAOExponentDirect: 0 m_ExtractAmbientOcclusion: 0 m_Padding: 2 m_LightmapParameters: {fileID: 0} m_LightmapsBakeMode: 1 m_TextureCompression: 1 m_FinalGather: 0 m_FinalGatherFiltering: 1 m_FinalGatherRayCount: 256 m_ReflectionCompression: 2 m_MixedBakeMode: 2 m_BakeBackend: 0 m_PVRSampling: 1 m_PVRDirectSampleCount: 32 m_PVRSampleCount: 500 m_PVRBounces: 2 m_PVREnvironmentSampleCount: 500 m_PVREnvironmentReferencePointCount: 2048 m_PVRFilteringMode: 2 m_PVRDenoiserTypeDirect: 0 m_PVRDenoiserTypeIndirect: 0 m_PVRDenoiserTypeAO: 0 m_PVRFilterTypeDirect: 0 m_PVRFilterTypeIndirect: 0 m_PVRFilterTypeAO: 0 m_PVREnvironmentMIS: 0 m_PVRCulling: 1 m_PVRFilteringGaussRadiusDirect: 1 m_PVRFilteringGaussRadiusIndirect: 5 m_PVRFilteringGaussRadiusAO: 2 m_PVRFilteringAtrousPositionSigmaDirect: 0.5 m_PVRFilteringAtrousPositionSigmaIndirect: 2 m_PVRFilteringAtrousPositionSigmaAO: 1 m_ExportTrainingData: 0 m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} m_LightingSettings: {fileID: 2118813720} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: serializedVersion: 2 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 agentSlope: 45 agentClimb: 0.4 ledgeDropHeight: 0 maxJumpAcrossDistance: 0 minRegionArea: 2 manualCellSize: 0 cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 accuratePlacement: 0 maxJobWorkers: 0 preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} --- !u!1 &36209703 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 36209705} - component: {fileID: 36209704} - component: {fileID: 36209707} - component: {fileID: 36209706} m_Layer: 0 m_Name: ARSim m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!114 &36209704 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 36209703} m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: d7c7dbe8ee98417fa5d311951c5fd23f, type: 3} m_Name: m_EditorClassIdentifier: SceneOrPrefab: {fileID: 5889051510850662349, guid: 5ea05c8affc774741915233a56ca6193, type: 3} NotEditable: 1 HideInHierarchy: 0 HideInSceneView: 0 Format: 0 NotSaved: 1 AllowRuntimeUpdates: 0 previousRealitySceneOrPrefab: {fileID: 5889051510850662349, guid: 5ea05c8affc774741915233a56ca6193, type: 3} isValidRealityScene: 1 environmentCamera: {fileID: 0} currentRealityScenePath: currentRealitySceneInstance: m_Handle: 0 currentRealityPrefabInstance: {fileID: 0} instantiatedGameObjects: [] --- !u!4 &36209705 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 36209703} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.83543235, y: 1.2246709, z: -1.8691459} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &36209706 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 36209703} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 9edb2a0699d542eebeee37fd7342f7e0, type: 3} m_Name: m_EditorClassIdentifier: Interval: 0.1 RaysPerFrame: 5 Mask: serializedVersion: 2 m_Bits: 0 MaxDistance: 5 MaxCount: 1000 NormalOffset: 0.01 RandomJitter: 0 OrderHitsByDist: 0 DrawGizmosSelected: 0 _isFirstValidate: 0 --- !u!114 &36209707 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 36209703} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: b88d44bbac43449dbadd76670e26af24, type: 3} m_Name: m_EditorClassIdentifier: sampleCount: 3 interval: 0.2 maxDistance: 5 planeEps: 0.1 mask: serializedVersion: 2 m_Bits: 0 _isFirstValidate: 0 --- !u!1 &42609963 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 42609967} - component: {fileID: 42609966} - component: {fileID: 42609965} - component: {fileID: 42609964} m_Layer: 5 m_Name: Canvas m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!114 &42609964 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 42609963} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} m_Name: m_EditorClassIdentifier: m_IgnoreReversedGraphics: 1 m_BlockingObjects: 0 m_BlockingMask: serializedVersion: 2 m_Bits: 4294967295 --- !u!114 &42609965 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 42609963} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} m_Name: m_EditorClassIdentifier: m_UiScaleMode: 1 m_ReferencePixelsPerUnit: 100 m_ScaleFactor: 1 m_ReferenceResolution: {x: 800, y: 1280} m_ScreenMatchMode: 0 m_MatchWidthOrHeight: 0 m_PhysicalUnit: 3 m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 m_PresetInfoIsWorld: 0 --- !u!223 &42609966 Canvas: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 42609963} m_Enabled: 1 serializedVersion: 3 m_RenderMode: 0 m_Camera: {fileID: 0} m_PlaneDistance: 100 m_PixelPerfect: 0 m_ReceivesEvents: 1 m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 m_AdditionalShaderChannelsFlag: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 --- !u!224 &42609967 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 42609963} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1375191583} - {fileID: 475302932} - {fileID: 118469889} m_Father: {fileID: 0} 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: 0} m_Pivot: {x: 0, y: 0} --- !u!1 &118469888 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 118469889} - component: {fileID: 118469892} - component: {fileID: 118469891} - component: {fileID: 118469890} m_Layer: 5 m_Name: DetectButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!224 &118469889 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 118469888} 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: 272965489} m_Father: {fileID: 42609967} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} m_AnchoredPosition: {x: 0, y: 232} m_SizeDelta: {x: 120, y: 120} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &118469890 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 118469888} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 118469891} m_OnClick: m_PersistentCalls: m_Calls: - m_Target: {fileID: 1293103701} m_TargetAssemblyTypeName: PhoneARCamera, Assembly-CSharp m_MethodName: OnRefresh m_Mode: 1 m_Arguments: m_ObjectArgument: {fileID: 0} m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine m_IntArgument: 0 m_FloatArgument: 0 m_StringArgument: m_BoolArgument: 0 m_CallState: 2 --- !u!114 &118469891 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 118469888} 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: 0.011764706, g: 0.85490197, b: 0.77254903, 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: 21300000, guid: feff2c38632b01640b8c4291403a8cde, type: 3} 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!222 &118469892 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 118469888} m_CullTransparentMesh: 1 --- !u!1 &205469108 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 205469109} - component: {fileID: 205469111} - component: {fileID: 205469110} m_Layer: 5 m_Name: SearchingText m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!224 &205469109 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 205469108} 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: 475302932} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} m_AnchoredPosition: {x: -80, y: -180} m_SizeDelta: {x: 600, y: 300} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &205469110 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 205469108} 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: 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_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} m_FontSize: 40 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 4 m_MaxSize: 46 m_Alignment: 3 m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: --- !u!222 &205469111 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 205469108} m_CullTransparentMesh: 0 --- !u!1 &272965488 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 272965489} - component: {fileID: 272965491} - component: {fileID: 272965490} m_Layer: 5 m_Name: Text m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!224 &272965489 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 272965488} 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: 118469889} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &272965490 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 272965488} 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, g: 0, b: 0, 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: 64 m_FontStyle: 1 m_BestFit: 0 m_MinSize: 0 m_MaxSize: 64 m_Alignment: 4 m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: --- !u!222 &272965491 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 272965488} m_CullTransparentMesh: 1 --- !u!1 &475302931 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 475302932} - component: {fileID: 475302934} - component: {fileID: 475302933} m_Layer: 5 m_Name: SnackBar m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 0 --- !u!224 &475302932 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 475302931} 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: 205469109} m_Father: {fileID: 42609967} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: -100} m_SizeDelta: {x: 0, y: 300} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &475302933 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 475302931} 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: 0, g: 0, b: 0, a: 0.392} 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: 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!222 &475302934 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 475302931} m_CullTransparentMesh: 0 --- !u!1 &1026556349 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1026556352} - component: {fileID: 1026556351} - component: {fileID: 1026556350} m_Layer: 0 m_Name: AR Session m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!114 &1026556350 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1026556349} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fa850fbd5b8aded44846f96e35f1a9f5, type: 3} m_Name: m_EditorClassIdentifier: --- !u!114 &1026556351 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1026556349} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 3859a92a05d4f5d418cb6ca605290e74, type: 3} m_Name: m_EditorClassIdentifier: m_AttemptUpdate: 1 m_MatchFrameRate: 1 m_TrackingMode: 2 --- !u!4 &1026556352 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1026556349} 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: 0} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1274020240 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 8151608749036815813, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_RootOrder value: 7 objectReference: {fileID: 0} - target: {fileID: 8151608749036815813, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_LocalPosition.x value: 1000 objectReference: {fileID: 0} - target: {fileID: 8151608749036815813, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_LocalPosition.y value: 1000 objectReference: {fileID: 0} - target: {fileID: 8151608749036815813, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_LocalPosition.z value: 1000 objectReference: {fileID: 0} - target: {fileID: 8151608749036815813, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - target: {fileID: 8151608749036815813, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_LocalRotation.x value: 0 objectReference: {fileID: 0} - target: {fileID: 8151608749036815813, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_LocalRotation.y value: 0 objectReference: {fileID: 0} - target: {fileID: 8151608749036815813, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} - target: {fileID: 8151608749036815813, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - target: {fileID: 8151608749036815813, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} - target: {fileID: 8151608749036815813, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - target: {fileID: 8151608749036815814, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} propertyPath: m_Name value: Text Anchor objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} --- !u!1 &1274020241 stripped GameObject: m_CorrespondingSourceObject: {fileID: 8151608749036815814, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} m_PrefabInstance: {fileID: 1274020240} m_PrefabAsset: {fileID: 0} --- !u!102 &1274020242 stripped TextMesh: m_CorrespondingSourceObject: {fileID: 8151608749036815815, guid: 2c1d34a0b201e4f8ea095f4a30d79d6f, type: 3} m_PrefabInstance: {fileID: 1274020240} m_PrefabAsset: {fileID: 0} --- !u!114 &1274020243 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1274020241} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 79019c9fc138647828d00740109116cc, type: 3} m_Name: m_EditorClassIdentifier: --- !u!1 &1293103699 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1293103702} - component: {fileID: 1293103701} m_Layer: 0 m_Name: Camera Image m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!114 &1293103701 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1293103699} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 92f78a26596dc4161946c702f35b9b54, type: 3} m_Name: m_EditorClassIdentifier: m_CameraManager: {fileID: 1479178377} m_RawImage: {fileID: 1375191585} selected_detector: 0 shiftX: 0 shiftY: 0 scaleFactor: 1 colorTag: {r: 0.3843137, g: 0, b: 0.9333333, a: 1} localization: 0 --- !u!4 &1293103702 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1293103699} 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: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1358539155 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1358539158} - component: {fileID: 1358539157} - component: {fileID: 1358539156} m_Layer: 0 m_Name: EventSystem m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!114 &1358539156 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1358539155} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} m_Name: m_EditorClassIdentifier: m_HorizontalAxis: Horizontal m_VerticalAxis: Vertical m_SubmitButton: Submit m_CancelButton: Cancel m_InputActionsPerSecond: 10 m_RepeatDelay: 0.5 m_ForceModuleActive: 0 --- !u!114 &1358539157 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1358539155} 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 &1358539158 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1358539155} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -0.000030517578, y: -0.000015258789, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1375191582 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1375191583} - component: {fileID: 1375191586} - component: {fileID: 1375191585} - component: {fileID: 1375191584} m_Layer: 5 m_Name: Background m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 0 --- !u!224 &1375191583 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1375191582} 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: 42609967} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 35.177887} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1375191584 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1375191582} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 86710e43de46f6f4bac7c8e50813a599, type: 3} m_Name: m_EditorClassIdentifier: m_AspectMode: 4 m_AspectRatio: 1.6 --- !u!114 &1375191585 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1375191582} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_Texture: {fileID: 2800000, guid: db915c4ea74562e4abe32ffe4cff7364, type: 3} m_UVRect: serializedVersion: 2 x: 0 y: 0 width: 1 height: 1 --- !u!222 &1375191586 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1375191582} m_CullTransparentMesh: 0 --- !u!1 &1479178373 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1479178379} - component: {fileID: 1479178374} - component: {fileID: 1479178378} - component: {fileID: 1479178377} - component: {fileID: 1479178376} m_Layer: 0 m_Name: AR Camera m_TagString: MainCamera m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!20 &1479178374 Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1479178373} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 2 m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 y: 0 width: 1 height: 1 near clip plane: 0.1 far clip plane: 20 field of view: 60 orthographic: 0 orthographic size: 5 m_Depth: 0 m_CullingMask: serializedVersion: 2 m_Bits: 31 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} m_TargetDisplay: 0 m_TargetEye: 3 m_HDR: 1 m_AllowMSAA: 1 m_AllowDynamicResolution: 0 m_ForceIntoRT: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 --- !u!114 &1479178376 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1479178373} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 816b289ef451e094f9ae174fb4cf8db0, type: 3} m_Name: m_EditorClassIdentifier: m_UseCustomMaterial: 0 m_CustomMaterial: {fileID: 0} --- !u!114 &1479178377 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1479178373} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 4966719baa26e4b0e8231a24d9bd491a, type: 3} m_Name: m_EditorClassIdentifier: m_FocusMode: -1 m_LightEstimationMode: -1 m_AutoFocus: 1 m_LightEstimation: 0 m_FacingDirection: 1 --- !u!114 &1479178378 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1479178373} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 5a2a9c34df4095f47b9ca8f975175f5b, type: 3} m_Name: m_EditorClassIdentifier: m_Device: 0 m_PoseSource: 6 m_PoseProviderComponent: {fileID: 0} m_TrackingType: 0 m_UpdateType: 0 m_UseRelativeTransform: 0 --- !u!4 &1479178379 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1479178373} 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: 1768617438} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1768617436 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 1768617438} - component: {fileID: 1768617437} - component: {fileID: 1768617441} - component: {fileID: 1768617440} - component: {fileID: 1768617442} - component: {fileID: 1768617443} - component: {fileID: 1768617439} m_Layer: 0 m_Name: AR Session Origin m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!114 &1768617437 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1768617436} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 520bb47c46cf8624fafb307b7d1b862a, type: 3} m_Name: m_EditorClassIdentifier: m_Camera: {fileID: 1479178374} --- !u!4 &1768617438 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1768617436} 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: 1479178379} m_Father: {fileID: 0} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1768617439 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1768617436} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 0ce89f3ad92cf4ef69e0d2b97e8c16d8, type: 3} m_Name: m_EditorClassIdentifier: phoneARCamera: {fileID: 1293103701} m_RaycastManager: {fileID: 1768617441} anchorObj_mesh: {fileID: 1274020242} m_AnchorManager: {fileID: 1768617440} --- !u!114 &1768617440 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1768617436} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 728ad7fae8e460a4ba41265c7308d757, type: 3} m_Name: m_EditorClassIdentifier: m_AnchorPrefab: {fileID: 1274020241} --- !u!114 &1768617441 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1768617436} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fa17d122634046b4a8e23048891fafc5, type: 3} m_Name: m_EditorClassIdentifier: m_RaycastPrefab: {fileID: 0} --- !u!114 &1768617442 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1768617436} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 7ab0e80cee9cc1d44928bfe488dd1e2d, type: 3} m_Name: m_EditorClassIdentifier: m_PointCloudPrefab: {fileID: 1854016325464908, guid: 3682a31e884ba23498b98aa13424b070, type: 3} --- !u!114 &1768617443 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1768617436} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: e1760703bbd54c04488a8d10600262ab, type: 3} m_Name: m_EditorClassIdentifier: m_PlanePrefab: {fileID: 4790095165407838153, guid: c4e486de976fe5b458821f4f895780b2, type: 3} m_DetectionMode: -1 --- !u!1 &2031168777 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2031168779} - component: {fileID: 2031168778} m_Layer: 0 m_Name: Detector Yolo2-tiny m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!114 &2031168778 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2031168777} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: cec27819255f0ea47bcc6d3f47bff5cc, type: 3} m_Name: m_EditorClassIdentifier: modelFile: {fileID: 5022602860645237092, guid: 016586ec820c54c409f01ecabe1df1e2, type: 3} labelsFile: {fileID: 4900000, guid: 4308da5922acc4035bfd80354ca33fa8, type: 3} INPUT_NAME: yolov2-tiny/net1 OUTPUT_NAME: yolov2-tiny/convolutional9/BiasAdd MINIMUM_CONFIDENCE: 0.2 CLASS_COUNT: 100 --- !u!4 &2031168779 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2031168777} 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: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2096813970 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 2096813972} - component: {fileID: 2096813971} m_Layer: 0 m_Name: Detector Yolo3-tiny m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!114 &2096813971 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2096813970} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: e8859dbd01756264a97258b2ba723437, type: 3} m_Name: m_EditorClassIdentifier: modelFile: {fileID: 5022602860645237092, guid: 885f42f35cce8544bb6e71e7079f0295, type: 3} labelsFile: {fileID: 4900000, guid: c88409e946cdfce4d856d1577eee644a, type: 3} INPUT_NAME: 000_net OUTPUT_NAME_L: 016_convolutional OUTPUT_NAME_M: 023_convolutional MINIMUM_CONFIDENCE: 0.25 CLASS_COUNT: 80 --- !u!4 &2096813972 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2096813970} 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: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!850595691 &2118813720 LightingSettings: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Settings.lighting serializedVersion: 3 m_GIWorkflowMode: 0 m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 1 m_RealtimeEnvironmentLighting: 1 m_BounceScale: 1 m_AlbedoBoost: 1 m_IndirectOutputScale: 1 m_UsingShadowmask: 1 m_BakeBackend: 0 m_LightmapMaxSize: 1024 m_BakeResolution: 40 m_Padding: 2 m_TextureCompression: 1 m_AO: 0 m_AOMaxDistance: 1 m_CompAOExponent: 1 m_CompAOExponentDirect: 0 m_ExtractAO: 0 m_MixedBakeMode: 2 m_LightmapsBakeMode: 1 m_FilterMode: 1 m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} m_ExportTrainingData: 0 m_TrainingDataDestination: TrainingData m_RealtimeResolution: 2 m_ForceWhiteAlbedo: 0 m_ForceUpdates: 0 m_FinalGather: 0 m_FinalGatherRayCount: 256 m_FinalGatherFiltering: 1 m_PVRCulling: 1 m_PVRSampling: 1 m_PVRDirectSampleCount: 32 m_PVRSampleCount: 500 m_PVREnvironmentSampleCount: 500 m_PVREnvironmentReferencePointCount: 2048 m_LightProbeSampleCountMultiplier: 4 m_PVRBounces: 2 m_PVRMinBounces: 1 m_PVREnvironmentMIS: 0 m_PVRFilteringMode: 2 m_PVRDenoiserTypeDirect: 0 m_PVRDenoiserTypeIndirect: 0 m_PVRDenoiserTypeAO: 0 m_PVRFilterTypeDirect: 0 m_PVRFilterTypeIndirect: 0 m_PVRFilterTypeAO: 0 m_PVRFilteringGaussRadiusDirect: 1 m_PVRFilteringGaussRadiusIndirect: 5 m_PVRFilteringGaussRadiusAO: 2 m_PVRFilteringAtrousPositionSigmaDirect: 0.5 m_PVRFilteringAtrousPositionSigmaIndirect: 2 m_PVRFilteringAtrousPositionSigmaAO: 1 ================================================ FILE: Assets/Scenes/Detect.unity.meta ================================================ fileFormatVersion: 2 guid: 0ac926d5817d54df194262ddcc5326f5 DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Scenes.meta ================================================ fileFormatVersion: 2 guid: 0662f1f97c609457080285b544925446 folderAsset: yes DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Scripts/AnchorCreator.cs ================================================ using System.Collections.Generic; using UnityEngine; using UnityEngine.XR.ARFoundation; using UnityEngine.XR.ARSubsystems; public class AnchorCreator : MonoBehaviour { public void RemoveAllAnchors() { Debug.Log($"DEBUG: Removing all anchors ({anchorDic.Count})"); foreach (var anchor in anchorDic) { Destroy(anchor.Key.gameObject); } s_Hits.Clear(); anchorDic.Clear(); } void Awake() { m_RaycastManager = GetComponent(); m_AnchorManager = GetComponent(); GameObject cameraImage = GameObject.Find("Camera Image"); phoneARCamera = cameraImage.GetComponent(); } ARAnchor CreateAnchor(in ARRaycastHit hit) { // TODO: create plane anchor // create a regular anchor at the hit pose Debug.Log($"DEBUG: Creating regular anchor. distance: {hit.distance}. session distance: {hit.sessionRelativeDistance} type: {hit.hitType}."); return m_AnchorManager.AddAnchor(hit.pose); } private bool Pos2Anchor(float x, float y, BoundingBox outline) { // GameObject anchorObj = m_RaycastManager.raycastPrefab; // TextMesh anchorObj_mesh = anchorObj.GetComponent(); anchorObj_mesh.text = $"{outline.Label}: {(int)(outline.Confidence * 100)}%"; // Perform the raycast if (m_RaycastManager.Raycast(new Vector2(x, y), s_Hits, trackableTypes)) { // Raycast hits are sorted by distance, so the first one will be the closest hit. var hit = s_Hits[0]; //TextMesh anchorObj = GameObject.Find("New Text").GetComponent(); // Create a new anchor Debug.Log("Creating Anchor"); var anchor = CreateAnchor(hit); if (anchor) { Debug.Log($"DEBUG: creating anchor. {outline}"); // Remember the anchor so we can remove it later. anchorDic.Add(anchor, outline); Debug.Log($"DEBUG: Current number of anchors {anchorDic.Count}."); return true; } else { Debug.Log("DEBUG: Error creating anchor"); return false; } } else { //Debug.Log("Couldn't raycast"); } return false; } void Update() { // If bounding boxes are not stable, return directly without raycast if (!phoneARCamera.localization) { return; } boxSavedOutlines = phoneARCamera.boxSavedOutlines; shiftX = phoneARCamera.shiftX; shiftY = phoneARCamera.shiftY; scaleFactor = phoneARCamera.scaleFactor; // Remove outdated anchor that is not in boxSavedOutlines // Currently not using. Can be removed. if (anchorDic.Count != 0) { List itemsToRemove = new List(); foreach (KeyValuePair pair in anchorDic) { if (!boxSavedOutlines.Contains(pair.Value)) { Debug.Log($"DEBUG: anchor removed. {pair.Value.Label}: {(int)(pair.Value.Confidence * 100)}%"); itemsToRemove.Add(pair.Key); m_AnchorManager.RemoveAnchor(pair.Key); s_Hits.Clear(); } } foreach (var item in itemsToRemove) { anchorDic.Remove(item); } } // return if no bounding boxes if (boxSavedOutlines.Count == 0) { return; } // create anchor for new bounding boxes foreach (var outline in boxSavedOutlines) { if (outline.Used) { continue; } // Note: rect bounding box coordinates starts from top left corner. // AR camera starts from borrom left corner. // Need to flip Y axis coordinate of the anchor 2D position when raycast var xMin = outline.Dimensions.X * this.scaleFactor + this.shiftX; var width = outline.Dimensions.Width * this.scaleFactor; var yMin = outline.Dimensions.Y * this.scaleFactor + this.shiftY; yMin = Screen.height - yMin; var height = outline.Dimensions.Height * this.scaleFactor; float center_x = xMin + width / 2f; float center_y = yMin - height / 2f; if (Pos2Anchor(center_x, center_y, outline)) { Debug.Log("Outline used is true"); outline.Used = true; } else { //Debug.Log("Outline used is false"); } } } static List s_Hits = new List(); IDictionary anchorDic = new Dictionary(); // from PhoneARCamera private List boxSavedOutlines; private float shiftX; private float shiftY; private float scaleFactor; public PhoneARCamera phoneARCamera; public ARRaycastManager m_RaycastManager; public TextMesh anchorObj_mesh; public ARAnchorManager m_AnchorManager; // Raycast against planes and feature points //const TrackableType trackableTypes = TrackableType.Planes;//FeaturePoint; const TrackableType trackableTypes = TrackableType.Planes | TrackableType.FeaturePoint; } ================================================ FILE: Assets/Scripts/AnchorCreator.cs.meta ================================================ fileFormatVersion: 2 guid: 0ce89f3ad92cf4ef69e0d2b97e8c16d8 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Scripts/Detector.cs ================================================ using System; using UnityEngine; using Unity.Barracuda; using System.Collections; using System.Collections.Generic; public interface Detector { int IMAGE_SIZE { get; } void Start(); IEnumerator Detect(Color32[] picture, System.Action> callback); } public class DimensionsBase { public float X { get; set; } public float Y { get; set; } public float Height { get; set; } public float Width { get; set; } } public class BoundingBoxDimensions : DimensionsBase { } class CellDimensions : DimensionsBase { } public class BoundingBox { public BoundingBoxDimensions Dimensions { get; set; } public string Label { get; set; } public float Confidence { get; set; } // whether the bounding box already is used to raycast anchors public bool Used { get; set; } public Rect Rect { get { return new Rect(Dimensions.X, Dimensions.Y, Dimensions.Width, Dimensions.Height); } } public override string ToString() { return $"{Label}:{Confidence}, {Dimensions.X}:{Dimensions.Y} - {Dimensions.Width}:{Dimensions.Height}"; } } ================================================ FILE: Assets/Scripts/Detector.cs.meta ================================================ fileFormatVersion: 2 guid: da11ba848a6f6304092f9ba436774b18 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Scripts/DetectorYolo2.cs ================================================ using System; using UnityEngine; using Unity.Barracuda; using System.Linq; using System.Collections; using System.Collections.Generic; using System.Text.RegularExpressions; public class DetectorYolo2 : MonoBehaviour, Detector { public NNModel modelFile; public TextAsset labelsFile; private const int IMAGE_MEAN = 0; private const float IMAGE_STD = 255.0F; // ONNX model input and output name. Modify when switching models. //These aren't const values because they need to be easily edited on the component before play mode public string INPUT_NAME; public string OUTPUT_NAME; //This has to stay a const private const int _image_size = 416; public int IMAGE_SIZE { get => _image_size; } // Minimum detection confidence to track a detection public float MINIMUM_CONFIDENCE; private IWorker worker; public const int ROW_COUNT = 13; public const int COL_COUNT = 13; public const int BOXES_PER_CELL = 5; public const int BOX_INFO_FEATURE_COUNT = 5; //Update this! public int CLASS_COUNT; public const float CELL_WIDTH = 32; public const float CELL_HEIGHT = 32; private string[] labels; private float[] anchors = new float[] { // 1.08F, 1.19F, 3.42F, 4.41F, 6.63F, 11.38F, 9.42F, 5.11F, 16.62F, 10.52F // yolov2-tiny-voc //0.57273F, 0.677385F, 1.87446F, 2.06253F, 3.33843F, 5.47434F, 7.88282F, 3.52778F, 9.77052F, 9.16828F // yolov2-tiny 0.57273F, 0.677385F, 1.87446F, 2.06253F, 3.33843F, 5.47434F, 7.88282F, 3.52778F, 9.77052F, 9.16828F // yolov2-tiny-food }; public void Start() { this.labels = Regex.Split(this.labelsFile.text, "\n|\r|\r\n") .Where(s => !String.IsNullOrEmpty(s)).ToArray(); var model = ModelLoader.Load(this.modelFile); // https://docs.unity3d.com/Packages/com.unity.barracuda@1.0/manual/Worker.html //These checks all check for GPU before CPU as GPU is preferred if the platform + rendering pipeline support it this.worker = GraphicsWorker.GetWorker(model); } public IEnumerator Detect(Color32[] picture, System.Action> callback) { using (var tensor = TransformInput(picture, IMAGE_SIZE, IMAGE_SIZE)) { var inputs = new Dictionary(); inputs.Add(INPUT_NAME, tensor); yield return StartCoroutine(worker.StartManualSchedule(inputs)); //worker.Execute(inputs); var output = worker.PeekOutput(OUTPUT_NAME); Debug.Log("Output: " + output); var results = ParseOutputs(output, MINIMUM_CONFIDENCE); var boxes = FilterBoundingBoxes(results, 5, MINIMUM_CONFIDENCE); callback(boxes); } } public static Tensor TransformInput(Color32[] pic, int width, int height) { float[] floatValues = new float[width * height * 3]; for (int i = 0; i < pic.Length; ++i) { var color = pic[i]; floatValues[i * 3 + 0] = (color.r - IMAGE_MEAN) / IMAGE_STD; floatValues[i * 3 + 1] = (color.g - IMAGE_MEAN) / IMAGE_STD; floatValues[i * 3 + 2] = (color.b - IMAGE_MEAN) / IMAGE_STD; } return new Tensor(1, height, width, 3, floatValues); } private IList ParseOutputs(Tensor yoloModelOutput, float threshold) { var boxes = new List(); for (int cy = 0; cy < COL_COUNT; cy++) { for (int cx = 0; cx < ROW_COUNT; cx++) { for (int box = 0; box < BOXES_PER_CELL; box++) { var channel = (box * (CLASS_COUNT + BOX_INFO_FEATURE_COUNT)); var bbd = ExtractBoundingBoxDimensions(yoloModelOutput, cx, cy, channel); float confidence = GetConfidence(yoloModelOutput, cx, cy, channel); if (confidence < threshold) { continue; } float[] predictedClasses = ExtractClasses(yoloModelOutput, cx, cy, channel); var (topResultIndex, topResultScore) = GetTopResult(predictedClasses); var topScore = topResultScore * confidence; Debug.Log("DEBUG: results: " + topResultIndex.ToString()); if (topScore < threshold) { continue; } var mappedBoundingBox = MapBoundingBoxToCell(cx, cy, box, bbd); boxes.Add(new BoundingBox { Dimensions = new BoundingBoxDimensions { X = (mappedBoundingBox.X - mappedBoundingBox.Width / 2), Y = (mappedBoundingBox.Y - mappedBoundingBox.Height / 2), Width = mappedBoundingBox.Width, Height = mappedBoundingBox.Height, }, Confidence = topScore, Label = labels[topResultIndex], Used = false }); } } } return boxes; } private float Sigmoid(float value) { var k = (float)Math.Exp(value); return k / (1.0f + k); } private float[] Softmax(float[] values) { var maxVal = values.Max(); var exp = values.Select(v => Math.Exp(v - maxVal)); var sumExp = exp.Sum(); return exp.Select(v => (float)(v / sumExp)).ToArray(); } private BoundingBoxDimensions ExtractBoundingBoxDimensions(Tensor modelOutput, int x, int y, int channel) { return new BoundingBoxDimensions { X = modelOutput[0, x, y, channel], Y = modelOutput[0, x, y, channel + 1], Width = modelOutput[0, x, y, channel + 2], Height = modelOutput[0, x, y, channel + 3] }; } private float GetConfidence(Tensor modelOutput, int x, int y, int channel) { // Debug.Log("ModelOutput " + modelOutput); return Sigmoid(modelOutput[0, x, y, channel + 4]); } private CellDimensions MapBoundingBoxToCell(int x, int y, int box, BoundingBoxDimensions boxDimensions) { return new CellDimensions { X = ((float)y + Sigmoid(boxDimensions.X)) * CELL_WIDTH, Y = ((float)x + Sigmoid(boxDimensions.Y)) * CELL_HEIGHT, Width = (float)Math.Exp(boxDimensions.Width) * CELL_WIDTH * anchors[box * 2], Height = (float)Math.Exp(boxDimensions.Height) * CELL_HEIGHT * anchors[box * 2 + 1], }; } public float[] ExtractClasses(Tensor modelOutput, int x, int y, int channel) { float[] predictedClasses = new float[CLASS_COUNT]; int predictedClassOffset = channel + BOX_INFO_FEATURE_COUNT; for (int predictedClass = 0; predictedClass < CLASS_COUNT; predictedClass++) { predictedClasses[predictedClass] = modelOutput[0, x, y, predictedClass + predictedClassOffset]; } return Softmax(predictedClasses); } private ValueTuple GetTopResult(float[] predictedClasses) { return predictedClasses .Select((predictedClass, index) => (Index: index, Value: predictedClass)) .OrderByDescending(result => result.Value) .First(); } private float IntersectionOverUnion(Rect boundingBoxA, Rect boundingBoxB) { var areaA = boundingBoxA.width * boundingBoxA.height; if (areaA <= 0) return 0; var areaB = boundingBoxB.width * boundingBoxB.height; if (areaB <= 0) return 0; var minX = Math.Max(boundingBoxA.xMin, boundingBoxB.xMin); var minY = Math.Max(boundingBoxA.yMin, boundingBoxB.yMin); var maxX = Math.Min(boundingBoxA.xMax, boundingBoxB.xMax); var maxY = Math.Min(boundingBoxA.yMax, boundingBoxB.yMax); var intersectionArea = Math.Max(maxY - minY, 0) * Math.Max(maxX - minX, 0); return intersectionArea / (areaA + areaB - intersectionArea); } private IList FilterBoundingBoxes(IList boxes, int limit, float threshold) { var activeCount = boxes.Count; var isActiveBoxes = new bool[boxes.Count]; for (int i = 0; i < isActiveBoxes.Length; i++) { isActiveBoxes[i] = true; } var sortedBoxes = boxes.Select((b, i) => new { Box = b, Index = i }) .OrderByDescending(b => b.Box.Confidence) .ToList(); var results = new List(); for (int i = 0; i < boxes.Count; i++) { if (isActiveBoxes[i]) { var boxA = sortedBoxes[i].Box; results.Add(boxA); if (results.Count >= limit) break; for (var j = i + 1; j < boxes.Count; j++) { if (isActiveBoxes[j]) { var boxB = sortedBoxes[j].Box; if (IntersectionOverUnion(boxA.Rect, boxB.Rect) > threshold) { isActiveBoxes[j] = false; activeCount--; if (activeCount <= 0) break; } } } if (activeCount <= 0) break; } } return results; } } ================================================ FILE: Assets/Scripts/DetectorYolo2.cs.meta ================================================ fileFormatVersion: 2 guid: cec27819255f0ea47bcc6d3f47bff5cc MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Scripts/DetectorYolo3.cs ================================================ using System; using UnityEngine; using Unity.Barracuda; using System.Linq; using System.Collections; using System.Collections.Generic; using System.Text.RegularExpressions; public class DetectorYolo3 : MonoBehaviour, Detector { public NNModel modelFile; public TextAsset labelsFile; private const int IMAGE_MEAN = 0; private const float IMAGE_STD = 255.0F; // ONNX model input and output name. Modify when switching models. //These aren't const values because they need to be easily edited on the component before play mode public string INPUT_NAME; public string OUTPUT_NAME_L; public string OUTPUT_NAME_M; //This has to stay a const private const int _image_size = 416; public int IMAGE_SIZE { get => _image_size; } // Minimum detection confidence to track a detection public float MINIMUM_CONFIDENCE = 0.25f; private IWorker worker; // public const int ROW_COUNT_L = 13; // public const int COL_COUNT_L = 13; // public const int ROW_COUNT_M = 26; // public const int COL_COUNT_M = 26; public Dictionary params_l = new Dictionary(){{"ROW_COUNT", 13}, {"COL_COUNT", 13}, {"CELL_WIDTH", 32}, {"CELL_HEIGHT", 32}}; public Dictionary params_m = new Dictionary(){{"ROW_COUNT", 26}, {"COL_COUNT", 26}, {"CELL_WIDTH", 16}, {"CELL_HEIGHT", 16}}; public const int BOXES_PER_CELL = 3; public const int BOX_INFO_FEATURE_COUNT = 5; //Update this! public int CLASS_COUNT; // public const float CELL_WIDTH_L = 32; // public const float CELL_HEIGHT_L = 32; // public const float CELL_WIDTH_M = 16; // public const float CELL_HEIGHT_M = 16; private string[] labels; private float[] anchors = new float[] { 10F, 14F, 23F, 27F, 37F, 58F, 81F, 82F, 135F, 169F, 344F, 319F // yolov3-tiny }; public void Start() { this.labels = Regex.Split(this.labelsFile.text, "\n|\r|\r\n") .Where(s => !String.IsNullOrEmpty(s)).ToArray(); var model = ModelLoader.Load(this.modelFile); // https://docs.unity3d.com/Packages/com.unity.barracuda@1.0/manual/Worker.html //These checks all check for GPU before CPU as GPU is preferred if the platform + rendering pipeline support it this.worker = GraphicsWorker.GetWorker(model); } public IEnumerator Detect(Color32[] picture, System.Action> callback) { using (var tensor = TransformInput(picture, IMAGE_SIZE, IMAGE_SIZE)) { var inputs = new Dictionary(); inputs.Add(INPUT_NAME, tensor); yield return StartCoroutine(worker.StartManualSchedule(inputs)); //worker.Execute(inputs); var output_l = worker.PeekOutput(OUTPUT_NAME_L); var output_m = worker.PeekOutput(OUTPUT_NAME_M); //Debug.Log("Output: " + output); var results_l = ParseOutputs(output_l, MINIMUM_CONFIDENCE, params_l); var results_m = ParseOutputs(output_m, MINIMUM_CONFIDENCE, params_m); var results = results_l.Concat(results_m).ToList(); var boxes = FilterBoundingBoxes(results, 5, MINIMUM_CONFIDENCE); callback(boxes); } } public static Tensor TransformInput(Color32[] pic, int width, int height) { float[] floatValues = new float[width * height * 3]; for (int i = 0; i < pic.Length; ++i) { var color = pic[i]; floatValues[i * 3 + 0] = (color.r - IMAGE_MEAN) / IMAGE_STD; floatValues[i * 3 + 1] = (color.g - IMAGE_MEAN) / IMAGE_STD; floatValues[i * 3 + 2] = (color.b - IMAGE_MEAN) / IMAGE_STD; } return new Tensor(1, height, width, 3, floatValues); } private IList ParseOutputs(Tensor yoloModelOutput, float threshold, Dictionary parameters) { var boxes = new List(); for (int cy = 0; cy < parameters["COL_COUNT"]; cy++) { for (int cx = 0; cx < parameters["ROW_COUNT"]; cx++) { for (int box = 0; box < BOXES_PER_CELL; box++) { var channel = (box * (CLASS_COUNT + BOX_INFO_FEATURE_COUNT)); var bbd = ExtractBoundingBoxDimensions(yoloModelOutput, cx, cy, channel); float confidence = GetConfidence(yoloModelOutput, cx, cy, channel); if (confidence < threshold) { continue; } float[] predictedClasses = ExtractClasses(yoloModelOutput, cx, cy, channel); var (topResultIndex, topResultScore) = GetTopResult(predictedClasses); var topScore = topResultScore * confidence; Debug.Log("DEBUG: results: " + topResultIndex.ToString()); if (topScore < threshold) { continue; } var mappedBoundingBox = MapBoundingBoxToCell(cx, cy, box, bbd, parameters); boxes.Add(new BoundingBox { Dimensions = new BoundingBoxDimensions { X = (mappedBoundingBox.X - mappedBoundingBox.Width / 2), Y = (mappedBoundingBox.Y - mappedBoundingBox.Height / 2), Width = mappedBoundingBox.Width, Height = mappedBoundingBox.Height, }, Confidence = topScore, Label = labels[topResultIndex], Used = false }); } } } return boxes; } private float Sigmoid(float value) { var k = (float)Math.Exp(value); return k / (1.0f + k); } private float[] Softmax(float[] values) { var maxVal = values.Max(); var exp = values.Select(v => Math.Exp(v - maxVal)); var sumExp = exp.Sum(); return exp.Select(v => (float)(v / sumExp)).ToArray(); } private BoundingBoxDimensions ExtractBoundingBoxDimensions(Tensor modelOutput, int x, int y, int channel) { return new BoundingBoxDimensions { X = modelOutput[0, x, y, channel], Y = modelOutput[0, x, y, channel + 1], Width = modelOutput[0, x, y, channel + 2], Height = modelOutput[0, x, y, channel + 3] }; } private float GetConfidence(Tensor modelOutput, int x, int y, int channel) { //Debug.Log("ModelOutput " + modelOutput); return Sigmoid(modelOutput[0, x, y, channel + 4]); } private CellDimensions MapBoundingBoxToCell(int x, int y, int box, BoundingBoxDimensions boxDimensions, Dictionary parameters) { return new CellDimensions { X = ((float)y + Sigmoid(boxDimensions.X)) * parameters["CELL_WIDTH"], Y = ((float)x + Sigmoid(boxDimensions.Y)) * parameters["CELL_HEIGHT"], Width = (float)Math.Exp(boxDimensions.Width) * anchors[6 + box * 2], Height = (float)Math.Exp(boxDimensions.Height) * anchors[6 + box * 2 + 1], }; } public float[] ExtractClasses(Tensor modelOutput, int x, int y, int channel) { float[] predictedClasses = new float[CLASS_COUNT]; int predictedClassOffset = channel + BOX_INFO_FEATURE_COUNT; for (int predictedClass = 0; predictedClass < CLASS_COUNT; predictedClass++) { predictedClasses[predictedClass] = modelOutput[0, x, y, predictedClass + predictedClassOffset]; } return Softmax(predictedClasses); } private ValueTuple GetTopResult(float[] predictedClasses) { return predictedClasses .Select((predictedClass, index) => (Index: index, Value: predictedClass)) .OrderByDescending(result => result.Value) .First(); } private float IntersectionOverUnion(Rect boundingBoxA, Rect boundingBoxB) { var areaA = boundingBoxA.width * boundingBoxA.height; if (areaA <= 0) return 0; var areaB = boundingBoxB.width * boundingBoxB.height; if (areaB <= 0) return 0; var minX = Math.Max(boundingBoxA.xMin, boundingBoxB.xMin); var minY = Math.Max(boundingBoxA.yMin, boundingBoxB.yMin); var maxX = Math.Min(boundingBoxA.xMax, boundingBoxB.xMax); var maxY = Math.Min(boundingBoxA.yMax, boundingBoxB.yMax); var intersectionArea = Math.Max(maxY - minY, 0) * Math.Max(maxX - minX, 0); return intersectionArea / (areaA + areaB - intersectionArea); } private IList FilterBoundingBoxes(IList boxes, int limit, float threshold) { var activeCount = boxes.Count; var isActiveBoxes = new bool[boxes.Count]; for (int i = 0; i < isActiveBoxes.Length; i++) { isActiveBoxes[i] = true; } var sortedBoxes = boxes.Select((b, i) => new { Box = b, Index = i }) .OrderByDescending(b => b.Box.Confidence) .ToList(); var results = new List(); for (int i = 0; i < boxes.Count; i++) { if (isActiveBoxes[i]) { var boxA = sortedBoxes[i].Box; results.Add(boxA); if (results.Count >= limit) break; for (var j = i + 1; j < boxes.Count; j++) { if (isActiveBoxes[j]) { var boxB = sortedBoxes[j].Box; if (IntersectionOverUnion(boxA.Rect, boxB.Rect) > threshold) { isActiveBoxes[j] = false; activeCount--; if (activeCount <= 0) break; } } } if (activeCount <= 0) break; } } return results; } } ================================================ FILE: Assets/Scripts/DetectorYolo3.cs.meta ================================================ fileFormatVersion: 2 guid: e8859dbd01756264a97258b2ba723437 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Scripts/GraphicsWorker.cs ================================================ using UnityEngine; using System.Collections; using Unity.Barracuda; public class GraphicsWorker: MonoBehaviour { public static IWorker GetWorker(Model model) { IWorker worker; #if UNITY_IOS //Only IOS Debug.Log("Graphics API: " + SystemInfo.graphicsDeviceType); if (SystemInfo.graphicsDeviceType == UnityEngine.Rendering.GraphicsDeviceType.Metal) { //IOS 11 needed for ARKit, IOS 11 has Metal support only, therefore GPU can run var workerType = WorkerFactory.Type.ComputePrecompiled; // GPU worker = WorkerFactory.CreateWorker(workerType, model); } else { //If Metal support is dropped for some reason, fall back to CPU var workerType = WorkerFactory.Type.CSharpBurst; // CPU worker = WorkerFactory.CreateWorker(workerType, model); } #elif UNITY_ANDROID //Only Android Debug.Log("Graphics API: " + SystemInfo.graphicsDeviceType); if (SystemInfo.graphicsDeviceType == UnityEngine.Rendering.GraphicsDeviceType.Vulkan) { //Vulkan on Android supports GPU //However, ARCore does not currently support Vulkan, when it does, this line will work var workerType = WorkerFactory.Type.ComputePrecompiled; // GPU worker = WorkerFactory.CreateWorker(workerType, model); } else { //If not vulkan, fall back to CPU var workerType = WorkerFactory.Type.CSharpBurst; // CPU worker = WorkerFactory.CreateWorker(workerType, model); } #elif UNITY_WEBGL //Only WebGL Debug.Log("Graphics API: " + SystemInfo.graphicsDeviceType); //WebGL only supports CPU var workerType = WorkerFactory.Type.CSharpBurst; // CPU worker = WorkerFactory.CreateWorker(workerType, model); #else //Any other platform Debug.Log("Graphics API: " + SystemInfo.graphicsDeviceType); // https://docs.unity3d.com/Packages/com.unity.barracuda@1.0/manual/SupportedPlatforms.html //var workerType = WorkerFactory.Type.CSharpBurst; // CPU var workerType = WorkerFactory.Type.ComputePrecompiled; // GPU worker = WorkerFactory.CreateWorker(workerType, model); #endif return worker; } } ================================================ FILE: Assets/Scripts/GraphicsWorker.cs.meta ================================================ fileFormatVersion: 2 guid: de84e7eab47ff4147ac603d0269538ba MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Scripts/NewText.cs ================================================ using UnityEngine; public class NewText: MonoBehaviour { Camera cameraToLookAt; // Use this for initialization void Start() { cameraToLookAt = Camera.main; } // Update is called once per frame void LateUpdate() { transform.LookAt(cameraToLookAt.transform); transform.rotation = Quaternion.LookRotation(cameraToLookAt.transform.forward); } } ================================================ FILE: Assets/Scripts/NewText.cs.meta ================================================ fileFormatVersion: 2 guid: 79019c9fc138647828d00740109116cc MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Scripts/PhoneARCamera.cs ================================================ using System; using System.Threading.Tasks; using System.Collections.Generic; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; using UnityEngine; using UnityEngine.UI; using UnityEngine.XR.ARFoundation; using UnityEngine.XR.ARSubsystems; using Unity.Barracuda; using System.IO; using TFClassify; using System.Linq; using System.Collections; public class PhoneARCamera : MonoBehaviour { [SerializeField] ARCameraManager m_CameraManager; /// /// Get or set the ARCameraManager. /// public ARCameraManager cameraManager { get => m_CameraManager; set => m_CameraManager = value; } [SerializeField] RawImage m_RawImage; /// /// The UI RawImage used to display the image on screen. (deprecated) /// public RawImage rawImage { get { return m_RawImage; } set { m_RawImage = value; } } public enum Detectors{ Yolo2_tiny, Yolo3_tiny }; public Detectors selected_detector; public Detector detector = null; public float shiftX = 0f; public float shiftY = 0f; public float scaleFactor = 1; public Color colorTag = new Color(0.3843137f, 0, 0.9333333f); private static GUIStyle labelStyle; private static Texture2D boxOutlineTexture; // bounding boxes detected for current frame private IList boxOutlines; // bounding boxes detected across frames public List boxSavedOutlines = new List(); // lock model when its inferencing a frame private bool isDetecting = false; // the number of frames that bounding boxes stay static private int staticNum = 0; public bool localization = false; Texture2D m_Texture; void OnEnable() { if (m_CameraManager != null) { m_CameraManager.frameReceived += OnCameraFrameReceived; } boxOutlineTexture = new Texture2D(1, 1); boxOutlineTexture.SetPixel(0, 0, this.colorTag); boxOutlineTexture.Apply(); labelStyle = new GUIStyle(); labelStyle.fontSize = 50; labelStyle.normal.textColor = this.colorTag; if (selected_detector == Detectors.Yolo2_tiny) { detector = GameObject.Find("Detector Yolo2-tiny").GetComponent(); } else if (selected_detector == Detectors.Yolo3_tiny) { detector = GameObject.Find("Detector Yolo3-tiny").GetComponent(); } else { Debug.Log("DEBUG: Invalid detector model"); } this.detector.Start(); CalculateShift(this.detector.IMAGE_SIZE); } void OnDisable() { if (m_CameraManager != null) { m_CameraManager.frameReceived -= OnCameraFrameReceived; } } public void OnRefresh() { Debug.Log("DEBUG: onRefresh, removing anchors and boundingboxes"); localization = false; staticNum = 0; // clear boubding box containers boxSavedOutlines.Clear(); boxOutlines.Clear(); // clear anchor AnchorCreator anchorCreator = FindObjectOfType(); anchorCreator.RemoveAllAnchors(); } unsafe void OnCameraFrameReceived(ARCameraFrameEventArgs eventArgs) { // Attempt to get the latest camera image. If this method succeeds, // it acquires a native resource that must be disposed (see below). XRCpuImage image; if (!cameraManager.TryAcquireLatestCpuImage(out image)) { return; } // Once we have a valid XRCameraImage, we can access the individual image "planes" // (the separate channels in the image). XRCameraImage.GetPlane provides // low-overhead access to this data. This could then be passed to a // computer vision algorithm. Here, we will convert the camera image // to an RGBA texture (and draw it on the screen). // Choose an RGBA format. // See XRCameraImage.FormatSupported for a complete list of supported formats. var format = TextureFormat.RGBA32; if (m_Texture == null || m_Texture.width != image.width || m_Texture.height != image.height) { m_Texture = new Texture2D(image.width, image.height, format, false); } // Convert the image to format, flipping the image across the Y axis. // We can also get a sub rectangle, but we'll get the full image here. var conversionParams = new XRCpuImage.ConversionParams(image, format, XRCpuImage.Transformation.None); // Texture2D allows us write directly to the raw texture data // This allows us to do the conversion in-place without making any copies. var rawTextureData = m_Texture.GetRawTextureData(); try { image.Convert(conversionParams, new IntPtr(rawTextureData.GetUnsafePtr()), rawTextureData.Length); } finally { // We must dispose of the XRCameraImage after we're finished // with it to avoid leaking native resources. image.Dispose(); } // Apply the updated texture data to our texture m_Texture.Apply(); // If bounding boxes are static for certain frames, start localization if (staticNum > 150) { localization = true; } else { // detect object and create current frame outlines TFDetect(); // merging outliens across frames GroupBoxOutlines(); } // Set the RawImage's texture so we can visualize it. m_RawImage.texture = m_Texture; } public void OnGUI() { // Do not draw bounding boxes after localization. if (localization) { return; } if (this.boxSavedOutlines != null && this.boxSavedOutlines.Any()) { foreach (var outline in this.boxSavedOutlines) { DrawBoxOutline(outline, scaleFactor, shiftX, shiftY); } } } // merging bounding boxes and save result to boxSavedOutlines private void GroupBoxOutlines() { // if savedoutlines is empty, add current frame outlines if possible. if (this.boxSavedOutlines.Count == 0) { // no bounding boxes in current frame if (this.boxOutlines == null || this.boxOutlines.Count == 0) { return; } // deep copy current frame bounding boxes foreach (var outline in this.boxOutlines) { this.boxSavedOutlines.Add(outline); } return; } // adding current frame outlines to existing savedOulines and merge if possible. bool addOutline = false; foreach (var outline1 in this.boxOutlines) { bool unique = true; List itemsToAdd = new List(); List itemsToRemove = new List(); foreach (var outline2 in this.boxSavedOutlines) { // if two bounding boxes are for the same object, use high confidnece one if (IsSameObject(outline1, outline2)) { unique = false; if (outline1.Confidence > outline2.Confidence + 0.05F) //& outline2.Confidence < 0.5F) { Debug.Log("DEBUG: add detected boxes in this frame."); Debug.Log($"DEBUG: Add Label: {outline1.Label}. Confidence: {outline1.Confidence}."); Debug.Log($"DEBUG: Remove Label: {outline2.Label}. Confidence: {outline2.Confidence}."); itemsToRemove.Add(outline2); itemsToAdd.Add(outline1); addOutline = true; staticNum = 0; break; } } } this.boxSavedOutlines.RemoveAll(item => itemsToRemove.Contains(item)); this.boxSavedOutlines.AddRange(itemsToAdd); // if outline1 in current frame is unique, add it permanently if (unique) { Debug.Log($"DEBUG: add detected boxes in this frame"); addOutline = true; staticNum = 0; this.boxSavedOutlines.Add(outline1); Debug.Log($"Add Label: {outline1.Label}. Confidence: {outline1.Confidence}."); } } if (!addOutline) { staticNum += 1; } // merge same bounding boxes // remove will cause duplicated bounding box? List temp = new List(); foreach (var outline1 in this.boxSavedOutlines) { if (temp.Count == 0) { temp.Add(outline1); continue; } List itemsToAdd = new List(); List itemsToRemove = new List(); foreach (var outline2 in temp) { if (IsSameObject(outline1, outline2)) { if (outline1.Confidence > outline2.Confidence) { itemsToRemove.Add(outline2); itemsToAdd.Add(outline1); Debug.Log("DEBUG: merge bounding box conflict!!!"); } } else { itemsToAdd.Add(outline1); } } temp.RemoveAll(item => itemsToRemove.Contains(item)); temp.AddRange(itemsToAdd); } this.boxSavedOutlines = temp; } // For two bounding boxes, if at least one center is inside the other box, // treate them as the same object. private bool IsSameObject(BoundingBox outline1, BoundingBox outline2) { var xMin1 = outline1.Dimensions.X * this.scaleFactor + this.shiftX; var width1 = outline1.Dimensions.Width * this.scaleFactor; var yMin1 = outline1.Dimensions.Y * this.scaleFactor + this.shiftY; var height1 = outline1.Dimensions.Height * this.scaleFactor; float center_x1 = xMin1 + width1 / 2f; float center_y1 = yMin1 + height1 / 2f; var xMin2 = outline2.Dimensions.X * this.scaleFactor + this.shiftX; var width2 = outline2.Dimensions.Width * this.scaleFactor; var yMin2 = outline2.Dimensions.Y * this.scaleFactor + this.shiftY; var height2 = outline2.Dimensions.Height * this.scaleFactor; float center_x2 = xMin2 + width2 / 2f; float center_y2 = yMin2 + height2 / 2f; bool cover_x = (xMin2 < center_x1) && (center_x1 < (xMin2 + width2)); bool cover_y = (yMin2 < center_y1) && (center_y1 < (yMin2 + height2)); bool contain_x = (xMin1 < center_x2) && (center_x2 < (xMin1 + width1)); bool contain_y = (yMin1 < center_y2) && (center_y2 < (yMin1 + height1)); return (cover_x && cover_y) || (contain_x && contain_y); } private void CalculateShift(int inputSize) { int smallest; if (Screen.width < Screen.height) { smallest = Screen.width; this.shiftY = (Screen.height - smallest) / 2f; } else { smallest = Screen.height; this.shiftX = (Screen.width - smallest) / 2f; } this.scaleFactor = smallest / (float)inputSize; } private void TFDetect() { if (this.isDetecting) { return; } this.isDetecting = true; StartCoroutine(ProcessImage(this.detector.IMAGE_SIZE, result => { StartCoroutine(this.detector.Detect(result, boxes => { this.boxOutlines = boxes; Resources.UnloadUnusedAssets(); this.isDetecting = false; })); })); } private IEnumerator ProcessImage(int inputSize, System.Action callback) { Coroutine croped = StartCoroutine(TextureTools.CropSquare(m_Texture, TextureTools.RectOptions.Center, snap => { var scaled = Scale(snap, inputSize); var rotated = Rotate(scaled.GetPixels32(), scaled.width, scaled.height); callback(rotated); })); yield return croped; } private void DrawBoxOutline(BoundingBox outline, float scaleFactor, float shiftX, float shiftY) { var x = outline.Dimensions.X * scaleFactor + shiftX; var width = outline.Dimensions.Width * scaleFactor; var y = outline.Dimensions.Y * scaleFactor + shiftY; var height = outline.Dimensions.Height * scaleFactor; DrawRectangle(new Rect(x, y, width, height), 10, this.colorTag); DrawLabel(new Rect(x, y - 80, 200, 20), $"Localizing {outline.Label}: {(int)(outline.Confidence * 100)}%"); } public static void DrawRectangle(Rect area, int frameWidth, Color color) { Rect lineArea = area; lineArea.height = frameWidth; GUI.DrawTexture(lineArea, boxOutlineTexture); // Top line lineArea.y = area.yMax - frameWidth; GUI.DrawTexture(lineArea, boxOutlineTexture); // Bottom line lineArea = area; lineArea.width = frameWidth; GUI.DrawTexture(lineArea, boxOutlineTexture); // Left line lineArea.x = area.xMax - frameWidth; GUI.DrawTexture(lineArea, boxOutlineTexture); // Right line } private static void DrawLabel(Rect position, string text) { GUI.Label(position, text, labelStyle); } private Texture2D Scale(Texture2D texture, int imageSize) { var scaled = TextureTools.scaled(texture, imageSize, imageSize, FilterMode.Bilinear); return scaled; } private Color32[] Rotate(Color32[] pixels, int width, int height) { var rotate = TextureTools.RotateImageMatrix( pixels, width, height, 90); // var flipped = TextureTools.FlipYImageMatrix(rotate, width, height); //flipped = TextureTools.FlipXImageMatrix(flipped, width, height); // return flipped; return rotate; } } ================================================ FILE: Assets/Scripts/PhoneARCamera.cs.meta ================================================ fileFormatVersion: 2 guid: 92f78a26596dc4161946c702f35b9b54 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: ================================================ FILE: Assets/Scripts/TextureTools.cs ================================================ using System; using System.Collections; using UnityEngine; namespace TFClassify { public class TextureTools { // Based on https://gist.github.com/natsupy/e129936543f9b4663a37ea0762172b3b public enum Options { Crop = 0, Resize = 1 } public enum RectOptions { Center = 0, BottomRight = 1, TopRight = 2, BottomLeft = 3, TopLeft = 4, //Top = 5, //Left = 6, //Right = 7, //Bottom = 8, Custom = 9 } public static IEnumerator CropSquare( Texture2D texture, RectOptions rectOptions, System.Action callback) { var smallest = texture.width < texture.height ? texture.width : texture.height; var rect = new Rect(0, 0, smallest, smallest); if(rect.height < 0 || rect.width < 0) { throw new System.ArgumentException("Invalid texture size"); } Texture2D result = new Texture2D((int)rect.width, (int)rect.height); if(rect.width != 0 && rect.height != 0) { float xRect = rect.x; float yRect = rect.y; float widthRect = rect.width; float heightRect = rect.height; switch(rectOptions) { case RectOptions.Center: xRect = (texture.width - rect.width) / 2; yRect = (texture.height - rect.height) / 2; break; case RectOptions.BottomRight: xRect = texture.width - rect.width; break; case RectOptions.BottomLeft: break; case RectOptions.TopLeft: yRect = texture.height - rect.height; break; case RectOptions.TopRight: xRect = texture.width - rect.width; yRect = texture.height - rect.height; break; case RectOptions.Custom: float tempWidth = texture.width - rect.width; float tempHeight = texture.height - rect.height; xRect = tempWidth > texture.width ? 0 : tempWidth; yRect = tempHeight > texture.height ? 0 : tempHeight; break; } if (texture.width < rect.x + rect.width || texture.height < rect.y + rect.height || xRect > rect.x + texture.width || yRect > rect.y + texture.height || xRect < 0 || yRect < 0 || rect.width < 0 || rect.height < 0) { throw new System.ArgumentException("Set value crop less than origin texture size"); } result.SetPixels(texture.GetPixels(Mathf.FloorToInt(xRect), Mathf.FloorToInt(yRect), Mathf.FloorToInt(widthRect), Mathf.FloorToInt(heightRect))); yield return null; result.Apply(); } yield return null; //Debug.Log("DEBUG: CropSquare done"); if (result == null) { Debug.Log("DEBUG: result is null in CropSquare"); } callback(result); } public static Texture2D CropWithRect( WebCamTexture texture, Rect rect, RectOptions rectOptions, int xMod, int yMod) { if(rect.height < 0 || rect.width < 0) { throw new System.ArgumentException("Invalid texture size"); } Texture2D result = new Texture2D((int)rect.width, (int)rect.height); if(rect.width != 0 && rect.height != 0) { float xRect = rect.x; float yRect = rect.y; float widthRect = rect.width; float heightRect = rect.height; switch(rectOptions) { case RectOptions.Center: xRect = (texture.width - rect.width) / 2; yRect = (texture.height - rect.height) / 2; break; case RectOptions.BottomRight: xRect = texture.width - rect.width; break; case RectOptions.BottomLeft: break; case RectOptions.TopLeft: yRect = texture.height - rect.height; break; case RectOptions.TopRight: xRect = texture.width - rect.width; yRect = texture.height - rect.height; break; case RectOptions.Custom: float tempWidth = texture.width - rect.width - xMod; float tempHeight = texture.height - rect.height - yMod; xRect = tempWidth > texture.width ? 0 : tempWidth; yRect = tempHeight > texture.height ? 0 : tempHeight; break; } if (texture.width < rect.x + rect.width || texture.height < rect.y + rect.height || xRect > rect.x + texture.width || yRect > rect.y + texture.height || xRect < 0 || yRect < 0 || rect.width < 0 || rect.height < 0) { throw new System.ArgumentException("Set value crop less than origin texture size"); } result.SetPixels(texture.GetPixels(Mathf.FloorToInt(xRect), Mathf.FloorToInt(yRect), Mathf.FloorToInt(widthRect), Mathf.FloorToInt(heightRect))); result.Apply(); } return result; } /// /// Returns a scaled copy of given texture. /// /// Source texure to scale /// Destination texture width /// Destination texture height /// Filtering mode public static Texture2D scaled(Texture2D src, int width, int height, FilterMode mode = FilterMode.Trilinear) { Rect texR = new Rect(0,0,width,height); _gpu_scale(src,width,height,mode); //Get rendered data back to a new texture Texture2D result = new Texture2D(width, height, TextureFormat.ARGB32, true); result.Resize(width, height); result.ReadPixels(texR,0,0,true); return result; } /// /// Scales the texture data of the given texture. /// /// Texure to scale /// New width /// New height /// Filtering mode public static void scale(Texture2D tex, int width, int height, FilterMode mode = FilterMode.Trilinear) { Rect texR = new Rect(0,0,width,height); _gpu_scale(tex,width,height,mode); // Update new texture tex.Resize(width, height); tex.ReadPixels(texR,0,0,true); tex.Apply(true); //Remove this if you hate us applying textures for you :) } // Internal unility that renders the source texture into the RTT - the scaling method itself. static void _gpu_scale(Texture2D src, int width, int height, FilterMode fmode) { //We need the source texture in VRAM because we render with it src.filterMode = fmode; src.Apply(true); //Using RTT for best quality and performance. Thanks, Unity 5 RenderTexture rtt = new RenderTexture(width, height, 32); //Set the RTT in order to render to it Graphics.SetRenderTarget(rtt); //Setup 2D matrix in range 0..1, so nobody needs to care about sized GL.LoadPixelMatrix(0,1,1,0); //Then clear & draw the texture to fill the entire RTT. GL.Clear(true,true,new Color(0,0,0,0)); Graphics.DrawTexture(new Rect(0,0,1,1),src); } public static Texture2D RotateTexture(Texture2D originTexture, int angle) { var result = RotateImageMatrix( originTexture.GetPixels32(), originTexture.width, originTexture.height, angle); var resultTexture = new Texture2D(originTexture.width, originTexture.height); resultTexture.SetPixels32(result); resultTexture.Apply(); return resultTexture; } public static Color32[] RotateImageMatrix(Color32[] matrix, int width, int height, int angle) { Color32[] pix1 = new Color32[matrix.Length]; int x = 0; int y = 0; Color32[] pix3 = rotateSquare( matrix, width, height, (Math.PI/180*(double)angle)); for (int j = 0; j < height; j++){ for (var i = 0; i < width; i++) { pix1[x + i + width*(j+y)] = pix3[i + j*width]; } } return pix3; } public static Color32[] FlipXImageMatrix(Color32[] matrix, int width, int height) { Color32[] flipped = new Color32[matrix.Length]; for (int j = 0; j < height; j++) { for (var i = 0; i < width; i++) { flipped[j * width + i] = matrix[(height-1-j) * width + i]; } } return flipped; } public static Color32[] FlipYImageMatrix(Color32[] matrix, int width, int height) { Color32[] flipped = new Color32[matrix.Length]; for (int j = 0; j < height; j++) { for (var i = 0; i < width; i++) { flipped[j * width + i] = matrix[j * width + width - 1 - i]; } } return flipped; } static Color32[] rotateSquare(Color32[] arr, int width, int height, double phi) { int x; int y; int i; int j; double sn = Math.Sin(phi); double cs = Math.Cos(phi); Color32[] arr2 = new Color32[arr.Length]; int xc = width/2; int yc = height/2; for (j=0; j-1) && (x-1) && (y