From 22f67f4347ba8083af7f1c18c3b7e359e1f90f7e Mon Sep 17 00:00:00 2001 From: cblech Date: Sat, 4 Jan 2025 13:29:07 +0100 Subject: [PATCH] initial commit --- .gitignore | 73 + .idea/.idea.Jeremy BBJam/.idea/.gitignore | 13 + .idea/.idea.Jeremy BBJam/.idea/encodings.xml | 4 + .../.idea.Jeremy BBJam/.idea/indexLayout.xml | 8 + .vscode/settings.json | 3 + Assets/Animations.meta | 8 + Assets/Animations/2-3-CameraZoom.anim | 228 ++ Assets/Animations/2-3-CameraZoom.anim.meta | 8 + Assets/Animations/Anim-2-3-ChipInHand.anim | 53 + .../Animations/Anim-2-3-ChipInHand.anim.meta | 8 + Assets/DefaultVolumeProfile.asset | 795 +++++ Assets/DefaultVolumeProfile.asset.meta | 8 + Assets/Outline.meta | 8 + Assets/Outline/Editor.meta | 8 + Assets/Outline/Editor/OptionalDrawer.cs | 42 + Assets/Outline/Editor/OptionalDrawer.cs.meta | 18 + Assets/Outline/Editor/OutlineFx.Editor.asmdef | 18 + .../Editor/OutlineFx.Editor.asmdef.meta | 14 + Assets/Outline/Editor/SolidMaskDrawer.cs | 48 + Assets/Outline/Editor/SolidMaskDrawer.cs.meta | 10 + Assets/Outline/OutlineFx.asmdef | 17 + Assets/Outline/OutlineFx.asmdef.meta | 14 + Assets/Outline/Readme.pdf | Bin 0 -> 178582 bytes Assets/Outline/Readme.pdf.meta | 14 + Assets/Outline/Runtime.meta | 8 + Assets/Outline/Runtime/Optional.cs | 60 + Assets/Outline/Runtime/Optional.cs.meta | 18 + Assets/Outline/Runtime/Outline.cs | 32 + Assets/Outline/Runtime/Outline.cs.meta | 10 + Assets/Outline/Runtime/OutlineBlocker.cs | 20 + Assets/Outline/Runtime/OutlineBlocker.cs.meta | 10 + Assets/Outline/Runtime/OutlineFx.Pass.cs | 138 + Assets/Outline/Runtime/OutlineFx.Pass.cs.meta | 18 + Assets/Outline/Runtime/OutlineFx.cs | 23 + Assets/Outline/Runtime/OutlineFx.cs.meta | 18 + Assets/Outline/Runtime/OutlineFxFeature.cs | 301 ++ .../Outline/Runtime/OutlineFxFeature.cs.meta | 18 + Assets/Outline/Runtime/Shaders.meta | 8 + Assets/Outline/Runtime/Shaders/Checker.png | Bin 0 -> 92 bytes .../Outline/Runtime/Shaders/Checker.png.meta | 196 ++ Assets/Outline/Runtime/Shaders/Main.shader | 184 ++ .../Outline/Runtime/Shaders/Main.shader.meta | 16 + Assets/Outline/Runtime/Shaders/Utils.hlsl | 41 + .../Outline/Runtime/Shaders/Utils.hlsl.meta | 14 + Assets/Outline/Samples.meta | 8 + Assets/Outline/Samples/Media.meta | 8 + Assets/Outline/Samples/Media/Cat.anim | 93 + Assets/Outline/Samples/Media/Cat.anim.meta | 15 + Assets/Outline/Samples/Media/Cat.png | Bin 0 -> 5208 bytes Assets/Outline/Samples/Media/Cat.png.meta | 1401 +++++++++ .../Samples/Media/Cat_Runner.controller | 72 + .../Samples/Media/Cat_Runner.controller.meta | 15 + .../Samples/Media/Cat_Watcher.controller | 72 + .../Samples/Media/Cat_Watcher.controller.meta | 15 + Assets/Outline/Samples/Media/licking.anim | 117 + .../Outline/Samples/Media/licking.anim.meta | 15 + Assets/Outline/Samples/OutlineFx.unity | 2549 +++++++++++++++++ Assets/Outline/Samples/OutlineFx.unity.meta | 14 + Assets/Outline/Samples/Urp.meta | 8 + Assets/Outline/Samples/Urp/UrpOutline.asset | 136 + .../Outline/Samples/Urp/UrpOutline.asset.meta | 15 + .../Samples/Urp/UrpOutline_Renderer.asset | 83 + .../Urp/UrpOutline_Renderer.asset.meta | 15 + Assets/Outline/package.json | 25 + Assets/Outline/package.json.meta | 14 + Assets/Prefabs.meta | 8 + Assets/Prefabs/SceneBasics.prefab | 231 ++ Assets/Prefabs/SceneBasics.prefab.meta | 7 + Assets/Scenes.meta | 8 + Assets/Scenes/MainScene.unity | 853 ++++++ Assets/Scenes/MainScene.unity.meta | 7 + Assets/Scripts.meta | 8 + Assets/Scripts/AnimationStarter.cs | 21 + Assets/Scripts/AnimationStarter.cs.meta | 2 + Assets/Scripts/Editor.meta | 8 + Assets/Scripts/Editor/RiderUtil.cs | 26 + Assets/Scripts/Editor/RiderUtil.cs.meta | 3 + .../Editor/SceneSwitcherEditorWindow.cs | 57 + .../Editor/SceneSwitcherEditorWindow.cs.meta | 11 + Assets/Scripts/MyButton.cs | 33 + Assets/Scripts/MyButton.cs.meta | 2 + Assets/Scripts/SceneSwitcher.cs | 52 + Assets/Scripts/SceneSwitcher.cs.meta | 11 + Assets/Scripts/SwitchToScene.cs | 26 + Assets/Scripts/SwitchToScene.cs.meta | 11 + Assets/Scripts/SwitchableScene.cs | 57 + Assets/Scripts/SwitchableScene.cs.meta | 11 + Assets/Scripts/Timeline.cs | 32 + Assets/Scripts/Timeline.cs.meta | 2 + Assets/Settings.meta | 8 + Assets/Settings/Pipeline Asset.asset | 136 + Assets/Settings/Pipeline Asset.asset.meta | 8 + Assets/Settings/Pipeline Asset_Renderer.asset | 85 + .../Pipeline Asset_Renderer.asset.meta | 8 + ...niversalRenderPipelineGlobalSettings.asset | 249 ++ ...salRenderPipelineGlobalSettings.asset.meta | 8 + Packages/manifest.json | 47 + Packages/packages-lock.json | 563 ++++ ProjectSettings/AudioManager.asset | 19 + ProjectSettings/ClusterInputManager.asset | 6 + ProjectSettings/DynamicsManager.asset | 37 + ProjectSettings/EditorBuildSettings.asset | 11 + ProjectSettings/EditorSettings.asset | 40 + ProjectSettings/GraphicsSettings.asset | 67 + ProjectSettings/InputManager.asset | 487 ++++ ProjectSettings/MemorySettings.asset | 35 + ProjectSettings/MultiplayerManager.asset | 7 + ProjectSettings/NavMeshAreas.asset | 93 + ProjectSettings/NetworkManager.asset | 8 + ProjectSettings/PackageManagerSettings.asset | 44 + ProjectSettings/Physics2DSettings.asset | 56 + ProjectSettings/PresetManager.asset | 7 + ProjectSettings/ProjectSettings.asset | 781 +++++ ProjectSettings/ProjectVersion.txt | 2 + ProjectSettings/QualitySettings.asset | 336 +++ ProjectSettings/SceneTemplateSettings.json | 126 + ProjectSettings/ShaderGraphSettings.asset | 18 + ProjectSettings/TagManager.asset | 43 + ProjectSettings/TimeManager.asset | 9 + ProjectSettings/URPProjectSettings.asset | 15 + ProjectSettings/UnityConnectSettings.asset | 36 + ProjectSettings/VFXManager.asset | 14 + ProjectSettings/VersionControlSettings.asset | 8 + ProjectSettings/XRSettings.asset | 10 + 124 files changed, 12157 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.idea.Jeremy BBJam/.idea/.gitignore create mode 100644 .idea/.idea.Jeremy BBJam/.idea/encodings.xml create mode 100644 .idea/.idea.Jeremy BBJam/.idea/indexLayout.xml create mode 100644 .vscode/settings.json create mode 100644 Assets/Animations.meta create mode 100644 Assets/Animations/2-3-CameraZoom.anim create mode 100644 Assets/Animations/2-3-CameraZoom.anim.meta create mode 100644 Assets/Animations/Anim-2-3-ChipInHand.anim create mode 100644 Assets/Animations/Anim-2-3-ChipInHand.anim.meta create mode 100644 Assets/DefaultVolumeProfile.asset create mode 100644 Assets/DefaultVolumeProfile.asset.meta create mode 100644 Assets/Outline.meta create mode 100644 Assets/Outline/Editor.meta create mode 100644 Assets/Outline/Editor/OptionalDrawer.cs create mode 100644 Assets/Outline/Editor/OptionalDrawer.cs.meta create mode 100644 Assets/Outline/Editor/OutlineFx.Editor.asmdef create mode 100644 Assets/Outline/Editor/OutlineFx.Editor.asmdef.meta create mode 100644 Assets/Outline/Editor/SolidMaskDrawer.cs create mode 100644 Assets/Outline/Editor/SolidMaskDrawer.cs.meta create mode 100644 Assets/Outline/OutlineFx.asmdef create mode 100644 Assets/Outline/OutlineFx.asmdef.meta create mode 100644 Assets/Outline/Readme.pdf create mode 100644 Assets/Outline/Readme.pdf.meta create mode 100644 Assets/Outline/Runtime.meta create mode 100644 Assets/Outline/Runtime/Optional.cs create mode 100644 Assets/Outline/Runtime/Optional.cs.meta create mode 100644 Assets/Outline/Runtime/Outline.cs create mode 100644 Assets/Outline/Runtime/Outline.cs.meta create mode 100644 Assets/Outline/Runtime/OutlineBlocker.cs create mode 100644 Assets/Outline/Runtime/OutlineBlocker.cs.meta create mode 100644 Assets/Outline/Runtime/OutlineFx.Pass.cs create mode 100644 Assets/Outline/Runtime/OutlineFx.Pass.cs.meta create mode 100644 Assets/Outline/Runtime/OutlineFx.cs create mode 100644 Assets/Outline/Runtime/OutlineFx.cs.meta create mode 100644 Assets/Outline/Runtime/OutlineFxFeature.cs create mode 100644 Assets/Outline/Runtime/OutlineFxFeature.cs.meta create mode 100644 Assets/Outline/Runtime/Shaders.meta create mode 100644 Assets/Outline/Runtime/Shaders/Checker.png create mode 100644 Assets/Outline/Runtime/Shaders/Checker.png.meta create mode 100644 Assets/Outline/Runtime/Shaders/Main.shader create mode 100644 Assets/Outline/Runtime/Shaders/Main.shader.meta create mode 100644 Assets/Outline/Runtime/Shaders/Utils.hlsl create mode 100644 Assets/Outline/Runtime/Shaders/Utils.hlsl.meta create mode 100644 Assets/Outline/Samples.meta create mode 100644 Assets/Outline/Samples/Media.meta create mode 100644 Assets/Outline/Samples/Media/Cat.anim create mode 100644 Assets/Outline/Samples/Media/Cat.anim.meta create mode 100644 Assets/Outline/Samples/Media/Cat.png create mode 100644 Assets/Outline/Samples/Media/Cat.png.meta create mode 100644 Assets/Outline/Samples/Media/Cat_Runner.controller create mode 100644 Assets/Outline/Samples/Media/Cat_Runner.controller.meta create mode 100644 Assets/Outline/Samples/Media/Cat_Watcher.controller create mode 100644 Assets/Outline/Samples/Media/Cat_Watcher.controller.meta create mode 100644 Assets/Outline/Samples/Media/licking.anim create mode 100644 Assets/Outline/Samples/Media/licking.anim.meta create mode 100644 Assets/Outline/Samples/OutlineFx.unity create mode 100644 Assets/Outline/Samples/OutlineFx.unity.meta create mode 100644 Assets/Outline/Samples/Urp.meta create mode 100644 Assets/Outline/Samples/Urp/UrpOutline.asset create mode 100644 Assets/Outline/Samples/Urp/UrpOutline.asset.meta create mode 100644 Assets/Outline/Samples/Urp/UrpOutline_Renderer.asset create mode 100644 Assets/Outline/Samples/Urp/UrpOutline_Renderer.asset.meta create mode 100644 Assets/Outline/package.json create mode 100644 Assets/Outline/package.json.meta create mode 100644 Assets/Prefabs.meta create mode 100644 Assets/Prefabs/SceneBasics.prefab create mode 100644 Assets/Prefabs/SceneBasics.prefab.meta create mode 100644 Assets/Scenes.meta create mode 100644 Assets/Scenes/MainScene.unity create mode 100644 Assets/Scenes/MainScene.unity.meta create mode 100644 Assets/Scripts.meta create mode 100644 Assets/Scripts/AnimationStarter.cs create mode 100644 Assets/Scripts/AnimationStarter.cs.meta create mode 100644 Assets/Scripts/Editor.meta create mode 100644 Assets/Scripts/Editor/RiderUtil.cs create mode 100644 Assets/Scripts/Editor/RiderUtil.cs.meta create mode 100644 Assets/Scripts/Editor/SceneSwitcherEditorWindow.cs create mode 100644 Assets/Scripts/Editor/SceneSwitcherEditorWindow.cs.meta create mode 100644 Assets/Scripts/MyButton.cs create mode 100644 Assets/Scripts/MyButton.cs.meta create mode 100644 Assets/Scripts/SceneSwitcher.cs create mode 100644 Assets/Scripts/SceneSwitcher.cs.meta create mode 100644 Assets/Scripts/SwitchToScene.cs create mode 100644 Assets/Scripts/SwitchToScene.cs.meta create mode 100644 Assets/Scripts/SwitchableScene.cs create mode 100644 Assets/Scripts/SwitchableScene.cs.meta create mode 100644 Assets/Scripts/Timeline.cs create mode 100644 Assets/Scripts/Timeline.cs.meta create mode 100644 Assets/Settings.meta create mode 100644 Assets/Settings/Pipeline Asset.asset create mode 100644 Assets/Settings/Pipeline Asset.asset.meta create mode 100644 Assets/Settings/Pipeline Asset_Renderer.asset create mode 100644 Assets/Settings/Pipeline Asset_Renderer.asset.meta create mode 100644 Assets/UniversalRenderPipelineGlobalSettings.asset create mode 100644 Assets/UniversalRenderPipelineGlobalSettings.asset.meta create mode 100644 Packages/manifest.json create mode 100644 Packages/packages-lock.json create mode 100644 ProjectSettings/AudioManager.asset create mode 100644 ProjectSettings/ClusterInputManager.asset create mode 100644 ProjectSettings/DynamicsManager.asset create mode 100644 ProjectSettings/EditorBuildSettings.asset create mode 100644 ProjectSettings/EditorSettings.asset create mode 100644 ProjectSettings/GraphicsSettings.asset create mode 100644 ProjectSettings/InputManager.asset create mode 100644 ProjectSettings/MemorySettings.asset create mode 100644 ProjectSettings/MultiplayerManager.asset create mode 100644 ProjectSettings/NavMeshAreas.asset create mode 100644 ProjectSettings/NetworkManager.asset create mode 100644 ProjectSettings/PackageManagerSettings.asset create mode 100644 ProjectSettings/Physics2DSettings.asset create mode 100644 ProjectSettings/PresetManager.asset create mode 100644 ProjectSettings/ProjectSettings.asset create mode 100644 ProjectSettings/ProjectVersion.txt create mode 100644 ProjectSettings/QualitySettings.asset create mode 100644 ProjectSettings/SceneTemplateSettings.json create mode 100644 ProjectSettings/ShaderGraphSettings.asset create mode 100644 ProjectSettings/TagManager.asset create mode 100644 ProjectSettings/TimeManager.asset create mode 100644 ProjectSettings/URPProjectSettings.asset create mode 100644 ProjectSettings/UnityConnectSettings.asset create mode 100644 ProjectSettings/VFXManager.asset create mode 100644 ProjectSettings/VersionControlSettings.asset create mode 100644 ProjectSettings/XRSettings.asset diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3496b7c --- /dev/null +++ b/.gitignore @@ -0,0 +1,73 @@ +# This .gitignore file should be placed at the root of your Unity project directory +# +# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore +# +/[Ll]ibrary/ +/[Tt]emp/ +/[Oo]bj/ +/[Bb]uild/ +/[Bb]uilds/ +/[Ll]ogs/ +/[Uu]ser[Ss]ettings/ + +# MemoryCaptures can get excessive in size. +# They also could contain extremely sensitive data +/[Mm]emoryCaptures/ + +# Recordings can get excessive in size +/[Rr]ecordings/ + +# 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 +*.aab +*.unitypackage +*.unitypackage.meta +*.app + +# Crashlytics generated file +crashlytics-build.properties + +# Packed Addressables +/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* + +# Temporary auto-generated Android Assets +/[Aa]ssets/[Ss]treamingAssets/aa.meta +/[Aa]ssets/[Ss]treamingAssets/aa/* diff --git a/.idea/.idea.Jeremy BBJam/.idea/.gitignore b/.idea/.idea.Jeremy BBJam/.idea/.gitignore new file mode 100644 index 0000000..c7b2097 --- /dev/null +++ b/.idea/.idea.Jeremy BBJam/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/.idea.Jeremy BBJam.iml +/contentModel.xml +/modules.xml +/projectSettingsUpdater.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.Jeremy BBJam/.idea/encodings.xml b/.idea/.idea.Jeremy BBJam/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.Jeremy BBJam/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/.idea.Jeremy BBJam/.idea/indexLayout.xml b/.idea/.idea.Jeremy BBJam/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.Jeremy BBJam/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b8389af --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "diffEditor.codeLens": true +} \ No newline at end of file diff --git a/Assets/Animations.meta b/Assets/Animations.meta new file mode 100644 index 0000000..ac32915 --- /dev/null +++ b/Assets/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 95cfa428a00b13148bd3e450b2e64c03 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Animations/2-3-CameraZoom.anim b/Assets/Animations/2-3-CameraZoom.anim new file mode 100644 index 0000000..8996969 --- /dev/null +++ b/Assets/Animations/2-3-CameraZoom.anim @@ -0,0 +1,228 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: 2-3-CameraZoom + serializedVersion: 7 + m_Legacy: 1 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: -500} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: -2.166, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 5 + value: {x: 0, y: -10.83, z: -500} + inSlope: {x: 0, y: -2.166, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_ScaleCurves: [] + m_FloatCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 50 + inSlope: 0 + outSlope: -5.2155786 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5 + value: 23.922108 + inSlope: -5.2155786 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: orthographic size + path: + classID: 20 + script: {fileID: 0} + flags: 0 + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: [] + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 5 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 50 + inSlope: 0 + outSlope: -5.2155786 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5 + value: 23.922108 + inSlope: -5.2155786 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: orthographic size + path: + classID: 20 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: -2.166 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5 + value: -10.83 + inSlope: -2.166 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -500 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5 + value: -500 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Animations/2-3-CameraZoom.anim.meta b/Assets/Animations/2-3-CameraZoom.anim.meta new file mode 100644 index 0000000..bb55494 --- /dev/null +++ b/Assets/Animations/2-3-CameraZoom.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 676c34ca294cc09428338901e212f3c3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Animations/Anim-2-3-ChipInHand.anim b/Assets/Animations/Anim-2-3-ChipInHand.anim new file mode 100644 index 0000000..8d8c4e3 --- /dev/null +++ b/Assets/Animations/Anim-2-3-ChipInHand.anim @@ -0,0 +1,53 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Anim-2-3-ChipInHand + serializedVersion: 7 + m_Legacy: 1 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: [] + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Animations/Anim-2-3-ChipInHand.anim.meta b/Assets/Animations/Anim-2-3-ChipInHand.anim.meta new file mode 100644 index 0000000..3567da5 --- /dev/null +++ b/Assets/Animations/Anim-2-3-ChipInHand.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a7ee62b8aab0d6e4a90227ec8c313f51 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/DefaultVolumeProfile.asset b/Assets/DefaultVolumeProfile.asset new file mode 100644 index 0000000..98d062f --- /dev/null +++ b/Assets/DefaultVolumeProfile.asset @@ -0,0 +1,795 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8501254525509651381 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 81180773991d8724ab7f2d216912b564, type: 3} + m_Name: ChromaticAberration + m_EditorClassIdentifier: + active: 1 + intensity: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &-8155901819368568962 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: fb60a22f311433c4c962b888d1393f88, type: 3} + m_Name: PaniniProjection + m_EditorClassIdentifier: + active: 1 + distance: + m_OverrideState: 1 + m_Value: 0 + cropToFit: + m_OverrideState: 1 + m_Value: 1 +--- !u!114 &-7618632951519280945 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 0b2db86121404754db890f4c8dfe81b2, type: 3} + m_Name: Bloom + m_EditorClassIdentifier: + active: 1 + skipIterations: + m_OverrideState: 1 + m_Value: 1 + threshold: + m_OverrideState: 1 + m_Value: 0.9 + intensity: + m_OverrideState: 1 + m_Value: 0 + scatter: + m_OverrideState: 1 + m_Value: 0.7 + clamp: + m_OverrideState: 1 + m_Value: 65472 + tint: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + highQualityFiltering: + m_OverrideState: 1 + m_Value: 0 + downscale: + m_OverrideState: 1 + m_Value: 0 + maxIterations: + m_OverrideState: 1 + m_Value: 6 + dirtTexture: + m_OverrideState: 1 + m_Value: {fileID: 0} + dimension: 1 + dirtIntensity: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &-6738771181288695470 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 3eb4b772797da9440885e8bd939e9560, type: 3} + m_Name: ColorCurves + m_EditorClassIdentifier: + active: 1 + master: + m_OverrideState: 1 + m_Value: + k__BackingField: 2 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + red: + m_OverrideState: 1 + m_Value: + k__BackingField: 2 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + green: + m_OverrideState: 1 + m_Value: + k__BackingField: 2 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + blue: + m_OverrideState: 1 + m_Value: + k__BackingField: 2 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + hueVsHue: + m_OverrideState: 1 + m_Value: + k__BackingField: 0 + m_Loop: 1 + m_ZeroValue: 0.5 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + hueVsSat: + m_OverrideState: 1 + m_Value: + k__BackingField: 0 + m_Loop: 1 + m_ZeroValue: 0.5 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + satVsSat: + m_OverrideState: 1 + m_Value: + k__BackingField: 0 + m_Loop: 0 + m_ZeroValue: 0.5 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + lumVsSat: + m_OverrideState: 1 + m_Value: + k__BackingField: 0 + m_Loop: 0 + m_ZeroValue: 0.5 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!114 &-5268228485635734071 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: c01700fd266d6914ababb731e09af2eb, type: 3} + m_Name: DepthOfField + m_EditorClassIdentifier: + active: 1 + mode: + m_OverrideState: 1 + m_Value: 0 + gaussianStart: + m_OverrideState: 1 + m_Value: 10 + gaussianEnd: + m_OverrideState: 1 + m_Value: 30 + gaussianMaxRadius: + m_OverrideState: 1 + m_Value: 1 + highQualitySampling: + m_OverrideState: 1 + m_Value: 0 + focusDistance: + m_OverrideState: 1 + m_Value: 10 + aperture: + m_OverrideState: 1 + m_Value: 5.6 + focalLength: + m_OverrideState: 1 + m_Value: 50 + bladeCount: + m_OverrideState: 1 + m_Value: 5 + bladeCurvature: + m_OverrideState: 1 + m_Value: 1 + bladeRotation: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &-5234636443216299984 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 899c54efeace73346a0a16faa3afe726, type: 3} + m_Name: Vignette + m_EditorClassIdentifier: + active: 1 + color: + m_OverrideState: 1 + m_Value: {r: 0, g: 0, b: 0, a: 1} + center: + m_OverrideState: 1 + m_Value: {x: 0.5, y: 0.5} + intensity: + m_OverrideState: 1 + m_Value: 0 + smoothness: + m_OverrideState: 1 + m_Value: 0.2 + rounded: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &-4954644329903721205 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 29fa0085f50d5e54f8144f766051a691, type: 3} + m_Name: FilmGrain + m_EditorClassIdentifier: + active: 1 + type: + m_OverrideState: 1 + m_Value: 0 + intensity: + m_OverrideState: 1 + m_Value: 0 + response: + m_OverrideState: 1 + m_Value: 0.8 + texture: + m_OverrideState: 1 + m_Value: {fileID: 0} +--- !u!114 &-4170502050727104716 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 5485954d14dfb9a4c8ead8edb0ded5b1, type: 3} + m_Name: LiftGammaGain + m_EditorClassIdentifier: + active: 1 + lift: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + gamma: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + gain: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} +--- !u!114 &-3363268210975031146 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 558a8e2b6826cf840aae193990ba9f2e, type: 3} + m_Name: ShadowsMidtonesHighlights + m_EditorClassIdentifier: + active: 1 + shadows: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + midtones: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + highlights: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + shadowsStart: + m_OverrideState: 1 + m_Value: 0 + shadowsEnd: + m_OverrideState: 1 + m_Value: 0.3 + highlightsStart: + m_OverrideState: 1 + m_Value: 0.55 + highlightsEnd: + m_OverrideState: 1 + m_Value: 1 +--- !u!114 &-923081930690188319 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 06437c1ff663d574d9447842ba0a72e4, type: 3} + m_Name: ScreenSpaceLensFlare + m_EditorClassIdentifier: + active: 1 + intensity: + m_OverrideState: 1 + m_Value: 0 + tintColor: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + bloomMip: + m_OverrideState: 1 + m_Value: 1 + firstFlareIntensity: + m_OverrideState: 1 + m_Value: 1 + secondaryFlareIntensity: + m_OverrideState: 1 + m_Value: 1 + warpedFlareIntensity: + m_OverrideState: 1 + m_Value: 1 + warpedFlareScale: + m_OverrideState: 1 + m_Value: {x: 1, y: 1} + samples: + m_OverrideState: 1 + m_Value: 1 + sampleDimmer: + m_OverrideState: 1 + m_Value: 0.5 + vignetteEffect: + m_OverrideState: 1 + m_Value: 1 + startingPosition: + m_OverrideState: 1 + m_Value: 1.25 + scale: + m_OverrideState: 1 + m_Value: 1.5 + streaksIntensity: + m_OverrideState: 1 + m_Value: 0 + streaksLength: + m_OverrideState: 1 + m_Value: 0.5 + streaksOrientation: + m_OverrideState: 1 + m_Value: 0 + streaksThreshold: + m_OverrideState: 1 + m_Value: 0.25 + resolution: + m_OverrideState: 1 + m_Value: 4 + chromaticAbberationIntensity: + m_OverrideState: 1 + m_Value: 0.5 +--- !u!114 &-373307579538528773 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: c5e1dc532bcb41949b58bc4f2abfbb7e, type: 3} + m_Name: LensDistortion + m_EditorClassIdentifier: + active: 1 + intensity: + m_OverrideState: 1 + m_Value: 0 + xMultiplier: + m_OverrideState: 1 + m_Value: 1 + yMultiplier: + m_OverrideState: 1 + m_Value: 1 + center: + m_OverrideState: 1 + m_Value: {x: 0.5, y: 0.5} + scale: + m_OverrideState: 1 + m_Value: 1 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: d7fd9488000d3734a9e00ee676215985, type: 3} + m_Name: DefaultVolumeProfile + m_EditorClassIdentifier: + components: + - {fileID: -8501254525509651381} + - {fileID: 7130717295584170232} + - {fileID: 8184528013139897065} + - {fileID: 4319741149199349961} + - {fileID: 1614636490309785604} + - {fileID: -3363268210975031146} + - {fileID: -5268228485635734071} + - {fileID: 722538651972312794} + - {fileID: -5234636443216299984} + - {fileID: 2564156880554611903} + - {fileID: -4170502050727104716} + - {fileID: -7618632951519280945} + - {fileID: -6738771181288695470} + - {fileID: -8155901819368568962} + - {fileID: -4954644329903721205} + - {fileID: -373307579538528773} + - {fileID: -923081930690188319} + - {fileID: 4232387163487885750} + - {fileID: 3677995413352976110} +--- !u!114 &722538651972312794 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 66f335fb1ffd8684294ad653bf1c7564, type: 3} + m_Name: ColorAdjustments + m_EditorClassIdentifier: + active: 1 + postExposure: + m_OverrideState: 1 + m_Value: 0 + contrast: + m_OverrideState: 1 + m_Value: 0 + colorFilter: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + hueShift: + m_OverrideState: 1 + m_Value: 0 + saturation: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &1614636490309785604 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 97c23e3b12dc18c42a140437e53d3951, type: 3} + m_Name: Tonemapping + m_EditorClassIdentifier: + active: 1 + mode: + m_OverrideState: 1 + m_Value: 0 + neutralHDRRangeReductionMode: + m_OverrideState: 1 + m_Value: 2 + acesPreset: + m_OverrideState: 1 + m_Value: 3 + hueShiftAmount: + m_OverrideState: 1 + m_Value: 0 + detectPaperWhite: + m_OverrideState: 1 + m_Value: 0 + paperWhite: + m_OverrideState: 1 + m_Value: 300 + detectBrightnessLimits: + m_OverrideState: 1 + m_Value: 1 + minNits: + m_OverrideState: 1 + m_Value: 0.005 + maxNits: + m_OverrideState: 1 + m_Value: 1000 +--- !u!114 &2564156880554611903 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: cdfbdbb87d3286943a057f7791b43141, type: 3} + m_Name: ChannelMixer + m_EditorClassIdentifier: + active: 1 + redOutRedIn: + m_OverrideState: 1 + m_Value: 100 + redOutGreenIn: + m_OverrideState: 1 + m_Value: 0 + redOutBlueIn: + m_OverrideState: 1 + m_Value: 0 + greenOutRedIn: + m_OverrideState: 1 + m_Value: 0 + greenOutGreenIn: + m_OverrideState: 1 + m_Value: 100 + greenOutBlueIn: + m_OverrideState: 1 + m_Value: 0 + blueOutRedIn: + m_OverrideState: 1 + m_Value: 0 + blueOutGreenIn: + m_OverrideState: 1 + m_Value: 0 + blueOutBlueIn: + m_OverrideState: 1 + m_Value: 100 +--- !u!114 &3677995413352976110 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 6bd486065ce11414fa40e631affc4900, type: 3} + m_Name: ProbeVolumesOptions + m_EditorClassIdentifier: + active: 1 + normalBias: + m_OverrideState: 1 + m_Value: 0.05 + viewBias: + m_OverrideState: 1 + m_Value: 0.1 + scaleBiasWithMinProbeDistance: + m_OverrideState: 1 + m_Value: 0 + samplingNoise: + m_OverrideState: 1 + m_Value: 0.1 + animateSamplingNoise: + m_OverrideState: 1 + m_Value: 1 + leakReductionMode: + m_OverrideState: 1 + m_Value: 2 + minValidDotProductValue: + m_OverrideState: 1 + m_Value: 0.1 + occlusionOnlyReflectionNormalization: + m_OverrideState: 1 + m_Value: 1 + intensityMultiplier: + m_OverrideState: 1 + m_Value: 1 + skyOcclusionIntensityMultiplier: + m_OverrideState: 1 + m_Value: 1 + worldOffset: + m_OverrideState: 1 + m_Value: {x: 0, y: 0, z: 0} +--- !u!114 &4232387163487885750 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 70afe9e12c7a7ed47911bb608a23a8ff, type: 3} + m_Name: SplitToning + m_EditorClassIdentifier: + active: 1 + shadows: + m_OverrideState: 1 + m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1} + highlights: + m_OverrideState: 1 + m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1} + balance: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &4319741149199349961 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: ccf1aba9553839d41ae37dd52e9ebcce, type: 3} + m_Name: MotionBlur + m_EditorClassIdentifier: + active: 1 + mode: + m_OverrideState: 1 + m_Value: 0 + quality: + m_OverrideState: 1 + m_Value: 0 + intensity: + m_OverrideState: 1 + m_Value: 0 + clamp: + m_OverrideState: 1 + m_Value: 0.05 +--- !u!114 &7130717295584170232 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: e021b4c809a781e468c2988c016ebbea, type: 3} + m_Name: ColorLookup + m_EditorClassIdentifier: + active: 1 + texture: + m_OverrideState: 1 + m_Value: {fileID: 0} + dimension: 1 + contribution: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &8184528013139897065 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 221518ef91623a7438a71fef23660601, type: 3} + m_Name: WhiteBalance + m_EditorClassIdentifier: + active: 1 + temperature: + m_OverrideState: 1 + m_Value: 0 + tint: + m_OverrideState: 1 + m_Value: 0 diff --git a/Assets/DefaultVolumeProfile.asset.meta b/Assets/DefaultVolumeProfile.asset.meta new file mode 100644 index 0000000..3b3d41e --- /dev/null +++ b/Assets/DefaultVolumeProfile.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8127a98b2c3ef674797b34ed1b7a9617 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Outline.meta b/Assets/Outline.meta new file mode 100644 index 0000000..a81d0aa --- /dev/null +++ b/Assets/Outline.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e9f7c4872b68cf94783516d6e9a73003 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Outline/Editor.meta b/Assets/Outline/Editor.meta new file mode 100644 index 0000000..bf2f896 --- /dev/null +++ b/Assets/Outline/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a6f99bf2d4ae49a4c82f5a916a642ee7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Outline/Editor/OptionalDrawer.cs b/Assets/Outline/Editor/OptionalDrawer.cs new file mode 100644 index 0000000..83027c1 --- /dev/null +++ b/Assets/Outline/Editor/OptionalDrawer.cs @@ -0,0 +1,42 @@ +using UnityEditor; +using UnityEngine; + +// OutlineFx © NullTale - https://x.com/NullTale/ +namespace OutlineFx.Editor +{ + [CustomPropertyDrawer(typeof(Optional<>))] + public class OptionalDrawer : PropertyDrawer + { + private const float k_ToggleWidth = 18; + + // ======================================================================= + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + var valueProperty = property.FindPropertyRelative("value"); + return EditorGUI.GetPropertyHeight(valueProperty); + } + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + var valueProperty = property.FindPropertyRelative("value"); + var enabledProperty = property.FindPropertyRelative("enabled"); + + OnGui(position, label, enabledProperty, valueProperty); + } + + public static void OnGui(Rect position, GUIContent label, SerializedProperty enabledProperty, SerializedProperty valueProperty) + { + position.width -= k_ToggleWidth; + using (new EditorGUI.DisabledGroupScope(!enabledProperty.boolValue)) + EditorGUI.PropertyField(position, valueProperty, label, true); + + int indent = EditorGUI.indentLevel; + EditorGUI.indentLevel = 0; + + var togglePos = new Rect(position.x + position.width + EditorGUIUtility.standardVerticalSpacing, position.y, k_ToggleWidth, EditorGUIUtility.singleLineHeight); + enabledProperty.boolValue = EditorGUI.Toggle(togglePos, GUIContent.none, enabledProperty.boolValue); + + EditorGUI.indentLevel = indent; + } + } +} \ No newline at end of file diff --git a/Assets/Outline/Editor/OptionalDrawer.cs.meta b/Assets/Outline/Editor/OptionalDrawer.cs.meta new file mode 100644 index 0000000..5b9f96f --- /dev/null +++ b/Assets/Outline/Editor/OptionalDrawer.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 7f5183bcac50faa4ca8eadb901bbd215 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Editor/OptionalDrawer.cs + uploadId: 678360 diff --git a/Assets/Outline/Editor/OutlineFx.Editor.asmdef b/Assets/Outline/Editor/OutlineFx.Editor.asmdef new file mode 100644 index 0000000..2bc2535 --- /dev/null +++ b/Assets/Outline/Editor/OutlineFx.Editor.asmdef @@ -0,0 +1,18 @@ +{ + "name": "OutlineFx.Editor", + "rootNamespace": "", + "references": [ + "GUID:bdbbf3324f8e871489bfc4305a67110a" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/Outline/Editor/OutlineFx.Editor.asmdef.meta b/Assets/Outline/Editor/OutlineFx.Editor.asmdef.meta new file mode 100644 index 0000000..8fca127 --- /dev/null +++ b/Assets/Outline/Editor/OutlineFx.Editor.asmdef.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: cc8d4d28a11c62c439d34471170d3450 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Editor/OutlineFx.Editor.asmdef + uploadId: 678360 diff --git a/Assets/Outline/Editor/SolidMaskDrawer.cs b/Assets/Outline/Editor/SolidMaskDrawer.cs new file mode 100644 index 0000000..eed642f --- /dev/null +++ b/Assets/Outline/Editor/SolidMaskDrawer.cs @@ -0,0 +1,48 @@ +using UnityEditor; +using UnityEngine; + +// OutlineFx © NullTale - https://x.com/NullTale/ +namespace OutlineFx.Editor +{ + [CustomPropertyDrawer(typeof(OutlineFxFeature.SolidMask))] + public class SolidMaskDrawer : PropertyDrawer + { + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + var lines = 3; + + if (property.isExpanded == false) + lines = 1; + + return lines * EditorGUIUtility.singleLineHeight; + } + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + var enabled = property.FindPropertyRelative(nameof(OutlineFxFeature.SolidMask._enabled)); + var pattern = property.FindPropertyRelative(nameof(OutlineFxFeature.SolidMask._pattern)); + var scale = property.FindPropertyRelative(nameof(OutlineFxFeature.SolidMask._scale)); + var velocity = property.FindPropertyRelative(nameof(OutlineFxFeature.SolidMask._velocity)); + + var line = 0; + OptionalDrawer.OnGui(_fieldRect(line ++), label, enabled, pattern); + property.isExpanded = EditorGUI.Foldout(_fieldRect(line - 1), property.isExpanded, GUIContent.none, true); + + if (property.isExpanded == false) + return; + EditorGUI.indentLevel ++; + using (new EditorGUI.DisabledGroupScope(!enabled.boolValue)) + { + EditorGUI.PropertyField(_fieldRect(line ++), scale, true); + EditorGUI.PropertyField(_fieldRect(line ++), velocity, true); + } + EditorGUI.indentLevel --; + + // ----------------------------------------------------------------------- + Rect _fieldRect(int line) + { + return new Rect(position.x, position.y + line * EditorGUIUtility.singleLineHeight, position.width, EditorGUIUtility.singleLineHeight); + } + } + } +} \ No newline at end of file diff --git a/Assets/Outline/Editor/SolidMaskDrawer.cs.meta b/Assets/Outline/Editor/SolidMaskDrawer.cs.meta new file mode 100644 index 0000000..acdd74e --- /dev/null +++ b/Assets/Outline/Editor/SolidMaskDrawer.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 23f3aacd265c4e309d33c46d1253d4b9 +timeCreated: 1694189677 +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Editor/SolidMaskDrawer.cs + uploadId: 678360 diff --git a/Assets/Outline/OutlineFx.asmdef b/Assets/Outline/OutlineFx.asmdef new file mode 100644 index 0000000..bc6d12d --- /dev/null +++ b/Assets/Outline/OutlineFx.asmdef @@ -0,0 +1,17 @@ +{ + "name": "OutlineFx", + "rootNamespace": "", + "references": [ + "GUID:df380645f10b7bc4b97d4f5eb6303d95", + "GUID:15fc0a57446b3144c949da3e2b9737a9" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/Outline/OutlineFx.asmdef.meta b/Assets/Outline/OutlineFx.asmdef.meta new file mode 100644 index 0000000..3c86641 --- /dev/null +++ b/Assets/Outline/OutlineFx.asmdef.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: bdbbf3324f8e871489bfc4305a67110a +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/OutlineFx.asmdef + uploadId: 678360 diff --git a/Assets/Outline/Readme.pdf b/Assets/Outline/Readme.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a65310dc6d211c5d4d93a14133e426c1dc2d0821 GIT binary patch literal 178582 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�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 +Y z$nC@Y?>*VFM_2DP02gU?z+W!%l|;;tUZ7t&kxovrHt`5CW>Ug z9-SHS5@ky7iI8g4)eEX@h>rlGh7rCN)4n_0JC6YmGsoG4H5{T?ta~=A${k>F8Uu9o>KH-IB+qqxHr}ZG@OpAy?K9_~ZcVy%Kz-3ER|OtM2^B z5cRxZWSVQYR#&7mw{n~O+7-^C(S^INctgBrQCmb)>!(jsa%U|~PMOuoOc|*{tmV_f zkA1KvP;f4g+s4^TP6DWT|$?j^t&s6 zz_KE z`Cd!ul%S0f55HS$5}n^~QkjUuD)q#|j8#TKi_~XD;_slvA8=x!bw6dgIUho&US6<| z3~W-#tFRUm^tE?%>uO=hMe=yEzJyw(Ea%~F>1}XY3WB8w^T;Yq8p7pee;*hkO@A&n z(}vr|x>SD(NEm0H-P@`jnPAdI(?nl0OijD@@fEaDFq`zj)2kh|eo)laK$*rfeQC?p zI>;~$1=e#4T*Bv(eP*O*FB?&H>HScAWXawYan+*h7Vs1`4qkt(QsZ7w&>qsT_MPxp zAOZy?p!$v4zeTAy^M!9}3t;~Tc7gscEnNN!{`g11;eVRAfI!?}N+=YtNdaR2aRNd^ zP7n`}02tszAHo5lgg^o3`+yVve-H}(VQcb}3w{v_LjPuKA^`#l{YxMSrsTSljskA= z0mGPo!MK2G|AO5Gq5JC!Fs1ny43KR8grNcq^zY#V{daT>z`E;>{V9Le28by&6^yOS zOk4o4v@Hli3HaZqz_{AZ&n591kZ95bAToxG1@~Ky2LHJTNHG9Xt>)pdpZSvUha= zDo|lpbuzMZcDO6u#FJfA1+bBGvotYNmK0%^rgU*~H4_wM7X>H*RPIdq^G*LoE}&EY ze{Cx0r~T32+xq*=`2P`Ee;QQ%t*t+M`F9p@MrHrK+fo0s-+_+!A9VcPn3J(Ib=IN$ zIS7EM9LS{%1n2yD0v?Lmy8>Ls`M0(JgZ0-w7BzA)vavV+$(8_1{56Ky6&%d$giY>@ zHFf?fnq5;%8}RCCWAoP^2T-`Ik)1iClPjyT+T*|TJM?erBvC+W?_%%7FCi`=!NCE! zV_+}`2b2dm18WHs&^5roe~l_rR}-^;<8g`pg#!g}f8qmpTtI#(^j`_c4+U1HyZitO z$KAjHivwp)psb%&0__$vaxr5R;{|hoxj0}T7?_h2SnQZNI2kxN7#{zPARbO;&rmsl z84eXF>0bvBCero4-^9X2NZg;TX=?nrx!9cK>U-QDC(7Sjrf3M>X?`}i(3ktXv;k)DC{0!m(I{lA2VBp_*1Hgm)0}KZK{e1ya{Xu&G_6JWwIJob^LH*Je z2nhT~e?UMGz*PKKJSd3g584Cs$nWC~1O?&;{Z0cY7z*rfek%`%ar_(qfuKA*;NNKq z!2aMrfW?6TM8B4IN9Nz#43PP5-M>5jgZ3~8=#TdWV1LjV2H}MMPG=Y}(f(N;4-g3H z_d0m~-~$*G#{CB#lpELs{zqOHCnHN6GpD-^jf$n088CISE8E)xn=2q6C9t`YwtHp| z%%K0e5u?w^!3B{Jfq_IhV4|FyFivqE5fKh94l!U)1cHh1aB$x(O3p4uPA)&Ecn}OA OJq(qOPFz6(_5T2H)CWlb literal 0 HcmV?d00001 diff --git a/Assets/Outline/Readme.pdf.meta b/Assets/Outline/Readme.pdf.meta new file mode 100644 index 0000000..63a54c1 --- /dev/null +++ b/Assets/Outline/Readme.pdf.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 575eaab82c3c3ac469f6af1badd4e361 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Readme.pdf + uploadId: 678360 diff --git a/Assets/Outline/Runtime.meta b/Assets/Outline/Runtime.meta new file mode 100644 index 0000000..3306570 --- /dev/null +++ b/Assets/Outline/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66a09bc715d6c8241bdb69d3b8dad04e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Outline/Runtime/Optional.cs b/Assets/Outline/Runtime/Optional.cs new file mode 100644 index 0000000..09e3e96 --- /dev/null +++ b/Assets/Outline/Runtime/Optional.cs @@ -0,0 +1,60 @@ +using System; +using UnityEngine; + +// OutlineFx © NullTale - https://x.com/NullTale/ +namespace OutlineFx +{ + [Serializable] + public sealed class Optional + { + [SerializeField] + internal bool enabled; + + [SerializeField] + internal T value = default!; + + public bool Enabled + { + get => enabled; + set => enabled = value; + } + + public T Value + { + get => value; + set => this.value = value; + } + + // ======================================================================= + public Optional(bool enabled) + { + this.enabled = enabled; + } + + public Optional(T value, bool enabled) + { + this.enabled = enabled; + this.value = value; + } + + public T GetValue(T disabledValue) + { + return enabled ? value : disabledValue; + } + + public T GetValueOrDefault() + { + return enabled ? value : default; + } + + public static implicit operator bool(Optional opt) + { + return opt.enabled; + } + + public static implicit operator T(Optional opt) + { + return opt.value; + } + } +} \ No newline at end of file diff --git a/Assets/Outline/Runtime/Optional.cs.meta b/Assets/Outline/Runtime/Optional.cs.meta new file mode 100644 index 0000000..48f8e34 --- /dev/null +++ b/Assets/Outline/Runtime/Optional.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 718243a646830064cb47da777eb68934 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Runtime/Optional.cs + uploadId: 678360 diff --git a/Assets/Outline/Runtime/Outline.cs b/Assets/Outline/Runtime/Outline.cs new file mode 100644 index 0000000..4f76491 --- /dev/null +++ b/Assets/Outline/Runtime/Outline.cs @@ -0,0 +1,32 @@ +using UnityEngine; + +// OutlineFx © NullTale - https://x.com/NullTale/ +namespace OutlineFx +{ + [ExecuteAlways] [DisallowMultipleComponent] + public abstract class Outline : MonoBehaviour + { + internal Renderer _renderer; + + public abstract Color Color {get; set; } + + // ======================================================================= + private void OnEnable() + { + _renderer = GetComponent(); + } + + private void OnWillRenderObject() + { +#if UNITY_EDITOR + if (Application.isEditor && Equals(_renderer, null) == false) + { + if (TryGetComponent(out _renderer) == false) + return; + } +#endif + + OutlineFxFeature.Render(this); + } + } +} \ No newline at end of file diff --git a/Assets/Outline/Runtime/Outline.cs.meta b/Assets/Outline/Runtime/Outline.cs.meta new file mode 100644 index 0000000..47457a3 --- /dev/null +++ b/Assets/Outline/Runtime/Outline.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 46ca052234754909a86ce4897938622b +timeCreated: 1721240301 +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Runtime/Outline.cs + uploadId: 678360 diff --git a/Assets/Outline/Runtime/OutlineBlocker.cs b/Assets/Outline/Runtime/OutlineBlocker.cs new file mode 100644 index 0000000..1875a16 --- /dev/null +++ b/Assets/Outline/Runtime/OutlineBlocker.cs @@ -0,0 +1,20 @@ +using UnityEngine; + +// OutlineFx © NullTale - https://x.com/NullTale/ +namespace OutlineFx +{ + [DefaultExecutionOrder(10000)] + public class OutlineBlocker : Outline + { + private static Color s_color = new Color(0, 0, 0, 7f / 255f); + + public override Color Color + { + get => new Color(0, 0, 0, 14f / 255f); + set + { + // pass + } + } + } +} \ No newline at end of file diff --git a/Assets/Outline/Runtime/OutlineBlocker.cs.meta b/Assets/Outline/Runtime/OutlineBlocker.cs.meta new file mode 100644 index 0000000..f7e5d25 --- /dev/null +++ b/Assets/Outline/Runtime/OutlineBlocker.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fe0edcb63acb478aadea1918b40e26b3 +timeCreated: 1721238836 +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Runtime/OutlineBlocker.cs + uploadId: 678360 diff --git a/Assets/Outline/Runtime/OutlineFx.Pass.cs b/Assets/Outline/Runtime/OutlineFx.Pass.cs new file mode 100644 index 0000000..619d445 --- /dev/null +++ b/Assets/Outline/Runtime/OutlineFx.Pass.cs @@ -0,0 +1,138 @@ +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +// OutlineFx © NullTale - https://x.com/NullTale/ +namespace OutlineFx +{ + public partial class OutlineFxFeature + { + private static readonly int s_Alpha = Shader.PropertyToID("_Alpha"); + private static readonly int s_MainTex = Shader.PropertyToID("_MainTex"); + private static readonly int s_Step = Shader.PropertyToID("_Step"); + private static readonly int s_Color = Shader.PropertyToID("_Color"); + private static readonly int s_Solid = Shader.PropertyToID("_Solid"); + + private static readonly int s_AlphaTex = Shader.PropertyToID("_AlphaTex"); + private static readonly int s_AlphaTO = Shader.PropertyToID("_AlphaTO"); + + private class Pass : ScriptableRenderPass + { + public OutlineFxFeature _owner; + + private FilteringSettings _filtering; + private RenderStateBlock _override; + private RenderTarget _buffer; + private RTHandle _output; + + // ======================================================================= + public void Init() + { + renderPassEvent = _owner._event; + _buffer = new RenderTarget().Allocate(nameof(_buffer)); + } + + public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) + { + // allocate resources + var cmd = CommandBufferPool.Get(nameof(OutlineFxFeature)); + var desc = renderingData.cameraData.cameraTargetDescriptor; + desc.colorFormat = RenderTextureFormat.ARGB32; + _buffer.Get(cmd, desc); + + if (_owner._outlineMat == null) + return; + + _owner._outlineMat.SetFloat(s_Alpha, _owner._alphaCutout); + _owner._outlineMat.SetFloat(s_Solid, _owner._solid); + + if (_owner._solidMask._enabled) + { + var sm = _owner._solidMask; + _owner._outlineMat.SetTexture(s_AlphaTex, sm._pattern); + var xPeriod = 1f / (sm._velocity.x / 1000f); + var yPeriod = 1f / (sm._velocity.y / 1000f); + var xOffset = sm._velocity.x == 0 ? 0 : (Time.unscaledTime % xPeriod) / xPeriod * sm._scale; + var yOffset = sm._velocity.y == 0 ? 0 : (Time.unscaledTime % yPeriod) / yPeriod * sm._scale; + + var aspectTex = sm._pattern.width / (float)sm._pattern.height; + + _owner._outlineMat.SetVector(s_AlphaTO, new Vector4(sm._scale * (Screen.width / (float)Screen.height) / aspectTex, sm._scale, xOffset, yOffset)); + } + +#if !UNITY_2022_1_OR_NEWER + if (_owner._output.Enabled == false) + _output = RTHandles.Alloc(renderingData.cameraData.renderer.cameraColorTarget); +#else + _output = renderingData.cameraData.renderer.cameraColorTargetHandle; +#endif + if (_owner._output.Enabled) + _output = _alloc(_owner._output.Value); + + // render with layer mask + cmd.SetRenderTarget(_buffer.Handle.nameID); + cmd.ClearRenderTarget(false, true, Color.clear, 1f); + + if (_owner._attachDepth) + { +#if !UNITY_2022_1_OR_NEWER + var depth = renderingData.cameraData.renderer.cameraDepthTarget == BuiltinRenderTextureType.CameraTarget + ? renderingData.cameraData.renderer.cameraColorTarget + : renderingData.cameraData.renderer.cameraDepthTarget; +#else + var depth = renderingData.cameraData.renderer.cameraDepthTargetHandle; +#endif + cmd.SetRenderTarget(_buffer.Handle, depth); + } + else + { + cmd.SetRenderTarget(_buffer.Handle); + } + + context.ExecuteCommandBuffer(cmd); + cmd.Clear(); + + foreach (var inst in _renderers) + { + if (inst == null) + continue; + + cmd.SetGlobalTexture(s_MainTex, inst._renderer.sharedMaterial.mainTexture); + cmd.SetGlobalColor(s_Color, inst.Color); + cmd.DrawRenderer(inst._renderer, _owner._outlineMat, 0, 0); + + } + _renderers.Clear(); + + cmd.SetGlobalVector(s_Step, _owner._step); + _blit(_buffer.Handle, _output, _owner._outlineMat, 1); + + _execute(); + + // ----------------------------------------------------------------------- + void _blit(RTHandle from, RTHandle to, Material mat, int pass = 0) + { + OutlineFxFeature._blit(cmd, from, to, mat, pass); + } + + void _execute() + { + context.ExecuteCommandBuffer(cmd); + CommandBufferPool.Release(cmd); + } + } + + public override void FrameCleanup(CommandBuffer cmd) + { + _buffer.Release(cmd); + +#if !UNITY_2022_1_OR_NEWER + RTHandles.Release(_output); +#else + if (_owner._output.Enabled) + RTHandles.Release(_output); +#endif + } + } + } +} diff --git a/Assets/Outline/Runtime/OutlineFx.Pass.cs.meta b/Assets/Outline/Runtime/OutlineFx.Pass.cs.meta new file mode 100644 index 0000000..3acb90c --- /dev/null +++ b/Assets/Outline/Runtime/OutlineFx.Pass.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 7dd2cd9763dd1a1419cec5a4d92317ed +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Runtime/OutlineFx.Pass.cs + uploadId: 678360 diff --git a/Assets/Outline/Runtime/OutlineFx.cs b/Assets/Outline/Runtime/OutlineFx.cs new file mode 100644 index 0000000..fa1b60f --- /dev/null +++ b/Assets/Outline/Runtime/OutlineFx.cs @@ -0,0 +1,23 @@ +using UnityEngine; + +// OutlineFx © NullTale - https://x.com/NullTale/ +namespace OutlineFx +{ + [ExecuteAlways] + public class OutlineFx : Outline + { + public Color _color = Color.white; + + public override Color Color + { + get => _color; + set => _color = value; + } + + public float Alpha + { + get => _color.a; + set => _color.a = value; + } + } +} \ No newline at end of file diff --git a/Assets/Outline/Runtime/OutlineFx.cs.meta b/Assets/Outline/Runtime/OutlineFx.cs.meta new file mode 100644 index 0000000..4a3818d --- /dev/null +++ b/Assets/Outline/Runtime/OutlineFx.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 4218d78ef2d54d0898b7514e121a781f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Runtime/OutlineFx.cs + uploadId: 678360 diff --git a/Assets/Outline/Runtime/OutlineFxFeature.cs b/Assets/Outline/Runtime/OutlineFxFeature.cs new file mode 100644 index 0000000..42e911f --- /dev/null +++ b/Assets/Outline/Runtime/OutlineFxFeature.cs @@ -0,0 +1,301 @@ +using System; +using System.Collections.Generic; +using System.IO; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +// OutlineFx © NullTale - https://x.com/NullTale/ +namespace OutlineFx +{ + public partial class OutlineFxFeature : ScriptableRendererFeature + { + private const string k_OutlineShader = "Hidden/OutlineFx/Main"; + + private static readonly int s_MainTexId = Shader.PropertyToID("_MainTex"); + private static readonly int s_ColorId = Shader.PropertyToID("_Color"); + + private static List k_ShaderTags; + private static Mesh k_ScreenMesh; + + public static Mesh ScreenMesh => k_ScreenMesh; + + public float Solid + { + get => _solid; + set => _solid = Mathf.Clamp01(value); + } + + public float Thickness + { + get => _thickness; + set => _thickness = Mathf.Clamp01(value); + } + + public bool Mask + { + get => _solidMask._enabled; + set + { + if (_solidMask._enabled == value) + return; + + _solidMask._enabled = value; + + if (_solidMask._enabled) + _outlineMat.EnableKeyword("ALPHA_MASK"); + else + _outlineMat.DisableKeyword("ALPHA_MASK"); + } + } + + [SerializeField] + [Tooltip("When draw outline")] + private RenderPassEvent _event = RenderPassEvent.AfterRenderingPostProcessing; + [Range(0, 1)] + [SerializeField] + [Tooltip("Solid fill of outline")] + private float _solid; + + [Range(0, 1f)] + [Tooltip("Outline thickness")] + public float _thickness = 0.001f; + [Range(0, 1)] + [SerializeField] + [Tooltip("Alpha cutout threshold for transparent objects")] + private float _alphaCutout = .5f; + + [Tooltip("Edge filter")] + public Mode _mode = Mode.Hard; + [HideInInspector] + public Filter _filter = Filter.Box; + [HideInInspector] + public bool _attachDepth = true; + + public Optional _output = new Optional("_globalTex", false); + + public SolidMask _solidMask = new SolidMask(); + + [SerializeField] [HideInInspector] + public Shader _shader; + + private Material _outlineMat; + private Vector4 _step; + private Pass _pass; + + private static List _renderers = new List(); + + // ======================================================================= + public class RenderTarget + { + public RTHandle Handle; + public int Id; + + private bool _allocated; + + // ======================================================================= + public RenderTarget Allocate(RenderTexture rt, string name) + { + Handle = RTHandles.Alloc(rt, name); + Id = Shader.PropertyToID(name); + + return this; + } + + public RenderTarget Allocate(string name) + { + Handle = _alloc(name); + Id = Shader.PropertyToID(name); + + return this; + } + + public void Get(CommandBuffer cmd, in RenderTextureDescriptor desc) + { + _allocated = true; + cmd.GetTemporaryRT(Id, desc); + } + + public void Release(CommandBuffer cmd) + { + if (_allocated == false) + return; + + _allocated = false; + cmd.ReleaseTemporaryRT(Id); + } + } + + [Serializable] + public class SolidMask + { + public bool _enabled; + public Texture2D _pattern; + public float _scale = 50f; + public Vector2 _velocity = new Vector2(0, 0); + } + + public enum Mode + { + Hard, + Soft + } + + public enum Filter + { + Cross, + Box + } + + // ======================================================================= + public override void Create() + { + + _pass = new Pass() { _owner = this }; + _pass.Init(); + _renderers.Clear(); + + _validateContent(); + _validateMaterial(); + + if (k_ScreenMesh == null) + { + // init triangle + k_ScreenMesh = new Mesh(); + _initScreenMesh(k_ScreenMesh, Matrix4x4.identity); + } + + if (k_ShaderTags == null) + { + k_ShaderTags = new List(new[] + { + new ShaderTagId("SRPDefaultUnlit"), + new ShaderTagId("UniversalForward"), + new ShaderTagId("UniversalForwardOnly") + }); + } + } + + public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) + { + // in game or scene view only + if (renderingData.cameraData.cameraType != CameraType.Game && renderingData.cameraData.cameraType != CameraType.SceneView) + return; + + if (_renderers.Count == 0) + return; + + var aspect = Screen.width / (float)Screen.height; + _step.x = _thickness / aspect; + _step.y = _thickness; + _step *= 0.007f; + if (_mode == Mode.Soft) + _step *= 2f; + + renderer.EnqueuePass(_pass); + } + + public static void Render(Outline inst) + { + _renderers.Add(inst); + } + + // ======================================================================= + private void _validateMaterial() + { + _outlineMat = new Material(_shader); + switch (_mode) + { + case Mode.Soft: + _outlineMat.EnableKeyword("SOFT"); + break; + case Mode.Hard: + _outlineMat.EnableKeyword("HARD"); + break; + default: + throw new ArgumentOutOfRangeException(); + } + + switch (_filter) + { + case Filter.Cross: + _outlineMat.EnableKeyword("CROSS"); + break; + case Filter.Box: + _outlineMat.EnableKeyword("BOX"); + break; + default: + throw new ArgumentOutOfRangeException(); + } + + if (_solidMask._enabled) + { + _outlineMat.EnableKeyword("ALPHA_MASK"); + } + } + + private void _validateContent() + { +#if UNITY_EDITOR + if (_shader == null) + _shader = Shader.Find(k_OutlineShader); + + if (_solidMask._pattern == null) + { + var dir = Path.GetDirectoryName(UnityEditor.AssetDatabase.GetAssetPath(_shader)); + _solidMask._pattern = UnityEditor.AssetDatabase.LoadAssetAtPath($"{dir}\\checker.png"); + } + + UnityEditor.EditorUtility.SetDirty(this); +#endif + } + + private static void _initScreenMesh(Mesh mesh, Matrix4x4 mat) + { + mesh.vertices = _verts(0f); + mesh.uv = _texCoords(); + mesh.triangles = new int[3] { 0, 1, 2 }; + + mesh.UploadMeshData(true); + + // ----------------------------------------------------------------------- + Vector3[] _verts(float z) + { + var r = new Vector3[3]; + for (var i = 0; i < 3; i++) + { + var uv = new Vector2((i << 1) & 2, i & 2); + r[i] = mat.MultiplyPoint(new Vector3(uv.x * 2f - 1f, uv.y * 2f - 1f, z)); + } + + return r; + } + + Vector2[] _texCoords() + { + var r = new Vector2[3]; + for (var i = 0; i < 3; i++) + { + if (SystemInfo.graphicsUVStartsAtTop) + r[i] = new Vector2((i << 1) & 2, 1.0f - (i & 2)); + else + r[i] = new Vector2((i << 1) & 2, i & 2); + } + + return r; + } + } + + private static void _blit(CommandBuffer cmd, RTHandle from, RTHandle to, Material mat, int pass = 0) + { + cmd.SetGlobalTexture(s_MainTexId, from.nameID); + cmd.SetRenderTarget(to.nameID); + cmd.DrawMesh(k_ScreenMesh, Matrix4x4.identity, mat, 0, pass); + } + + private static RTHandle _alloc(string id) + { + return RTHandles.Alloc(id, name: id); + } + } +} \ No newline at end of file diff --git a/Assets/Outline/Runtime/OutlineFxFeature.cs.meta b/Assets/Outline/Runtime/OutlineFxFeature.cs.meta new file mode 100644 index 0000000..d2f9485 --- /dev/null +++ b/Assets/Outline/Runtime/OutlineFxFeature.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 177ddeadd26a80641ad757c51fb7f5d1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Runtime/OutlineFxFeature.cs + uploadId: 678360 diff --git a/Assets/Outline/Runtime/Shaders.meta b/Assets/Outline/Runtime/Shaders.meta new file mode 100644 index 0000000..2b8ddac --- /dev/null +++ b/Assets/Outline/Runtime/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6be9b4f584271394cb2119f347ca20ce +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Outline/Runtime/Shaders/Checker.png b/Assets/Outline/Runtime/Shaders/Checker.png new file mode 100644 index 0000000000000000000000000000000000000000..776a53561199fc79116dc1713e56e8344f987a42 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^Od!m`1|*BN@u~nR#^NA%Cx&(BWL^R}VxBIJAsjQ4 m6M*2y|NsB%ISw8;z`)>siv8zdM#qyt6%3xPelF{r5}E*-qZwlW literal 0 HcmV?d00001 diff --git a/Assets/Outline/Runtime/Shaders/Checker.png.meta b/Assets/Outline/Runtime/Shaders/Checker.png.meta new file mode 100644 index 0000000..5a3a03a --- /dev/null +++ b/Assets/Outline/Runtime/Shaders/Checker.png.meta @@ -0,0 +1,196 @@ +fileFormatVersion: 2 +guid: 41acea03acbaebe4a9dc26dd8264449e +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + externalObjects: {} + serializedVersion: 12 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 4 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + Square: 7482667652216324306 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Runtime/Shaders/Checker.png + uploadId: 678360 diff --git a/Assets/Outline/Runtime/Shaders/Main.shader b/Assets/Outline/Runtime/Shaders/Main.shader new file mode 100644 index 0000000..ea95aef --- /dev/null +++ b/Assets/Outline/Runtime/Shaders/Main.shader @@ -0,0 +1,184 @@ +Shader "Hidden/OutlineFx/Main" +{ + SubShader + { + Pass // 0 + { + name "Transparent" + + Cull Off + ZWrite Off + ZTest LEqual + Blend SrcAlpha OneMinusSrcAlpha + + HLSLPROGRAM + + #include "Utils.hlsl" + + #pragma vertex vert_mesh + #pragma fragment frag + + sampler2D _MainTex; + float4 _Color; + float _Alpha; + + // ======================================================================= + float4 frag(fragIn i) : SV_Target + { + if (tex2D(_MainTex, i.uv).a < _Alpha) + discard; + + return _Color; + } + ENDHLSL + } + + Pass // 1 + { + name "Outline" + + Cull Off + ZWrite Off + ZTest Off + Blend SrcAlpha OneMinusSrcAlpha + + HLSLPROGRAM + #include "Utils.hlsl" + + #pragma vertex vert_screen + #pragma fragment frag + + #pragma multi_compile_local BOX CROSS + #pragma multi_compile_local SOFT HARD + #pragma multi_compile_local _ ALPHA_MASK + + #define BLUR_LENGTH 9 + #define BLUR_LENGTH_HALF ((BLUR_LENGTH - 1) / 2) + static const float k_BlurWeights[BLUR_LENGTH] = + { + 0.046995 * 2, + 0.064759 * 2, + 0.120985 * 2, + 0.176033 * 2, + 0.199471 * 2, + 0.176033 * 2, + 0.120985 * 2, + 0.064759 * 2, + 0.046995 * 2, + }; + + sampler2D _MainTex; + sampler2D _AlphaTex; + float4 _AlphaTO; + float2 _Step; + float _Solid; + + // ======================================================================= + float4 _sample_soft(float2 uv, in const float2 step) + { + float4 result = 0; + uv -= BLUR_LENGTH_HALF * step; + + [unroll] + for (int n = 0; n < BLUR_LENGTH; n ++) + { + result += tex2D(_MainTex, uv) * k_BlurWeights[n]; + uv += step; + } + + return result; + } + + float4 _sample_hard(float2 uv, in const float2 step) + { + float4 result = 0; + + uv -= BLUR_LENGTH_HALF * step; + + [unroll] + for (int n = 0; n < BLUR_LENGTH; n ++) + { + float4 sample = tex2D(_MainTex, uv); + result = max(sample, result); + uv += step; + } + + return result; + } + + float4 _sample(const float2 uv, in const float2 step) + { +#ifdef SOFT + return _sample_soft(uv, step); +#endif +#ifdef HARD + return _sample_hard(uv, step); +#endif + } + + float4 frag(fragIn i) : SV_Target + { + float4 color = tex2D(_MainTex, i.uv); + if (color.a > .0) + { +#ifdef ALPHA_MASK + return float4(color.xyz, color.a * _Solid * tex2D(_AlphaTex, mad(i.uv, _AlphaTO.xy, _AlphaTO.zw)).a); +#endif + return float4(color.xyz, color.a * _Solid); + } + + float4 result = 0; + +#ifdef BOX + const float2 stepX = float2(_Step.x, 0); + const float2 stepY = float2(0, _Step.y); + float2 uv = i.uv - BLUR_LENGTH_HALF * stepX; + + [unroll] + for (int n = 0; n < BLUR_LENGTH; n ++) + { +#ifdef SOFT + result += _sample(uv, stepY) * k_BlurWeights[n]; +#endif +#ifdef HARD + result = max(result, _sample(uv, stepY)); +#endif + + uv += stepX; + } +#endif +#ifdef CROSS + result = (_sample(i.uv, _Step) + _sample(i.uv, float2(_Step.x, -_Step.y))) * .5f; +#endif + + return result; + } + ENDHLSL + } + + Pass // 2 + { + name "Overlay" + + Cull Off + ZWrite Off + ZTest Off + Blend SrcAlpha OneMinusSrcAlpha + + HLSLPROGRAM + #include "Utils.hlsl" + + #pragma vertex vert_screen + #pragma fragment frag + + sampler2D _MainTex; + + // ======================================================================= + float4 frag(fragIn i) : SV_Target + { + return tex2D(_MainTex, i.uv); + } + ENDHLSL + } + } +} \ No newline at end of file diff --git a/Assets/Outline/Runtime/Shaders/Main.shader.meta b/Assets/Outline/Runtime/Shaders/Main.shader.meta new file mode 100644 index 0000000..dd931ef --- /dev/null +++ b/Assets/Outline/Runtime/Shaders/Main.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 9a902e6d68fe8344890c5926c684e820 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Runtime/Shaders/Main.shader + uploadId: 678360 diff --git a/Assets/Outline/Runtime/Shaders/Utils.hlsl b/Assets/Outline/Runtime/Shaders/Utils.hlsl new file mode 100644 index 0000000..fb4459b --- /dev/null +++ b/Assets/Outline/Runtime/Shaders/Utils.hlsl @@ -0,0 +1,41 @@ +#ifndef OUTLINE_UTILS_INCLUDED +#define OUTLINE_UTILS_INCLUDED + +#include "UnityCG.cginc" + +struct vertIn +{ + float4 vertex : POSITION; + float2 uv : TEXCOORD0; +}; + +struct fragIn +{ + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; +}; + +fragIn vert_mesh(vertIn v) +{ + fragIn o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + + return o; +} + +fragIn vert_screen(vertIn v) +{ + fragIn o; + o.vertex = v.vertex; + o.uv = v.uv; + + return o; +} + +float random(in const float2 uv) +{ + return frac(sin(dot(uv, float2(12.9898, 78.233))) * 43758.5453123); +} + +#endif diff --git a/Assets/Outline/Runtime/Shaders/Utils.hlsl.meta b/Assets/Outline/Runtime/Shaders/Utils.hlsl.meta new file mode 100644 index 0000000..cdaa932 --- /dev/null +++ b/Assets/Outline/Runtime/Shaders/Utils.hlsl.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 0cda35a27fcc461bb5a4ed317f358de3 +ShaderIncludeImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Runtime/Shaders/Utils.hlsl + uploadId: 678360 diff --git a/Assets/Outline/Samples.meta b/Assets/Outline/Samples.meta new file mode 100644 index 0000000..50935d2 --- /dev/null +++ b/Assets/Outline/Samples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cb16a562405dc5d40bd31626f24027dd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Outline/Samples/Media.meta b/Assets/Outline/Samples/Media.meta new file mode 100644 index 0000000..369c75f --- /dev/null +++ b/Assets/Outline/Samples/Media.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b40f9589bc6576b4d945d28d6adefa58 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Outline/Samples/Media/Cat.anim b/Assets/Outline/Samples/Media/Cat.anim new file mode 100644 index 0000000..a9b3aeb --- /dev/null +++ b/Assets/Outline/Samples/Media/Cat.anim @@ -0,0 +1,93 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Cat + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - serializedVersion: 2 + curve: + - time: 0 + value: {fileID: -475568472, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.083333336 + value: {fileID: 1413511790, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.16666667 + value: {fileID: -2072969470, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.25 + value: {fileID: -528985555, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.33333334 + value: {fileID: -1901834471, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.41666666 + value: {fileID: -216749617, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.5 + value: {fileID: -126871508, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.5833333 + value: {fileID: 1673119960, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + flags: 2 + m_SampleRate: 12 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: + - {fileID: -475568472, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: 1413511790, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -2072969470, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -528985555, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -1901834471, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -216749617, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -126871508, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: 1673119960, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.6666666 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Outline/Samples/Media/Cat.anim.meta b/Assets/Outline/Samples/Media/Cat.anim.meta new file mode 100644 index 0000000..e429661 --- /dev/null +++ b/Assets/Outline/Samples/Media/Cat.anim.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 0afe78020b253344b9ba42360154b480 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Samples/Media/Cat.anim + uploadId: 678360 diff --git a/Assets/Outline/Samples/Media/Cat.png b/Assets/Outline/Samples/Media/Cat.png new file mode 100644 index 0000000000000000000000000000000000000000..8df1b5f767ebc2ea980739ca2d03d5680a43ded4 GIT binary patch literal 5208 zcmb_gdpMNq-hRhe4uy$Yg&Zn{ta6qdM-Cy8Ly_e$$dVRHhQ?t|EtbPd$e}4lawZ|k zIffJ>24RR0O*0ux4ihtD=KZGq{qbGiBGT>t<`+S^&X0surXg;Ju-yycZVLs2u z*l!trdFaPK{)xvz(#Zi%=bCS`siS=d%DFrp_A(ZCq6YN~oid)pLmHnnj0Zm)8E!PB z5gA&9GLm;LHX0$Z$yn-MV>7FN$tb>Xa=5k%)*JL*tka05N$834p|#c^2@Y8SdBgAw zbA`MT6+D;c@>048;h~&17zCxaYQDMk80U=Hj^K3QJafO4)}C zV?LmBU-lFk0(9P-irf`$UQlfA@Mr6HAMZJeW+fbjAw}}y&jg+x(TBI6h~1vjhZo|q zU{|f15<4cIRwC;8o@q_5_ZSEb8$R@|B^9*2O-jZ}h8325=kZUk6iUr=lUsj2t-ph@ zUGj2a?KvIf6*0TZ%ME@D9{!8==>w==zV+gE0{~Z*J0}Em)^!1ZL_7qL6@dcU5+Z<~ ztOU@hEeqiNwE>{p4*(MX=>WLGOU^A;{0U znT7k19LJ4#zLe$h%S&21M;}5nQaO$7)kAyis+mM9kX~VqxZYGF7XP9Fck~v9=9{S2j{c?&1@Mc~R{#X+X8>6Er^E7p2KLLM zHvrG`#r0Sn-&im^I^J@4Pj+llL#RB29?BUNoY5!}|MqI>izLdMNCSX$ND z4s3C+c%LgD9n*i@ulOypop0>p8{_Dz{nWo6B4KMmiOR3Kxmg)#(e@SJx-3{5l?a^- zLYg*T|7Hc9Y3;w1>{~rXv|w{JXbYf*A?G$zuy4$1vD)9_Og`=-kvpd=Qo`!xfV5|3 zxQ{c`(QpmG1sw=*&|ZljTdg8}2xiA7;d8a6T8iH|l))AfAMJh)eh~!fLX{w=w@`~A z(|OlZ-z0YVP>hU}YYPQ5sJf3EjvGNq*WCc}BrKGvFE^M0`7mBA#}9ZbPYC6p*qdaU z8#d3Bp&&@16TMym$*mIVG@=7#imIL+E2QC$NK2;cLBwuazlpDHZbbKwYzMHA`6w?+ z(iNG#Fs0uBAlx)S0#6bV{x_5P?@&{w2~~(*N`ncFx3H!SC1<6d;P4HhyF}!KjJWcU z{00+?FbvI?fruBklCXb&+d+>4IcI=HfLI*yoG6m>t4xl_p6(#%q?>6|WJl%{`Vs%M zhI*l5z@(@G@963{8{<{bci+?LP9_`EFrUEwgpgHHp zlx_!OcpdwSs`h5uizZ$+*Tt8jIW-K`w+%)kF);?`A17if`1#yv;os9=&0qe3#DSr5 za*R}s34ZR=Iikqe1nh8Yx2c#dE;%3zBH+^&O|b-ec@*Znb52-+5DXpO>lHg$6*TKJ zJ?qqM6udB)`kpWlZuG1MHfKL}2|tOBmHVm0ob!5#wv4tNrO{z^f5YNw4z;G)fHOqZ zd8|U81DQDfYyr59a>blh)mfW&5r{#rN)NCdV)6ehDu0K=|1L{eM`Z(H(OtxLB-`~5 z9&I&A>4T>+u{e;uWw*Lcx)VRg;G?9;J2R$2&EC1b9(d4Pl)u;%<(iJHLByiJyYCFm zH8!p3u??>(j%nij;(9QT;=m-O_D5|yR-@y~sOR8s_sB@9C_#Pn;!o6Pv1HcPpBqc_@7Hn0Lh7wh zB5L2|BWqHpeT2Fzjr8ndmKO8Uk<@|OiA$x>rF)1$DSDaU&^)3G*6#j#tq%To6AOjO z>N)Y_k@-lROibw_jOIC{toT}raK%NjI-314k{iMVFIIWoefNBzg-2xH5ih$AH8OgK z0kA4!QRY$E=l5rwWaNClGU64xB9jjeVO*Z<#GN6KnfP^IROjn_rvAHYFN6CTGoLkZ zFCee4Thz!o-}HYNEaQVas7X*|OHI9%G#KyK;yBoXsfyvx!KAH46u;|muXniFXld zk5aGi=nl|0yIvcvf(BHaDZjpXc3k8!e{O+s;{#-3P5wj4h*1nZ} zme3+4H2VD_H#2h?LRx_-Q-;S-5EAb$Y_kUE3qq zmScs&PmrtwOX+(K@73_ZeuU8avs<8#0*;V(-Rkr`sUkOx*jJDZ78~JPJ~`GLzUtRY zNK-?+doy6Pe(%A_arTp*da|SrGGFNJspe}f2>IwQZjYuS1H(ASqOZORVMoe5i-blF z4IWHK(};NqdS#{u##&I!j;+3XcemW(9&8_L)0h;aB(q2hTG>h$98|V56TSBaKOt+; zfR1ij7b9|lmydN1wcPlY{2=)Q6=z?{VjR9ID&dIz8nJ%~uQgr5n*FK#%b`nb7*e@2 zw|{U-Y(l|hFIfn;KCM7aA1BX3#$P7SLF$9!%Ki7AyT$kS>dz)Ixi_!n7IZMVzWkp* z3#_HWoZ%q(Gx%HqSJ?vohUsoq`=D2FskZh5HQk>jW-%B}LZjOG`;A};#&oXKCLgA7 z*Qqi+nSZQ#7z0_VuWj3_>%sPT6CWpZr&cGPxj0xl__n&P@=m>iKALyi=9IglLRREIPY`2S?M*!l7whu8FuoQZeb&^zd|qL<*VDruZL zPPn{0#_2v~okL=R3DIS{XlM_txHyZDE&VCvJFaZq_Uo4!(AF!U@0M~Wi{llkWZ_&c z)=*<}fHL#mfSF2#pLDb~@xXz~cj<0;6pgUn!DzM4V?FGU!0mo#OTyHaNeTo0Sst>Qr(mPCsCw%R>$T z6q012^R*DjztDamawIkfGh(4ee!|agI}2S%!)HIR^@pHe`3tH$%_|^Ueq}qs_mR_X z+l6N$^D|iE0w)^{xeF}KCwFL{&PXH`KqtG0w7JWRi6z)+#1T`8r+8{D>A=JGzZ)@%%%X1AN}H~D(D(__63k`Po%ttaL? z8Cz1K7TuCdyWfWJFheUDl)~O{8unB>_FHK=gE-yWC-$9OW`xhB%~Ke)A=A?(8(%5i zTb`+Q{Y$7<3>IppCi@eSpL|50?0iJ#Y0pu{qZmU`Z0l4w84%6yV5Ja&ql!vEjKgR}PY4&QW+51XVYHsQ!9AIeAnOVH~eN zj1q4>$cn2zu86o%P$FAy3Zp1qfUQ}n7UMi#5gnrNxr*9>*xX@-^T+qjoEw$4NE3f1 zCr~qHn_Jq`9Ol8av}$)M+210o*ry^sZbQdL-hWl<*_PDh^+OMG2SqaUV8gbC*FicQ zz3N?-VmLCEqGz0SV_Va!eBBocmG71grZ3*2pY`ldphi^9DkBMMdtHm6XKk`f4DIdAh4Um1MG9-8e_8&F z>9MbM^NWUeOb`^1`uvs%$pS)fXnh%j$vm$(A7bJcRwMv^;VYT<_Sp$rzmcsp?c%iH z@`;?Nw!X8hLBsh336HsGR`s@rzmNykn-XOM!&WBi0%prKIs;tFPD`ZH=TvWo>jhTlLBHmaqcOE(8DOjz8&y^mOA@dqD^>Q zVf$Bxl#3lMQzFcnw8SUd2z(rTpyJ+Ei^4Z7?&UHXCr($pTRxlDA;M$Mg3l#?Mbwvq z)sKY7Akr96gHUcSA2ZiAhGDjjh?-YlXZ=y-yi=4L&KqH literal 0 HcmV?d00001 diff --git a/Assets/Outline/Samples/Media/Cat.png.meta b/Assets/Outline/Samples/Media/Cat.png.meta new file mode 100644 index 0000000..dde1e9a --- /dev/null +++ b/Assets/Outline/Samples/Media/Cat.png.meta @@ -0,0 +1,1401 @@ +fileFormatVersion: 2 +guid: 900a9e6e6260cc84e8e280b5eb4ef35b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 0 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 16 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + 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: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: Cat_0 + rect: + serializedVersion: 2 + x: 0 + y: 288 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 6b405a2ce39816e48a92cc83eb789e4e + internalID: -1856009930 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_1 + rect: + serializedVersion: 2 + x: 32 + y: 288 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: f1b099827357bc5489e5400e64f5a274 + internalID: 1569468314 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_2 + rect: + serializedVersion: 2 + x: 64 + y: 288 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: b9a1ac8ac7183ba41bda5ee7a53b50d9 + internalID: 1186422308 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_3 + rect: + serializedVersion: 2 + x: 96 + y: 288 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 6a6bb04b20f59b14bb5f1b94d277e7b3 + internalID: 1983154614 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_4 + rect: + serializedVersion: 2 + x: 0 + y: 256 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: c13072955e48300439f1c0347c870123 + internalID: 1016943977 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_5 + rect: + serializedVersion: 2 + x: 32 + y: 256 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 7ca720b99efcea844aff7259189af6fd + internalID: 1724790039 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_6 + rect: + serializedVersion: 2 + x: 64 + y: 256 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 8c20acf2c41d81641b7f8fa11482baed + internalID: 54098592 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_7 + rect: + serializedVersion: 2 + x: 96 + y: 256 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 8dd79e3d3f0f6844ba73eb8059d5ffe2 + internalID: -1409216319 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_8 + rect: + serializedVersion: 2 + x: 0 + y: 224 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 7fd2f59a577affc4f97106fe6e2ce808 + internalID: -317030973 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_9 + rect: + serializedVersion: 2 + x: 32 + y: 224 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 996e2e28f78f8564aa75fc971b964368 + internalID: -1280361783 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_10 + rect: + serializedVersion: 2 + x: 64 + y: 224 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2f689c5c9202c8e4c8d2d790ccd330af + internalID: 2015265219 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_11 + rect: + serializedVersion: 2 + x: 96 + y: 224 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 8219f5ad344e25944934f569f43a43a1 + internalID: 865666256 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_12 + rect: + serializedVersion: 2 + x: 0 + y: 192 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 3f4873c17f24db843a07e6990d5c1469 + internalID: -1289090441 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_13 + rect: + serializedVersion: 2 + x: 32 + y: 192 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: b3410072767b28a4899e983864a7af58 + internalID: -383363482 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_14 + rect: + serializedVersion: 2 + x: 64 + y: 192 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 0c7ff0972b2fe5840936618d03e4af42 + internalID: -1640822110 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_15 + rect: + serializedVersion: 2 + x: 96 + y: 192 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 453d27e63bf28654bba0ce0b862f7919 + internalID: -79935080 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_16 + rect: + serializedVersion: 2 + x: 0 + y: 160 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 3f7784492661e3542b905121f024757f + internalID: -475568472 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_17 + rect: + serializedVersion: 2 + x: 32 + y: 160 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: afc1b0e1a56dc8f4bac3f2cd9e3b3ce6 + internalID: 1413511790 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_18 + rect: + serializedVersion: 2 + x: 64 + y: 160 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 9c9b68de7289d4e42a7ebc39a2c83779 + internalID: -2072969470 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_19 + rect: + serializedVersion: 2 + x: 96 + y: 160 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 274a5aa82a576074895365fadb3e4072 + internalID: -528985555 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_20 + rect: + serializedVersion: 2 + x: 128 + y: 160 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 6398978ad8911914b9adece9508515fd + internalID: -1901834471 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_21 + rect: + serializedVersion: 2 + x: 160 + y: 160 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2372473ad5e99ad4d99fefaa1be05531 + internalID: -216749617 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_22 + rect: + serializedVersion: 2 + x: 192 + y: 160 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: b61ba5a3df2472f45a23fe4efa735fb8 + internalID: -126871508 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_23 + rect: + serializedVersion: 2 + x: 224 + y: 160 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: bf470a17c91e17e48b668896b2694981 + internalID: 1673119960 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_24 + rect: + serializedVersion: 2 + x: 0 + y: 128 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 3885c49937752c846bc9c9fc58fffd37 + internalID: 321402575 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_25 + rect: + serializedVersion: 2 + x: 32 + y: 128 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: b49667a10e32d4747961132d7a32f1a1 + internalID: 133043907 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_26 + rect: + serializedVersion: 2 + x: 64 + y: 128 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: bdfe41e93ee11f04aafdbbe62311202d + internalID: 1781751452 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_27 + rect: + serializedVersion: 2 + x: 96 + y: 128 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 69fcf783a8d6b274aaedd33cf229185d + internalID: -1918716167 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_28 + rect: + serializedVersion: 2 + x: 128 + y: 128 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 39b3f3b96400efe46a8653d50eeba583 + internalID: -1770399361 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_29 + rect: + serializedVersion: 2 + x: 160 + y: 128 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 843ad74975fb1704c8ea14c98ff279d9 + internalID: 1422413451 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_30 + rect: + serializedVersion: 2 + x: 192 + y: 128 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 52b8538580c802d429d42c397f91b73f + internalID: 1460049132 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_31 + rect: + serializedVersion: 2 + x: 224 + y: 128 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: a332a37117463114d8ba4f73ea3948e0 + internalID: -960784372 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_32 + rect: + serializedVersion: 2 + x: 0 + y: 96 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: ec149039e01866a4f8158b75c655eaaf + internalID: 386146631 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_33 + rect: + serializedVersion: 2 + x: 32 + y: 96 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 856d93cd977749d4c9e111060175061b + internalID: -2136666803 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_34 + rect: + serializedVersion: 2 + x: 64 + y: 96 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: da650123348a9e146a72332a536b82c7 + internalID: 1234377697 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_35 + rect: + serializedVersion: 2 + x: 96 + y: 96 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: c39a7329fad286d4c83818ddf61c084f + internalID: 332665120 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_36 + rect: + serializedVersion: 2 + x: 0 + y: 64 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 85d8e3cea938a484b81f55b98fd6ba11 + internalID: -733948091 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_37 + rect: + serializedVersion: 2 + x: 32 + y: 64 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 44ded813f5d85ce4d9d668c2f63371ff + internalID: -1472727323 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_38 + rect: + serializedVersion: 2 + x: 64 + y: 64 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 30909e704e51f1b46b15f1f5ccc261ad + internalID: 1473260369 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_39 + rect: + serializedVersion: 2 + x: 96 + y: 64 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: fdb9f304a496dbd4c86c019a0339b1f1 + internalID: 1016332421 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_40 + rect: + serializedVersion: 2 + x: 128 + y: 64 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: db298e7454e38d648b58979524795dc2 + internalID: 193380934 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_41 + rect: + serializedVersion: 2 + x: 160 + y: 64 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: d750b51048333064b9f3f4d258f3d140 + internalID: -1110721857 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_42 + rect: + serializedVersion: 2 + x: 0 + y: 32 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 4c388cf7833f1d64280499cba09fc4fb + internalID: -845387700 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_43 + rect: + serializedVersion: 2 + x: 32 + y: 32 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 0f32cb309e8a52e449b460868316c321 + internalID: -131639451 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_44 + rect: + serializedVersion: 2 + x: 64 + y: 32 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: b4677219b9608ae4683a2ad60f8d7f44 + internalID: 1154019754 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_45 + rect: + serializedVersion: 2 + x: 96 + y: 32 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 51fd7985155cf8a4ea19e99e82ea830a + internalID: -1406662978 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_46 + rect: + serializedVersion: 2 + x: 128 + y: 32 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 09505f51d499c1949b3b828e2322a7f1 + internalID: -2035794062 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_47 + rect: + serializedVersion: 2 + x: 160 + y: 32 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 5e88feae2857c6e47b78596c2ee92f13 + internalID: 2141392978 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_48 + rect: + serializedVersion: 2 + x: 192 + y: 32 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 90fffeae367f85d43a0ad81029b030d5 + internalID: -616915445 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_49 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: a50d594d48cd2db4094aa9216069ac69 + internalID: -418040016 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_50 + rect: + serializedVersion: 2 + x: 32 + y: 0 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 56db1f60d8318f34eb0aad098d7d6c87 + internalID: -1604885438 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_51 + rect: + serializedVersion: 2 + x: 64 + y: 0 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 6ffb2634137a410438d01ee37a078227 + internalID: -111380313 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_52 + rect: + serializedVersion: 2 + x: 96 + y: 0 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: f32b295d2ddc6774aab85248238543e2 + internalID: -178933847 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_53 + rect: + serializedVersion: 2 + x: 128 + y: 0 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2ce36d1ba48e1964b8963ab50b3fe7fc + internalID: 1273157679 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_54 + rect: + serializedVersion: 2 + x: 160 + y: 0 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 40ff27ee04172ad4aa23728e798e8b3c + internalID: -1437866655 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_55 + rect: + serializedVersion: 2 + x: 192 + y: 0 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: defea033fdb690947a95d016adefd038 + internalID: -1621088257 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Cat_56 + rect: + serializedVersion: 2 + x: 224 + y: 0 + width: 32 + height: 32 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: a357fc8627b4840469c425f6b872d70e + internalID: 1994756757 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + Cat_0: -1856009930 + Cat_1: 1569468314 + Cat_10: 2015265219 + Cat_11: 865666256 + Cat_12: -1289090441 + Cat_13: -383363482 + Cat_14: -1640822110 + Cat_15: -79935080 + Cat_16: -475568472 + Cat_17: 1413511790 + Cat_18: -2072969470 + Cat_19: -528985555 + Cat_2: 1186422308 + Cat_20: -1901834471 + Cat_21: -216749617 + Cat_22: -126871508 + Cat_23: 1673119960 + Cat_24: 321402575 + Cat_25: 133043907 + Cat_26: 1781751452 + Cat_27: -1918716167 + Cat_28: -1770399361 + Cat_29: 1422413451 + Cat_3: 1983154614 + Cat_30: 1460049132 + Cat_31: -960784372 + Cat_32: 386146631 + Cat_33: -2136666803 + Cat_34: 1234377697 + Cat_35: 332665120 + Cat_36: -733948091 + Cat_37: -1472727323 + Cat_38: 1473260369 + Cat_39: 1016332421 + Cat_4: 1016943977 + Cat_40: 193380934 + Cat_41: -1110721857 + Cat_42: -845387700 + Cat_43: -131639451 + Cat_44: 1154019754 + Cat_45: -1406662978 + Cat_46: -2035794062 + Cat_47: 2141392978 + Cat_48: -616915445 + Cat_49: -418040016 + Cat_5: 1724790039 + Cat_50: -1604885438 + Cat_51: -111380313 + Cat_52: -178933847 + Cat_53: 1273157679 + Cat_54: -1437866655 + Cat_55: -1621088257 + Cat_56: 1994756757 + Cat_6: 54098592 + Cat_7: -1409216319 + Cat_8: -317030973 + Cat_9: -1280361783 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Samples/Media/Cat.png + uploadId: 678360 diff --git a/Assets/Outline/Samples/Media/Cat_Runner.controller b/Assets/Outline/Samples/Media/Cat_Runner.controller new file mode 100644 index 0000000..c3cc857 --- /dev/null +++ b/Assets/Outline/Samples/Media/Cat_Runner.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-6278617404640227802 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Cat + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 0afe78020b253344b9ba42360154b480, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Cat_Runner + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 8353364410599467548} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1107 &8353364410599467548 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -6278617404640227802} + m_Position: {x: 260, y: 110, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -6278617404640227802} diff --git a/Assets/Outline/Samples/Media/Cat_Runner.controller.meta b/Assets/Outline/Samples/Media/Cat_Runner.controller.meta new file mode 100644 index 0000000..38704cf --- /dev/null +++ b/Assets/Outline/Samples/Media/Cat_Runner.controller.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 03151cdf8dad67d4d85f579d9680b76b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Samples/Media/Cat_Runner.controller + uploadId: 678360 diff --git a/Assets/Outline/Samples/Media/Cat_Watcher.controller b/Assets/Outline/Samples/Media/Cat_Watcher.controller new file mode 100644 index 0000000..c88af7f --- /dev/null +++ b/Assets/Outline/Samples/Media/Cat_Watcher.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Cat_Watcher + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 3976029286537063673} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &3133060529661563886 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: licking + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: d6fc75b7cb4c648449261dfdabb36852, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &3976029286537063673 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 3133060529661563886} + m_Position: {x: 230, y: 60, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 3133060529661563886} diff --git a/Assets/Outline/Samples/Media/Cat_Watcher.controller.meta b/Assets/Outline/Samples/Media/Cat_Watcher.controller.meta new file mode 100644 index 0000000..9fd0067 --- /dev/null +++ b/Assets/Outline/Samples/Media/Cat_Watcher.controller.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 2b68ddf758995ea4c96ac35ed9ca5d98 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Samples/Media/Cat_Watcher.controller + uploadId: 678360 diff --git a/Assets/Outline/Samples/Media/licking.anim b/Assets/Outline/Samples/Media/licking.anim new file mode 100644 index 0000000..1b0657c --- /dev/null +++ b/Assets/Outline/Samples/Media/licking.anim @@ -0,0 +1,117 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: licking + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - serializedVersion: 2 + curve: + - time: 0 + value: {fileID: -1856009930, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.083333336 + value: {fileID: 1569468314, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.16666667 + value: {fileID: 1186422308, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.25 + value: {fileID: 1983154614, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.33333334 + value: {fileID: 1016943977, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.41666666 + value: {fileID: 1724790039, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.5 + value: {fileID: 54098592, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.5833333 + value: {fileID: -1409216319, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.6666667 + value: {fileID: -317030973, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.75 + value: {fileID: -1280361783, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.8333333 + value: {fileID: 2015265219, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 0.9166667 + value: {fileID: 865666256, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 1 + value: {fileID: -1289090441, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 1.0833334 + value: {fileID: -383363482, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 1.1666666 + value: {fileID: -1640822110, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - time: 1.25 + value: {fileID: -79935080, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + flags: 2 + m_SampleRate: 12 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: + - {fileID: -1856009930, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: 1569468314, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: 1186422308, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: 1983154614, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: 1016943977, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: 1724790039, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: 54098592, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -1409216319, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -317030973, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -1280361783, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: 2015265219, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: 865666256, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -1289090441, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -383363482, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -1640822110, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + - {fileID: -79935080, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1.3333334 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Outline/Samples/Media/licking.anim.meta b/Assets/Outline/Samples/Media/licking.anim.meta new file mode 100644 index 0000000..9018836 --- /dev/null +++ b/Assets/Outline/Samples/Media/licking.anim.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: d6fc75b7cb4c648449261dfdabb36852 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Samples/Media/licking.anim + uploadId: 678360 diff --git a/Assets/Outline/Samples/OutlineFx.unity b/Assets/Outline/Samples/OutlineFx.unity new file mode 100644 index 0000000..b96ae45 --- /dev/null +++ b/Assets/Outline/Samples/OutlineFx.unity @@ -0,0 +1,2549 @@ +%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: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 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, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + 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: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + 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: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + 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 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &16946438 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 16946439} + - component: {fileID: 16946441} + - component: {fileID: 16946440} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &16946439 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 16946438} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1279744871} + 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: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &16946440 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 16946438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &16946441 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 16946438} + m_CullTransparentMesh: 1 +--- !u!1 &266001077 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 266001079} + - component: {fileID: 266001078} + m_Layer: 5 + m_Name: Tip_B + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!223 &266001078 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 266001077} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &266001079 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 266001077} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01767909, y: 0.01767909, z: 0.01767909} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 696921451} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 2.52, y: 2.03} + m_SizeDelta: {x: 1009, y: 575} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &374836445 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 374836449} + - component: {fileID: 374836448} + - component: {fileID: 374836447} + - component: {fileID: 374836446} + m_Layer: 0 + m_Name: Cat_Watcher + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &374836446 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 374836445} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4218d78ef2d54d0898b7514e121a781f, type: 3} + m_Name: + m_EditorClassIdentifier: + _color: {r: 0, g: 0, b: 0, a: 1} +--- !u!95 &374836447 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 374836445} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 2b68ddf758995ea4c96ac35ed9ca5d98, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!212 &374836448 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 374836445} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -1856009930, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2, y: 2} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &374836449 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 374836445} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.06, y: 2.86, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &537650370 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 537650371} + - component: {fileID: 537650373} + - component: {fileID: 537650372} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &537650371 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 537650370} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 775710359} + 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: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &537650372 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 537650370} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &537650373 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 537650370} + m_CullTransparentMesh: 1 +--- !u!1 &563503121 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 563503122} + - component: {fileID: 563503124} + - component: {fileID: 563503123} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &563503122 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563503121} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1555284775} + 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: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &563503123 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563503121} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &563503124 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563503121} + m_CullTransparentMesh: 1 +--- !u!1 &600017492 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 600017497} + - component: {fileID: 600017496} + - component: {fileID: 600017495} + - component: {fileID: 600017494} + m_Layer: 0 + m_Name: Cam + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &600017494 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 600017492} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 1 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + quality: 3 + frameInfluence: 0.1 + jitterScale: 1 + mipBias: 0 + varianceClampScale: 0.9 + contrastAdaptiveSharpening: 0 +--- !u!81 &600017495 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 600017492} + m_Enabled: 1 +--- !u!20 &600017496 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 600017492} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 1, g: 1, b: 1, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 0 + m_HDR: 1 + m_AllowMSAA: 0 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &600017497 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 600017492} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3.31, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &606778892 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 606778893} + - component: {fileID: 606778895} + - component: {fileID: 606778894} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &606778893 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 606778892} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.1945, y: 1.1945, z: 1.1945} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1537797259} + 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: 0, y: -6.7299805} + m_SizeDelta: {x: 280.45, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &606778894 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 606778892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Control outline parameters at runtime +--- !u!222 &606778895 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 606778892} + m_CullTransparentMesh: 1 +--- !u!1 &696921450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 696921451} + - component: {fileID: 696921453} + - component: {fileID: 696921452} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &696921451 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 696921450} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 266001079} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 13.4} + m_SizeDelta: {x: 300, y: 300} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &696921452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 696921450} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'use OutlineBlocker + + to uverlap a geometry' +--- !u!222 &696921453 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 696921450} + m_CullTransparentMesh: 1 +--- !u!1 &729500715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 729500716} + - component: {fileID: 729500718} + - component: {fileID: 729500717} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &729500716 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 729500715} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 968262518} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 13.4} + m_SizeDelta: {x: 300, y: 300} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &729500717 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 729500715} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'use OutlineFx + + to outline objects' +--- !u!222 &729500718 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 729500715} + m_CullTransparentMesh: 1 +--- !u!1 &775710358 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 775710359} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &775710359 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 775710358} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 537650371} + m_Father: {fileID: 2127578091} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &797506278 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 797506279} + - component: {fileID: 797506280} + m_Layer: 5 + m_Name: Solid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &797506279 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 797506278} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1507989208} + - {fileID: 1289556208} + - {fileID: 1279744871} + m_Father: {fileID: 1537797259} + 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: 0, y: -56.4} + m_SizeDelta: {x: 160, y: 20} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &797506280 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 797506278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, 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.28235295, g: 0.28235295, b: 0.28235295, 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: 16946440} + m_FillRect: {fileID: 820959756} + m_HandleRect: {fileID: 16946439} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: -5037661925718295535, guid: 802a5f71fb0aca846b4f3768a143d477, type: 2} + m_TargetAssemblyTypeName: OutlineFx.OutlineFxFeature, OutlineFx + m_MethodName: set_Solid + m_Mode: 0 + 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!1 &820959755 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 820959756} + - component: {fileID: 820959758} + - component: {fileID: 820959757} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &820959756 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 820959755} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1289556208} + 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: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &820959757 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 820959755} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &820959758 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 820959755} + m_CullTransparentMesh: 1 +--- !u!1 &968262516 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 968262518} + - component: {fileID: 968262517} + m_Layer: 5 + m_Name: Tip_A + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!223 &968262517 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 968262516} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &968262518 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 968262516} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.021946609, y: 0.021946609, z: 0.021946609} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 729500716} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -2.13, y: 3.11} + m_SizeDelta: {x: 1009, y: 575} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1018695080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1018695081} + - component: {fileID: 1018695083} + - component: {fileID: 1018695082} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1018695081 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1018695080} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2127578091} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1018695082 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1018695080} + 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.3301887, g: 0.3301887, b: 0.3301887, 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: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 14 +--- !u!222 &1018695083 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1018695080} + m_CullTransparentMesh: 1 +--- !u!1 &1036419066 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1036419067} + - component: {fileID: 1036419068} + m_Layer: 5 + m_Name: Mask + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1036419067 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1036419066} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1501870107} + m_Father: {fileID: 1537797259} + 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: 0, y: -86} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1036419068 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1036419066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1501870108} + toggleTransition: 1 + graphic: {fileID: 1680031596} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: -5037661925718295535, guid: 802a5f71fb0aca846b4f3768a143d477, type: 2} + m_TargetAssemblyTypeName: OutlineFx.OutlineFxFeature, OutlineFx + m_MethodName: set_Mask + m_Mode: 0 + 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 + m_IsOn: 1 +--- !u!1 &1061293135 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1061293136} + - component: {fileID: 1061293137} + m_Layer: 0 + m_Name: Bg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1061293136 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1061293135} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.000000059605, y: 3.5, z: 0} + m_LocalScale: {x: 34.55, y: 34.55, z: 34.55} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 1182399935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1061293137 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1061293135} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -89 + m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1095111594 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1095111595} + - component: {fileID: 1095111597} + - component: {fileID: 1095111596} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1095111595 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1095111594} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 1537797259} + 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: 16.099976} + m_SizeDelta: {x: 500, y: 300} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &1095111596 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1095111594} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 17 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 7 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Do not forget to add OutlineFxFreature to UrpRenderer + + (it can be + overrider by quality options)' +--- !u!222 &1095111597 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1095111594} + m_CullTransparentMesh: 1 +--- !u!1 &1115857144 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1115857147} + - component: {fileID: 1115857146} + - component: {fileID: 1115857145} + m_Layer: 0 + m_Name: Obstacle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1115857145 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115857144} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe0edcb63acb478aadea1918b40e26b3, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!212 &1115857146 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115857144} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 70 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3} + m_Color: {r: 0.078431375, g: 0.078431375, b: 0.078431375, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1115857147 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115857144} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.59929, y: 4.0694, z: 0} + m_LocalScale: {x: 1.1261, y: 2.2988, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1182399935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1182399934 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1182399935} + m_Layer: 0 + m_Name: World + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1182399935 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1182399934} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.01381, y: -1.05, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1746338021} + - {fileID: 1115857147} + - {fileID: 1061293136} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1201166813 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1201166817} + - component: {fileID: 1201166816} + - component: {fileID: 1201166815} + - component: {fileID: 1201166814} + m_Layer: 0 + m_Name: Cat_Runner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1201166814 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1201166813} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4218d78ef2d54d0898b7514e121a781f, type: 3} + m_Name: + m_EditorClassIdentifier: + _color: {r: 1, g: 0.2028302, b: 0.3432101, a: 1} +--- !u!95 &1201166815 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1201166813} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 03151cdf8dad67d4d85f579d9680b76b, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!212 &1201166816 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1201166813} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -475568472, guid: 900a9e6e6260cc84e8e280b5eb4ef35b, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2, y: 2} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1201166817 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1201166813} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.86, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1279744870 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1279744871} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1279744871 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1279744870} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 16946439} + m_Father: {fileID: 797506279} + 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: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1289556207 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1289556208} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1289556208 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1289556207} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 820959756} + m_Father: {fileID: 797506279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1501870106 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1501870107} + - component: {fileID: 1501870109} + - component: {fileID: 1501870108} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1501870107 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1501870106} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1680031595} + m_Father: {fileID: 1036419067} + 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 &1501870108 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1501870106} + 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.3018868, g: 0.3018868, b: 0.3018868, 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: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, 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 &1501870109 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1501870106} + m_CullTransparentMesh: 1 +--- !u!1 &1507989207 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1507989208} + - component: {fileID: 1507989210} + - component: {fileID: 1507989209} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1507989208 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507989207} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 797506279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1507989209 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507989207} + 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.3301887, g: 0.3301887, b: 0.3301887, 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: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 14 +--- !u!222 &1507989210 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507989207} + m_CullTransparentMesh: 1 +--- !u!1 &1537797255 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1537797259} + - component: {fileID: 1537797258} + - component: {fileID: 1537797257} + - component: {fileID: 1537797256} + m_Layer: 5 + m_Name: Ui + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1537797256 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537797255} + 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 &1537797257 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537797255} + 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: 1280, y: 720} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1537797258 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537797255} + 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_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1537797259 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537797255} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 797506279} + - {fileID: 2127578091} + - {fileID: 1036419067} + - {fileID: 606778893} + - {fileID: 1768965025} + - {fileID: 1095111595} + m_Father: {fileID: 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 &1555284774 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1555284775} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1555284775 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1555284774} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 563503122} + m_Father: {fileID: 2127578091} + 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: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1680031594 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1680031595} + - component: {fileID: 1680031597} + - component: {fileID: 1680031596} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1680031595 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680031594} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1501870107} + 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: -6, y: -6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1680031596 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680031594} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, 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 &1680031597 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680031594} + m_CullTransparentMesh: 1 +--- !u!1 &1746338020 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1746338021} + - component: {fileID: 1746338023} + - component: {fileID: 1746338024} + m_Layer: 0 + m_Name: Floor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1746338021 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1746338020} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.01381, y: 2.86, z: 0} + m_LocalScale: {x: -7.1, y: 0.14010328, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1182399935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1746338023 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1746338020} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3} + m_Color: {r: 0.078431375, g: 0.078431375, b: 0.078431375, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &1746338024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1746338020} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe0edcb63acb478aadea1918b40e26b3, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1768965022 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1768965025} + - component: {fileID: 1768965024} + - component: {fileID: 1768965023} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1768965023 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768965022} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1768965024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768965022} + 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 &1768965025 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768965022} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -640, y: -350.1288, z: 0} + m_LocalScale: {x: 1.2685827, y: 1.2685827, z: 1.2685827} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1537797259} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2048645641 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2048645643} + - component: {fileID: 2048645642} + m_Layer: 5 + m_Name: Tip_C + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!223 &2048645642 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2048645641} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &2048645643 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2048645641} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01767909, y: 0.01767909, z: 0.01767909} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -5.36, y: 6.56} + m_SizeDelta: {x: 1009, y: 575} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2127578090 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2127578091} + - component: {fileID: 2127578092} + m_Layer: 5 + m_Name: Thickness + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2127578091 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2127578090} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1018695081} + - {fileID: 775710359} + - {fileID: 1555284775} + m_Father: {fileID: 1537797259} + 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: 0, y: -33.630005} + m_SizeDelta: {x: 160, y: 20} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &2127578092 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2127578090} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, 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.2830189, g: 0.2830189, b: 0.2830189, 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: 563503123} + m_FillRect: {fileID: 537650371} + m_HandleRect: {fileID: 563503122} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0.14 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: -5037661925718295535, guid: 802a5f71fb0aca846b4f3768a143d477, type: 2} + m_TargetAssemblyTypeName: OutlineFx.OutlineFxFeature, OutlineFx + m_MethodName: set_Thickness + m_Mode: 0 + 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!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 600017497} + - {fileID: 374836449} + - {fileID: 1201166817} + - {fileID: 1182399935} + - {fileID: 1537797259} + - {fileID: 968262518} + - {fileID: 266001079} + - {fileID: 2048645643} diff --git a/Assets/Outline/Samples/OutlineFx.unity.meta b/Assets/Outline/Samples/OutlineFx.unity.meta new file mode 100644 index 0000000..74db2b8 --- /dev/null +++ b/Assets/Outline/Samples/OutlineFx.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: e9cb10643123927438b62cce54bd0ee2 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Samples/OutlineFx.unity + uploadId: 678360 diff --git a/Assets/Outline/Samples/Urp.meta b/Assets/Outline/Samples/Urp.meta new file mode 100644 index 0000000..3c146bc --- /dev/null +++ b/Assets/Outline/Samples/Urp.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eee323dd5b9817840b7b2d5282546521 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Outline/Samples/Urp/UrpOutline.asset b/Assets/Outline/Samples/Urp/UrpOutline.asset new file mode 100644 index 0000000..62dcac5 --- /dev/null +++ b/Assets/Outline/Samples/Urp/UrpOutline.asset @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: bf2edee5c58d82540a51f03df9d42094, type: 3} + m_Name: UrpOutline + m_EditorClassIdentifier: + k_AssetVersion: 12 + k_AssetPreviousVersion: 12 + m_RendererType: 1 + m_RendererData: {fileID: 0} + m_RendererDataList: + - {fileID: 11400000, guid: 802a5f71fb0aca846b4f3768a143d477, type: 2} + m_DefaultRendererIndex: 0 + m_RequireDepthTexture: 0 + m_RequireOpaqueTexture: 0 + m_OpaqueDownsampling: 1 + m_SupportsTerrainHoles: 1 + m_SupportsHDR: 1 + m_HDRColorBufferPrecision: 0 + m_MSAA: 1 + m_RenderScale: 1 + m_UpscalingFilter: 0 + m_FsrOverrideSharpness: 0 + m_FsrSharpness: 0.92 + m_EnableLODCrossFade: 1 + m_LODCrossFadeDitheringType: 1 + m_ShEvalMode: 0 + m_LightProbeSystem: 0 + m_ProbeVolumeMemoryBudget: 1024 + m_ProbeVolumeBlendingMemoryBudget: 256 + m_SupportProbeVolumeGPUStreaming: 0 + m_SupportProbeVolumeDiskStreaming: 0 + m_SupportProbeVolumeScenarios: 0 + m_SupportProbeVolumeScenarioBlending: 0 + m_ProbeVolumeSHBands: 1 + m_MainLightRenderingMode: 1 + m_MainLightShadowsSupported: 1 + m_MainLightShadowmapResolution: 2048 + m_AdditionalLightsRenderingMode: 1 + m_AdditionalLightsPerObjectLimit: 4 + m_AdditionalLightShadowsSupported: 0 + m_AdditionalLightsShadowmapResolution: 2048 + m_AdditionalLightsShadowResolutionTierLow: 256 + m_AdditionalLightsShadowResolutionTierMedium: 512 + m_AdditionalLightsShadowResolutionTierHigh: 1024 + m_ReflectionProbeBlending: 0 + m_ReflectionProbeBoxProjection: 0 + m_ShadowDistance: 50 + m_ShadowCascadeCount: 1 + m_Cascade2Split: 0.25 + m_Cascade3Split: {x: 0.1, y: 0.3} + m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} + m_CascadeBorder: 0.2 + m_ShadowDepthBias: 1 + m_ShadowNormalBias: 1 + m_AnyShadowsSupported: 1 + m_SoftShadowsSupported: 0 + m_ConservativeEnclosingSphere: 1 + m_NumIterationsEnclosingSphere: 64 + m_SoftShadowQuality: 2 + m_AdditionalLightsCookieResolution: 2048 + m_AdditionalLightsCookieFormat: 3 + m_UseSRPBatcher: 1 + m_SupportsDynamicBatching: 0 + m_MixedLightingSupported: 1 + m_SupportsLightCookies: 1 + m_SupportsLightLayers: 0 + m_DebugLevel: 0 + m_StoreActionsOptimization: 0 + m_UseAdaptivePerformance: 1 + m_ColorGradingMode: 0 + m_ColorGradingLutSize: 32 + m_AllowPostProcessAlphaOutput: 0 + m_UseFastSRGBLinearConversion: 0 + m_SupportDataDrivenLensFlare: 1 + m_SupportScreenSpaceLensFlare: 1 + m_GPUResidentDrawerMode: 0 + m_SmallMeshScreenPercentage: 0 + m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0 + m_ShadowType: 1 + m_LocalShadowsSupported: 0 + m_LocalShadowsAtlasResolution: 256 + m_MaxPixelLights: 0 + m_ShadowAtlasResolution: 256 + m_VolumeFrameworkUpdateMode: 0 + m_VolumeProfile: {fileID: 0} + apvScenesData: + obsoleteSceneBounds: + m_Keys: [] + m_Values: [] + obsoleteHasProbeVolumes: + m_Keys: [] + m_Values: + m_PrefilteringModeMainLightShadows: 1 + m_PrefilteringModeAdditionalLight: 4 + m_PrefilteringModeAdditionalLightShadows: 1 + m_PrefilterXRKeywords: 0 + m_PrefilteringModeForwardPlus: 1 + m_PrefilteringModeDeferredRendering: 1 + m_PrefilteringModeScreenSpaceOcclusion: 1 + m_PrefilterDebugKeywords: 0 + m_PrefilterWriteRenderingLayers: 0 + m_PrefilterHDROutput: 0 + m_PrefilterAlphaOutput: 0 + m_PrefilterSSAODepthNormals: 0 + m_PrefilterSSAOSourceDepthLow: 0 + m_PrefilterSSAOSourceDepthMedium: 0 + m_PrefilterSSAOSourceDepthHigh: 0 + m_PrefilterSSAOInterleaved: 0 + m_PrefilterSSAOBlueNoise: 0 + m_PrefilterSSAOSampleCountLow: 0 + m_PrefilterSSAOSampleCountMedium: 0 + m_PrefilterSSAOSampleCountHigh: 0 + m_PrefilterDBufferMRT1: 0 + m_PrefilterDBufferMRT2: 0 + m_PrefilterDBufferMRT3: 0 + m_PrefilterSoftShadowsQualityLow: 0 + m_PrefilterSoftShadowsQualityMedium: 0 + m_PrefilterSoftShadowsQualityHigh: 0 + m_PrefilterSoftShadows: 0 + m_PrefilterScreenCoord: 0 + m_PrefilterNativeRenderPass: 0 + m_PrefilterUseLegacyLightmaps: 0 + m_ShaderVariantLogLevel: 0 + m_ShadowCascades: 0 + m_Textures: + blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} diff --git a/Assets/Outline/Samples/Urp/UrpOutline.asset.meta b/Assets/Outline/Samples/Urp/UrpOutline.asset.meta new file mode 100644 index 0000000..1a45169 --- /dev/null +++ b/Assets/Outline/Samples/Urp/UrpOutline.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: cf2dc93a238bcc745a7352dccd8bb1d0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Samples/Urp/UrpOutline.asset + uploadId: 678360 diff --git a/Assets/Outline/Samples/Urp/UrpOutline_Renderer.asset b/Assets/Outline/Samples/Urp/UrpOutline_Renderer.asset new file mode 100644 index 0000000..a59d4e5 --- /dev/null +++ b/Assets/Outline/Samples/Urp/UrpOutline_Renderer.asset @@ -0,0 +1,83 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5037661925718295535 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 177ddeadd26a80641ad757c51fb7f5d1, type: 3} + m_Name: OutlineFx + m_EditorClassIdentifier: + m_Active: 1 + _event: 600 + _solid: 0 + _thickness: 0.23439527 + _alphaCutout: 0.5 + _mode: 0 + _filter: 1 + _attachDepth: 1 + _output: + enabled: 0 + value: _globalTex + _solidMask: + _enabled: 1 + _pattern: {fileID: 2800000, guid: 41acea03acbaebe4a9dc26dd8264449e, type: 3} + _scale: 50 + _velocity: {x: 0, y: -50} + _shader: {fileID: 4800000, guid: 9a902e6d68fe8344890c5926c684e820, type: 3} +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} + m_Name: UrpOutline_Renderer + m_EditorClassIdentifier: + debugShaders: + debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3} + hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3} + probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, type: 3} + probeVolumeResources: + probeVolumeDebugShader: {fileID: 0} + probeVolumeFragmentationDebugShader: {fileID: 0} + probeVolumeOffsetDebugShader: {fileID: 0} + probeVolumeSamplingDebugShader: {fileID: 0} + probeSamplingDebugMesh: {fileID: 0} + probeSamplingDebugTexture: {fileID: 0} + probeVolumeBlendStatesCS: {fileID: 0} + m_RendererFeatures: + - {fileID: -5037661925718295535} + m_RendererFeatureMap: 11fc0c532ba116ba + m_UseNativeRenderPass: 0 + xrSystemData: {fileID: 0} + postProcessData: {fileID: 0} + m_AssetVersion: 2 + m_OpaqueLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_TransparentLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_DefaultStencilState: + overrideStencilState: 0 + stencilReference: 0 + stencilCompareFunction: 8 + passOperation: 2 + failOperation: 0 + zFailOperation: 0 + m_ShadowTransparentReceive: 1 + m_RenderingMode: 0 + m_DepthPrimingMode: 0 + m_CopyDepthMode: 1 + m_DepthAttachmentFormat: 0 + m_DepthTextureFormat: 0 + m_AccurateGbufferNormals: 0 + m_IntermediateTextureMode: 1 diff --git a/Assets/Outline/Samples/Urp/UrpOutline_Renderer.asset.meta b/Assets/Outline/Samples/Urp/UrpOutline_Renderer.asset.meta new file mode 100644 index 0000000..572ccc2 --- /dev/null +++ b/Assets/Outline/Samples/Urp/UrpOutline_Renderer.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 802a5f71fb0aca846b4f3768a143d477 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/Samples/Urp/UrpOutline_Renderer.asset + uploadId: 678360 diff --git a/Assets/Outline/package.json b/Assets/Outline/package.json new file mode 100644 index 0000000..fc7d513 --- /dev/null +++ b/Assets/Outline/package.json @@ -0,0 +1,25 @@ +{ + "name": "www.nulltale.outlinefx", + "displayName": "OutlineFx", + "version": "1.1.0", + "unity": "2021.3", + "description": "Simplified Outline for Unity Urp", + "documentationUrl": "https://github.com/NullTale/OutlineFx", + "licensesUrl": "https://github.com/NullTale/OutlineFx/blob/master/LICENSE.md", + "author": { + "name": "NullTale", + "email": "nulltale@gmail.com", + "url": "https://github.com/NullTale" + }, + "dependencies": { + "com.unity.render-pipelines.universal": "12.1.11" + }, + "hideInEditor": false, + "samples": [ + { + "displayName": "Samples", + "description": "Contains sample scene", + "path": "Samples~/" + } + ] +} diff --git a/Assets/Outline/package.json.meta b/Assets/Outline/package.json.meta new file mode 100644 index 0000000..81f110c --- /dev/null +++ b/Assets/Outline/package.json.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 9f654c428279ba14dab567269d85e523 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 290431 + packageName: Outline 2D/3D + packageVersion: 1.0 + assetPath: Assets/Outline/package.json + uploadId: 678360 diff --git a/Assets/Prefabs.meta b/Assets/Prefabs.meta new file mode 100644 index 0000000..817bb4b --- /dev/null +++ b/Assets/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 47ff9b415587f9945b1ad9392aa80aed +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/SceneBasics.prefab b/Assets/Prefabs/SceneBasics.prefab new file mode 100644 index 0000000..15da66f --- /dev/null +++ b/Assets/Prefabs/SceneBasics.prefab @@ -0,0 +1,231 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1766368079009719264 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7398008089674865407} + - component: {fileID: 5024544253886699156} + - component: {fileID: 988939861583693434} + - component: {fileID: 1324563941467061773} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7398008089674865407 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766368079009719264} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -500} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6534699924056499542} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &5024544253886699156 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766368079009719264} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 1, g: 1, b: 1, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 50 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + 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!81 &988939861583693434 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766368079009719264} + m_Enabled: 1 +--- !u!114 &1324563941467061773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766368079009719264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 56666c5a40171f54783dd416a44f42bf, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EventMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_MaxRayIntersections: 0 +--- !u!1 &1841087141622184032 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6534699924056499542} + m_Layer: 0 + m_Name: SceneBasics + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6534699924056499542 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1841087141622184032} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7398008089674865407} + - {fileID: 750704102962528561} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5461865636035163790 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 750704102962528561} + - component: {fileID: 6118252053065929798} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &750704102962528561 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5461865636035163790} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.04, z: 100} + m_LocalScale: {x: 200, y: 100, z: 100} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6534699924056499542} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &6118252053065929798 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5461865636035163790} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefabs/SceneBasics.prefab.meta b/Assets/Prefabs/SceneBasics.prefab.meta new file mode 100644 index 0000000..7bd8d6d --- /dev/null +++ b/Assets/Prefabs/SceneBasics.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6288754d3f1f19e4aac4dbf1b5033c50 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes.meta b/Assets/Scenes.meta new file mode 100644 index 0000000..7fe8e10 --- /dev/null +++ b/Assets/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 131a6b21c8605f84396be9f6751fb6e3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/MainScene.unity b/Assets/Scenes/MainScene.unity new file mode 100644 index 0000000..c55947e --- /dev/null +++ b/Assets/Scenes/MainScene.unity @@ -0,0 +1,853 @@ +%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: 10 + 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: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 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_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + 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_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: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + 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 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &607033216 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1766368079009719264, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + m_PrefabInstance: {fileID: 2839863372261682904} + m_PrefabAsset: {fileID: 0} +--- !u!114 &607033221 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607033216} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 1 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!1001 &635476290 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 680791503} + m_Modifications: + - target: {fileID: 1841087141622184032, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_Name + value: SceneBasics + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 1766368079009719264, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + insertIndex: -1 + addedObject: {fileID: 635476293} + - targetCorrespondingSourceObject: {fileID: 1766368079009719264, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + insertIndex: -1 + addedObject: {fileID: 635476294} + m_SourcePrefab: {fileID: 100100000, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} +--- !u!4 &635476291 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + m_PrefabInstance: {fileID: 635476290} + m_PrefabAsset: {fileID: 0} +--- !u!1 &635476292 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1766368079009719264, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + m_PrefabInstance: {fileID: 635476290} + m_PrefabAsset: {fileID: 0} +--- !u!111 &635476293 +Animation: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635476292} + m_Enabled: 1 + serializedVersion: 4 + m_Animation: {fileID: 7400000, guid: 676c34ca294cc09428338901e212f3c3, type: 2} + m_Animations: + - {fileID: 7400000, guid: 676c34ca294cc09428338901e212f3c3, type: 2} + m_WrapMode: 0 + m_PlayAutomatically: 0 + m_AnimatePhysics: 0 + m_UpdateMode: 0 + m_CullingType: 0 +--- !u!114 &635476294 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635476292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c8f8855156991894983a624be3c44582, type: 3} + m_Name: + m_EditorClassIdentifier: + _animation: {fileID: 635476293} +--- !u!1 &680791502 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 680791503} + m_Layer: 0 + m_Name: 2-3-ChipInHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &680791503 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 680791502} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 635476291} + - {fileID: 1252317701} + - {fileID: 1743166475} + m_Father: {fileID: 1037840390} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &695263387 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 695263388} + - component: {fileID: 695263390} + - component: {fileID: 695263389} + - component: {fileID: 695263391} + - component: {fileID: 695263392} + - component: {fileID: 695263393} + m_Layer: 0 + m_Name: Start Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &695263388 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 695263387} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -34, z: 0} + m_LocalScale: {x: 45.177975, y: 9.332229, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1391342912} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &695263389 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 695263387} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e085a6bafb27f9f4abf848fdc2f073b3, type: 3} + m_Name: + m_EditorClassIdentifier: + _scene: + index: 1 + _triggerOnClick: 1 +--- !u!212 &695263390 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 695263387} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3} + m_Color: {r: 0.7924528, g: 0.22054112, b: 0.22054112, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!61 &695263391 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 695263387} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1, y: 1} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!114 &695263392 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 695263387} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4218d78ef2d54d0898b7514e121a781f, type: 3} + m_Name: + m_EditorClassIdentifier: + _color: {r: 0.063926935, g: 1, b: 0, a: 1} +--- !u!114 &695263393 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 695263387} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e545d598a5d16f4e8b9a70fedc8b7a3, type: 3} + m_Name: + m_EditorClassIdentifier: + _onClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1037840389 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1037840390} + - component: {fileID: 1037840391} + m_Layer: 0 + m_Name: Scenes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1037840390 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1037840389} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1391342912} + - {fileID: 680791503} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1037840391 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1037840389} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 866969868d65b5c47b6cbdfab4b4cbe3, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1252317700 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1252317701} + - component: {fileID: 1252317702} + m_Layer: 0 + m_Name: Timeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1252317701 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1252317700} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 680791503} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1252317702 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1252317700} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c66546d6c537064f9b7de80bc4ef5cb, type: 3} + m_Name: + m_EditorClassIdentifier: + _events: + - waitSeconds: 2 + unityEvent: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 635476294} + m_TargetAssemblyTypeName: AnimationStarter, Assembly-CSharp + m_MethodName: Play + 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!1 &1391342911 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1391342912} + m_Layer: 0 + m_Name: 1-MainMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1391342912 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1391342911} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2839863372261682905} + - {fileID: 695263388} + m_Father: {fileID: 1037840390} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1743166474 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1743166475} + - component: {fileID: 1743166476} + m_Layer: 0 + m_Name: Chip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1743166475 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743166474} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.6, y: -11.6, z: 0} + m_LocalScale: {x: 14.7368, y: 22.9308, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 680791503} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1743166476 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743166474} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3} + m_Color: {r: 0.8679245, g: 0.09416164, b: 0.09416164, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1976724022 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1976724025} + - component: {fileID: 1976724024} + - component: {fileID: 1976724023} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1976724023 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1976724022} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1976724024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1976724022} + 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 &1976724025 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1976724022} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &2839863372261682904 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1391342912} + m_Modifications: + - target: {fileID: 1841087141622184032, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_Name + value: SceneBasics + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 1766368079009719264, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + insertIndex: -1 + addedObject: {fileID: 607033221} + m_SourcePrefab: {fileID: 100100000, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} +--- !u!4 &2839863372261682905 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6534699924056499542, guid: 6288754d3f1f19e4aac4dbf1b5033c50, type: 3} + m_PrefabInstance: {fileID: 2839863372261682904} + m_PrefabAsset: {fileID: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1037840390} + - {fileID: 1976724025} diff --git a/Assets/Scenes/MainScene.unity.meta b/Assets/Scenes/MainScene.unity.meta new file mode 100644 index 0000000..c1e3c88 --- /dev/null +++ b/Assets/Scenes/MainScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2cda990e2423bbf4892e6590ba056729 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta new file mode 100644 index 0000000..7dd7623 --- /dev/null +++ b/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 823253492882dee4abd304e4fa62f84f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/AnimationStarter.cs b/Assets/Scripts/AnimationStarter.cs new file mode 100644 index 0000000..9825dc2 --- /dev/null +++ b/Assets/Scripts/AnimationStarter.cs @@ -0,0 +1,21 @@ +using System; +using UnityEngine; + +public class AnimationStarter : MonoBehaviour +{ + [SerializeField] + private Animation _animation; + + private void OnValidate() + { + if (!_animation && TryGetComponent(out var animation)) + { + _animation = animation; + } + } + + public void Play() + { + _animation.Play(); + } +} diff --git a/Assets/Scripts/AnimationStarter.cs.meta b/Assets/Scripts/AnimationStarter.cs.meta new file mode 100644 index 0000000..849e3d8 --- /dev/null +++ b/Assets/Scripts/AnimationStarter.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c8f8855156991894983a624be3c44582 \ No newline at end of file diff --git a/Assets/Scripts/Editor.meta b/Assets/Scripts/Editor.meta new file mode 100644 index 0000000..acec86a --- /dev/null +++ b/Assets/Scripts/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ae7a7820fc46a784b957efb51b8d7a83 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Editor/RiderUtil.cs b/Assets/Scripts/Editor/RiderUtil.cs new file mode 100644 index 0000000..b37a84d --- /dev/null +++ b/Assets/Scripts/Editor/RiderUtil.cs @@ -0,0 +1,26 @@ +using JetBrains.Annotations; + +// ReSharper disable once CheckNamespace +namespace EasySharp.ReSharperCustomSourceTemplates +{ + public static class ReSharperHelper + { + [SourceTemplate] + public static void log(this object source) + { + //$Debug.Log($"$source$: {source}");$END$ + } + + [SourceTemplate] + public static void elog(this object source) + { + //$Debug.LogError($"$source$: {source}");$END$ + } + + [SourceTemplate] + public static void wlog(this object source) + { + //$Debug.LogWarning($"$source$: {source}");$END$ + } + } +} diff --git a/Assets/Scripts/Editor/RiderUtil.cs.meta b/Assets/Scripts/Editor/RiderUtil.cs.meta new file mode 100644 index 0000000..c852105 --- /dev/null +++ b/Assets/Scripts/Editor/RiderUtil.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c725f486e96d413bae1be99be3daf6ba +timeCreated: 1735946217 \ No newline at end of file diff --git a/Assets/Scripts/Editor/SceneSwitcherEditorWindow.cs b/Assets/Scripts/Editor/SceneSwitcherEditorWindow.cs new file mode 100644 index 0000000..49ddc71 --- /dev/null +++ b/Assets/Scripts/Editor/SceneSwitcherEditorWindow.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; +using UnityEngine.UIElements; + +public class SceneSwitcherEditorWindow : EditorWindow +{ + [MenuItem("Examples/My Editor Window")] + public static void ShowExample() + { + var editorWindow = GetWindow(); + editorWindow.titleContent = new GUIContent("SceneSwitcherEditor"); + } + + public void CreateGUI() + { + // Each editor window contains a root VisualElement object + VisualElement root = rootVisualElement; + root.Clear(); + + // Create a ScrollView + ScrollView scrollView = new ScrollView(); + root.Add(scrollView); + + // reload button + Button reloadButton = new Button(); + reloadButton.text = "Reload"; + reloadButton.clicked += () => CreateGUI(); + scrollView.Add(reloadButton); + + // space + scrollView.Add(new Label("")); + + // Get the SceneSwitcher component + if (SceneSwitcher.Instance == null) + { + Debug.LogError("SceneSwitcher component not found in the scene."); + return; + } + + + // Get the list of scenes + List<(string name, int index)> scenes = SceneSwitcher.Instance.GetScenes(); + + // Create a button for each scene + foreach (var scene in scenes) + { + Button button = new Button(); + button.text = scene.name; + int sceneIndex = scene.index; // Capture the index in a local variable + button.clicked += () => SceneSwitcher.Instance.SwitchScene(sceneIndex); + scrollView.Add(button); + } + } + +} diff --git a/Assets/Scripts/Editor/SceneSwitcherEditorWindow.cs.meta b/Assets/Scripts/Editor/SceneSwitcherEditorWindow.cs.meta new file mode 100644 index 0000000..d7bf711 --- /dev/null +++ b/Assets/Scripts/Editor/SceneSwitcherEditorWindow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 95394a5a901d4954a92e7ced9382dead +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MyButton.cs b/Assets/Scripts/MyButton.cs new file mode 100644 index 0000000..3129a45 --- /dev/null +++ b/Assets/Scripts/MyButton.cs @@ -0,0 +1,33 @@ +using System; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.EventSystems; + +[RequireComponent(typeof(OutlineFx.OutlineFx))] +public class MyButton : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler +{ + [SerializeField] + private UnityEvent _onClick; + + + // references + private OutlineFx.OutlineFx _outlineFx; + + private void Awake() + { + _outlineFx = GetComponent(); + } + + public void OnPointerClick(PointerEventData eventData) + { + _onClick.Invoke(); + } + public void OnPointerEnter(PointerEventData eventData) + { + _outlineFx.enabled = true; + } + public void OnPointerExit(PointerEventData eventData) + { + _outlineFx.enabled = false; + } +} diff --git a/Assets/Scripts/MyButton.cs.meta b/Assets/Scripts/MyButton.cs.meta new file mode 100644 index 0000000..c8b8ab9 --- /dev/null +++ b/Assets/Scripts/MyButton.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0e545d598a5d16f4e8b9a70fedc8b7a3 \ No newline at end of file diff --git a/Assets/Scripts/SceneSwitcher.cs b/Assets/Scripts/SceneSwitcher.cs new file mode 100644 index 0000000..dc04141 --- /dev/null +++ b/Assets/Scripts/SceneSwitcher.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class SceneSwitcher : MonoBehaviour +{ + // make singleton + public static SceneSwitcher Instance { get; private set; } + + private void Awake() + { + SetInstance(); + } + + private void OnValidate() + { + SetInstance(); + } + + private void SetInstance() + { + + if (Instance == null) + { + Instance = this; + } + else + { + Debug.LogError("SceneSwitcher Instance already exists."); + } + } + + public void SwitchScene(int sceneIndex) + { + for (var i = 0; i < transform.childCount; i++) + { + transform.GetChild(i).gameObject.SetActive(i == sceneIndex); + } + } + + public List<(string name, int index)> GetScenes() + { + var scenes = new List<(string name, int index)>(); + for (var i = 0; i < transform.childCount; i++) + { + var child = transform.GetChild(i); + scenes.Add((child.name, i)); + } + return scenes; + } +} diff --git a/Assets/Scripts/SceneSwitcher.cs.meta b/Assets/Scripts/SceneSwitcher.cs.meta new file mode 100644 index 0000000..aa51761 --- /dev/null +++ b/Assets/Scripts/SceneSwitcher.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 866969868d65b5c47b6cbdfab4b4cbe3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SwitchToScene.cs b/Assets/Scripts/SwitchToScene.cs new file mode 100644 index 0000000..c2102a4 --- /dev/null +++ b/Assets/Scripts/SwitchToScene.cs @@ -0,0 +1,26 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.EventSystems; + +public class SwitchToScene : MonoBehaviour, IPointerClickHandler +{ + [SerializeField] + private SwitchableScene _scene; + + [SerializeField] + private bool _triggerOnClick; + + public void Switch() + { + SceneSwitcher.Instance.SwitchScene(_scene.index); + } + + public void OnPointerClick(PointerEventData eventData) + { + Debug.Log("Click"); + + if (_triggerOnClick) + Switch(); + } +} diff --git a/Assets/Scripts/SwitchToScene.cs.meta b/Assets/Scripts/SwitchToScene.cs.meta new file mode 100644 index 0000000..b312913 --- /dev/null +++ b/Assets/Scripts/SwitchToScene.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e085a6bafb27f9f4abf848fdc2f073b3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SwitchableScene.cs b/Assets/Scripts/SwitchableScene.cs new file mode 100644 index 0000000..435cac1 --- /dev/null +++ b/Assets/Scripts/SwitchableScene.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEditor.UIElements; +using UnityEngine; +using UnityEngine.UIElements; +using Object = UnityEngine.Object; + +#if UNITY_EDITOR +using UnityEditor; +#endif + +[Serializable] +public class SwitchableScene +{ + public int index; +} + + +#if UNITY_EDITOR +// custom property drawer + +[CustomPropertyDrawer(typeof(SwitchableScene))] +public class SwitchableSceneDrawer : PropertyDrawer +{ + + public override VisualElement CreatePropertyGUI(SerializedProperty property) + { + // Get the SceneSwitcher component + if (SceneSwitcher.Instance == null) + { + return new Label("SceneSwitcher component not found in the scene."); + } + + // create dropdown based on the SceneSwitcher options + var root = new VisualElement(); + + // Get the list of scenes + List<(string name, int index)> scenes = SceneSwitcher.Instance.GetScenes(); + + // create dropdown + var indexProperty = property.FindPropertyRelative("index"); + var dropdown = new PopupField("Scene", scenes.ConvertAll(t => t.name), scenes[indexProperty.intValue].name); + dropdown.RegisterValueChangedCallback(evt => + { + indexProperty.intValue = scenes.FindIndex(t => t.name == evt.newValue); + indexProperty.serializedObject.ApplyModifiedProperties(); + }); + + root.Add(dropdown); + + return root; + } + +} + +#endif diff --git a/Assets/Scripts/SwitchableScene.cs.meta b/Assets/Scripts/SwitchableScene.cs.meta new file mode 100644 index 0000000..ed0c9ca --- /dev/null +++ b/Assets/Scripts/SwitchableScene.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d60d724342bfc1846843fdb2775638ba +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Timeline.cs b/Assets/Scripts/Timeline.cs new file mode 100644 index 0000000..5dd3f16 --- /dev/null +++ b/Assets/Scripts/Timeline.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; + +public class Timeline : MonoBehaviour +{ + [Serializable] + public class TimelineEvent + { + public float waitSeconds; + public UnityEvent unityEvent; + } + + [SerializeField] + private List _events; + + private void Start() + { + StartCoroutine(PlayTimeline()); + } + + private IEnumerator PlayTimeline() + { + foreach (var timelineEvent in _events) + { + yield return new WaitForSeconds(timelineEvent.waitSeconds); + timelineEvent.unityEvent.Invoke(); + } + } +} diff --git a/Assets/Scripts/Timeline.cs.meta b/Assets/Scripts/Timeline.cs.meta new file mode 100644 index 0000000..da109c8 --- /dev/null +++ b/Assets/Scripts/Timeline.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5c66546d6c537064f9b7de80bc4ef5cb \ No newline at end of file diff --git a/Assets/Settings.meta b/Assets/Settings.meta new file mode 100644 index 0000000..e3d4b4f --- /dev/null +++ b/Assets/Settings.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1f57ef2f9579301418173742c844f74f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Settings/Pipeline Asset.asset b/Assets/Settings/Pipeline Asset.asset new file mode 100644 index 0000000..af2a86c --- /dev/null +++ b/Assets/Settings/Pipeline Asset.asset @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: bf2edee5c58d82540a51f03df9d42094, type: 3} + m_Name: Pipeline Asset + m_EditorClassIdentifier: + k_AssetVersion: 12 + k_AssetPreviousVersion: 12 + m_RendererType: 1 + m_RendererData: {fileID: 0} + m_RendererDataList: + - {fileID: 11400000, guid: 27c697539222de54188c0fe0b909eabd, type: 2} + m_DefaultRendererIndex: 0 + m_RequireDepthTexture: 0 + m_RequireOpaqueTexture: 0 + m_OpaqueDownsampling: 1 + m_SupportsTerrainHoles: 1 + m_SupportsHDR: 1 + m_HDRColorBufferPrecision: 0 + m_MSAA: 1 + m_RenderScale: 1 + m_UpscalingFilter: 0 + m_FsrOverrideSharpness: 0 + m_FsrSharpness: 0.92 + m_EnableLODCrossFade: 1 + m_LODCrossFadeDitheringType: 1 + m_ShEvalMode: 0 + m_LightProbeSystem: 0 + m_ProbeVolumeMemoryBudget: 1024 + m_ProbeVolumeBlendingMemoryBudget: 256 + m_SupportProbeVolumeGPUStreaming: 0 + m_SupportProbeVolumeDiskStreaming: 0 + m_SupportProbeVolumeScenarios: 0 + m_SupportProbeVolumeScenarioBlending: 0 + m_ProbeVolumeSHBands: 1 + m_MainLightRenderingMode: 1 + m_MainLightShadowsSupported: 1 + m_MainLightShadowmapResolution: 2048 + m_AdditionalLightsRenderingMode: 1 + m_AdditionalLightsPerObjectLimit: 4 + m_AdditionalLightShadowsSupported: 0 + m_AdditionalLightsShadowmapResolution: 2048 + m_AdditionalLightsShadowResolutionTierLow: 256 + m_AdditionalLightsShadowResolutionTierMedium: 512 + m_AdditionalLightsShadowResolutionTierHigh: 1024 + m_ReflectionProbeBlending: 0 + m_ReflectionProbeBoxProjection: 0 + m_ShadowDistance: 50 + m_ShadowCascadeCount: 1 + m_Cascade2Split: 0.25 + m_Cascade3Split: {x: 0.1, y: 0.3} + m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} + m_CascadeBorder: 0.2 + m_ShadowDepthBias: 1 + m_ShadowNormalBias: 1 + m_AnyShadowsSupported: 1 + m_SoftShadowsSupported: 0 + m_ConservativeEnclosingSphere: 1 + m_NumIterationsEnclosingSphere: 64 + m_SoftShadowQuality: 2 + m_AdditionalLightsCookieResolution: 2048 + m_AdditionalLightsCookieFormat: 3 + m_UseSRPBatcher: 1 + m_SupportsDynamicBatching: 0 + m_MixedLightingSupported: 1 + m_SupportsLightCookies: 1 + m_SupportsLightLayers: 0 + m_DebugLevel: 0 + m_StoreActionsOptimization: 0 + m_UseAdaptivePerformance: 1 + m_ColorGradingMode: 0 + m_ColorGradingLutSize: 32 + m_AllowPostProcessAlphaOutput: 0 + m_UseFastSRGBLinearConversion: 0 + m_SupportDataDrivenLensFlare: 1 + m_SupportScreenSpaceLensFlare: 1 + m_GPUResidentDrawerMode: 0 + m_SmallMeshScreenPercentage: 0 + m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0 + m_ShadowType: 1 + m_LocalShadowsSupported: 0 + m_LocalShadowsAtlasResolution: 256 + m_MaxPixelLights: 0 + m_ShadowAtlasResolution: 256 + m_VolumeFrameworkUpdateMode: 0 + m_VolumeProfile: {fileID: 0} + apvScenesData: + obsoleteSceneBounds: + m_Keys: [] + m_Values: [] + obsoleteHasProbeVolumes: + m_Keys: [] + m_Values: + m_PrefilteringModeMainLightShadows: 1 + m_PrefilteringModeAdditionalLight: 4 + m_PrefilteringModeAdditionalLightShadows: 1 + m_PrefilterXRKeywords: 0 + m_PrefilteringModeForwardPlus: 1 + m_PrefilteringModeDeferredRendering: 1 + m_PrefilteringModeScreenSpaceOcclusion: 1 + m_PrefilterDebugKeywords: 0 + m_PrefilterWriteRenderingLayers: 0 + m_PrefilterHDROutput: 0 + m_PrefilterAlphaOutput: 0 + m_PrefilterSSAODepthNormals: 0 + m_PrefilterSSAOSourceDepthLow: 0 + m_PrefilterSSAOSourceDepthMedium: 0 + m_PrefilterSSAOSourceDepthHigh: 0 + m_PrefilterSSAOInterleaved: 0 + m_PrefilterSSAOBlueNoise: 0 + m_PrefilterSSAOSampleCountLow: 0 + m_PrefilterSSAOSampleCountMedium: 0 + m_PrefilterSSAOSampleCountHigh: 0 + m_PrefilterDBufferMRT1: 0 + m_PrefilterDBufferMRT2: 0 + m_PrefilterDBufferMRT3: 0 + m_PrefilterSoftShadowsQualityLow: 0 + m_PrefilterSoftShadowsQualityMedium: 0 + m_PrefilterSoftShadowsQualityHigh: 0 + m_PrefilterSoftShadows: 0 + m_PrefilterScreenCoord: 0 + m_PrefilterNativeRenderPass: 0 + m_PrefilterUseLegacyLightmaps: 0 + m_ShaderVariantLogLevel: 0 + m_ShadowCascades: 0 + m_Textures: + blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} diff --git a/Assets/Settings/Pipeline Asset.asset.meta b/Assets/Settings/Pipeline Asset.asset.meta new file mode 100644 index 0000000..5f4aafe --- /dev/null +++ b/Assets/Settings/Pipeline Asset.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 75042c0da13f2ce4b981c300a34d9c51 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Settings/Pipeline Asset_Renderer.asset b/Assets/Settings/Pipeline Asset_Renderer.asset new file mode 100644 index 0000000..8eeb251 --- /dev/null +++ b/Assets/Settings/Pipeline Asset_Renderer.asset @@ -0,0 +1,85 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 11145981673336645838492a2d98e247, type: 3} + m_Name: Pipeline Asset_Renderer + m_EditorClassIdentifier: + debugShaders: + debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3} + hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3} + probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, type: 3} + probeVolumeResources: + probeVolumeDebugShader: {fileID: 0} + probeVolumeFragmentationDebugShader: {fileID: 0} + probeVolumeOffsetDebugShader: {fileID: 0} + probeVolumeSamplingDebugShader: {fileID: 0} + probeSamplingDebugMesh: {fileID: 0} + probeSamplingDebugTexture: {fileID: 0} + probeVolumeBlendStatesCS: {fileID: 0} + m_RendererFeatures: + - {fileID: 560745274410308931} + m_RendererFeatureMap: 4395b42adb2ac807 + m_UseNativeRenderPass: 0 + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 1, z: 0} + m_HDREmulationScale: 1 + m_LightRenderTextureScale: 0.5 + m_LightBlendStyles: + - name: Multiply + maskTextureChannel: 0 + blendMode: 1 + - name: Additive + maskTextureChannel: 0 + blendMode: 0 + - name: Multiply with Mask + maskTextureChannel: 1 + blendMode: 1 + - name: Additive with Mask + maskTextureChannel: 1 + blendMode: 0 + m_UseDepthStencilBuffer: 1 + m_UseCameraSortingLayersTexture: 0 + m_CameraSortingLayersTextureBound: -1 + m_CameraSortingLayerDownsamplingMethod: 0 + m_MaxLightRenderTextureCount: 16 + m_MaxShadowRenderTextureCount: 1 + m_PostProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} + m_DefaultMaterialType: 0 + m_DefaultCustomMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} +--- !u!114 &560745274410308931 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 177ddeadd26a80641ad757c51fb7f5d1, type: 3} + m_Name: OutlineFxFeature + m_EditorClassIdentifier: + m_Active: 1 + _event: 600 + _solid: 0 + _thickness: 0.191 + _alphaCutout: 0.5 + _mode: 0 + _filter: 1 + _attachDepth: 1 + _output: + enabled: 0 + value: _globalTex + _solidMask: + _enabled: 0 + _pattern: {fileID: 2800000, guid: 41acea03acbaebe4a9dc26dd8264449e, type: 3} + _scale: 50 + _velocity: {x: 0, y: 0} + _shader: {fileID: 4800000, guid: 9a902e6d68fe8344890c5926c684e820, type: 3} diff --git a/Assets/Settings/Pipeline Asset_Renderer.asset.meta b/Assets/Settings/Pipeline Asset_Renderer.asset.meta new file mode 100644 index 0000000..c155ea4 --- /dev/null +++ b/Assets/Settings/Pipeline Asset_Renderer.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 27c697539222de54188c0fe0b909eabd +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UniversalRenderPipelineGlobalSettings.asset b/Assets/UniversalRenderPipelineGlobalSettings.asset new file mode 100644 index 0000000..0f1212e --- /dev/null +++ b/Assets/UniversalRenderPipelineGlobalSettings.asset @@ -0,0 +1,249 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 2ec995e51a6e251468d2a3fd8a686257, type: 3} + m_Name: UniversalRenderPipelineGlobalSettings + m_EditorClassIdentifier: + m_ShaderStrippingSetting: + m_Version: 0 + m_ExportShaderVariants: 1 + m_ShaderVariantLogLevel: 0 + m_StripRuntimeDebugShaders: 1 + m_URPShaderStrippingSetting: + m_Version: 0 + m_StripUnusedPostProcessingVariants: 0 + m_StripUnusedVariants: 1 + m_StripScreenCoordOverrideVariants: 1 + m_ShaderVariantLogLevel: 0 + m_ExportShaderVariants: 1 + m_StripDebugVariants: 1 + m_StripUnusedPostProcessingVariants: 0 + m_StripUnusedVariants: 1 + m_StripScreenCoordOverrideVariants: 1 + supportRuntimeDebugDisplay: 0 + m_EnableRenderGraph: 0 + m_Settings: + m_SettingsList: + m_List: + - rid: 540480424176779491 + - rid: 540480424176779492 + - rid: 540480424176779493 + - rid: 540480424176779494 + - rid: 540480424176779495 + - rid: 540480424176779496 + - rid: 540480424176779497 + - rid: 540480424176779498 + - rid: 540480424176779499 + - rid: 540480424176779500 + - rid: 540480424176779501 + - rid: 540480424176779502 + - rid: 540480424176779503 + - rid: 540480424176779504 + - rid: 540480424176779505 + - rid: 540480424176779506 + - rid: 540480424176779507 + - rid: 540480424176779508 + - rid: 540480424176779509 + - rid: 540480424176779510 + - rid: 540480424176779511 + m_RuntimeSettings: + m_List: [] + m_AssetVersion: 8 + m_ObsoleteDefaultVolumeProfile: {fileID: 0} + m_RenderingLayerNames: + - Default + m_ValidRenderingLayers: 0 + lightLayerName0: + lightLayerName1: + lightLayerName2: + lightLayerName3: + lightLayerName4: + lightLayerName5: + lightLayerName6: + lightLayerName7: + apvScenesData: + obsoleteSceneBounds: + m_Keys: [] + m_Values: [] + obsoleteHasProbeVolumes: + m_Keys: [] + m_Values: + references: + version: 2 + RefIds: + - rid: 540480424176779491 + type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3} + m_AutodeskInteractiveTransparent: {fileID: 4800000, guid: 5c81372d981403744adbdda4433c9c11, type: 3} + m_AutodeskInteractiveMasked: {fileID: 4800000, guid: 80aa867ac363ac043847b06ad71604cd, type: 3} + m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3} + m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3} + m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3} + m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3} + m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3} + m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3} + - rid: 540480424176779492 + type: {class: UniversalRenderPipelineRuntimeShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_FallbackErrorShader: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} + m_BlitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, type: 3} + m_CoreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3} + m_CoreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3} + m_SamplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} + - rid: 540480424176779493 + type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_LightShader: {fileID: 4800000, guid: 3f6c848ca3d7bca4bbe846546ac701a1, type: 3} + m_ProjectedShadowShader: {fileID: 4800000, guid: ce09d4a80b88c5a4eb9768fab4f1ee00, type: 3} + m_SpriteShadowShader: {fileID: 4800000, guid: 44fc62292b65ab04eabcf310e799ccf6, type: 3} + m_SpriteUnshadowShader: {fileID: 4800000, guid: de02b375720b5c445afe83cd483bedf3, type: 3} + m_GeometryShadowShader: {fileID: 4800000, guid: 19349a0f9a7ed4c48a27445bcf92e5e1, type: 3} + m_GeometryUnshadowShader: {fileID: 4800000, guid: 77774d9009bb81447b048c907d4c6273, type: 3} + m_FallOffLookup: {fileID: 2800000, guid: 5688ab254e4c0634f8d6c8e0792331ca, type: 3} + m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} + m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2} + m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2} + - rid: 540480424176779494 + type: {class: URPDefaultVolumeProfileSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_VolumeProfile: {fileID: 11400000, guid: 8127a98b2c3ef674797b34ed1b7a9617, type: 2} + - rid: 540480424176779495 + type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_DefaultParticleMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2} + m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2} + m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2} + m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2} + m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2} + - rid: 540480424176779496 + type: {class: UniversalRenderPipelineRuntimeXRResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_xrOcclusionMeshPS: {fileID: 4800000, guid: 4431b1f1f743fbf4eb310a967890cbea, type: 3} + m_xrMirrorViewPS: {fileID: 4800000, guid: d5a307c014552314b9f560906d708772, type: 3} + m_xrMotionVector: {fileID: 4800000, guid: f89aac1e4f84468418fe30e611dff395, type: 3} + - rid: 540480424176779497 + type: {class: UniversalRenderPipelineRuntimeTextures, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 1 + m_BlueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + m_BayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} + m_DebugFontTex: {fileID: 2800000, guid: 26a413214480ef144b2915d6ff4d0beb, type: 3} + - rid: 540480424176779498 + type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_StripUnusedPostProcessingVariants: 0 + m_StripUnusedVariants: 1 + m_StripScreenCoordOverrideVariants: 1 + - rid: 540480424176779499 + type: {class: UniversalRenderPipelineDebugShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_DebugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3} + m_HdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3} + m_ProbeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, type: 3} + - rid: 540480424176779500 + type: {class: RenderGraphSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_EnableRenderCompatibilityMode: 1 + - rid: 540480424176779501 + type: {class: UniversalRendererResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} + m_CameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3} + m_StencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} + m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3} + - rid: 540480424176779502 + type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime} + data: + m_Version: 0 + m_InstanceDataBufferCopyKernels: {fileID: 7200000, guid: f984aeb540ded8b4fbb8a2047ab5b2e2, type: 3} + m_InstanceDataBufferUploadKernels: {fileID: 7200000, guid: 53864816eb00f2343b60e1a2c5a262ef, type: 3} + m_TransformUpdaterKernels: {fileID: 7200000, guid: 2a567b9b2733f8d47a700c3c85bed75b, type: 3} + m_WindDataUpdaterKernels: {fileID: 7200000, guid: fde76746e4fd0ed418c224f6b4084114, type: 3} + m_OccluderDepthPyramidKernels: {fileID: 7200000, guid: 08b2b5fb307b0d249860612774a987da, type: 3} + m_InstanceOcclusionCullingKernels: {fileID: 7200000, guid: f6d223acabc2f974795a5a7864b50e6c, type: 3} + m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, type: 3} + m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, type: 3} + m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, type: 3} + - rid: 540480424176779503 + type: {class: RenderGraphGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_version: 0 + m_EnableCompilationCaching: 1 + m_EnableValidityChecks: 1 + - rid: 540480424176779504 + type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, type: 3} + probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, type: 3} + probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, type: 3} + - rid: 540480424176779505 + type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_version: 0 + m_IncludeReferencedInScenes: 0 + m_IncludeAssetsByLabel: 0 + m_LabelToInclude: + - rid: 540480424176779506 + type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + dilationShader: {fileID: 7200000, guid: 6bb382f7de370af41b775f54182e491d, type: 3} + subdivideSceneCS: {fileID: 7200000, guid: bb86f1f0af829fd45b2ebddda1245c22, type: 3} + voxelizeSceneShader: {fileID: 4800000, guid: c8b6a681c7b4e2e4785ffab093907f9e, type: 3} + traceVirtualOffsetCS: {fileID: -6772857160820960102, guid: ff2cbab5da58bf04d82c5f34037ed123, type: 3} + traceVirtualOffsetRT: {fileID: -5126288278712620388, guid: ff2cbab5da58bf04d82c5f34037ed123, type: 3} + skyOcclusionCS: {fileID: -6772857160820960102, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3} + skyOcclusionRT: {fileID: -5126288278712620388, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3} + renderingLayerCS: {fileID: -6772857160820960102, guid: 94a070d33e408384bafc1dea4a565df9, type: 3} + renderingLayerRT: {fileID: -5126288278712620388, guid: 94a070d33e408384bafc1dea4a565df9, type: 3} + - rid: 540480424176779507 + type: {class: RenderGraphUtilsResources, ns: UnityEngine.Rendering.RenderGraphModule.Util, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 0 + m_CoreCopyPS: {fileID: 4800000, guid: 12dc59547ea167a4ab435097dd0f9add, type: 3} + - rid: 540480424176779508 + type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + probeVolumeDebugShader: {fileID: 4800000, guid: 3b21275fd12d65f49babb5286f040f2d, type: 3} + probeVolumeFragmentationDebugShader: {fileID: 4800000, guid: 3a80877c579b9144ebdcc6d923bca303, type: 3} + probeVolumeSamplingDebugShader: {fileID: 4800000, guid: bf54e6528c79a224e96346799064c393, type: 3} + probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, type: 3} + probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, type: 3} + numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, type: 3} + - rid: 540480424176779509 + type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + m_ProbeVolumeDisableStreamingAssets: 0 + - rid: 540480424176779510 + type: {class: ShaderStrippingSetting, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 0 + m_ExportShaderVariants: 1 + m_ShaderVariantLogLevel: 0 + m_StripRuntimeDebugShaders: 1 + - rid: 540480424176779511 + type: {class: STP/RuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_setupCS: {fileID: 7200000, guid: 33be2e9a5506b2843bdb2bdff9cad5e1, type: 3} + m_preTaaCS: {fileID: 7200000, guid: a679dba8ec4d9ce45884a270b0e22dda, type: 3} + m_taaCS: {fileID: 7200000, guid: 3923900e2b41b5e47bc25bfdcbcdc9e6, type: 3} diff --git a/Assets/UniversalRenderPipelineGlobalSettings.asset.meta b/Assets/UniversalRenderPipelineGlobalSettings.asset.meta new file mode 100644 index 0000000..7c2f81b --- /dev/null +++ b/Assets/UniversalRenderPipelineGlobalSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 791076e36e198e94fa30e4d4ed456de2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json new file mode 100644 index 0000000..af60c5b --- /dev/null +++ b/Packages/manifest.json @@ -0,0 +1,47 @@ +{ + "dependencies": { + "com.unity.ai.navigation": "2.0.5", + "com.unity.collab-proxy": "2.6.0", + "com.unity.feature.2d": "2.0.1", + "com.unity.ide.rider": "3.0.31", + "com.unity.ide.visualstudio": "2.0.22", + "com.unity.multiplayer.center": "1.0.0", + "com.unity.render-pipelines.universal": "17.0.3", + "com.unity.test-framework": "1.4.5", + "com.unity.timeline": "1.8.7", + "com.unity.ugui": "2.0.0", + "com.unity.visualscripting": "1.9.5", + "com.unity.modules.accessibility": "1.0.0", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json new file mode 100644 index 0000000..fd0b1c1 --- /dev/null +++ b/Packages/packages-lock.json @@ -0,0 +1,563 @@ +{ + "dependencies": { + "com.unity.2d.animation": { + "version": "10.1.4", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.2d.common": "9.0.7", + "com.unity.2d.sprite": "1.0.0", + "com.unity.collections": "1.2.4", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.uielements": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.2d.aseprite": { + "version": "1.1.7", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.2d.common": "6.0.6", + "com.unity.2d.sprite": "1.0.0", + "com.unity.mathematics": "1.2.6", + "com.unity.modules.animation": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.2d.common": { + "version": "9.0.7", + "depth": 2, + "source": "registry", + "dependencies": { + "com.unity.burst": "1.8.4", + "com.unity.2d.sprite": "1.0.0", + "com.unity.mathematics": "1.1.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.uielements": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.2d.pixel-perfect": { + "version": "5.0.3", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.2d.psdimporter": { + "version": "9.0.3", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.2d.common": "9.0.4", + "com.unity.2d.sprite": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.2d.sprite": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": {} + }, + "com.unity.2d.spriteshape": { + "version": "10.0.7", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.2d.common": "9.0.7", + "com.unity.mathematics": "1.1.0", + "com.unity.modules.physics2d": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.2d.tilemap": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.uielements": "1.0.0" + } + }, + "com.unity.2d.tilemap.extras": { + "version": "4.1.0", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.2d.tilemap": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ai.navigation": { + "version": "2.0.5", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.ai": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.burst": { + "version": "1.8.18", + "depth": 2, + "source": "registry", + "dependencies": { + "com.unity.mathematics": "1.2.1", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.collab-proxy": { + "version": "2.6.0", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.collections": { + "version": "2.5.1", + "depth": 2, + "source": "registry", + "dependencies": { + "com.unity.burst": "1.8.17", + "com.unity.test-framework": "1.4.5", + "com.unity.nuget.mono-cecil": "1.11.4", + "com.unity.test-framework.performance": "3.0.3" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ext.nunit": { + "version": "2.0.5", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.feature.2d": { + "version": "2.0.1", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.2d.animation": "10.1.4", + "com.unity.2d.pixel-perfect": "5.0.3", + "com.unity.2d.psdimporter": "9.0.3", + "com.unity.2d.sprite": "1.0.0", + "com.unity.2d.spriteshape": "10.0.7", + "com.unity.2d.tilemap": "1.0.0", + "com.unity.2d.tilemap.extras": "4.1.0", + "com.unity.2d.aseprite": "1.1.7" + } + }, + "com.unity.ide.rider": { + "version": "3.0.31", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.visualstudio": { + "version": "2.0.22", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.9" + }, + "url": "https://packages.unity.com" + }, + "com.unity.mathematics": { + "version": "1.3.2", + "depth": 2, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.multiplayer.center": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.uielements": "1.0.0" + } + }, + "com.unity.nuget.mono-cecil": { + "version": "1.11.4", + "depth": 3, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.render-pipelines.core": { + "version": "17.0.3", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.burst": "1.8.14", + "com.unity.mathematics": "1.3.2", + "com.unity.ugui": "2.0.0", + "com.unity.collections": "2.4.3", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.rendering.light-transport": "1.0.1" + } + }, + "com.unity.render-pipelines.universal": { + "version": "17.0.3", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.render-pipelines.core": "17.0.3", + "com.unity.shadergraph": "17.0.3", + "com.unity.render-pipelines.universal-config": "17.0.3" + } + }, + "com.unity.render-pipelines.universal-config": { + "version": "17.0.3", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.render-pipelines.core": "17.0.3" + } + }, + "com.unity.rendering.light-transport": { + "version": "1.0.1", + "depth": 2, + "source": "builtin", + "dependencies": { + "com.unity.collections": "2.2.0", + "com.unity.mathematics": "1.2.4", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.searcher": { + "version": "4.9.2", + "depth": 2, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.shadergraph": { + "version": "17.0.3", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.render-pipelines.core": "17.0.3", + "com.unity.searcher": "4.9.2" + } + }, + "com.unity.test-framework": { + "version": "1.4.5", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "2.0.3", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.test-framework.performance": { + "version": "3.0.3", + "depth": 3, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.31", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.timeline": { + "version": "1.8.7", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ugui": { + "version": "2.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, + "com.unity.visualscripting": { + "version": "1.9.5", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.modules.accessibility": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.androidjni": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.animation": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.assetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.audio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.cloth": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.director": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.animation": "1.0.0" + } + }, + "com.unity.modules.hierarchycore": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imageconversion": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imgui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.jsonserialize": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.particlesystem": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics2d": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.screencapture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.subsystems": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.terrain": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.terrainphysics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.modules.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics2d": "1.0.0" + } + }, + "com.unity.modules.ui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.uielements": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.hierarchycore": "1.0.0" + } + }, + "com.unity.modules.umbra": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unityanalytics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.unitywebrequest": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unitywebrequestassetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestaudio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.audio": "1.0.0" + } + }, + "com.unity.modules.unitywebrequesttexture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestwww": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.vehicles": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.video": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.vr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } + }, + "com.unity.modules.wind": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.xr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.subsystems": "1.0.0" + } + } + } +} diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset new file mode 100644 index 0000000..27287fe --- /dev/null +++ b/ProjectSettings/AudioManager.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 1024 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_AmbisonicDecoderPlugin: + m_DisableAudio: 0 + m_VirtualizeEffects: 1 + m_RequestedDSPBufferSize: 0 diff --git a/ProjectSettings/ClusterInputManager.asset b/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 0000000..e7886b2 --- /dev/null +++ b/ProjectSettings/ClusterInputManager.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!236 &1 +ClusterInputManager: + m_ObjectHideFlags: 0 + m_Inputs: [] diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset new file mode 100644 index 0000000..72d1430 --- /dev/null +++ b/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,37 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_Gravity: {x: 0, y: -9.81, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_DefaultMaxDepenetrationVelocity: 10 + m_SleepThreshold: 0.005 + m_DefaultContactOffset: 0.01 + m_DefaultSolverIterations: 6 + m_DefaultSolverVelocityIterations: 1 + m_QueriesHitBackfaces: 0 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_ClothInterCollisionDistance: 0.1 + m_ClothInterCollisionStiffness: 0.2 + m_ContactsGeneration: 1 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_AutoSimulation: 1 + m_AutoSyncTransforms: 0 + m_ReuseCollisionCallbacks: 1 + m_ClothInterCollisionSettingsToggle: 0 + m_ClothGravity: {x: 0, y: -9.81, z: 0} + m_ContactPairsMode: 0 + m_BroadphaseType: 0 + m_WorldBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 250, y: 250, z: 250} + m_WorldSubdivisions: 8 + m_FrictionType: 0 + m_EnableEnhancedDeterminism: 0 + m_EnableUnifiedHeightmaps: 1 + m_SolverType: 0 + m_DefaultMaxAngularSpeed: 50 diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 0000000..68d091e --- /dev/null +++ b/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,11 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: + - enabled: 1 + path: Assets/Scenes/MainScene.unity + guid: 2cda990e2423bbf4892e6590ba056729 + m_configObjects: {} diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset new file mode 100644 index 0000000..fa3ed49 --- /dev/null +++ b/ProjectSettings/EditorSettings.asset @@ -0,0 +1,40 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_SerializationMode: 2 + m_LineEndingsForNewScripts: 0 + m_DefaultBehaviorMode: 1 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} + m_SpritePackerMode: 4 + m_SpritePackerPaddingPower: 1 + m_EtcTextureCompressorBehavior: 1 + m_EtcTextureFastCompressor: 1 + m_EtcTextureNormalCompressor: 2 + m_EtcTextureBestCompressor: 4 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp + m_ProjectGenerationRootNamespace: + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_AsyncShaderCompilation: 1 + m_CachingShaderPreprocessor: 1 + m_PrefabModeAllowAutoSave: 1 + m_EnterPlayModeOptionsEnabled: 0 + m_EnterPlayModeOptions: 3 + m_GameObjectNamingDigits: 1 + m_GameObjectNamingScheme: 0 + m_AssetNamingUsesSpace: 1 + m_UseLegacyProbeSampleCount: 0 + m_SerializeInlineMappingsOnOneLine: 1 + m_DisableCookiesInLightmapper: 1 + m_AssetPipelineMode: 1 + m_CacheServerMode: 0 + m_CacheServerEndpoint: + m_CacheServerNamespacePrefix: default + m_CacheServerEnableDownload: 1 + m_CacheServerEnableUpload: 1 + m_CacheServerEnableAuth: 0 + m_CacheServerEnableTls: 0 diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 0000000..28bc30e --- /dev/null +++ b/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,67 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 16 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_VideoShadersIncludeMode: 2 + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_PreloadShadersBatchTimeLimit: -1 + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_CustomRenderPipeline: {fileID: 11400000, guid: 75042c0da13f2ce4b981c300a34d9c51, type: 2} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_BrgStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_RenderPipelineGlobalSettingsMap: + UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 791076e36e198e94fa30e4d4ed456de2, type: 2} + m_LightsUseLinearIntensity: 0 + m_LightsUseColorTemperature: 1 + m_LogWhenShaderIsCompiled: 0 + m_LightProbeOutsideHullStrategy: 0 + m_CameraRelativeLightCulling: 0 + m_CameraRelativeShadowCulling: 0 diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset new file mode 100644 index 0000000..b16147e --- /dev/null +++ b/ProjectSettings/InputManager.asset @@ -0,0 +1,487 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Enable Debug Button 1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: joystick button 8 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Enable Debug Button 2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: backspace + altNegativeButton: + altPositiveButton: joystick button 9 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Reset + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Next + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: page down + altNegativeButton: + altPositiveButton: joystick button 5 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Previous + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: page up + altNegativeButton: + altPositiveButton: joystick button 4 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Validate + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Persistent + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: right shift + altNegativeButton: + altPositiveButton: joystick button 2 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Multiplier + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: joystick button 3 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 2 + axis: 6 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 2 + axis: 5 + joyNum: 0 diff --git a/ProjectSettings/MemorySettings.asset b/ProjectSettings/MemorySettings.asset new file mode 100644 index 0000000..5b5face --- /dev/null +++ b/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/ProjectSettings/MultiplayerManager.asset b/ProjectSettings/MultiplayerManager.asset new file mode 100644 index 0000000..2a93664 --- /dev/null +++ b/ProjectSettings/MultiplayerManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!655991488 &1 +MultiplayerManager: + m_ObjectHideFlags: 0 + m_EnableMultiplayerRoles: 0 + m_StrippingTypes: {} diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 0000000..ad2654e --- /dev/null +++ b/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,93 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshProjectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + m_LastAgentTypeID: -887442657 + m_Settings: + - serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.75 + 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_SettingNames: + - Humanoid diff --git a/ProjectSettings/NetworkManager.asset b/ProjectSettings/NetworkManager.asset new file mode 100644 index 0000000..5dc6a83 --- /dev/null +++ b/ProjectSettings/NetworkManager.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!149 &1 +NetworkManager: + m_ObjectHideFlags: 0 + m_DebugLevel: 0 + m_Sendrate: 15 + m_AssetToPrefab: {} diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 0000000..b3a65dd --- /dev/null +++ b/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,44 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + 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: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreReleasePackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + m_SeeAllPackageVersions: 0 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_ErrorMessage: + m_Original: + m_Id: + m_Name: + m_Url: + m_Scopes: [] + m_IsDefault: 0 + m_Capabilities: 0 + m_Modified: 0 + m_Name: + m_Url: + m_Scopes: + - + m_SelectedScopeIndex: 0 diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 0000000..6cfcdda --- /dev/null +++ b/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_Gravity: {x: 0, y: -9.81} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: 0.2 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_BaumgarteScale: 0.2 + m_BaumgarteTimeOfImpactScale: 0.75 + m_TimeToSleep: 0.5 + m_LinearSleepTolerance: 0.01 + m_AngularSleepTolerance: 2 + m_DefaultContactOffset: 0.01 + m_JobOptions: + serializedVersion: 2 + useMultithreading: 0 + useConsistencySorting: 0 + m_InterpolationPosesPerJob: 100 + m_NewContactsPerJob: 30 + m_CollideContactsPerJob: 100 + m_ClearFlagsPerJob: 200 + m_ClearBodyForcesPerJob: 200 + m_SyncDiscreteFixturesPerJob: 50 + m_SyncContinuousFixturesPerJob: 50 + m_FindNearestContactsPerJob: 100 + m_UpdateTriggerContactsPerJob: 100 + m_IslandSolverCostThreshold: 100 + m_IslandSolverBodyCostScale: 1 + m_IslandSolverContactCostScale: 10 + m_IslandSolverJointCostScale: 10 + m_IslandSolverBodiesPerJob: 50 + m_IslandSolverContactsPerJob: 50 + m_SimulationMode: 0 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_CallbacksOnDisable: 1 + m_ReuseCollisionCallbacks: 1 + m_AutoSyncTransforms: 0 + m_AlwaysShowColliders: 0 + m_ShowColliderSleep: 1 + m_ShowColliderContacts: 0 + m_ShowColliderAABB: 0 + m_ContactArrowScale: 0.2 + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/ProjectSettings/PresetManager.asset b/ProjectSettings/PresetManager.asset new file mode 100644 index 0000000..67a94da --- /dev/null +++ b/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset new file mode 100644 index 0000000..df96ca4 --- /dev/null +++ b/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,781 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 24 + productGUID: b51d54772cc8bb84d9c10841ce308865 + AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + AndroidEnableSustainedPerformanceMode: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: DefaultCompany + productName: Jeremy BBJam + defaultCursor: {fileID: 0} + cursorHotspot: {x: 0, y: 0} + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} + m_ShowUnitySplashScreen: 1 + m_ShowUnitySplashLogo: 1 + m_SplashScreenOverlayOpacity: 1 + m_SplashScreenAnimation: 1 + m_SplashScreenLogoStyle: 1 + m_SplashScreenDrawMode: 0 + m_SplashScreenBackgroundAnimationZoom: 1 + m_SplashScreenLogoAnimationZoom: 1 + m_SplashScreenBackgroundLandscapeAspect: 1 + m_SplashScreenBackgroundPortraitAspect: 1 + m_SplashScreenBackgroundLandscapeUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenBackgroundPortraitUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenLogos: [] + m_VirtualRealitySplashScreen: {fileID: 0} + m_HolographicTrackingLossScreen: {fileID: 0} + defaultScreenWidth: 1920 + defaultScreenHeight: 1080 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_StereoRenderingPath: 0 + m_ActiveColorSpace: 0 + m_MTRendering: 1 + mipStripping: 0 + numberOfMipsStripped: 0 + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 + iosShowActivityIndicatorOnLoading: -1 + androidShowActivityIndicatorOnLoading: -1 + iosUseCustomAppBackgroundBehavior: 0 + iosAllowHTTPDownload: 1 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 + allowedAutorotateToLandscapeRight: 1 + allowedAutorotateToLandscapeLeft: 1 + useOSAutorotation: 1 + use32BitDisplayBuffer: 1 + preserveFramebufferAlpha: 0 + disableDepthAndStencilBuffers: 0 + androidStartInFullscreen: 1 + androidRenderOutsideSafeArea: 1 + androidUseSwappy: 1 + androidBlitType: 0 + androidResizableWindow: 0 + androidDefaultWindowWidth: 1920 + androidDefaultWindowHeight: 1080 + androidMinimumWindowWidth: 400 + androidMinimumWindowHeight: 300 + androidFullscreenMode: 1 + defaultIsNativeResolution: 1 + macRetinaSupport: 1 + runInBackground: 0 + captureSingleScreen: 0 + muteOtherAudioSources: 0 + Prepare IOS For Recording: 0 + Force IOS Speakers When Recording: 0 + deferSystemGesturesMode: 0 + hideHomeButton: 0 + submitAnalytics: 1 + usePlayerLog: 1 + bakeCollisionMeshes: 0 + forceSingleInstance: 0 + useFlipModelSwapchain: 1 + resizableWindow: 0 + useMacAppStoreValidation: 0 + macAppStoreCategory: public.app-category.games + gpuSkinning: 0 + xboxPIXTextureCapture: 0 + xboxEnableAvatar: 0 + xboxEnableKinect: 0 + xboxEnableKinectAutoTracking: 0 + xboxEnableFitness: 0 + visibleInBackground: 1 + allowFullscreenSwitch: 1 + fullscreenMode: 1 + xboxSpeechDB: 0 + xboxEnableHeadOrientation: 0 + xboxEnableGuest: 0 + xboxEnablePIXSampling: 0 + metalFramebufferOnly: 0 + xboxOneResolution: 0 + xboxOneSResolution: 0 + xboxOneXResolution: 3 + xboxOneMonoLoggingLevel: 0 + xboxOneLoggingLevel: 1 + xboxOneDisableEsram: 0 + xboxOneEnableTypeOptimization: 0 + xboxOnePresentImmediateThreshold: 0 + switchQueueCommandMemory: 1048576 + switchQueueControlMemory: 16384 + switchQueueComputeMemory: 262144 + switchNVNShaderPoolsGranularity: 33554432 + switchNVNDefaultPoolsGranularity: 16777216 + switchNVNOtherPoolsGranularity: 16777216 + switchNVNMaxPublicTextureIDCount: 0 + switchNVNMaxPublicSamplerIDCount: 0 + stadiaPresentMode: 0 + stadiaTargetFramerate: 0 + vulkanNumSwapchainBuffers: 3 + vulkanEnableSetSRGBWrite: 0 + vulkanEnablePreTransform: 0 + vulkanEnableLateAcquireNextImage: 0 + vulkanEnableCommandBufferRecycling: 1 + m_SupportedAspectRatios: + 4:3: 1 + 5:4: 1 + 16:10: 1 + 16:9: 1 + Others: 1 + bundleVersion: 1.0 + preloadedAssets: [] + metroInputSource: 0 + wsaTransparentSwapchain: 0 + m_HolographicPauseOnTrackingLoss: 1 + xboxOneDisableKinectGpuReservation: 1 + xboxOneEnable7thCore: 1 + vrSettings: + enable360StereoCapture: 0 + isWsaHolographicRemotingEnabled: 0 + enableFrameTimingStats: 0 + enableOpenGLProfilerGPURecorders: 1 + useHDRDisplay: 0 + D3DHDRBitDepth: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + resetResolutionOnWindowResize: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.1 + applicationIdentifier: + Standalone: com.DefaultCompany.2DProject + buildNumber: + Standalone: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 1 + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 22 + AndroidTargetSdkVersion: 0 + AndroidPreferredInstallLocation: 1 + aotOptions: + stripEngineCode: 1 + iPhoneStrippingLevel: 0 + iPhoneScriptCallOptimization: 0 + ForceInternetPermission: 0 + ForceSDCardPermission: 0 + CreateWallpaper: 0 + APKExpansionFiles: 0 + keepLoadedShadersAlive: 0 + StripUnusedMeshComponents: 0 + VertexChannelCompressionMask: 4054 + iPhoneSdkVersion: 988 + iOSTargetOSVersionString: 11.0 + tvOSSdkVersion: 0 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 11.0 + uIPrerenderedIcon: 0 + uIRequiresPersistentWiFi: 0 + uIRequiresFullScreen: 1 + uIStatusBarHidden: 1 + uIExitOnSuspend: 0 + uIStatusBarStyle: 0 + appleTVSplashScreen: {fileID: 0} + appleTVSplashScreen2x: {fileID: 0} + tvOSSmallIconLayers: [] + tvOSSmallIconLayers2x: [] + tvOSLargeIconLayers: [] + tvOSLargeIconLayers2x: [] + tvOSTopShelfImageLayers: [] + tvOSTopShelfImageLayers2x: [] + tvOSTopShelfImageWideLayers: [] + tvOSTopShelfImageWideLayers2x: [] + iOSLaunchScreenType: 0 + iOSLaunchScreenPortrait: {fileID: 0} + iOSLaunchScreenLandscape: {fileID: 0} + iOSLaunchScreenBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreenFillPct: 100 + iOSLaunchScreenSize: 100 + iOSLaunchScreenCustomXibPath: + iOSLaunchScreeniPadType: 0 + iOSLaunchScreeniPadImage: {fileID: 0} + iOSLaunchScreeniPadBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreeniPadFillPct: 100 + iOSLaunchScreeniPadSize: 100 + iOSLaunchScreeniPadCustomXibPath: + iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: + iOSDeviceRequirements: [] + iOSURLSchemes: [] + macOSURLSchemes: [] + iOSBackgroundModes: 0 + iOSMetalForceHardShadows: 0 + metalEditorSupport: 1 + metalAPIValidation: 1 + iOSRenderExtraFrameOnPause: 0 + iosCopyPluginsCodeInsteadOfSymlink: 0 + appleDeveloperTeamID: + iOSManualSigningProvisioningProfileID: + tvOSManualSigningProvisioningProfileID: + iOSManualSigningProvisioningProfileType: 0 + tvOSManualSigningProvisioningProfileType: 0 + appleEnableAutomaticSigning: 0 + iOSRequireARKit: 0 + iOSAutomaticallyDetectAndAddCapabilities: 1 + appleEnableProMotion: 0 + shaderPrecisionModel: 0 + clonedFromGUID: 10ad67313f4034357812315f3c407484 + templatePackageId: com.unity.template.2d@6.1.2 + templateDefaultScene: Assets/Scenes/SampleScene.unity + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 1 + AndroidTargetDevices: 0 + AndroidSplashScreenScale: 0 + androidSplashScreen: {fileID: 0} + AndroidKeystoreName: + AndroidKeyaliasName: + AndroidBuildApkPerCpuArchitecture: 0 + AndroidTVCompatibility: 0 + AndroidIsGame: 1 + AndroidEnableTango: 0 + androidEnableBanner: 1 + androidUseLowAccuracyLocation: 0 + androidUseCustomKeystore: 0 + m_AndroidBanners: + - width: 320 + height: 180 + banner: {fileID: 0} + androidGamepadSupportLevel: 0 + chromeosInputEmulation: 1 + AndroidMinifyWithR8: 0 + AndroidMinifyRelease: 0 + AndroidMinifyDebug: 0 + AndroidValidateAppBundleSize: 1 + AndroidAppBundleSizeToValidate: 150 + m_BuildTargetIcons: [] + m_BuildTargetPlatformIcons: + - m_BuildTarget: Android + m_Icons: + - m_Textures: [] + m_Width: 432 + m_Height: 432 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 324 + m_Height: 324 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 216 + m_Height: 216 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 162 + m_Height: 162 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 108 + m_Height: 108 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 81 + m_Height: 81 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 0 + m_SubKind: + m_BuildTargetBatching: [] + m_BuildTargetShaderSettings: [] + m_BuildTargetGraphicsJobs: + - m_BuildTarget: MacStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: Switch + m_GraphicsJobs: 0 + - m_BuildTarget: MetroSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AppleTVSupport + m_GraphicsJobs: 0 + - m_BuildTarget: BJMSupport + m_GraphicsJobs: 0 + - m_BuildTarget: LinuxStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: PS4Player + m_GraphicsJobs: 0 + - m_BuildTarget: iOSSupport + m_GraphicsJobs: 0 + - m_BuildTarget: WindowsStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobs: 0 + - m_BuildTarget: LuminSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AndroidPlayer + m_GraphicsJobs: 0 + - m_BuildTarget: WebGLSupport + m_GraphicsJobs: 0 + m_BuildTargetGraphicsJobMode: [] + m_BuildTargetGraphicsAPIs: + - m_BuildTarget: AndroidPlayer + m_APIs: 150000000b000000 + m_Automatic: 1 + - m_BuildTarget: iOSSupport + m_APIs: 10000000 + m_Automatic: 1 + m_BuildTargetVRSettings: [] + m_DefaultShaderChunkSizeInMB: 16 + m_DefaultShaderChunkCount: 0 + openGLRequireES31: 0 + openGLRequireES31AEP: 0 + openGLRequireES32: 0 + m_TemplateCustomTags: {} + mobileMTRendering: + Android: 1 + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: [] + m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetNormalMapEncoding: [] + m_BuildTargetDefaultTextureCompressionFormat: + - m_BuildTarget: Android + m_Format: 3 + playModeTestRunnerEnabled: 0 + runPlayModeTestAsEditModeTest: 0 + actionOnDotNetUnhandledException: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + bluetoothUsageDescription: + switchNMETAOverride: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchUseGOLDLinker: 0 + switchLTOSetting: 0 + switchApplicationID: 0x01004b9000490000 + switchNSODependencies: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchTitleNames_12: + switchTitleNames_13: + switchTitleNames_14: + switchTitleNames_15: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + switchPublisherNames_12: + switchPublisherNames_13: + switchPublisherNames_14: + switchPublisherNames_15: + switchIcons_0: {fileID: 0} + switchIcons_1: {fileID: 0} + switchIcons_2: {fileID: 0} + switchIcons_3: {fileID: 0} + switchIcons_4: {fileID: 0} + switchIcons_5: {fileID: 0} + switchIcons_6: {fileID: 0} + switchIcons_7: {fileID: 0} + switchIcons_8: {fileID: 0} + switchIcons_9: {fileID: 0} + switchIcons_10: {fileID: 0} + switchIcons_11: {fileID: 0} + switchIcons_12: {fileID: 0} + switchIcons_13: {fileID: 0} + switchIcons_14: {fileID: 0} + switchIcons_15: {fileID: 0} + switchSmallIcons_0: {fileID: 0} + switchSmallIcons_1: {fileID: 0} + switchSmallIcons_2: {fileID: 0} + switchSmallIcons_3: {fileID: 0} + switchSmallIcons_4: {fileID: 0} + switchSmallIcons_5: {fileID: 0} + switchSmallIcons_6: {fileID: 0} + switchSmallIcons_7: {fileID: 0} + switchSmallIcons_8: {fileID: 0} + switchSmallIcons_9: {fileID: 0} + switchSmallIcons_10: {fileID: 0} + switchSmallIcons_11: {fileID: 0} + switchSmallIcons_12: {fileID: 0} + switchSmallIcons_13: {fileID: 0} + switchSmallIcons_14: {fileID: 0} + switchSmallIcons_15: {fileID: 0} + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: + switchMainThreadStackSize: 1048576 + switchPresenceGroupId: + switchLogoHandling: 0 + switchReleaseVersion: 0 + switchDisplayVersion: 1.0.0 + switchStartupUserAccount: 0 + switchSupportedLanguagesMask: 0 + switchLogoType: 0 + switchApplicationErrorCodeCategory: + switchUserAccountSaveDataSize: 0 + switchUserAccountSaveDataJournalSize: 0 + switchApplicationAttribute: 0 + switchCardSpecSize: -1 + switchCardSpecClock: -1 + switchRatingsMask: 0 + switchRatingsInt_0: 0 + switchRatingsInt_1: 0 + switchRatingsInt_2: 0 + switchRatingsInt_3: 0 + switchRatingsInt_4: 0 + switchRatingsInt_5: 0 + switchRatingsInt_6: 0 + switchRatingsInt_7: 0 + switchRatingsInt_8: 0 + switchRatingsInt_9: 0 + switchRatingsInt_10: 0 + switchRatingsInt_11: 0 + switchRatingsInt_12: 0 + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: + switchParentalControl: 0 + switchAllowsScreenshot: 1 + switchAllowsVideoCapturing: 1 + switchAllowsRuntimeAddOnContentInstall: 0 + switchDataLossConfirmation: 0 + switchUserAccountLockEnabled: 0 + switchSystemResourceMemory: 16777216 + switchSupportedNpadStyles: 22 + switchNativeFsCacheSize: 32 + switchIsHoldTypeHorizontal: 0 + switchSupportedNpadCount: 8 + switchEnableTouchScreen: 1 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 + switchUseNewStyleFilepaths: 0 + switchUseLegacyFmodPriorities: 1 + switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 + switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 + ps4NPAgeRating: 12 + ps4NPTitleSecret: + ps4NPTrophyPackPath: + ps4ParentalLevel: 11 + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 + ps4Category: 0 + ps4MasterVersion: 01.00 + ps4AppVersion: 01.00 + ps4AppType: 0 + ps4ParamSfxPath: + ps4VideoOutPixelFormat: 0 + ps4VideoOutInitialWidth: 1920 + ps4VideoOutBaseModeInitialWidth: 1920 + ps4VideoOutReprojectionRate: 60 + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: + ps4NPtitleDatPath: + ps4RemotePlayKeyAssignment: -1 + ps4RemotePlayKeyMappingDir: + ps4PlayTogetherPlayerCount: 0 + ps4EnterButtonAssignment: 2 + ps4ApplicationParam1: 0 + ps4ApplicationParam2: 0 + ps4ApplicationParam3: 0 + ps4ApplicationParam4: 0 + ps4DownloadDataSize: 0 + ps4GarlicHeapSize: 2048 + ps4ProGarlicHeapSize: 2560 + playerPrefsMaxSize: 32768 + ps4Passcode: bi9UOuSpM2Tlh01vOzwvSikHFswuzleh + ps4pnSessions: 1 + ps4pnPresence: 1 + ps4pnFriends: 1 + ps4pnGameCustomData: 1 + playerPrefsSupport: 0 + enableApplicationExit: 0 + resetTempFolder: 1 + restrictedAudioUsageRights: 0 + ps4UseResolutionFallback: 0 + ps4ReprojectionSupport: 0 + ps4UseAudio3dBackend: 0 + ps4UseLowGarlicFragmentationMode: 1 + ps4SocialScreenEnabled: 0 + ps4ScriptOptimizationLevel: 2 + ps4Audio3dVirtualSpeakerCount: 14 + ps4attribCpuUsage: 0 + ps4PatchPkgPath: + ps4PatchLatestPkgPath: + ps4PatchChangeinfoPath: + ps4PatchDayOne: 0 + ps4attribUserManagement: 0 + ps4attribMoveSupport: 0 + ps4attrib3DSupport: 0 + ps4attribShareSupport: 0 + ps4attribExclusiveVR: 0 + ps4disableAutoHideSplash: 0 + ps4videoRecordingFeaturesUsed: 0 + ps4contentSearchFeaturesUsed: 0 + ps4CompatibilityPS5: 0 + ps4AllowPS5Detection: 0 + ps4GPU800MHz: 1 + ps4attribEyeToEyeDistanceSettingVR: 0 + ps4IncludedModules: [] + ps4attribVROutputEnabled: 0 + monoEnv: + splashScreenBackgroundSourceLandscape: {fileID: 0} + splashScreenBackgroundSourcePortrait: {fileID: 0} + blurSplashScreenBackground: 1 + spritePackerPolicy: + webGLMemorySize: 32 + webGLExceptionSupport: 1 + webGLNameFilesAsHashes: 0 + webGLDataCaching: 1 + webGLDebugSymbols: 0 + webGLEmscriptenArgs: + webGLModulesDirectory: + webGLTemplate: APPLICATION:Default + webGLAnalyzeBuildSize: 0 + webGLUseEmbeddedResources: 0 + webGLCompressionFormat: 0 + webGLWasmArithmeticExceptions: 0 + webGLLinkerTarget: 1 + webGLThreadsSupport: 0 + webGLDecompressionFallback: 0 + webGLPowerPreference: 2 + scriptingDefineSymbols: {} + additionalCompilerArguments: {} + platformArchitecture: {} + scriptingBackend: {} + il2cppCompilerConfiguration: {} + managedStrippingLevel: + EmbeddedLinux: 1 + GameCoreScarlett: 1 + GameCoreXboxOne: 1 + Lumin: 1 + Nintendo Switch: 1 + PS4: 1 + PS5: 1 + Stadia: 1 + WebGL: 1 + Windows Store Apps: 1 + XboxOne: 1 + iPhone: 1 + tvOS: 1 + incrementalIl2cppBuild: {} + suppressCommonWarnings: 1 + allowUnsafeCode: 0 + useDeterministicCompilation: 1 + enableRoslynAnalyzers: 1 + selectedPlatform: 0 + additionalIl2CppArgs: + scriptingRuntimeVersion: 1 + gcIncremental: 1 + assemblyVersionValidation: 1 + gcWBarrierValidation: 0 + apiCompatibilityLevelPerPlatform: {} + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + metroPackageName: 2D_BuiltInRenderer + metroPackageVersion: + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: + metroCertificateNotAfter: 0000000000000000 + metroApplicationDescription: 2D_BuiltInRenderer + wsaImages: {} + metroTileShortName: + metroTileShowName: 0 + metroMediumTileShowName: 0 + metroLargeTileShowName: 0 + metroWideTileShowName: 0 + metroSupportStreamingInstall: 0 + metroLastRequiredScene: 0 + metroDefaultTileSize: 1 + metroTileForegroundText: 2 + metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} + metroSplashScreenUseBackgroundColor: 0 + platformCapabilities: {} + metroTargetDeviceFamilies: {} + metroFTAName: + metroFTAFileTypes: [] + metroProtocolName: + vcxProjDefaultLanguage: + XboxOneProductId: + XboxOneUpdateKey: + XboxOneSandboxId: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: + XboxOneVersion: 1.0.0.0 + XboxOnePackageEncryption: 0 + XboxOnePackageUpdateGranularity: 2 + XboxOneDescription: + XboxOneLanguage: + - enus + XboxOneCapability: [] + XboxOneGameRating: {} + XboxOneIsContentPackage: 0 + XboxOneEnhancedXboxCompatibilityMode: 0 + XboxOneEnableGPUVariability: 1 + XboxOneSockets: {} + XboxOneSplashScreen: {fileID: 0} + XboxOneAllowedProductIds: [] + XboxOnePersistentLocalStorageSize: 0 + XboxOneXTitleMemory: 8 + XboxOneOverrideIdentityName: + XboxOneOverrideIdentityPublisher: + vrEditorSettings: {} + cloudServicesEnabled: {} + luminIcon: + m_Name: + m_ModelFolderPath: + m_PortalFolderPath: + luminCert: + m_CertPath: + m_SignPackage: 1 + luminIsChannelApp: 0 + luminVersion: + m_VersionCode: 1 + m_VersionName: + apiCompatibilityLevel: 6 + activeInputHandler: 0 + windowsGamepadBackendHint: 0 + cloudProjectId: + framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] + projectName: + organizationId: + cloudEnabled: 0 + legacyClampBlendShapeWeights: 0 + playerDataPath: + forceSRGBBlit: 1 + virtualTexturingSupportEnabled: 0 diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt new file mode 100644 index 0000000..d1c9097 --- /dev/null +++ b/ProjectSettings/ProjectVersion.txt @@ -0,0 +1,2 @@ +m_EditorVersion: 6000.0.32f1 +m_EditorVersionWithRevision: 6000.0.32f1 (b2e806cf271c) diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset new file mode 100644 index 0000000..fc2a651 --- /dev/null +++ b/ProjectSettings/QualitySettings.asset @@ -0,0 +1,336 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 5 + m_QualitySettings: + - serializedVersion: 4 + name: Very Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 15 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 1 + globalTextureMipmapLimit: 1 + textureMipmapLimitSettings: [] + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + useLegacyDetailDistribution: 1 + adaptiveVsync: 0 + vSyncCount: 0 + realtimeGICPUUsage: 25 + adaptiveVsyncExtraA: 0 + adaptiveVsyncExtraB: 0 + lodBias: 0.3 + maximumLODLevel: 0 + enableLODCrossFade: 1 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + terrainQualityOverrides: 0 + terrainPixelError: 1 + terrainDetailDensityScale: 1 + terrainBasemapDistance: 1000 + terrainDetailDistance: 80 + terrainTreeDistance: 5000 + terrainBillboardStart: 50 + terrainFadeLength: 5 + terrainMaxTrees: 50 + excludedTargetPlatforms: [] + - serializedVersion: 4 + name: Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 2 + globalTextureMipmapLimit: 0 + textureMipmapLimitSettings: [] + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + useLegacyDetailDistribution: 1 + adaptiveVsync: 0 + vSyncCount: 0 + realtimeGICPUUsage: 25 + adaptiveVsyncExtraA: 0 + adaptiveVsyncExtraB: 0 + lodBias: 0.4 + maximumLODLevel: 0 + enableLODCrossFade: 1 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 16 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + terrainQualityOverrides: 0 + terrainPixelError: 1 + terrainDetailDensityScale: 1 + terrainBasemapDistance: 1000 + terrainDetailDistance: 80 + terrainTreeDistance: 5000 + terrainBillboardStart: 50 + terrainFadeLength: 5 + terrainMaxTrees: 50 + excludedTargetPlatforms: [] + - serializedVersion: 4 + name: Medium + pixelLightCount: 1 + shadows: 1 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 2 + globalTextureMipmapLimit: 0 + textureMipmapLimitSettings: [] + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + useLegacyDetailDistribution: 1 + adaptiveVsync: 0 + vSyncCount: 1 + realtimeGICPUUsage: 25 + adaptiveVsyncExtraA: 0 + adaptiveVsyncExtraB: 0 + lodBias: 0.7 + maximumLODLevel: 0 + enableLODCrossFade: 1 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 64 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + terrainQualityOverrides: 0 + terrainPixelError: 1 + terrainDetailDensityScale: 1 + terrainBasemapDistance: 1000 + terrainDetailDistance: 80 + terrainTreeDistance: 5000 + terrainBillboardStart: 50 + terrainFadeLength: 5 + terrainMaxTrees: 50 + excludedTargetPlatforms: [] + - serializedVersion: 4 + name: High + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + skinWeights: 2 + globalTextureMipmapLimit: 0 + textureMipmapLimitSettings: [] + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + useLegacyDetailDistribution: 1 + adaptiveVsync: 0 + vSyncCount: 1 + realtimeGICPUUsage: 50 + adaptiveVsyncExtraA: 0 + adaptiveVsyncExtraB: 0 + lodBias: 1 + maximumLODLevel: 0 + enableLODCrossFade: 1 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + terrainQualityOverrides: 0 + terrainPixelError: 1 + terrainDetailDensityScale: 1 + terrainBasemapDistance: 1000 + terrainDetailDistance: 80 + terrainTreeDistance: 5000 + terrainBillboardStart: 50 + terrainFadeLength: 5 + terrainMaxTrees: 50 + excludedTargetPlatforms: [] + - serializedVersion: 4 + name: Very High + pixelLightCount: 3 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 70 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + skinWeights: 4 + globalTextureMipmapLimit: 0 + textureMipmapLimitSettings: [] + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + useLegacyDetailDistribution: 1 + adaptiveVsync: 0 + vSyncCount: 1 + realtimeGICPUUsage: 50 + adaptiveVsyncExtraA: 0 + adaptiveVsyncExtraB: 0 + lodBias: 1.5 + maximumLODLevel: 0 + enableLODCrossFade: 1 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 1024 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + terrainQualityOverrides: 0 + terrainPixelError: 1 + terrainDetailDensityScale: 1 + terrainBasemapDistance: 1000 + terrainDetailDistance: 80 + terrainTreeDistance: 5000 + terrainBillboardStart: 50 + terrainFadeLength: 5 + terrainMaxTrees: 50 + excludedTargetPlatforms: [] + - serializedVersion: 4 + name: Ultra + pixelLightCount: 4 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 4 + shadowDistance: 150 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + skinWeights: 255 + globalTextureMipmapLimit: 0 + textureMipmapLimitSettings: [] + anisotropicTextures: 2 + antiAliasing: 0 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + useLegacyDetailDistribution: 1 + adaptiveVsync: 0 + vSyncCount: 1 + realtimeGICPUUsage: 100 + adaptiveVsyncExtraA: 0 + adaptiveVsyncExtraB: 0 + lodBias: 2 + maximumLODLevel: 0 + enableLODCrossFade: 1 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4096 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + terrainQualityOverrides: 0 + terrainPixelError: 1 + terrainDetailDensityScale: 1 + terrainBasemapDistance: 1000 + terrainDetailDistance: 80 + terrainTreeDistance: 5000 + terrainBillboardStart: 50 + terrainFadeLength: 5 + terrainMaxTrees: 50 + excludedTargetPlatforms: [] + m_TextureMipmapLimitGroupNames: [] + m_PerPlatformDefaultQuality: + Android: 2 + GameCoreScarlett: 5 + GameCoreXboxOne: 5 + Lumin: 5 + Nintendo Switch: 5 + PS4: 5 + PS5: 5 + Stadia: 5 + Standalone: 5 + WebGL: 3 + Windows Store Apps: 5 + XboxOne: 5 + iPhone: 2 + tvOS: 2 diff --git a/ProjectSettings/SceneTemplateSettings.json b/ProjectSettings/SceneTemplateSettings.json new file mode 100644 index 0000000..6ed312a --- /dev/null +++ b/ProjectSettings/SceneTemplateSettings.json @@ -0,0 +1,126 @@ +{ + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicMaterial", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "defaultInstantiationMode": 0 + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "", + "defaultInstantiationMode": 1 + }, + "newSceneOverride": 0 +} \ No newline at end of file diff --git a/ProjectSettings/ShaderGraphSettings.asset b/ProjectSettings/ShaderGraphSettings.asset new file mode 100644 index 0000000..df2f009 --- /dev/null +++ b/ProjectSettings/ShaderGraphSettings.asset @@ -0,0 +1,18 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 53 + 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: de02f9e1d18f588468e474319d09a723, type: 3} + m_Name: + m_EditorClassIdentifier: + shaderVariantLimit: 2048 + customInterpolatorErrorThreshold: 32 + customInterpolatorWarningThreshold: 16 + customHeatmapValues: {fileID: 0} diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset new file mode 100644 index 0000000..1c92a78 --- /dev/null +++ b/ProjectSettings/TagManager.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/ProjectSettings/TimeManager.asset b/ProjectSettings/TimeManager.asset new file mode 100644 index 0000000..558a017 --- /dev/null +++ b/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/ProjectSettings/URPProjectSettings.asset b/ProjectSettings/URPProjectSettings.asset new file mode 100644 index 0000000..08faf03 --- /dev/null +++ b/ProjectSettings/URPProjectSettings.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + 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: 247994e1f5a72c2419c26a37e9334c01, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LastMaterialVersion: 9 diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 0000000..a88bee0 --- /dev/null +++ b/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,36 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 1 + m_Enabled: 0 + m_TestMode: 0 + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com + m_Enabled: 0 + m_LogBufferSize: 10 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_TestMode: 0 + m_InitializeOnStartup: 1 + m_PackageRequiringCoreStatsPresent: 0 + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset new file mode 100644 index 0000000..46f38e1 --- /dev/null +++ b/ProjectSettings/VFXManager.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 + m_CompiledVersion: 0 + m_RuntimeVersion: 0 diff --git a/ProjectSettings/VersionControlSettings.asset b/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 0000000..dca2881 --- /dev/null +++ b/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/ProjectSettings/XRSettings.asset b/ProjectSettings/XRSettings.asset new file mode 100644 index 0000000..482590c --- /dev/null +++ b/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file