diff --git a/.gitignore b/.gitignore index 40b1caa..3d557af 100644 --- a/.gitignore +++ b/.gitignore @@ -4,9 +4,9 @@ Temp/ Library/ -# ===================================== # -# Visual Studio / MonoDevelop generated # -# ===================================== # +# =============================================== # +# IDE generated # +# =============================================== # ExportedObj/ obj/ *.svd @@ -18,6 +18,7 @@ obj/ *.user *.unityproj *.booproj +*.consulo/ # ============ # # OS generated # @@ -29,6 +30,14 @@ obj/ .Trashes ehthumbs.db Thumbs.db +Thumbs.db.meta # Output folder Bin/ + +# Models +Assets/Models + +# Git generated +*.orig +*.orig.meta diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..68b3efd --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,12 @@ +{ + "version":"0.2.0", + "configurations":[ + { + "name":"Unity", + "type":"mono", + "request":"attach", + "address":"localhost", + "port":2972 + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..a40b83d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,21 @@ +// Place your settings in this file to overwrite default and user settings. +{ + // Configure glob patterns for excluding files and folders. + "files.exclude": { + "**/.git": true, + "**/.DS_Store": true, + "**/*.meta": true, + "**/*.*.meta": true, + "**/*.unity": true, + "**/*.unityproj": true, + "**/*.mat": true, + "**/*.fbx": true, + "**/*.FBX": true, + "**/*.tga": true, + "**/*.cubemap": true, + "**/**.prefab": true, + "**/Library": true, + "**/ProjectSettings": true, + "**/Temp": true + } +} \ No newline at end of file diff --git a/Assets/Colorful FX.meta b/Assets/Colorful FX.meta new file mode 100644 index 0000000..2a4522e --- /dev/null +++ b/Assets/Colorful FX.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 533fc017900152841a59d945a119bb6e +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Changelog.txt b/Assets/Colorful FX/Changelog.txt new file mode 100644 index 0000000..594fda2 --- /dev/null +++ b/Assets/Colorful FX/Changelog.txt @@ -0,0 +1,180 @@ +4.0.1 +- Fixed: Performance issue with "Lookup Filter (3D)", "Vintage (Fast)" and "LoFi Palette". + +4.0 +- Important: This major update breaks compatibility with previous versions. Please refer to the documentation if you need to update from an earlier version. +- Modified: Complete code refactoring, cleanup, fixes & tweaks. Makes use of new Unity 5 features when available. Some effects have been optimized as well. +- Modified: Re-organized the "Component -> Colorful" menu. +- Modified: Rewrote the "Halftone" effect from scratch. It looks way, way better now. +- Modified: Rewrote the "Levels" effect from scratch. +- Modified: The "Kuwahara" radius limit has been bumped to 6. +- Added: Tooltips (almost) everywhere. +- Added: Unity 5.1+ users, you can click the top-right help button on Colorful components at any time to jump to the documentation. +- Added: "LoFi Palette" effect, with 31 presets to give a retro look to your game. +- Added: "Shadows, Midtones, Highlights" effect (lift/gamma/gain or ASC CDL), also known as the ultimate color correction tool. +- Added: "Dynamic Lookup", a fast and powerful color corrector using a RGB cube. +- Added: "Gradient Ramp (Dynamic)", an alternative to "Gradient Ramp" using the builtin gradient editor instead of a texture ramp. +- Added: High quality "Gaussian Blur" effect. +- Added: Edge aware, "Bilateral Gaussian Blur" effect. +- Added: "Grainy Blur", where blur meets noise. +- Added: "Lens Distortion Blur", an alternative to "Radial Blur" with barrel distortion. +- Added: "Directional Blur" effect. +- Added: "Wave Distortion" effect. +- Added: "Lookup Filter (3D)", faster LUT color grading for Shader Model 3.0+ compatible hardware. +- Added: "Vintage (Fast)", variant of the "Vintage" effect for Shader Model 3.0+ compatible hardware. +- Added: "Pixel Matrix" effect. +- Added: "Noise" (monochrome or colored) to add some fine grain to your renders. +- Added: "S-Curve Contrast", a powerful color correction operator. +- Added: "Dithering", a fast ordered dithering effect. +- Added: "Stroke", an artistic effect to turn your renders into brush strokes. +- Added: "Histogram", a debug graph with Luminance, RGB, Red, Green and Blue view modes. +- Added: "Vignette" option for "Radial Blur" so you can progressively blur toward the edges of the screen. +- Added: An alternative algorithm for the "Sharpen" filter. +- Added: "Wiggle" has been improved. You can now set the Amplitude and it also comes with a slightly slower but better looking mode (optional). +- Added: A "Shape" slider on the "LED" filter to adjust the LEDs look. +- Added: "Fast Vignette" now comes with a color mode. +- Added: "Amount" slider for the "Posterize" effect. +- Fixed: "Analog TV" and "Frost" not working correctly on some iOS devices. +- Fixed: "Negative" now works as expected in Linear color space. +- Fixed: Compilation error on PS4. +- Misc: Brand new, faster and more complete documentation, as well as a dedicated website ! + +3.2 +- Added: "IsActive" public property to the "Glitch" effect to detect when it's on or off. +- Misc: Better handling of shader includes. +- Misc: Made the components easier to extend / inherit. +- Fixed: Fixed a small "leak" in the "Vintage" effect. No more GC allocations on every frame. +- Fixed: Compilation issue when upgrading to Unity 5.1 from an earlier Unity version (UnityEditor API change). + +3.1 +- Added: "Hue Focus" to only display the colors in a given hue range and show the rest as black & white. Works great when used before a "Brightness / Contrast / Gamma" effect to give a sort of Sin City look, where only a few colors are visible and the rest is high-contrast black & white. +- Added: 3 Instagram filters to the "Vintage" effect : Lark, Juno, Reyes. +- Added: A "Random Activation" option to the "Glitch" effect with customizable time ranges. + +3.0.1 +- Fixed: The "Halftone" effect not using the correct aspect ratio for the dots. +- Fixed: Color-space error in the editor. +- Fixed: Issue with the startup dialog. + +3.0 +- Added: "Kuwahara", to give an oil painting look or simply soften the scene render. +- Added: "Glitch". Comes with three glitching modes (interference, tearing, complete). +- Added: "Technicolor", to mimic the classic coloring process from the early days of motion pictures. +- Added: "Channel Clamper", to clamp each color channel independently to a minimum and maximum value. +- Added: "Channel Swapper", to combine or swap color channels. +- Added: "White Balance", to remove unrealistic color cast and shift the neutral tone of the render. +- Added: A "Custom" quality mode to "Radial Blur". You can now put a custom sample count if you don't like the default presets. +- Fixed: Better internal file path control. You should now be able to move the Colorful folder safely. +- Misc: General UI fixes & usability tweaks. +- Misc: Documentation fixes & additions (+ videos for animated effects). +- Misc: Removed the documentation from the package, it's now online only. Benefits : the package size is a lot smaller and imports faster. +- Misc: Bumped the minimum Unity version to 4.5. + +2.2.3 +- Fixed: "Analog TV" failing on some platforms. +- Fixed: A bug introduced in 2.2.1 with "Lookup Filter" and "Vintage" when working in Linear color space. + +2.2.2 +- Fixed: Bug with "Led" and "Pixelate" in Unity 5. +- Misc: Unity 5 package. + +2.2.1 +- Added: An "Amount" slider to "Lookup Filter" and "Vintage" to allow blending on the effects. + +2.2 +- Added: 5 Instagram filters to the "Vintage" effect : Aden, Crema, Ludwig, Perpetua, Slumber. + +2.1.1 +- Added: A "Scanlines Offset" option to the "Analog TV" effect to scroll the scanlines upwards/downwards. + +2.1 +- Added: "Vintage" comes with 19 fast Instagram filters : 1977, Amaro, Brannan, Earlybird, Hefe, Hudson, Inkwell, Kelvin, LoFi, Mayfair, Nashville, Rise, Sierra, Sutro, Toaster, Valencia, Walden, Willow, X-Pro II. + +2.0.2 +- Fixed: Bug with "Lookup Filter" in linear mode. + +2.0.1 +- Fixed: HDR bug with the "Lookup Filter". +- Modified: The "Lookup Filter" documentation has been updated. Make sure the "Aniso Level" on your LUTs is set to 0. + +2.0 +- Added: A new quickstart launcher when you import or update Colorful. +- Added: "About Colorful" and "Colorful Manual" in the Help menu. +- Added: "Contrast Vignette". The old "Fast Vignette" plays on darkness and saturation, this new one focuses on darkness and contrast enhancement which results in a more photographic look. +- Added: A "Center" property to "Fast Vignette" to change the center point. +- Added: "Hue / Saturation / Value" now comes with an optional advanced mode. This mode is a bit slower but way more powerful as you can now work separately on reds, yellows, greens, cyans, blues and magentas (like Photoshop). +- Added: "Vibrance" now comes with an optional advanced mode which uses a different algorithm and let you tweak how channels (RGB) are affected. +- Modified: The "Levels" editor has been rewritten from scratch. It's now more efficient and comes with a new "Auto B&W" feature (see the doc). Its public API hasn't changed so it should be compatible with the old one. +- Modified: Bumped the minimum Unity version to 4.3. If for some reason you need a version compatible with Unity 3.5, please contact me. +- Misc: Massive optimizations to the "Hue / Saturation / Value" shader. +- Misc: Global cleanup pass and minor optimizations on all editor classes and shaders. +- Misc: Lots of UI fixes & usability tweaks. +- Misc: A few documentation fixes & additions. + +1.7.1 +- Added: "Auto Timer" & "Auto Phase" options to "Wiggle" and "Analog TV". +- Added: Icons for the components to make them easier to spot. +- Fixed: The LUT texture used with "Lookup Filter" now bypasses sRGB sampling so it works correctly with the Linear color space. +- Misc: A few documentation fixes & additions. + +1.7 +- Added: "Halftone" (CMYK and Black & White). +- Added: "Cross Stitch". +- Fixed: Serialization bug affecting all effects' custom inspectors. + +1.6.1 +- Added: Optional pixel perfect mode to the "Pixelate" and "LED" effects. +- Added: A ratio settings (can be set to automatic) to the "Pixelate" and "LED" effects to change the cell shape. +- Added: Optional noise pass on the Threshold effect. +- Added: HeatRamp.png in the resources folder (can be used to emulate a thermal vision with the Gradient Ramp effect). +- Misc: Documentation update. + +1.6 +- Added: "Convolution Matrix 3x3". +- Added: "Blend" (works with Texture2D and MovieTexture), featuring 21 blending modes : Darken, Multiply, Color Burn, Linear Burn, Darker Color, Lighten, Screen, Color Dodge, Linear Dodge (Add), Lighter Color, Overlay, Soft Light, Hard Light, Vivid Light, Linear Light, Pin Light, Hard Mix, Difference, Exclusion, Subtract, Divide. +- Added: New option to desaturate the "Fast Vignette". +- Misc: Refactoring, improvements and optimizations of the following effects : Analog TV, Fast Vignette, Frost, Grayscale, Radial Blur. + +1.5 +- Added: "Gradient Ramp". +- Added: "Lookup Filter" (advanced color grading). +- Added: "Negative" (with proper transition). +- Added: "Wiggle" (underwater distortion). +- Fixed: Unity 4.3 compatibility. +- Misc: General code cleaning, a few minor fixes and various optimizations. +- Misc: Full documentation. + +1.4.1 +- Fixed: A weird bug with "RGB Split" only working in Directx 11 mode in some setups. + +1.4 +- Added: "RGB Split". +- Added: "Sharpen". + +1.3.4 +- Fixed: Bug with Unity 4.1 preventing most shaders to work correctly. + +1.3.2 +- Added: A new slider to fade the "Double vision" effect. +- Fixed: Brightness bug in "Double vision". +- Fixed: A null pointer exception in "Levels" that could happen in the Editor. + +1.3.1 +- Misc: Performance improvements. +- Misc: Code cleaning. + +1.3 +- Fixed: Now compatible with Unity 4 and DirectX 11. +- Fixed: Lots of small bugs. + +1.2 +- Added: "Analog TV", emulates a CRT screen with scanlines, static noise and barrel distortion ! +- Added: "Double Vision". +- Added: "Frost", that looks like viewing through an ice-frosted glass (can be used as a vignette too, to "freeze" the screen progressively). + +1.1 +- Modified: "Photo Filter" now takes a Color as input instead of three floats. +- Added: "Radial Blur", also known as "Zoom" Blur. + +1.0 +- Misc: Initial release. \ No newline at end of file diff --git a/Assets/Colorful FX/Changelog.txt.meta b/Assets/Colorful FX/Changelog.txt.meta new file mode 100644 index 0000000..74cc11a --- /dev/null +++ b/Assets/Colorful FX/Changelog.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 9705500cced88874d82a6a2f1df3ac97 +TextScriptImporter: + userData: diff --git a/Assets/Colorful FX/Editor.meta b/Assets/Colorful FX/Editor.meta new file mode 100644 index 0000000..95ce5a5 --- /dev/null +++ b/Assets/Colorful FX/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2fdd140e2a5bdd94c8646163b43aa737 +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/BaseEffectEditor.cs b/Assets/Colorful FX/Editor/BaseEffectEditor.cs new file mode 100644 index 0000000..1d1da81 --- /dev/null +++ b/Assets/Colorful FX/Editor/BaseEffectEditor.cs @@ -0,0 +1,44 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + public class BaseEffectEditor : Editor + { + public static GUIStyle tabLeft; + public static GUIStyle tabMiddle; + public static GUIStyle tabRight; + public static GUIStyle tabLeftOn; + public static GUIStyle tabMiddleOn; + public static GUIStyle tabRightOn; + + public override void OnInspectorGUI() + { + if (tabLeft == null) + { + tabLeft = new GUIStyle(EditorStyles.miniButtonLeft); + tabMiddle = new GUIStyle(EditorStyles.miniButtonMid); + tabRight = new GUIStyle(EditorStyles.miniButtonRight); + + tabLeftOn = new GUIStyle(tabLeft); + tabLeftOn.active = tabLeft.onActive; + tabLeftOn.normal = tabLeft.onNormal; + tabLeftOn.hover = tabLeft.onHover; + + tabMiddleOn = new GUIStyle(tabMiddle); + tabMiddleOn.active = tabMiddle.onActive; + tabMiddleOn.normal = tabMiddle.onNormal; + tabMiddleOn.hover = tabMiddle.onHover; + + tabRightOn = new GUIStyle(tabRight); + tabRightOn.active = tabRight.onActive; + tabRightOn.normal = tabRight.onNormal; + tabRightOn.hover = tabRight.onHover; + } + } + } +} diff --git a/Assets/Colorful FX/Editor/BaseEffectEditor.cs.meta b/Assets/Colorful FX/Editor/BaseEffectEditor.cs.meta new file mode 100644 index 0000000..32854a2 --- /dev/null +++ b/Assets/Colorful FX/Editor/BaseEffectEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51af486729aacac4a9de2f9e05dc5bb2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects.meta b/Assets/Colorful FX/Editor/Effects.meta new file mode 100644 index 0000000..56e8520 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f9b8f4fd50fc5fa4f81dc3fee6bb050c +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs b/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs new file mode 100644 index 0000000..264d1e7 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs @@ -0,0 +1,73 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(AnalogTV))] + public class AnalogTVEditor : BaseEffectEditor + { + SerializedProperty p_AutomaticPhase; + SerializedProperty p_Phase; + SerializedProperty p_ConvertToGrayscale; + SerializedProperty p_NoiseIntensity; + SerializedProperty p_ScanlinesIntensity; + SerializedProperty p_ScanlinesCount; + SerializedProperty p_ScanlinesOffset; + SerializedProperty p_Distortion; + SerializedProperty p_CubicDistortion; + SerializedProperty p_Scale; + + void OnEnable() + { + p_AutomaticPhase = serializedObject.FindProperty("AutomaticPhase"); + p_Phase = serializedObject.FindProperty("Phase"); + p_ConvertToGrayscale = serializedObject.FindProperty("ConvertToGrayscale"); + p_NoiseIntensity = serializedObject.FindProperty("NoiseIntensity"); + p_ScanlinesIntensity = serializedObject.FindProperty("ScanlinesIntensity"); + p_ScanlinesCount = serializedObject.FindProperty("ScanlinesCount"); + p_ScanlinesOffset = serializedObject.FindProperty("ScanlinesOffset"); + p_Distortion = serializedObject.FindProperty("Distortion"); + p_CubicDistortion = serializedObject.FindProperty("CubicDistortion"); + p_Scale = serializedObject.FindProperty("Scale"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_AutomaticPhase); + EditorGUI.BeginDisabledGroup(p_AutomaticPhase.boolValue); + { + EditorGUILayout.PropertyField(p_Phase); + } + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.PropertyField(p_ConvertToGrayscale); + + GUILayout.Label("Analog Effect", EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_NoiseIntensity); + EditorGUILayout.PropertyField(p_ScanlinesIntensity); + EditorGUILayout.PropertyField(p_ScanlinesCount); + EditorGUILayout.PropertyField(p_ScanlinesOffset); + } + EditorGUI.indentLevel--; + + GUILayout.Label("Barrel Distortion", EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_Distortion); + EditorGUILayout.PropertyField(p_CubicDistortion); + EditorGUILayout.PropertyField(p_Scale, new GUIContent("Scale (Zoom)")); + } + EditorGUI.indentLevel--; + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs.meta new file mode 100644 index 0000000..339e0ce --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b50bbf63bbe2da2469b67479b47bf989 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs new file mode 100644 index 0000000..463304d --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(BilateralGaussianBlur))] + public class BilateralGaussianBlurEditor : BaseEffectEditor + { + SerializedProperty p_Passes; + SerializedProperty p_Threshold; + + void OnEnable() + { + p_Passes = serializedObject.FindProperty("Passes"); + p_Threshold = serializedObject.FindProperty("Threshold"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Passes); + EditorGUILayout.PropertyField(p_Threshold); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs.meta new file mode 100644 index 0000000..a1dec71 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66e81a5c475bf3c439b5a67027bc36fb +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs b/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs new file mode 100644 index 0000000..0e6e33b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(BleachBypass))] + public class BleachBypassEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs.meta new file mode 100644 index 0000000..b4012b9 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4576dc4584db1b4f9f1d80bdae148f6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/BlendEditor.cs b/Assets/Colorful FX/Editor/Effects/BlendEditor.cs new file mode 100644 index 0000000..3a7a4a3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BlendEditor.cs @@ -0,0 +1,63 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Blend))] + public class BlendEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + SerializedProperty p_Texture; + SerializedProperty p_Mode; + + static GUIContent[] modes = { + new GUIContent("Darken"), + new GUIContent("Multiply"), + new GUIContent("Color Burn"), + new GUIContent("Linear Burn"), + new GUIContent("Darker Color"), + new GUIContent(""), + new GUIContent("Lighten"), + new GUIContent("Screen"), + new GUIContent("Color Dodge"), + new GUIContent("Linear Dodge (Add)"), + new GUIContent("Lighter Color"), + new GUIContent(""), + new GUIContent("Overlay"), + new GUIContent("Soft Light"), + new GUIContent("Hard Light"), + new GUIContent("Vivid Light"), + new GUIContent("Linear Light"), + new GUIContent("Pin Light"), + new GUIContent("Hard Mix"), + new GUIContent(""), + new GUIContent("Difference"), + new GUIContent("Exclusion"), + new GUIContent("Subtract"), + new GUIContent("Divide") + }; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + p_Texture = serializedObject.FindProperty("Texture"); + p_Mode = serializedObject.FindProperty("Mode"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + // Using intValue, enumValueIndex seems broken + p_Mode.intValue = EditorGUILayout.Popup(new GUIContent("Mode", "Blending Mode."), p_Mode.intValue, modes); + EditorGUILayout.PropertyField(p_Texture); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/BlendEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/BlendEditor.cs.meta new file mode 100644 index 0000000..75c88a8 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BlendEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1e832d91494c75e458f49538da81924c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs b/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs new file mode 100644 index 0000000..1831528 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs @@ -0,0 +1,48 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(BrightnessContrastGamma))] + public class BrightnessContrastGammaEditor : BaseEffectEditor + { + SerializedProperty p_Brightness; + SerializedProperty p_Contrast; + SerializedProperty p_ContrastCoeff; + SerializedProperty p_Gamma; + + void OnEnable() + { + p_Brightness = serializedObject.FindProperty("Brightness"); + p_Contrast = serializedObject.FindProperty("Contrast"); + p_ContrastCoeff = serializedObject.FindProperty("ContrastCoeff"); + p_Gamma = serializedObject.FindProperty("Gamma"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Brightness); + + EditorGUILayout.PropertyField(p_Contrast); + EditorGUI.indentLevel++; + { + Vector3 coeff = p_ContrastCoeff.vector3Value; + coeff.x = EditorGUILayout.Slider(new GUIContent("Red Channel", "Contrast factor on the red channel."), coeff.x, 0f, 1f); + coeff.y = EditorGUILayout.Slider(new GUIContent("Green Channel", "Contrast factor on the green channel."), coeff.y, 0f, 1f); + coeff.z = EditorGUILayout.Slider(new GUIContent("Blue Channel", "Contrast factor on the blue channel."), coeff.z, 0f, 1f); + p_ContrastCoeff.vector3Value = coeff; + } + EditorGUI.indentLevel--; + + EditorGUILayout.PropertyField(p_Gamma); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs.meta new file mode 100644 index 0000000..8ae3f0e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7d54a49fbdf254545a0f584279ba005b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs b/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs new file mode 100644 index 0000000..8f9047e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs @@ -0,0 +1,69 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ChannelClamper))] + public class ChannelClamperEditor : BaseEffectEditor + { + SerializedProperty p_Red; + SerializedProperty p_Green; + SerializedProperty p_Blue; + + void OnEnable() + { + p_Red = serializedObject.FindProperty("Red"); + p_Green = serializedObject.FindProperty("Green"); + p_Blue = serializedObject.FindProperty("Blue"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + Vector2 red = p_Red.vector2Value; + Vector2 green = p_Green.vector2Value; + Vector2 blue = p_Blue.vector2Value; + + EditorGUILayout.MinMaxSlider(new GUIContent("Red Channel", "Red channel limits."), ref red.x, ref red.y, 0f, 1f); + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(" "); + red.x = EditorGUILayout.FloatField(red.x, GUILayout.Width(60)); + GUILayout.FlexibleSpace(); + red.y = EditorGUILayout.FloatField(red.y, GUILayout.Width(60)); + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.MinMaxSlider(new GUIContent("Green Channel", "Green channel limits."), ref green.x, ref green.y, 0f, 1f); + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(" "); + green.x = EditorGUILayout.FloatField(green.x, GUILayout.Width(60)); + GUILayout.FlexibleSpace(); + green.y = EditorGUILayout.FloatField(green.y, GUILayout.Width(60)); + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.MinMaxSlider(new GUIContent("Blue Channel", "Blue channel limits."), ref blue.x, ref blue.y, 0f, 1f); + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(" "); + blue.x = EditorGUILayout.FloatField(blue.x, GUILayout.Width(60)); + GUILayout.FlexibleSpace(); + blue.y = EditorGUILayout.FloatField(blue.y, GUILayout.Width(60)); + } + EditorGUILayout.EndHorizontal(); + + p_Red.vector2Value = red; + p_Green.vector2Value = green; + p_Blue.vector2Value = blue; + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs.meta new file mode 100644 index 0000000..2252dbe --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dff6c3f440b091d42bc9c207fa8ca094 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs b/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs new file mode 100644 index 0000000..8fec4bf --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs @@ -0,0 +1,68 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ChannelMixer))] + public class ChannelMixerEditor : BaseEffectEditor + { + SerializedProperty p_Red; + SerializedProperty p_Green; + SerializedProperty p_Blue; + SerializedProperty p_Constant; + + SerializedProperty p_CurrentChannel; + + void OnEnable() + { + p_Red = serializedObject.FindProperty("Red"); + p_Green = serializedObject.FindProperty("Green"); + p_Blue = serializedObject.FindProperty("Blue"); + p_Constant = serializedObject.FindProperty("Constant"); + + p_CurrentChannel = serializedObject.FindProperty("e_CurrentChannel"); + } + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + serializedObject.Update(); + + int currentChannel = p_CurrentChannel.intValue; + + GUILayout.BeginHorizontal(); + + if (GUILayout.Button("Red", (currentChannel == 0) ? tabLeftOn : tabLeft)) currentChannel = 0; + if (GUILayout.Button("Green", (currentChannel == 1) ? tabMiddleOn : tabMiddle)) currentChannel = 1; + if (GUILayout.Button("Blue", (currentChannel == 2) ? tabRightOn : tabRight)) currentChannel = 2; + + GUILayout.EndHorizontal(); + + Vector3 constant = p_Constant.vector3Value; + + if (currentChannel == 0) ChannelUI(p_Red, ref constant.x); + if (currentChannel == 1) ChannelUI(p_Green, ref constant.y); + if (currentChannel == 2) ChannelUI(p_Blue, ref constant.z); + + p_Constant.vector3Value = constant; + p_CurrentChannel.intValue = currentChannel; + + serializedObject.ApplyModifiedProperties(); + } + + void ChannelUI(SerializedProperty channel, ref float constant) + { + Vector3 c = channel.vector3Value; + c.x = EditorGUILayout.Slider(new GUIContent("% Red"), c.x, -200f, 200f); + c.y = EditorGUILayout.Slider(new GUIContent("% Green"), c.y, -200f, 200f); + c.z = EditorGUILayout.Slider(new GUIContent("% Blue"), c.z, -200f, 200f); + constant = EditorGUILayout.Slider(new GUIContent("Constant"), constant, -200f, 200f); + channel.vector3Value = c; + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs.meta new file mode 100644 index 0000000..7b0f8e3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d45a191de515ea40bace7c61083bf36 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs b/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs new file mode 100644 index 0000000..27088c3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ChannelSwapper))] + public class ChannelSwapperEditor : BaseEffectEditor + { + SerializedProperty p_RedSource; + SerializedProperty p_GreenSource; + SerializedProperty p_BlueSource; + + void OnEnable() + { + p_RedSource = serializedObject.FindProperty("RedSource"); + p_GreenSource = serializedObject.FindProperty("GreenSource"); + p_BlueSource = serializedObject.FindProperty("BlueSource"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_RedSource); + EditorGUILayout.PropertyField(p_GreenSource); + EditorGUILayout.PropertyField(p_BlueSource); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs.meta new file mode 100644 index 0000000..feb41c4 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58395e03ec9542e40ba5b4dc7c6e84c0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs b/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs new file mode 100644 index 0000000..428a018 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs @@ -0,0 +1,38 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ChromaticAberration))] + public class ChromaticAberrationEditor : BaseEffectEditor + { + SerializedProperty p_RedRefraction; + SerializedProperty p_GreenRefraction; + SerializedProperty p_BlueRefraction; + SerializedProperty p_PreserveAlpha; + + void OnEnable() + { + p_RedRefraction = serializedObject.FindProperty("RedRefraction"); + p_GreenRefraction = serializedObject.FindProperty("GreenRefraction"); + p_BlueRefraction = serializedObject.FindProperty("BlueRefraction"); + p_PreserveAlpha = serializedObject.FindProperty("PreserveAlpha"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_RedRefraction); + EditorGUILayout.PropertyField(p_GreenRefraction); + EditorGUILayout.PropertyField(p_BlueRefraction); + EditorGUILayout.PropertyField(p_PreserveAlpha); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs.meta new file mode 100644 index 0000000..adc7d0d --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eec1e784f0174b44c891fdbfdb665931 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs b/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs new file mode 100644 index 0000000..10b654a --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs @@ -0,0 +1,58 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ContrastVignette))] + public class ContrastVignetteEditor : BaseEffectEditor + { + SerializedProperty p_Center; + SerializedProperty p_Sharpness; + SerializedProperty p_Darkness; + SerializedProperty p_Contrast; + SerializedProperty p_ContrastCoeff; + SerializedProperty p_EdgeBlending; + + void OnEnable() + { + p_Center = serializedObject.FindProperty("Center"); + p_Sharpness = serializedObject.FindProperty("Sharpness"); + p_Darkness = serializedObject.FindProperty("Darkness"); + p_Contrast = serializedObject.FindProperty("Contrast"); + p_ContrastCoeff = serializedObject.FindProperty("ContrastCoeff"); + p_EdgeBlending = serializedObject.FindProperty("EdgeBlending"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Center); + EditorGUILayout.PropertyField(p_Sharpness); + EditorGUILayout.PropertyField(p_Darkness); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(p_Contrast); + EditorGUI.indentLevel++; + { + Vector3 coeff = p_ContrastCoeff.vector3Value; + coeff.x = EditorGUILayout.Slider(new GUIContent("Red Channel", "Contrast factor on the red channel."), coeff.x, 0f, 1f); + coeff.y = EditorGUILayout.Slider(new GUIContent("Green Channel", "Contrast factor on the green channel."), coeff.y, 0f, 1f); + coeff.z = EditorGUILayout.Slider(new GUIContent("Blue Channel", "Contrast factor on the blue channel."), coeff.z, 0f, 1f); + p_ContrastCoeff.vector3Value = coeff; + } + EditorGUI.indentLevel--; + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(p_EdgeBlending); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs.meta new file mode 100644 index 0000000..62b12da --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d01a95f6eb43e5442bd35d505c95e4eb +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs b/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs new file mode 100644 index 0000000..3a52f58 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs @@ -0,0 +1,95 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Convolution3x3))] + public class Convolution3x3Editor : BaseEffectEditor + { + SerializedProperty p_Divisor; + SerializedProperty p_KernelTop; + SerializedProperty p_KernelMiddle; + SerializedProperty p_KernelBottom; + SerializedProperty p_Amount; + + int selectedPreset = 0; + static string[] presets = { "Default", "Sharpen", "Emboss", "Gaussian Blur", "Laplacian Edge Detection", "Prewitt Edge Detection", "Frei-Chen Edge Detection" }; + static Vector3[,] presetsData = { { new Vector3(0f, 0f, 0f), new Vector3(0f, 1f, 0f), new Vector3(0f, 0f, 0f) }, + { new Vector3(0f, -1f, 0f), new Vector3(-1f, 5f, -1f), new Vector3(0f, -1f, 0f) }, + { new Vector3(-2f, -1f, 0f), new Vector3(-1f, 1f, 1f), new Vector3(0f, 1f, 2f) }, + { new Vector3(1f, 2f, 1f), new Vector3(2f, 4f, 2f), new Vector3(1f, 2f, 1f) }, + { new Vector3(0f, -1f, 0f), new Vector3(-1f, 4f, -1f), new Vector3(0f, -1f, 0f) }, + { new Vector3(0f, 1f, 1f), new Vector3(-1f, 0f, 1f), new Vector3(-1f, -1f, 0f) }, + { new Vector3(-1f, -1.4142f, -1f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1.4142f, 1f) } }; + static float[] presetsDiv = { 1f, 1f, 1f, 16f, 1f, 1f, 1f }; + + void OnEnable() + { + p_Divisor = serializedObject.FindProperty("Divisor"); + p_KernelTop = serializedObject.FindProperty("KernelTop"); + p_KernelMiddle = serializedObject.FindProperty("KernelMiddle"); + p_KernelBottom = serializedObject.FindProperty("KernelBottom"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Divisor); + p_Divisor.floatValue = Mathf.Max(1e-5f, p_Divisor.floatValue); + + Vector3 temp = p_KernelTop.vector3Value; + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(new GUIContent("Kernel", "The kernel matrix.")); + temp.x = EditorGUILayout.FloatField(temp.x); + temp.y = EditorGUILayout.FloatField(temp.y); + temp.z = EditorGUILayout.FloatField(temp.z); + } + EditorGUILayout.EndHorizontal(); + p_KernelTop.vector3Value = temp; + + temp = p_KernelMiddle.vector3Value; + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(" "); + temp.x = EditorGUILayout.FloatField(temp.x); + temp.y = EditorGUILayout.FloatField(temp.y); + temp.z = EditorGUILayout.FloatField(temp.z); + } + EditorGUILayout.EndHorizontal(); + p_KernelMiddle.vector3Value = temp; + + temp = p_KernelBottom.vector3Value; + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(" "); + temp.x = EditorGUILayout.FloatField(temp.x); + temp.y = EditorGUILayout.FloatField(temp.y); + temp.z = EditorGUILayout.FloatField(temp.z); + } + EditorGUILayout.EndHorizontal(); + p_KernelBottom.vector3Value = temp; + + EditorGUILayout.PropertyField(p_Amount); + + EditorGUI.BeginChangeCheck(); + selectedPreset = EditorGUILayout.Popup("Preset", selectedPreset, presets); + + if (EditorGUI.EndChangeCheck()) + { + p_KernelTop.vector3Value = presetsData[selectedPreset, 0]; + p_KernelMiddle.vector3Value = presetsData[selectedPreset, 1]; + p_KernelBottom.vector3Value = presetsData[selectedPreset, 2]; + p_Divisor.floatValue = presetsDiv[selectedPreset]; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs.meta b/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs.meta new file mode 100644 index 0000000..0c738e2 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d3bc843f4e64761439439cd8247a8d37 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs b/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs new file mode 100644 index 0000000..e948ddc --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs @@ -0,0 +1,38 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(CrossStitch))] + public class CrossStitchEditor : BaseEffectEditor + { + SerializedProperty p_Size; + SerializedProperty p_Brightness; + SerializedProperty p_Invert; + SerializedProperty p_Pixelize; + + void OnEnable() + { + p_Size = serializedObject.FindProperty("Size"); + p_Brightness = serializedObject.FindProperty("Brightness"); + p_Invert = serializedObject.FindProperty("Invert"); + p_Pixelize = serializedObject.FindProperty("Pixelize"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Size); + EditorGUILayout.PropertyField(p_Brightness); + EditorGUILayout.PropertyField(p_Invert); + EditorGUILayout.PropertyField(p_Pixelize); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs.meta new file mode 100644 index 0000000..f1e3c7e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f0b83e28ce69a184eb48e2606a945593 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs new file mode 100644 index 0000000..c83152b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs @@ -0,0 +1,41 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(DirectionalBlur))] + public class DirectionalBlurEditor : BaseEffectEditor + { + SerializedProperty p_Quality; + SerializedProperty p_Samples; + SerializedProperty p_Strength; + SerializedProperty p_Angle; + + void OnEnable() + { + p_Quality = serializedObject.FindProperty("Quality"); + p_Samples = serializedObject.FindProperty("Samples"); + p_Strength = serializedObject.FindProperty("Strength"); + p_Angle = serializedObject.FindProperty("Angle"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Quality); + + if (p_Quality.intValue == (int)DirectionalBlur.QualityPreset.Custom) + EditorGUILayout.PropertyField(p_Samples); + + EditorGUILayout.PropertyField(p_Strength); + EditorGUILayout.PropertyField(p_Angle); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs.meta new file mode 100644 index 0000000..06ed061 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d96b81a86df7fc64ea61a25c473a2d93 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs b/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs new file mode 100644 index 0000000..3908126 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs @@ -0,0 +1,53 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Dithering))] + public class DitheringEditor : BaseEffectEditor + { + SerializedProperty p_ShowOriginal; + SerializedProperty p_ConvertToGrayscale; + SerializedProperty p_RedLuminance; + SerializedProperty p_GreenLuminance; + SerializedProperty p_BlueLuminance; + SerializedProperty p_Amount; + + void OnEnable() + { + p_ShowOriginal = serializedObject.FindProperty("ShowOriginal"); + p_ConvertToGrayscale = serializedObject.FindProperty("ConvertToGrayscale"); + p_RedLuminance = serializedObject.FindProperty("RedLuminance"); + p_GreenLuminance = serializedObject.FindProperty("GreenLuminance"); + p_BlueLuminance = serializedObject.FindProperty("BlueLuminance"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_ShowOriginal); + EditorGUILayout.PropertyField(p_ConvertToGrayscale); + + if (p_ConvertToGrayscale.boolValue) + { + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_RedLuminance, new GUIContent("Red")); + EditorGUILayout.PropertyField(p_GreenLuminance, new GUIContent("Green")); + EditorGUILayout.PropertyField(p_BlueLuminance, new GUIContent("Blue")); + } + EditorGUI.indentLevel--; + } + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs.meta new file mode 100644 index 0000000..d2bcd39 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 43490eb5f605e514584169a9fcd414c8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs b/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs new file mode 100644 index 0000000..e4a64ac --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(DoubleVision))] + public class DoubleVisionEditor : BaseEffectEditor + { + SerializedProperty p_Displace; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Displace = serializedObject.FindProperty("Displace"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Displace); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs.meta new file mode 100644 index 0000000..865f788 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ea8f17d16dc36b41b065f4aa0c4dcaf +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs b/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs new file mode 100644 index 0000000..2149eee --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs @@ -0,0 +1,227 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(DynamicLookup))] + public class DynamicLookupEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + SerializedProperty p_White; + SerializedProperty p_Black; + SerializedProperty p_Red; + SerializedProperty p_Green; + SerializedProperty p_Blue; + SerializedProperty p_Yellow; + SerializedProperty p_Magenta; + SerializedProperty p_Cyan; + + static Material m_GraphMaterial; + static Texture2D m_CursorActive; + static Texture2D m_CursorInactive; + + SerializedProperty[] m_Colors; + SerializedProperty m_SelectedColor; + Rect[] m_ClickRectsWhite; + Rect[] m_ClickRectsBlack; + float m_InspectorWidth = 1f; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + p_White = serializedObject.FindProperty("White"); + p_Black = serializedObject.FindProperty("Black"); + p_Red = serializedObject.FindProperty("Red"); + p_Green = serializedObject.FindProperty("Green"); + p_Blue = serializedObject.FindProperty("Blue"); + p_Yellow = serializedObject.FindProperty("Yellow"); + p_Magenta = serializedObject.FindProperty("Magenta"); + p_Cyan = serializedObject.FindProperty("Cyan"); + + m_Colors = new SerializedProperty[] { p_White, p_Red, p_Magenta, p_Blue, p_Cyan, p_Green, p_Yellow }; + m_ClickRectsWhite = new Rect[7]; + m_ClickRectsBlack = new Rect[7]; + } + + void CheckResources() + { + if (m_GraphMaterial == null) + { + m_GraphMaterial = new Material(Shader.Find("Hidden/Colorful/Editor/_DynamicLookup")); + m_GraphMaterial.hideFlags = HideFlags.HideAndDontSave; + } + + if (m_CursorActive == null) + m_CursorActive = Resources.Load("UI/ColorCubeCursorActive"); + + if (m_CursorInactive == null) + m_CursorInactive = Resources.Load("UI/ColorCubeCursorInactive"); + } + + void DrawIsometricCube(Rect r, SerializedProperty centerColor, bool seeThrough) + { + CheckResources(); + m_Colors[0] = centerColor; + m_GraphMaterial.SetPass(0); + + // Events + Event e = Event.current; + Rect[] clickRects = seeThrough ? m_ClickRectsBlack : m_ClickRectsWhite; + + if (e.type == EventType.MouseDown) + { + Vector2 pos = e.mousePosition; + + for (int i = 0; i < m_ClickRectsWhite.Length; i++) + { + if (clickRects[i].Contains(pos)) + { + m_SelectedColor = m_Colors[i]; + e.Use(); + break; + } + } + } + + // Points + float size = Mathf.Min(r.height, r.width) - 30f; + float size_2 = size / 2f; + float size_4 = size / 4f; + float centerW = r.x + r.width / 2f; + float centerH = r.y + r.height / 2f + 5f; + + Vector3[] points = { + new Vector3(centerW, centerH), // White / Black + new Vector3(centerW, centerH - size_2), // Red + new Vector3(centerW + size_2, centerH - size_4), // Magenta + new Vector3(centerW + size_2, centerH + size_4), // Blue + new Vector3(centerW, centerH + size_2), // Cyan + new Vector3(centerW - size_2, centerH + size_4), // Green + new Vector3(centerW - size_2, centerH - size_4), // Yellow + }; + + // Fill + GL.PushMatrix(); + { + GL.Begin(GL.TRIANGLES); + { + // Top right + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Red.colorValue); GL.Vertex(points[1]); + GL.Color(p_Magenta.colorValue); GL.Vertex(points[2]); + + // Right + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Magenta.colorValue); GL.Vertex(points[2]); + GL.Color(p_Blue.colorValue); GL.Vertex(points[3]); + + // Bottom right + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Blue.colorValue); GL.Vertex(points[3]); + GL.Color(p_Cyan.colorValue); GL.Vertex(points[4]); + + // Bottom left + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Cyan.colorValue); GL.Vertex(points[4]); + GL.Color(p_Green.colorValue); GL.Vertex(points[5]); + + // Left + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Green.colorValue); GL.Vertex(points[5]); + GL.Color(p_Yellow.colorValue); GL.Vertex(points[6]); + + // Top left + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Yellow.colorValue); GL.Vertex(points[6]); + GL.Color(p_Red.colorValue); GL.Vertex(points[1]); + } + GL.End(); + } + GL.PopMatrix(); + + // Inlines + if (!seeThrough) + { + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[2] }); + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[4] }); + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[6] }); + } + else + { + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[1] }); + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[3] }); + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[5] }); + } + + // Outlines + Handles.color = new Color(1f, 1f, 1f, 2f); + Handles.DrawAAPolyLine(4f, new Vector3[] { + points[1], points[2], points[3], points[4], + points[5], points[6], points[1] + }); + + // Cursors + for (int i = 0; i < points.Length; i++) + { + Rect cursorRect = new Rect(points[i].x - 8f, points[i].y - 8f, 16f, 16f); + Texture2D cursor = m_CursorInactive; + + if (m_SelectedColor == m_Colors[i]) + cursor = m_CursorActive; + + GUI.DrawTexture(cursorRect, cursor); + cursorRect = new Rect(cursorRect.x - 6f, cursorRect.y - 6f, cursorRect.width + 12f, cursorRect.height + 12f); + + if (e.type == EventType.Repaint) + { + if (seeThrough) + m_ClickRectsBlack[i] = cursorRect; + else + m_ClickRectsWhite[i] = cursorRect; + } + } + } + + void ComputeInspectorWidth() + { + // Dirty trick to get the inspector width, works with scrollbars too + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + EditorGUILayout.EndHorizontal(); + + float w = GUILayoutUtility.GetLastRect().width; + + if (Event.current.type == EventType.Repaint) + m_InspectorWidth = w; + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + ComputeInspectorWidth(); + + EditorGUILayout.BeginHorizontal(); + { + float h = Mathf.Min(m_InspectorWidth / 2f, 216f); + + DrawIsometricCube(GUILayoutUtility.GetRect(50f, h), p_White, false); + DrawIsometricCube(GUILayoutUtility.GetRect(50f, h), p_Black, true); + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Space(); + + if (m_SelectedColor != null) + EditorGUILayout.PropertyField(m_SelectedColor); + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs.meta new file mode 100644 index 0000000..071a34c --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a18b5e6e202496840a9d0e1e138a7fd8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs b/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs new file mode 100644 index 0000000..11b1782 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs @@ -0,0 +1,45 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + using ColorMode = FastVignette.ColorMode; + + [CustomEditor(typeof(FastVignette))] + public class FastVignetteEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Color; + SerializedProperty p_Center; + SerializedProperty p_Sharpness; + SerializedProperty p_Darkness; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Color = serializedObject.FindProperty("Color"); + p_Center = serializedObject.FindProperty("Center"); + p_Sharpness = serializedObject.FindProperty("Sharpness"); + p_Darkness = serializedObject.FindProperty("Darkness"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + + if (p_Mode.intValue == (int)ColorMode.Colored) + EditorGUILayout.PropertyField(p_Color); + + EditorGUILayout.PropertyField(p_Center); + EditorGUILayout.PropertyField(p_Sharpness); + EditorGUILayout.PropertyField(p_Darkness); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs.meta new file mode 100644 index 0000000..9ca4aa4 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3be4d3353f6c1c44d9a88d51e4782b5b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/FrostEditor.cs b/Assets/Colorful FX/Editor/Effects/FrostEditor.cs new file mode 100644 index 0000000..ea78427 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/FrostEditor.cs @@ -0,0 +1,44 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Frost))] + public class FrostEditor : BaseEffectEditor + { + SerializedProperty p_Scale; + SerializedProperty p_Sharpness; + SerializedProperty p_Darkness; + SerializedProperty p_EnableVignette; + + void OnEnable() + { + p_Scale = serializedObject.FindProperty("Scale"); + p_Sharpness = serializedObject.FindProperty("Sharpness"); + p_Darkness = serializedObject.FindProperty("Darkness"); + p_EnableVignette = serializedObject.FindProperty("EnableVignette"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Scale); + EditorGUILayout.PropertyField(p_EnableVignette, new GUIContent("Vignette")); + + if (p_EnableVignette.boolValue) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(p_Sharpness); + EditorGUILayout.PropertyField(p_Darkness); + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/FrostEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/FrostEditor.cs.meta new file mode 100644 index 0000000..2338dc3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/FrostEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b789574aca839f4fb0bfcce638621ce +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs new file mode 100644 index 0000000..5600fe5 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(GaussianBlur))] + public class GaussianBlurEditor : BaseEffectEditor + { + SerializedProperty p_Passes; + SerializedProperty p_Downscaling; + + void OnEnable() + { + p_Passes = serializedObject.FindProperty("Passes"); + p_Downscaling = serializedObject.FindProperty("Downscaling"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Passes); + EditorGUILayout.PropertyField(p_Downscaling); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs.meta new file mode 100644 index 0000000..795aa69 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fcb034686274b6b45a17bf5fac223ad2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs b/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs new file mode 100644 index 0000000..1b02677 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs @@ -0,0 +1,142 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Glitch))] + public class GlitchEditor : BaseEffectEditor + { + SerializedProperty p_RandomActivation; + SerializedProperty p_RandomEvery; + SerializedProperty p_RandomDuration; + + SerializedProperty p_Mode; + SerializedProperty p_InterferencesSettings; + SerializedProperty p_TearingSettings; + + SerializedProperty p_InterferencesSpeed; + SerializedProperty p_InterferencesDensity; + SerializedProperty p_InterferencesMaxDisplacement; + + SerializedProperty p_TearingSpeed; + SerializedProperty p_TearingIntensity; + SerializedProperty p_TearingMaxDisplacement; + SerializedProperty p_TearingAllowFlipping; + SerializedProperty p_TearingYuvColorBleeding; + SerializedProperty p_TearingYuvOffset; + + void OnEnable() + { + p_RandomActivation = serializedObject.FindProperty("RandomActivation"); + p_RandomEvery = serializedObject.FindProperty("RandomEvery"); + p_RandomDuration = serializedObject.FindProperty("RandomDuration"); + + p_Mode = serializedObject.FindProperty("Mode"); + p_InterferencesSettings = serializedObject.FindProperty("SettingsInterferences"); + p_TearingSettings = serializedObject.FindProperty("SettingsTearing"); + + p_InterferencesSpeed = p_InterferencesSettings.FindPropertyRelative("Speed"); + p_InterferencesDensity = p_InterferencesSettings.FindPropertyRelative("Density"); + p_InterferencesMaxDisplacement = p_InterferencesSettings.FindPropertyRelative("MaxDisplacement"); + + p_TearingSpeed = p_TearingSettings.FindPropertyRelative("Speed"); + p_TearingIntensity = p_TearingSettings.FindPropertyRelative("Intensity"); + p_TearingMaxDisplacement = p_TearingSettings.FindPropertyRelative("MaxDisplacement"); + p_TearingAllowFlipping = p_TearingSettings.FindPropertyRelative("AllowFlipping"); + p_TearingYuvColorBleeding = p_TearingSettings.FindPropertyRelative("YuvColorBleeding"); + p_TearingYuvOffset = p_TearingSettings.FindPropertyRelative("YuvOffset"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_RandomActivation); + + if (p_RandomActivation.boolValue) + { + DoTimingUI(p_RandomEvery, "Every", 50f); + DoTimingUI(p_RandomDuration, "For", 50f); + EditorGUILayout.Space(); + } + + EditorGUILayout.PropertyField(p_Mode); + + if (p_Mode.enumValueIndex == (int)Glitch.GlitchingMode.Interferences) + { + DoInterferencesUI(); + } + else if (p_Mode.enumValueIndex == (int)Glitch.GlitchingMode.Tearing) + { + DoTearingUI(); + } + else // Complete + { + EditorGUILayout.LabelField("Interferences", EditorStyles.boldLabel); + + EditorGUI.indentLevel++; + { + DoInterferencesUI(); + } + EditorGUI.indentLevel--; + + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Tearing", EditorStyles.boldLabel); + + EditorGUI.indentLevel++; + { + DoTearingUI(); + } + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + + void DoInterferencesUI() + { + EditorGUILayout.PropertyField(p_InterferencesSpeed); + EditorGUILayout.PropertyField(p_InterferencesDensity); + EditorGUILayout.PropertyField(p_InterferencesMaxDisplacement); + } + + void DoTearingUI() + { + EditorGUILayout.PropertyField(p_TearingSpeed); + EditorGUILayout.PropertyField(p_TearingIntensity); + EditorGUILayout.PropertyField(p_TearingMaxDisplacement); + EditorGUILayout.PropertyField(p_TearingYuvColorBleeding, new GUIContent("YUV Color Bleeding")); + + if (p_TearingYuvColorBleeding.boolValue) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(p_TearingYuvOffset, new GUIContent("Offset")); + EditorGUI.indentLevel--; + } + + EditorGUILayout.PropertyField(p_TearingAllowFlipping); + } + + void DoTimingUI(SerializedProperty prop, string label, float labelWidth) + { + Vector2 v = prop.vector2Value; + + EditorGUILayout.BeginHorizontal(); + { + GUILayout.Space(EditorGUIUtility.labelWidth - 3); + GUILayout.Label(label, GUILayout.ExpandWidth(false), GUILayout.Width(labelWidth)); + v.x = EditorGUILayout.FloatField(v.x, GUILayout.MaxWidth(75)); + GUILayout.Label("to", GUILayout.ExpandWidth(false)); + v.y = EditorGUILayout.FloatField(v.y, GUILayout.MaxWidth(75)); + GUILayout.Label("second(s)", GUILayout.ExpandWidth(false)); + } + EditorGUILayout.EndHorizontal(); + + prop.vector2Value = v; + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs.meta new file mode 100644 index 0000000..c16bab7 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 57e2ab7d58ca1e4458448984e8309f1f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs b/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs new file mode 100644 index 0000000..15f2dff --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs @@ -0,0 +1,36 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(GradientRampDynamic))] + public class GradientRampDynamicEditor : BaseEffectEditor + { + SerializedProperty p_Ramp; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Ramp = serializedObject.FindProperty("Ramp"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(p_Ramp); + if (EditorGUI.EndChangeCheck()) + (target as GradientRampDynamic).UpdateGradientCache(); + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs.meta new file mode 100644 index 0000000..1e455ef --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8ee9d7d27f4dd3141955e9ad9da5626e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs b/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs new file mode 100644 index 0000000..4b1bdd8 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(GradientRamp))] + public class GradientRampEditor : BaseEffectEditor + { + SerializedProperty p_RampTexture; + SerializedProperty p_Amount; + + void OnEnable() + { + p_RampTexture = serializedObject.FindProperty("RampTexture"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_RampTexture); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs.meta new file mode 100644 index 0000000..fdbbe07 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c770ef3f88fef48469dc767603d7861d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs new file mode 100644 index 0000000..bcf0c6c --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(GrainyBlur))] + public class GrainyBlurEditor : BaseEffectEditor + { + SerializedProperty p_Radius; + SerializedProperty p_Samples; + + void OnEnable() + { + p_Radius = serializedObject.FindProperty("Radius"); + p_Samples = serializedObject.FindProperty("Samples"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Radius); + EditorGUILayout.PropertyField(p_Samples); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs.meta new file mode 100644 index 0000000..1380e73 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6115c55fccefd0b4ab1c9ff4a54578c1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs b/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs new file mode 100644 index 0000000..b49f191 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs @@ -0,0 +1,60 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Grayscale))] + public class GrayscaleEditor : BaseEffectEditor + { + SerializedProperty p_RedLuminance; + SerializedProperty p_GreenLuminance; + SerializedProperty p_BlueLuminance; + SerializedProperty p_Amount; + + static string[] presets = { "Choose a preset...", "Default", "Unity Default", "Naive" }; + static float[,] presetsData = { { 0.299f, 0.587f, 0.114f }, { 0.222f, 0.707f, 0.071f }, { 0.333f, 0.334f, 0.333f } }; + + void OnEnable() + { + p_RedLuminance = serializedObject.FindProperty("RedLuminance"); + p_GreenLuminance = serializedObject.FindProperty("GreenLuminance"); + p_BlueLuminance = serializedObject.FindProperty("BlueLuminance"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + GUILayout.Label("Luminance", EditorStyles.boldLabel); + + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_RedLuminance, new GUIContent("Red")); + EditorGUILayout.PropertyField(p_GreenLuminance, new GUIContent("Green")); + EditorGUILayout.PropertyField(p_BlueLuminance, new GUIContent("Blue")); + } + EditorGUI.indentLevel--; + + EditorGUILayout.Separator(); + EditorGUILayout.PropertyField(p_Amount); + + EditorGUI.BeginChangeCheck(); + int selectedPreset = EditorGUILayout.Popup("Preset", 0, presets); + + if (EditorGUI.EndChangeCheck() && selectedPreset > 0) + { + selectedPreset--; + p_RedLuminance.floatValue = presetsData[selectedPreset, 0]; + p_GreenLuminance.floatValue = presetsData[selectedPreset, 1]; + p_BlueLuminance.floatValue = presetsData[selectedPreset, 2]; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs.meta new file mode 100644 index 0000000..7903909 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2c77ef04cea05d44dad9f90afae3116d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs b/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs new file mode 100644 index 0000000..3de9bf7 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Halftone))] + public class HalftoneEditor : BaseEffectEditor + { + SerializedProperty p_Scale; + SerializedProperty p_DotSize; + SerializedProperty p_Angle; + SerializedProperty p_Smoothness; + SerializedProperty p_Center; + SerializedProperty p_Desaturate; + + void OnEnable() + { + p_Scale = serializedObject.FindProperty("Scale"); + p_DotSize = serializedObject.FindProperty("DotSize"); + p_Angle = serializedObject.FindProperty("Angle"); + p_Smoothness = serializedObject.FindProperty("Smoothness"); + p_Center = serializedObject.FindProperty("Center"); + p_Desaturate = serializedObject.FindProperty("Desaturate"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Scale); + EditorGUILayout.PropertyField(p_DotSize); + EditorGUILayout.PropertyField(p_Smoothness); + EditorGUILayout.PropertyField(p_Angle); + + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_Center); + } + EditorGUI.indentLevel--; + + EditorGUILayout.PropertyField(p_Desaturate); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs.meta new file mode 100644 index 0000000..e53e648 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e071755be1eea74c9284b5b29cbcd26 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs b/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs new file mode 100644 index 0000000..4a26194 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs @@ -0,0 +1,342 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + using UnityEditorInternal; + using System; + using Channel = Histogram.Channel; + + [CustomEditor(typeof(Histogram))] + public class HistogramEditor : BaseEffectEditor + { + SerializedProperty p_CurrentChannel; + SerializedProperty p_Logarithmic; + SerializedProperty p_AutoRefresh; + + Histogram m_Target; + int[] m_Histogram = new int[256]; + int[] m_HistogramRGB = new int[256 * 3]; + Rect m_HistogramRect = new Rect(0f, 0f, 1f, 1f); + Texture2D m_TempTexture; + + Color MasterColor = new Color(1f, 1f, 1f, 2f); + Color RedColor = new Color(1f, 0f, 0f, 2f); + Color GreenColor = new Color(0f, 1f, 0f, 2f); + Color BlueColor = new Color(0f, 1f, 1f, 2f); + + void OnEnable() + { + p_CurrentChannel = serializedObject.FindProperty("e_CurrentChannel"); + p_Logarithmic = serializedObject.FindProperty("e_Logarithmic"); + p_AutoRefresh = serializedObject.FindProperty("e_AutoRefresh"); + + m_Target = target as Histogram; + m_Target.e_OnFrameEnd = UpdateHistogram; + m_Target.InternalForceRefresh(); + + InternalEditorUtility.RepaintAllViews(); + } + + void OnDisable() + { + m_Target.e_OnFrameEnd = null; + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + // Sizing + if (!EditorGUIUtility.isProSkin) + EditorGUILayout.Space(); + + EditorGUILayout.BeginHorizontal(); + { + Rect rect = GUILayoutUtility.GetRect(256f, 128f); + float width = Mathf.Min(512f, rect.width); + float height = Mathf.Min(128f, rect.height); + + if (Event.current.type == EventType.Repaint) + { + m_HistogramRect = new Rect( + Mathf.Floor(rect.x + rect.width / 2f - width / 2f), + Mathf.Floor(rect.y + rect.height / 2f - height / 2f), + width, height + ); + } + } + EditorGUILayout.EndHorizontal(); + + if (!EditorGUIUtility.isProSkin) + EditorGUILayout.Space(); + + // Histogram + if (!EditorGUIUtility.isProSkin) + { + Vector3[] verts = new Vector3[] { + new Vector3(m_HistogramRect.x - 4, m_HistogramRect.y - 4), + new Vector3(m_HistogramRect.xMax + 4, m_HistogramRect.y - 4), + new Vector3(m_HistogramRect.xMax + 4, m_HistogramRect.yMax + 4), + new Vector3(m_HistogramRect.x - 4, m_HistogramRect.yMax + 4) + }; + Handles.DrawSolidRectangleWithOutline(verts, new Color(0.21f, 0.21f, 0.21f, 2.0f), new Color(0.21f, 0.21f, 0.21f, 2.0f)); + } + + if (p_CurrentChannel.intValue == (int)Channel.RGB) + DrawHistogramRGB(m_HistogramRect); + else + DrawHistogram(m_HistogramRect); + + // UI + EditorGUI.BeginChangeCheck(); + + EditorGUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + EditorGUILayout.BeginHorizontal(GUILayout.Width(m_HistogramRect.width)); + { + Channel currentChannel = (Channel)p_CurrentChannel.intValue; + currentChannel = (Channel)EditorGUILayout.EnumPopup(currentChannel); + p_CurrentChannel.intValue = (int)currentChannel; + + GUILayout.FlexibleSpace(); + + p_Logarithmic.boolValue = GUILayout.Toggle(p_Logarithmic.boolValue, "Log", EditorStyles.miniButtonLeft); + p_AutoRefresh.boolValue = GUILayout.Toggle(p_AutoRefresh.boolValue, "Auto Refresh", EditorStyles.miniButtonMid); + + EditorGUI.BeginDisabledGroup(p_AutoRefresh.boolValue); + + if (GUILayout.Button("Refresh", EditorStyles.miniButtonRight)) + Refresh(); + + EditorGUI.EndDisabledGroup(); + } + EditorGUILayout.EndHorizontal(); + GUILayout.FlexibleSpace(); + } + EditorGUILayout.EndHorizontal(); + + if (EditorGUI.EndChangeCheck()) + Refresh(); + + serializedObject.ApplyModifiedProperties(); + } + + void Refresh() + { + m_Target.InternalForceRefresh(); + InternalEditorUtility.RepaintAllViews(); + } + + void UpdateHistogram(RenderTexture source) + { + if (m_TempTexture == null || m_TempTexture.width != source.width || m_TempTexture.height != source.height) + { + if (m_TempTexture != null) + DestroyImmediate(m_TempTexture); + + m_TempTexture = new Texture2D(source.width, source.height, TextureFormat.RGB24, false); + m_TempTexture.anisoLevel = 0; + m_TempTexture.wrapMode = TextureWrapMode.Clamp; + m_TempTexture.filterMode = FilterMode.Bilinear; + m_TempTexture.hideFlags = HideFlags.HideAndDontSave; + } + + // Grab the screen content for the camera + RenderTexture.active = source; + m_TempTexture.ReadPixels(new Rect(0, 0, source.width, source.height), 0, 0, false); + m_TempTexture.Apply(); + RenderTexture.active = null; + + // Raw histogram data + Color[] pixels = m_TempTexture.GetPixels(); + + switch (p_CurrentChannel.intValue) + { + case (int)Channel.RGB: + Array.Clear(m_HistogramRGB, 0, 256 * 3); + for (int i = 0; i < pixels.Length; i++) + { + Color c = pixels[i]; + m_HistogramRGB[(int)(c.r * 255)]++; + m_HistogramRGB[(int)(c.g * 255) + 256]++; + m_HistogramRGB[(int)(c.b * 255) + 512]++; + } + break; + case (int)Channel.Luminance: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + { + Color c = pixels[i]; + m_Histogram[(int)((c.r * 0.2125f + c.g * 0.7154f + c.b * 0.0721f) * 255)]++; + } + break; + case (int)Channel.Red: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].r * 255)]++; + break; + case (int)Channel.Green: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].g * 255)]++; + break; + case (int)Channel.Blue: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].b * 255)]++; + break; + } + } + + void DrawHistogram(Rect rect) + { + // Scale histogram values + int[] scaledHistogram = new int[256]; + + int max = 0; + for (int i = 0; i < 256; i++) + max = (max < m_Histogram[i]) ? m_Histogram[i] : max; + + scaledHistogram = new int[256]; + + if (p_Logarithmic.boolValue) + { + float factor = rect.height / Mathf.Log10(max); + + for (int i = 0; i < 256; i++) + scaledHistogram[i] = (m_Histogram[i] == 0) ? 0 : Mathf.Max(Mathf.RoundToInt(Mathf.Log10(m_Histogram[i]) * factor), 1); + } + else + { + float factor = rect.height / max; + + for (int i = 0; i < 256; i++) + scaledHistogram[i] = Mathf.Max(Mathf.RoundToInt(m_Histogram[i] * factor), 1); + } + + // Color + if (p_CurrentChannel.intValue == (int)Channel.Luminance) + Handles.color = MasterColor; + else if (p_CurrentChannel.intValue == (int)Channel.Red) + Handles.color = RedColor; + else if (p_CurrentChannel.intValue == (int)Channel.Green) + Handles.color = GreenColor; + else + Handles.color = BlueColor; + + // Base line + Vector2 p1 = new Vector2(rect.x - 1, rect.yMax); + Vector2 p2 = new Vector2(rect.xMax - 1, rect.yMax); + Handles.DrawLine(p1, p2); + + // Histogram + for (int i = 0; i < (int)rect.width; i++) + { + float remapI = (float)i / rect.width * 255f; + int index = Mathf.FloorToInt(remapI); + float fract = remapI - (float)index; + float v1 = scaledHistogram[index]; + float v2 = scaledHistogram[Mathf.Min(index + 1, 255)]; + float h = v1 * (1.0f - fract) + v2 * fract; + Handles.DrawLine( + new Vector2(rect.x + i, rect.yMax), + new Vector2(rect.x + i, rect.yMin + (rect.height - h)) + ); + } + } + + void DrawHistogramRGB(Rect rect) + { + // Scale histogram values + Vector3 max = Vector3.zero; + for (int i = 0; i < 256; i++) + { + max.x = (max.x < m_HistogramRGB[i]) ? m_HistogramRGB[i] : max.x; + max.y = (max.y < m_HistogramRGB[i + 256]) ? m_HistogramRGB[i + 256] : max.y; + max.z = (max.z < m_HistogramRGB[i + 512]) ? m_HistogramRGB[i + 512] : max.z; + } + + Vector3[] scaledHistogramRGB = new Vector3[256]; + + if (p_Logarithmic.boolValue) + { + Vector3 factor = new Vector3( + rect.height / Mathf.Log10(max.x), + rect.height / Mathf.Log10(max.y), + rect.height / Mathf.Log10(max.z) + ); + + for (int i = 0; i < 256; i++) + { + scaledHistogramRGB[i] = new Vector3( + (m_HistogramRGB[i] == 0) ? 0 : Mathf.Max(Mathf.RoundToInt(Mathf.Log10(m_HistogramRGB[i]) * factor.x), 1), + (m_HistogramRGB[i + 256] == 0) ? 0 : Mathf.Max(Mathf.RoundToInt(Mathf.Log10(m_HistogramRGB[i + 256]) * factor.y), 1), + (m_HistogramRGB[i + 512] == 0) ? 0 : Mathf.Max(Mathf.RoundToInt(Mathf.Log10(m_HistogramRGB[i + 512]) * factor.z), 1) + ); + } + } + else + { + Vector3 factor = new Vector3(rect.height / max.x, rect.height / max.y, rect.height / max.z); + + for (int i = 0; i < 256; i++) + { + scaledHistogramRGB[i] = new Vector3( + Mathf.Max(Mathf.RoundToInt(m_HistogramRGB[i] * factor.x), 1), + Mathf.Max(Mathf.RoundToInt(m_HistogramRGB[i + 256] * factor.y), 1), + Mathf.Max(Mathf.RoundToInt(m_HistogramRGB[i + 512] * factor.z), 1) + ); + } + } + + // Base line + Handles.color = MasterColor; + Vector2 p1 = new Vector2(rect.x - 1, rect.yMax); + Vector2 p2 = new Vector2(rect.xMax - 1, rect.yMax); + Handles.DrawLine(p1, p2); + Color[] colors = { RedColor, GreenColor, BlueColor }; + + // Histogram + for (int i = 0; i < (int)rect.width; i++) + { + int[] heights = new int[3]; + + for (int j = 0; j < 3; j++) + { + float remapI = (float)i / rect.width * 255f; + int index = Mathf.FloorToInt(remapI); + float fract = remapI - (float)index; + float v1 = scaledHistogramRGB[index][j]; + float v2 = scaledHistogramRGB[Mathf.Min(index + 1, 255)][j]; + heights[j] = (int)(v1 * (1.0f - fract) + v2 * fract); + } + + int[] indices = { 0, 1, 2 }; + Array.Sort(indices, (a, b) => heights[a].CompareTo(heights[b])); + + Handles.color = MasterColor; + Handles.DrawLine( + new Vector2(rect.x + i, rect.yMax), + new Vector2(rect.x + i, rect.yMin + (rect.height - heights[indices[0]])) + ); + + Handles.color = colors[indices[2]] + colors[indices[1]]; + Handles.DrawLine( + new Vector2(rect.x + i, rect.yMin + (rect.height - heights[indices[0]])), + new Vector2(rect.x + i, rect.yMin + (rect.height - heights[indices[1]])) + ); + + Handles.color = colors[indices[2]]; + Handles.DrawLine( + new Vector2(rect.x + i, rect.yMin + (rect.height - heights[indices[1]])), + new Vector2(rect.x + i, rect.yMin + (rect.height - heights[indices[2]])) + ); + } + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs.meta new file mode 100644 index 0000000..a293673 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9d071f1f04ead6742938ba8b073f2740 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs b/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs new file mode 100644 index 0000000..ac25676 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs @@ -0,0 +1,53 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(HueFocus))] + public class HueFocusEditor : BaseEffectEditor + { + SerializedProperty p_Hue; + SerializedProperty p_Range; + SerializedProperty p_Boost; + SerializedProperty p_Amount; + Texture2D m_HueRamp; + + void OnEnable() + { + p_Hue = serializedObject.FindProperty("Hue"); + p_Range = serializedObject.FindProperty("Range"); + p_Boost = serializedObject.FindProperty("Boost"); + p_Amount = serializedObject.FindProperty("Amount"); + + m_HueRamp = Resources.Load("UI/HueRamp"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.Separator(); + + Rect rect = GUILayoutUtility.GetRect(0, 20); + GUI.DrawTextureWithTexCoords(rect, m_HueRamp, new Rect(0.5f + p_Hue.floatValue / 360f, 0f, 1f, 1f)); + + GUI.enabled = false; + float min = 180f - p_Range.floatValue; + float max = 180f + p_Range.floatValue; + EditorGUILayout.MinMaxSlider(ref min, ref max, 0f, 360f); + GUI.enabled = true; + + EditorGUILayout.Separator(); + EditorGUILayout.PropertyField(p_Hue); + EditorGUILayout.PropertyField(p_Range); + EditorGUILayout.PropertyField(p_Boost); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs.meta new file mode 100644 index 0000000..6b9338d --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 95c14fb8c2a52394f9dfe787cbf36a7e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs b/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs new file mode 100644 index 0000000..7af122d --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs @@ -0,0 +1,125 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(HueSaturationValue))] + public class HueSaturationValueEditor : BaseEffectEditor + { + static string[] channels = { "Master", "Reds", "Yellows", "Greens", "Cyans", "Blues", "Magentas" }; + + SerializedProperty p_MasterHue; + SerializedProperty p_MasterSaturation; + SerializedProperty p_MasterValue; + + SerializedProperty p_RedsHue; + SerializedProperty p_RedsSaturation; + SerializedProperty p_RedsValue; + + SerializedProperty p_YellowsHue; + SerializedProperty p_YellowsSaturation; + SerializedProperty p_YellowsValue; + + SerializedProperty p_GreensHue; + SerializedProperty p_GreensSaturation; + SerializedProperty p_GreensValue; + + SerializedProperty p_CyansHue; + SerializedProperty p_CyansSaturation; + SerializedProperty p_CyansValue; + + SerializedProperty p_BluesHue; + SerializedProperty p_BluesSaturation; + SerializedProperty p_BluesValue; + + SerializedProperty p_MagentasHue; + SerializedProperty p_MagentasSaturation; + SerializedProperty p_MagentasValue; + + SerializedProperty p_AdvancedMode; + SerializedProperty p_CurrentChannel; + + void OnEnable() + { + p_MasterHue = serializedObject.FindProperty("MasterHue"); + p_MasterSaturation = serializedObject.FindProperty("MasterSaturation"); + p_MasterValue = serializedObject.FindProperty("MasterValue"); + + p_RedsHue = serializedObject.FindProperty("RedsHue"); + p_RedsSaturation = serializedObject.FindProperty("RedsSaturation"); + p_RedsValue = serializedObject.FindProperty("RedsValue"); + + p_YellowsHue = serializedObject.FindProperty("YellowsHue"); + p_YellowsSaturation = serializedObject.FindProperty("YellowsSaturation"); + p_YellowsValue = serializedObject.FindProperty("YellowsValue"); + + p_GreensHue = serializedObject.FindProperty("GreensHue"); + p_GreensSaturation = serializedObject.FindProperty("GreensSaturation"); + p_GreensValue = serializedObject.FindProperty("GreensValue"); + + p_CyansHue = serializedObject.FindProperty("CyansHue"); + p_CyansSaturation = serializedObject.FindProperty("CyansSaturation"); + p_CyansValue = serializedObject.FindProperty("CyansValue"); + + p_BluesHue = serializedObject.FindProperty("BluesHue"); + p_BluesSaturation = serializedObject.FindProperty("BluesSaturation"); + p_BluesValue = serializedObject.FindProperty("BluesValue"); + + p_MagentasHue = serializedObject.FindProperty("MagentasHue"); + p_MagentasSaturation = serializedObject.FindProperty("MagentasSaturation"); + p_MagentasValue = serializedObject.FindProperty("MagentasValue"); + + p_AdvancedMode = serializedObject.FindProperty("AdvancedMode"); + p_CurrentChannel = serializedObject.FindProperty("e_CurrentChannel"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + bool advanced = p_AdvancedMode.boolValue; + int channel = p_CurrentChannel.intValue; + + EditorGUILayout.BeginHorizontal(); + if (advanced) channel = EditorGUILayout.Popup(channel, channels); + else channel = 0; + + advanced = GUILayout.Toggle(advanced, "Advanced Mode", EditorStyles.miniButton); + EditorGUILayout.EndHorizontal(); + + switch (channel) + { + case 1: Channel(p_RedsHue, p_RedsSaturation, p_RedsValue); + break; + case 2: Channel(p_YellowsHue, p_YellowsSaturation, p_YellowsValue); + break; + case 3: Channel(p_GreensHue, p_GreensSaturation, p_GreensValue); + break; + case 4: Channel(p_CyansHue, p_CyansSaturation, p_CyansValue); + break; + case 5: Channel(p_BluesHue, p_BluesSaturation, p_BluesValue); + break; + case 6: Channel(p_MagentasHue, p_MagentasSaturation, p_MagentasValue); + break; + default: Channel(p_MasterHue, p_MasterSaturation, p_MasterValue); + break; + } + + p_AdvancedMode.boolValue = advanced; + p_CurrentChannel.intValue = channel; + + serializedObject.ApplyModifiedProperties(); + } + + void Channel(SerializedProperty hue, SerializedProperty saturation, SerializedProperty value) + { + EditorGUILayout.PropertyField(hue, new GUIContent("Hue")); + EditorGUILayout.PropertyField(saturation, new GUIContent("Saturation")); + EditorGUILayout.PropertyField(value, new GUIContent("Value")); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs.meta new file mode 100644 index 0000000..f3aeca0 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 98648ea769b03bb4ea9a0f2fad531d98 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs b/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs new file mode 100644 index 0000000..aacf4d4 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Kuwahara))] + public class KuwaharaEditor : BaseEffectEditor + { + SerializedProperty p_Radius; + + void OnEnable() + { + p_Radius = serializedObject.FindProperty("Radius"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Radius); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs.meta new file mode 100644 index 0000000..8223a7b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba3e4ad0653dd0b4eb0f1073baf77ad8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/LedEditor.cs b/Assets/Colorful FX/Editor/Effects/LedEditor.cs new file mode 100644 index 0000000..b6b739f --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LedEditor.cs @@ -0,0 +1,53 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Led))] + public class LedEditor : BaseEffectEditor + { + SerializedProperty p_Scale; + SerializedProperty p_Ratio; + SerializedProperty p_AutomaticRatio; + SerializedProperty p_Brightness; + SerializedProperty p_Shape; + SerializedProperty p_Mode; + + void OnEnable() + { + p_Scale = serializedObject.FindProperty("Scale"); + p_Ratio = serializedObject.FindProperty("Ratio"); + p_AutomaticRatio = serializedObject.FindProperty("AutomaticRatio"); + p_Brightness = serializedObject.FindProperty("Brightness"); + p_Shape = serializedObject.FindProperty("Shape"); + p_Mode = serializedObject.FindProperty("Mode"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_Scale); + EditorGUILayout.PropertyField(p_Shape); + EditorGUILayout.PropertyField(p_AutomaticRatio); + + if (!p_AutomaticRatio.boolValue) + { + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_Ratio); + } + EditorGUI.indentLevel--; + } + + EditorGUILayout.PropertyField(p_Brightness); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LedEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LedEditor.cs.meta new file mode 100644 index 0000000..7e200c2 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LedEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 493055e70fc53814b9c9fdd92f38e641 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs new file mode 100644 index 0000000..aba35a3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs @@ -0,0 +1,44 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(LensDistortionBlur))] + public class LensDistortionBlurEditor : BaseEffectEditor + { + SerializedProperty p_Quality; + SerializedProperty p_Samples; + SerializedProperty p_Distortion; + SerializedProperty p_CubicDistortion; + SerializedProperty p_Scale; + + void OnEnable() + { + p_Quality = serializedObject.FindProperty("Quality"); + p_Samples = serializedObject.FindProperty("Samples"); + p_Distortion = serializedObject.FindProperty("Distortion"); + p_CubicDistortion = serializedObject.FindProperty("CubicDistortion"); + p_Scale = serializedObject.FindProperty("Scale"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Quality); + + if (p_Quality.intValue == (int)LensDistortionBlur.QualityPreset.Custom) + EditorGUILayout.PropertyField(p_Samples); + + EditorGUILayout.PropertyField(p_Distortion); + EditorGUILayout.PropertyField(p_CubicDistortion); + EditorGUILayout.PropertyField(p_Scale, new GUIContent("Scale (Zoom)")); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs.meta new file mode 100644 index 0000000..1973770 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: db9b779b99d913b46942cfd97c31b5ba +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs b/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs new file mode 100644 index 0000000..f108127 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs @@ -0,0 +1,418 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + using UnityEditorInternal; + using System; + using ColorMode = Levels.ColorMode; + using Channel = Levels.Channel; + + [CustomEditor(typeof(Levels))] + public class LevelsEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_InputL; + SerializedProperty p_InputR; + SerializedProperty p_InputG; + SerializedProperty p_InputB; + SerializedProperty p_OutputL; + SerializedProperty p_OutputR; + SerializedProperty p_OutputG; + SerializedProperty p_OutputB; + + SerializedProperty p_CurrentChannel; + SerializedProperty p_Logarithmic; + SerializedProperty p_AutoRefresh; + + Levels m_Target; + Texture2D m_TempTexture; + int[] m_Histogram = new int[256]; + Rect m_HistogramRect = new Rect(0f, 0f, 1f, 1f); + + Color MasterColor = EditorGUIUtility.isProSkin ? new Color(1f, 1f, 1f, 2f) : new Color(0.1f, 0.1f, 0.1f, 2f); + Color RedColor = new Color(1f, 0f, 0f, 2f); + Color GreenColor = EditorGUIUtility.isProSkin ? new Color(0f, 1f, 0f, 2f) : new Color(0.2f, 0.8f, 0.2f, 2f); + Color BlueColor = EditorGUIUtility.isProSkin ? new Color(0f, 1f, 1f, 2f) : new Color(0f, 0f, 1f, 2f); + Texture2D RampTexture; + + static string[] presets = { "Choose a preset...", "Default", "Darker", "Increase Contrast 1", "Increase Contrast 2", "Increase Contrast 3", + "Lighten Shadows", "Lighter", "Midtones Brighter", "Midtones Darker" }; + + static float[,] presetsData = { { 0, 1, 255, 0, 255 }, { 15, 1, 255, 0, 255 }, { 10, 1, 245, 0, 255 }, + { 20, 1, 235, 0, 255 }, { 30, 1, 225, 0, 255 }, { 0, 1.6f, 255, 0, 255 }, + { 0, 1, 230, 0, 255 }, { 0, 1.25f, 255, 0, 255 }, { 0, 0.75f, 255, 0, 255 } }; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_InputL = serializedObject.FindProperty("InputL"); + p_InputR = serializedObject.FindProperty("InputR"); + p_InputG = serializedObject.FindProperty("InputG"); + p_InputB = serializedObject.FindProperty("InputB"); + p_OutputL = serializedObject.FindProperty("OutputL"); + p_OutputR = serializedObject.FindProperty("OutputR"); + p_OutputG = serializedObject.FindProperty("OutputG"); + p_OutputB = serializedObject.FindProperty("OutputB"); + + p_CurrentChannel = serializedObject.FindProperty("e_CurrentChannel"); + p_Logarithmic = serializedObject.FindProperty("e_Logarithmic"); + p_AutoRefresh = serializedObject.FindProperty("e_AutoRefresh"); + + RampTexture = Resources.Load(CLib.IsLinearColorSpace() ? "UI/GrayscaleRampLinear" : "UI/GrayscaleRamp"); + + m_Target = target as Levels; + m_Target.e_OnFrameEnd = UpdateHistogram; + m_Target.InternalForceRefresh(); + + InternalEditorUtility.RepaintAllViews(); + } + + void OnDisable() + { + m_Target.e_OnFrameEnd = null; + + if (m_TempTexture != null) + DestroyImmediate(m_TempTexture); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUI.BeginChangeCheck(); + + EditorGUILayout.BeginHorizontal(); + { + bool isRGB = p_Mode.intValue == (int)ColorMode.RGB; + Channel currentChannel = (Channel)p_CurrentChannel.intValue; + + if (isRGB) currentChannel = (Channel)EditorGUILayout.EnumPopup(currentChannel); + isRGB = GUILayout.Toggle(isRGB, "Multi-channel Mode", EditorStyles.miniButton); + + p_Mode.intValue = isRGB ? (int)ColorMode.RGB : (int)ColorMode.Monochrome; + p_CurrentChannel.intValue = (int)currentChannel; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + { + if (GUILayout.Button("Auto B&W", EditorStyles.miniButton)) + { + int min = 0, max = 255; + + for (int i = 0; i < 256; i++) + { + if (m_Histogram[255 - i] > 0) + min = 255 - i; + + if (m_Histogram[i] > 0) + max = i; + } + + if (p_Mode.intValue == (int)ColorMode.RGB) + { + if (p_CurrentChannel.intValue == (int)Channel.Red) + { + Vector3 input = p_InputR.vector3Value; + input.x = min; + input.y = max; + p_InputR.vector3Value = input; + } + else if (p_CurrentChannel.intValue == (int)Channel.Green) + { + Vector3 input = p_InputG.vector3Value; + input.x = min; + input.y = max; + p_InputG.vector3Value = input; + } + else if (p_CurrentChannel.intValue == (int)Channel.Blue) + { + Vector3 input = p_InputB.vector3Value; + input.x = min; + input.y = max; + p_InputB.vector3Value = input; + } + } + else + { + Vector3 input = p_InputL.vector3Value; + input.x = min; + input.y = max; + p_InputL.vector3Value = input; + } + } + + GUILayout.FlexibleSpace(); + + p_Logarithmic.boolValue = GUILayout.Toggle(p_Logarithmic.boolValue, "Log", EditorStyles.miniButtonLeft); + p_AutoRefresh.boolValue = GUILayout.Toggle(p_AutoRefresh.boolValue, "Auto Refresh", EditorStyles.miniButtonMid); + + EditorGUI.BeginDisabledGroup(p_AutoRefresh.boolValue); + + if (GUILayout.Button("Refresh", EditorStyles.miniButtonRight)) + Refresh(); + + EditorGUI.EndDisabledGroup(); + } + EditorGUILayout.EndHorizontal(); + + if (EditorGUI.EndChangeCheck()) + Refresh(); + + EditorGUILayout.Space(); + + // Sizing + EditorGUILayout.BeginHorizontal(); + { + Rect rect = GUILayoutUtility.GetRect(256f, 128f); + float width = Mathf.Min(512f, rect.width); + float height = Mathf.Min(128f, rect.height); + + if (Event.current.type == EventType.Repaint) + { + m_HistogramRect = new Rect( + Mathf.Floor(rect.x + rect.width / 2f - width / 2f), + Mathf.Floor(rect.y + rect.height / 2f - height / 2f), + width, height + ); + } + } + EditorGUILayout.EndHorizontal(); + + // Histogram + DrawHistogram(m_HistogramRect); + + // Selected Channel UI + if (p_Mode.intValue == (int)ColorMode.RGB) + { + if (p_CurrentChannel.intValue == (int)Channel.Red) ChannelUI(m_HistogramRect.width, p_InputR, p_OutputR); + else if (p_CurrentChannel.intValue == (int)Channel.Green) ChannelUI(m_HistogramRect.width, p_InputG, p_OutputG); + else if (p_CurrentChannel.intValue == (int)Channel.Blue) ChannelUI(m_HistogramRect.width, p_InputB, p_OutputB); + } + else + { + ChannelUI(m_HistogramRect.width, p_InputL, p_OutputL); + } + + // Presets + EditorGUI.BeginChangeCheck(); + int selectedPreset = EditorGUILayout.Popup("Preset", 0, presets); + if (EditorGUI.EndChangeCheck() && selectedPreset > 0) + { + selectedPreset--; + p_Mode.intValue = (int)ColorMode.Monochrome; + p_InputL.vector3Value = new Vector3( + presetsData[selectedPreset, 0], + presetsData[selectedPreset, 2], + presetsData[selectedPreset, 1] + ); + p_OutputL.vector2Value = new Vector2( + presetsData[selectedPreset, 3], + presetsData[selectedPreset, 4] + ); + } + + serializedObject.ApplyModifiedProperties(); + } + + void Refresh() + { + m_Target.InternalForceRefresh(); + InternalEditorUtility.RepaintAllViews(); + } + + void ChannelUI(float width, SerializedProperty input, SerializedProperty output) + { + float inputMin = input.vector3Value.x; + float inputGamma = input.vector3Value.z; + float inputMax = input.vector3Value.y; + float outputMin = output.vector2Value.x; + float outputMax = output.vector2Value.y; + + // Input + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + EditorGUILayout.MinMaxSlider(ref inputMin, ref inputMax, 0f, 255f, GUILayout.Width(width)); + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + GUILayout.BeginHorizontal(GUILayout.Width(width)); + { + inputMin = EditorGUILayout.FloatField((int)inputMin, GUILayout.Width(50)); + GUILayout.FlexibleSpace(); + inputGamma = EditorGUILayout.FloatField(inputGamma, GUILayout.Width(50)); + GUILayout.FlexibleSpace(); + inputMax = EditorGUILayout.FloatField((int)inputMax, GUILayout.Width(50)); + } + GUILayout.EndHorizontal(); + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + + EditorGUILayout.Space(); + + // Ramp + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + GUI.DrawTexture(GUILayoutUtility.GetRect(width, 20f), RampTexture, ScaleMode.StretchToFill); + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + + // Output + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + EditorGUILayout.MinMaxSlider(ref outputMin, ref outputMax, 0f, 255f, GUILayout.Width(width)); + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + GUILayout.BeginHorizontal(GUILayout.Width(width)); + { + outputMin = EditorGUILayout.FloatField((int)outputMin, GUILayout.Width(50)); + GUILayout.FlexibleSpace(); + outputMax = EditorGUILayout.FloatField((int)outputMax, GUILayout.Width(50)); + } + GUILayout.EndHorizontal(); + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + + input.vector3Value = new Vector3(inputMin, inputMax, Mathf.Clamp(inputGamma, 0.1f, 9.99f)); + output.vector2Value = new Vector2(outputMin, outputMax); + + EditorGUILayout.Separator(); + } + + void DrawHistogram(Rect rect) + { + // Scale histogram values + int[] scaledHistogram = new int[256]; + + int max = 0; + for (int i = 0; i < 256; i++) + max = (max < m_Histogram[i]) ? m_Histogram[i] : max; + + scaledHistogram = new int[256]; + + if (p_Logarithmic.boolValue) + { + float factor = rect.height / Mathf.Log10(max); + + for (int i = 0; i < 256; i++) + scaledHistogram[i] = (m_Histogram[i] == 0) ? 0 : Mathf.Max(Mathf.RoundToInt(Mathf.Log10(m_Histogram[i]) * factor), 1); + } + else + { + float factor = rect.height / max; + + for (int i = 0; i < 256; i++) + scaledHistogram[i] = Mathf.Max(Mathf.RoundToInt(m_Histogram[i] * factor), 1); + } + + // Color + if (p_Mode.intValue == (int)ColorMode.RGB) + { + if (p_CurrentChannel.intValue == (int)Channel.Red) + Handles.color = RedColor; + else if (p_CurrentChannel.intValue == (int)Channel.Green) + Handles.color = GreenColor; + else if (p_CurrentChannel.intValue == (int)Channel.Blue) + Handles.color = BlueColor; + } + else + { + Handles.color = MasterColor; + } + + // Base line + Vector2 p1 = new Vector2(rect.x - 1, rect.yMax); + Vector2 p2 = new Vector2(rect.xMax - 1, rect.yMax); + Handles.DrawLine(p1, p2); + + // Histogram + for (int i = 0; i < (int)rect.width; i++) + { + float remapI = (float)i / rect.width * 255f; + int index = Mathf.FloorToInt(remapI); + float fract = remapI - (float)index; + float v1 = scaledHistogram[index]; + float v2 = scaledHistogram[Mathf.Min(index + 1, 255)]; + float h = v1 * (1.0f - fract) + v2 * fract; + Handles.DrawLine( + new Vector2(rect.x + i, rect.yMax), + new Vector2(rect.x + i, rect.yMin + (rect.height - h)) + ); + } + } + + void UpdateHistogram(RenderTexture source) + { + if (m_TempTexture == null || m_TempTexture.width != source.width || m_TempTexture.height != source.height) + { + if (m_TempTexture != null) + DestroyImmediate(m_TempTexture); + + m_TempTexture = new Texture2D(source.width, source.height, TextureFormat.RGB24, false); + m_TempTexture.anisoLevel = 0; + m_TempTexture.wrapMode = TextureWrapMode.Clamp; + m_TempTexture.filterMode = FilterMode.Bilinear; + m_TempTexture.hideFlags = HideFlags.HideAndDontSave; + } + + // Grab the screen content for the camera + RenderTexture.active = source; + m_TempTexture.ReadPixels(new Rect(0, 0, source.width, source.height), 0, 0, false); + m_TempTexture.Apply(); + RenderTexture.active = null; + + // Raw histogram data + Color[] pixels = m_TempTexture.GetPixels(); + + if (m_Target.Mode == ColorMode.Monochrome) + { + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + { + Color c = pixels[i]; + m_Histogram[(int)((c.r * 0.2125f + c.g * 0.7154f + c.b * 0.0721f) * 255)]++; + } + } + else + { + switch (m_Target.e_CurrentChannel) + { + case Channel.Red: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].r * 255)]++; + break; + case Channel.Green: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].g * 255)]++; + break; + case Channel.Blue: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].b * 255)]++; + break; + } + } + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs.meta new file mode 100644 index 0000000..4ee1335 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ac5d17dae0d68ac4fae73a57b0b964b8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs b/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs new file mode 100644 index 0000000..8a37311 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs @@ -0,0 +1,82 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(LoFiPalette))] + public class LoFiPaletteEditor : BaseEffectEditor + { + SerializedProperty p_Palette; + SerializedProperty p_Amount; + SerializedProperty p_Pixelize; + SerializedProperty p_PixelSize; + + static GUIContent[] palettes = { + new GUIContent("None"), + new GUIContent(""), + new GUIContent("Amstrad CPC"), + new GUIContent("CGA"), + new GUIContent("Commodore 64"), + new GUIContent("Commodore Plus"), + new GUIContent("EGA"), + new GUIContent("GameBoy"), + new GUIContent("MacOS 16"), + new GUIContent("MacOS 256"), + new GUIContent("Master System"), + new GUIContent("RiscOS 16"), + new GUIContent("Teletex"), + new GUIContent("Windows 16"), + new GUIContent("Windows 256"), + new GUIContent("ZX Spectrum"), + new GUIContent(""), + new GUIContent("Andrae"), + new GUIContent("Anodomani"), + new GUIContent("Crayolo"), + new GUIContent("DB16"), + new GUIContent("DB32"), + new GUIContent("DJinn"), + new GUIContent("Drazile A"), + new GUIContent("Drazile B"), + new GUIContent("Drazile C"), + new GUIContent("Eggy"), + new GUIContent("Finlal A"), + new GUIContent("Finlal B"), + new GUIContent("Hapiel"), + new GUIContent("Pavanz A"), + new GUIContent("Pavanz B"), + new GUIContent("Peyton"), + new GUIContent("SpeedyCube") + }; + + void OnEnable() + { + p_Palette = serializedObject.FindProperty("Palette"); + p_Amount = serializedObject.FindProperty("Amount"); + p_Pixelize = serializedObject.FindProperty("Pixelize"); + p_PixelSize = serializedObject.FindProperty("PixelSize"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + // Using intValue, enumValueIndex seems broken + p_Palette.intValue = EditorGUILayout.Popup(new GUIContent("Palette"), p_Palette.intValue, palettes); + EditorGUILayout.PropertyField(p_Amount); + EditorGUILayout.PropertyField(p_Pixelize); + + if (p_Pixelize.boolValue) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(p_PixelSize); + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs.meta new file mode 100644 index 0000000..4aa862e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 13a2b41bc1dfa8b45b0aa7806eedb14a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs b/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs new file mode 100644 index 0000000..c83019c --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(LookupFilter3D))] + public class LookupFilter3DEditor : BaseEffectEditor + { + SerializedProperty p_LookupTexture; + SerializedProperty p_Amout; + + void OnEnable() + { + p_LookupTexture = serializedObject.FindProperty("LookupTexture"); + p_Amout = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_LookupTexture); + EditorGUILayout.PropertyField(p_Amout); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs.meta new file mode 100644 index 0000000..9a02d9c --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2185476e9656d32409b69f8792dccd82 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs b/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs new file mode 100644 index 0000000..6b71957 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(LookupFilter))] + public class LookupFilterEditor : BaseEffectEditor + { + SerializedProperty p_LookupTexture; + SerializedProperty p_Amout; + + void OnEnable() + { + p_LookupTexture = serializedObject.FindProperty("LookupTexture"); + p_Amout = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_LookupTexture); + EditorGUILayout.PropertyField(p_Amout); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs.meta new file mode 100644 index 0000000..dabc84d --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d6489f28835764f49bc726c7bc74e89b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs b/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs new file mode 100644 index 0000000..0b80332 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Negative))] + public class NegativeEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs.meta new file mode 100644 index 0000000..a9975f1 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c46e42cb6ddd5ff48832385a30fba226 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs b/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs new file mode 100644 index 0000000..5ab46b8 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs @@ -0,0 +1,44 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Noise))] + public class NoiseEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Animate; + SerializedProperty p_Seed; + SerializedProperty p_Strength; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Animate = serializedObject.FindProperty("Animate"); + p_Seed = serializedObject.FindProperty("Seed"); + p_Strength = serializedObject.FindProperty("Strength"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_Animate); + + EditorGUI.BeginDisabledGroup(p_Animate.boolValue); + { + EditorGUILayout.PropertyField(p_Seed); + } + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.PropertyField(p_Strength); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs.meta new file mode 100644 index 0000000..5b6363f --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c675525fd1d05714ba52aae6a1da5e8c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs b/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs new file mode 100644 index 0000000..3722c0c --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs @@ -0,0 +1,58 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(PhotoFilter))] + public class PhotoFilterEditor : BaseEffectEditor + { + SerializedProperty p_Color; + SerializedProperty p_Density; + + static string[] presets = { "Choose a preset...", "Warming Filter (85)", "Warming Filter (LBA)", "Warming Filter (81)", + "Cooling Filter (80)", "Cooling Filter (LBB)", "Cooling Filter (82)", + "Red", "Orange", "Yellow", "Green", "Cyan", "Blue", "Violet", "Magenta", + "Sepia", "Deep Red", "Deep Blue", "Deep Emerald", "Deep Yellow", "Underwater" }; + + static float[,] presetsData = { { 0.925f, 0.541f, 0.0f }, { 0.98f, 0.541f, 0.0f }, { 0.922f, 0.694f, 0.075f }, + { 0.0f, 0.427f, 1.0f }, { 0.0f, 0.365f, 1.0f }, { 0.0f, 0.71f, 1.0f }, + { 0.918f, 0.102f, 0.102f }, { 0.956f, 0.518f, 0.09f }, { 0.976f, 0.89f, 0.11f }, + { 0.098f, 0.788f, 0.098f }, { 0.114f, 0.796f, 0.918f }, { 0.114f, 0.209f, 0.918f }, + { 0.608f, 0.114f, 0.918f }, { 0.89f, 0.094f, 0.89f }, { 0.675f, 0.478f, 0.2f }, + { 1.0f, 0.0f, 0.0f }, { 0.0f, 0.133f, 0.804f }, { 0.0f, 0.553f, 0.0f }, + { 1.0f, 0.835f, 0.0f }, { 0.0f, 0.761f, 0.694f } }; + + void OnEnable() + { + p_Color = serializedObject.FindProperty("Color"); + p_Density = serializedObject.FindProperty("Density"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Color); + EditorGUILayout.PropertyField(p_Density); + + EditorGUI.BeginChangeCheck(); + int selectedPreset = EditorGUILayout.Popup("Preset", 0, presets); + + if (EditorGUI.EndChangeCheck() && selectedPreset > 0) + { + selectedPreset--; + p_Color.colorValue = new Color( + presetsData[selectedPreset, 0], + presetsData[selectedPreset, 1], + presetsData[selectedPreset, 2] + ); + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs.meta new file mode 100644 index 0000000..444fcd3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8aa05227668c2ff45a1ddf5b714fb64c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs b/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs new file mode 100644 index 0000000..2b3fdb1 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(PixelMatrix))] + public class PixelMatrixEditor : BaseEffectEditor + { + SerializedProperty p_Size; + SerializedProperty p_Brightness; + SerializedProperty p_BlackBorder; + + void OnEnable() + { + p_Size = serializedObject.FindProperty("Size"); + p_Brightness = serializedObject.FindProperty("Brightness"); + p_BlackBorder = serializedObject.FindProperty("BlackBorder"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Size); + EditorGUILayout.PropertyField(p_Brightness); + EditorGUILayout.PropertyField(p_BlackBorder); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs.meta new file mode 100644 index 0000000..2ed4d55 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b5ade3fe502dc404b91a45c95c4896d6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs b/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs new file mode 100644 index 0000000..b6e209e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs @@ -0,0 +1,46 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Pixelate))] + public class PixelateEditor : BaseEffectEditor + { + SerializedProperty p_Scale; + SerializedProperty p_Ratio; + SerializedProperty p_AutomaticRatio; + SerializedProperty p_Mode; + + void OnEnable() + { + p_Scale = serializedObject.FindProperty("Scale"); + p_Ratio = serializedObject.FindProperty("Ratio"); + p_AutomaticRatio = serializedObject.FindProperty("AutomaticRatio"); + p_Mode = serializedObject.FindProperty("Mode"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_Scale); + EditorGUILayout.PropertyField(p_AutomaticRatio); + + if (!p_AutomaticRatio.boolValue) + { + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_Ratio); + } + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs.meta new file mode 100644 index 0000000..8cf9b2d --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 284d28bd27c885c4fad7bdb289e4b404 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs b/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs new file mode 100644 index 0000000..5e97e84 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Posterize))] + public class PosterizeEditor : BaseEffectEditor + { + SerializedProperty p_Levels; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Levels = serializedObject.FindProperty("Levels"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Levels); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs.meta new file mode 100644 index 0000000..0ad7884 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0869f3e787781f645b6a50d951749c8d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs b/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs new file mode 100644 index 0000000..78ebd86 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(RGBSplit))] + public class RGBSplitEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + SerializedProperty p_Angle; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + p_Angle = serializedObject.FindProperty("Angle"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Amount); + EditorGUILayout.PropertyField(p_Angle); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs.meta new file mode 100644 index 0000000..3014c0b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa0746a6353353f4a9dbf1d9d1115ab0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs new file mode 100644 index 0000000..5c2d64b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(RadialBlur))] + public class RadialBlurEditor : BaseEffectEditor + { + SerializedProperty p_Strength; + SerializedProperty p_Samples; + SerializedProperty p_Center; + SerializedProperty p_Quality; + SerializedProperty p_Sharpness; + SerializedProperty p_Darkness; + SerializedProperty p_EnableVignette; + + void OnEnable() + { + p_Strength = serializedObject.FindProperty("Strength"); + p_Samples = serializedObject.FindProperty("Samples"); + p_Center = serializedObject.FindProperty("Center"); + p_Quality = serializedObject.FindProperty("Quality"); + p_Sharpness = serializedObject.FindProperty("Sharpness"); + p_Darkness = serializedObject.FindProperty("Darkness"); + p_EnableVignette = serializedObject.FindProperty("EnableVignette"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Quality); + + if (p_Quality.intValue == (int)RadialBlur.QualityPreset.Custom) + EditorGUILayout.PropertyField(p_Samples); + + EditorGUILayout.PropertyField(p_Strength); + EditorGUILayout.PropertyField(p_Center, new GUIContent("Center Point")); + EditorGUILayout.PropertyField(p_EnableVignette, new GUIContent("Vignette")); + + if (p_EnableVignette.boolValue) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(p_Sharpness); + EditorGUILayout.PropertyField(p_Darkness); + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs.meta new file mode 100644 index 0000000..456db07 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aafd9c0e42cf95a4789cc0560efc6726 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs b/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs new file mode 100644 index 0000000..2ba98b7 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs @@ -0,0 +1,114 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(SCurveContrast))] + public class SCurveContrastEditor : BaseEffectEditor + { + SerializedProperty p_RedSteepness; + SerializedProperty p_RedGamma; + SerializedProperty p_GreenSteepness; + SerializedProperty p_GreenGamma; + SerializedProperty p_BlueSteepness; + SerializedProperty p_BlueGamma; + SerializedProperty p_ShowCurves; + + void OnEnable() + { + p_RedSteepness = serializedObject.FindProperty("RedSteepness"); + p_RedGamma = serializedObject.FindProperty("RedGamma"); + p_GreenSteepness = serializedObject.FindProperty("GreenSteepness"); + p_GreenGamma = serializedObject.FindProperty("GreenGamma"); + p_BlueSteepness = serializedObject.FindProperty("BlueSteepness"); + p_BlueGamma = serializedObject.FindProperty("BlueGamma"); + p_ShowCurves = serializedObject.FindProperty("e_ShowCurves"); + } + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + serializedObject.Update(); + + EditorGUILayout.LabelField("Red", EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_RedSteepness, new GUIContent("Steepness")); + EditorGUILayout.PropertyField(p_RedGamma, new GUIContent("Gamma")); + } + EditorGUI.indentLevel--; + + EditorGUILayout.LabelField("Green", EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_GreenSteepness, new GUIContent("Steepness")); + EditorGUILayout.PropertyField(p_GreenGamma, new GUIContent("Gamma")); + } + EditorGUI.indentLevel--; + + EditorGUILayout.LabelField("Blue", EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_BlueSteepness, new GUIContent("Steepness")); + EditorGUILayout.PropertyField(p_BlueGamma, new GUIContent("Gamma")); + } + EditorGUI.indentLevel--; + + EditorGUILayout.Space(); + EditorGUILayout.PropertyField(p_ShowCurves, new GUIContent("Show Curves")); + + if (p_ShowCurves.boolValue) + DrawCurve(); + + serializedObject.ApplyModifiedProperties(); + } + + void DrawCurve() + { + int h = 200; + int h_1 = h - 1; + Rect r = GUILayoutUtility.GetRect(256f, h); + GUI.Box(r, GUIContent.none); + + float rs = p_RedSteepness.floatValue; + float rg = p_RedGamma.floatValue; + float gs = p_GreenSteepness.floatValue; + float gg = p_GreenGamma.floatValue; + float bs = p_BlueSteepness.floatValue; + float bg = p_BlueGamma.floatValue; + + int w = Mathf.FloorToInt(r.width); + Vector3[] red = new Vector3[w]; + Vector3[] green = new Vector3[w]; + Vector3[] blue = new Vector3[w]; + + for (int i = 0; i < w; i++) + { + float v = (float)i / (w - 1); + red[i] = new Vector3(r.x + i, r.y + (h - curve(v, rs, rg) * h_1), 0f); + green[i] = new Vector3(r.x + i, r.y + (h - curve(v, gs, gg) * h_1), 0f); + blue[i] = new Vector3(r.x + i, r.y + (h - curve(v, bs, bg) * h_1), 0f); + } + + Handles.color = EditorGUIUtility.isProSkin ? new Color(0f, 1f, 1f, 2f) : new Color(0f, 0f, 1f, 2f); + Handles.DrawAAPolyLine(1f, blue); + Handles.color = EditorGUIUtility.isProSkin ? new Color(0f, 1f, 0f, 2f) : new Color(0.2f, 0.8f, 0.2f, 2f); + Handles.DrawAAPolyLine(1f, green); + Handles.color = new Color(1f, 0f, 0f, 2f); + Handles.DrawAAPolyLine(1f, red); + Handles.color = Color.white; + } + + float curve(float o, float steepness, float gamma) + { + float g = Mathf.Pow(2f, steepness) * 0.5f; + float c = (o < 0.5f) ? Mathf.Pow(o, steepness) * g : 1f - Mathf.Pow(1f - o, steepness) * g; + return Mathf.Clamp01(Mathf.Pow(c, gamma)); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs.meta new file mode 100644 index 0000000..2c770ab --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a6954c6ece9836479f4d43d821ff8e9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs b/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs new file mode 100644 index 0000000..94d4032 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs @@ -0,0 +1,293 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#if !(UNITY_4_5 || UNITY_4_6 || UNITY_5_0) +#define UNITY_5_1_PLUS +#endif + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ShadowsMidtonesHighlights))] + public class ShadowsMidtonesHighlightsEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Shadows; + SerializedProperty p_Midtones; + SerializedProperty p_Highlights; + SerializedProperty p_Amount; + + ColorWheel m_ShadowsWheel; + ColorWheel m_MidtonesWheel; + ColorWheel m_HighlightsWheel; + + float m_InspectorWidth = 1f; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Shadows = serializedObject.FindProperty("Shadows"); + p_Midtones = serializedObject.FindProperty("Midtones"); + p_Highlights = serializedObject.FindProperty("Highlights"); + p_Amount = serializedObject.FindProperty("Amount"); + + m_ShadowsWheel = new ColorWheel("Shadows"); + m_MidtonesWheel = new ColorWheel("Midtones"); + m_HighlightsWheel = new ColorWheel("Highlights"); + } + + void OnDisable() + { + m_ShadowsWheel.Destroy(); + m_MidtonesWheel.Destroy(); + m_HighlightsWheel.Destroy(); + } + + void ComputeInspectorWidth() + { + // Dirty trick to get the inspector width, works with scrollbars too + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + EditorGUILayout.EndHorizontal(); + + float w = GUILayoutUtility.GetLastRect().width; + + if (Event.current.type == EventType.Repaint) + m_InspectorWidth = w; + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + ComputeInspectorWidth(); + + EditorGUILayout.PropertyField(p_Mode); + + int size = Mathf.FloorToInt((m_InspectorWidth - 90f) / 3); + + EditorGUILayout.Space(); + EditorGUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + p_Shadows.colorValue = m_ShadowsWheel.DoGUI(p_Shadows.colorValue, size); + EditorGUILayout.Space(); + p_Midtones.colorValue = m_MidtonesWheel.DoGUI(p_Midtones.colorValue, size); + EditorGUILayout.Space(); + p_Highlights.colorValue = m_HighlightsWheel.DoGUI(p_Highlights.colorValue, size); + GUILayout.FlexibleSpace(); + } + EditorGUILayout.EndHorizontal(); + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(p_Shadows); + EditorGUILayout.PropertyField(p_Midtones); + EditorGUILayout.PropertyField(p_Highlights); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + + class ColorWheel + { + // Constants + const int kMinSize = 80; + const int kMaxSize = 150; + + // Hue Wheel + Texture2D m_WheelTexture; + int m_Diameter; + float m_Radius; + string m_Title; + + // UI + Texture2D m_ThumbTexture; + + // Input utils + Vector2 m_Cursor; + ColorWheel m_Dragging; + + internal ColorWheel(string title) + { + m_Title = title; + m_Diameter = -1; + m_ThumbTexture = Resources.Load("UI/WheelThumb"); + } + + // Cleanup + internal void Destroy() + { + CleanTexture(m_WheelTexture); + } + + internal Color DoGUI(Color color, int diameter) + { + float alpha = color.a; + diameter = Mathf.Clamp(diameter, kMinSize, kMaxSize); + Vector3 hsv; + Color.RGBToHSV(color, out hsv.x, out hsv.y, out hsv.z); + + if (diameter != m_Diameter) + { + m_Diameter = diameter; + m_Radius = diameter / 2f; + UpdateHueWheel(true); + } + + EditorGUILayout.BeginVertical(); + { + // Title + EditorGUILayout.BeginHorizontal(GUILayout.Width(m_Diameter - 1)); + { + var centeredStyle = new GUIStyle(GUI.skin.GetStyle("Label")); + centeredStyle.alignment = TextAnchor.UpperCenter; + GUILayout.Label(m_Title, centeredStyle); + } + EditorGUILayout.EndHorizontal(); + + // Hue wheel + EditorGUILayout.BeginHorizontal(GUILayout.Width(m_Diameter)); + { + Rect wheelRect = GUILayoutUtility.GetRect(m_Diameter, m_Diameter); + wheelRect.x += 3; + + if (Event.current.type == EventType.Repaint) + { + // Wheel + GUI.DrawTexture(wheelRect, m_WheelTexture); + + // Thumb + Vector2 thumbPos = Vector2.zero; + float theta = hsv.x * CLib.PI2; + float len = hsv.y * m_Radius; + thumbPos.x = Mathf.Cos(theta + CLib.PI_2); + thumbPos.y = Mathf.Sin(theta - CLib.PI_2); + thumbPos *= len; + GUI.DrawTexture(new Rect(wheelRect.x + m_Radius + thumbPos.x - 4f, wheelRect.y + m_Radius + thumbPos.y - 4f, 8f, 8f), m_ThumbTexture); + } + + hsv = GetInput(wheelRect, hsv); + } + EditorGUILayout.EndHorizontal(); + + color = Color.HSVToRGB(hsv.x, hsv.y, hsv.z); + color.a = GUILayout.HorizontalSlider(alpha, 0f, 1f); + } + EditorGUILayout.EndVertical(); + + return color; + } + + Vector3 GetInput(Rect bounds, Vector3 hsv) + { + Event e = Event.current; + + if (e.type == EventType.MouseDown && e.button == 0) + { + Vector2 mousePos = e.mousePosition; + + if (bounds.Contains(mousePos)) + { + Vector2 center = new Vector2(bounds.x + m_Radius, bounds.y + m_Radius); + float dist = Vector2.Distance(center, mousePos); + + if (dist <= m_Radius) + { + e.Use(); + Vector2 relativePos = mousePos - new Vector2(bounds.x, bounds.y); + m_Cursor = relativePos; + GetWheelHueSaturation(m_Cursor.x, m_Cursor.y, ref hsv.x, ref hsv.y); + m_Dragging = this; + } + } + } + else if (m_Dragging == this && e.type == EventType.MouseDrag && e.button == 0) + { + e.Use(); + float precision = e.alt ? 0.5f : 1f; + m_Cursor += e.delta * precision; + GetWheelHueSaturation(Mathf.Clamp(m_Cursor.x, 0f, m_Diameter), Mathf.Clamp(m_Cursor.y, 0f, m_Diameter), ref hsv.x, ref hsv.y); + } + else if (m_Dragging == this && e.type == EventType.MouseUp && e.button == 0) + { + e.Use(); + m_Dragging = null; + } + + return hsv; + } + + void GetWheelHueSaturation(float x, float y, ref float hue, ref float saturation) + { + float dx = (float)(x - m_Radius) / m_Radius; + float dy = (float)(y - m_Radius) / m_Radius; + float d = Mathf.Sqrt((dx * dx + dy * dy)); + hue = Mathf.Atan2(dx, -dy); + hue = 1f - ((hue > 0) ? hue : CLib.PI2 + hue) / CLib.PI2; + saturation = Mathf.Clamp01(d); + } + + void UpdateHueWheel(bool sizeChanged) + { + if (sizeChanged) + { + CleanTexture(m_WheelTexture); + m_WheelTexture = MakeTexture(m_Diameter, m_Diameter); + } + + Color[] pixels = m_WheelTexture.GetPixels(); + + for (int y = 0; y < m_Diameter; y++) + { + for (int x = 0; x < m_Diameter; x++) + { + int index = y * m_Diameter + x; + float dx = (float)(x - m_Radius) / m_Radius; + float dy = (float)(y - m_Radius) / m_Radius; + float d = Mathf.Sqrt(dx * dx + dy * dy); + + // Out of the wheel, early exit + if (d >= 1f) + { + pixels[index] = new Color(0f, 0f, 0f, 0f); + continue; + } + + // Red (0) on top, counter-clockwise (industry standard) + float saturation = d; + float hue = Mathf.Atan2(dx, dy); + hue = 1f - ((hue > 0) ? hue : CLib.PI2 + hue) / CLib.PI2; + Color color = Color.HSVToRGB(hue, saturation, 1f); + + // Quick & dirty antialiasing + color.a = (saturation > 0.99) ? (1f - saturation) * 100f : 1f; + + pixels[index] = color; + } + } + + m_WheelTexture.SetPixels(pixels); + m_WheelTexture.Apply(); + } + + Texture2D MakeTexture(int width, int height) + { + Texture2D tex = new Texture2D(width, height, TextureFormat.ARGB32, false, true); + tex.filterMode = FilterMode.Point; + tex.wrapMode = TextureWrapMode.Clamp; + tex.hideFlags = HideFlags.HideAndDontSave; + tex.alphaIsTransparency = true; // Used for cheap AA + return tex; + } + + void CleanTexture(Texture2D texture) + { + if (texture != null) + DestroyImmediate(texture); + } + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs.meta new file mode 100644 index 0000000..3dbac69 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cb87bcb4233abe24d88485369a6ffcee +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs b/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs new file mode 100644 index 0000000..3feee06 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs @@ -0,0 +1,37 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Sharpen))] + public class SharpenEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Strength; + SerializedProperty p_Clamp; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Strength = serializedObject.FindProperty("Strength"); + p_Clamp = serializedObject.FindProperty("Clamp"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_Strength); + + if (p_Mode.intValue == (int)Sharpen.Algorithm.TypeA) + EditorGUILayout.PropertyField(p_Clamp); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs.meta new file mode 100644 index 0000000..557ccc1 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d7c1a6357b196747a42ecfca1e2dd4c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs b/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs new file mode 100644 index 0000000..5fafd0d --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs @@ -0,0 +1,68 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Strokes))] + public class StrokesEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Amplitude; + SerializedProperty p_Frequency; + SerializedProperty p_Scaling; + SerializedProperty p_MaxThickness; + SerializedProperty p_RedLuminance; + SerializedProperty p_GreenLuminance; + SerializedProperty p_BlueLuminance; + SerializedProperty p_Threshold; + SerializedProperty p_Harshness; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Amplitude = serializedObject.FindProperty("Amplitude"); + p_Frequency = serializedObject.FindProperty("Frequency"); + p_Scaling = serializedObject.FindProperty("Scaling"); + p_MaxThickness = serializedObject.FindProperty("MaxThickness"); + p_RedLuminance = serializedObject.FindProperty("RedLuminance"); + p_GreenLuminance = serializedObject.FindProperty("GreenLuminance"); + p_BlueLuminance = serializedObject.FindProperty("BlueLuminance"); + p_Threshold = serializedObject.FindProperty("Threshold"); + p_Harshness = serializedObject.FindProperty("Harshness"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(p_Amplitude); + EditorGUILayout.PropertyField(p_Frequency); + EditorGUILayout.PropertyField(p_Scaling); + EditorGUILayout.PropertyField(p_MaxThickness); + + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(p_Threshold); + EditorGUILayout.PropertyField(p_Harshness); + + EditorGUILayout.Space(); + + EditorGUILayout.LabelField("Contribution", EditorStyles.boldLabel); + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(p_RedLuminance, new GUIContent("Red")); + EditorGUILayout.PropertyField(p_GreenLuminance, new GUIContent("Green")); + EditorGUILayout.PropertyField(p_BlueLuminance, new GUIContent("Blue")); + EditorGUI.indentLevel--; + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs.meta new file mode 100644 index 0000000..e238f71 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ac3e745b3dc1d3d4789beeb8f8716c2b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs b/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs new file mode 100644 index 0000000..beee94d --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Technicolor))] + public class TechnicolorEditor : BaseEffectEditor + { + SerializedProperty p_Exposure; + SerializedProperty p_Balance; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Exposure = serializedObject.FindProperty("Exposure"); + p_Balance = serializedObject.FindProperty("Balance"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Exposure); + + EditorGUILayout.LabelField("Balance", EditorStyles.boldLabel); + + EditorGUI.indentLevel++; + { + Vector3 balance = p_Balance.vector3Value; + balance.x = EditorGUILayout.Slider("Red", balance.x, 0f, 1f); + balance.y = EditorGUILayout.Slider("Green", balance.y, 0f, 1f); + balance.z = EditorGUILayout.Slider("Blue", balance.z, 0f, 1f); + p_Balance.vector3Value = balance; + } + EditorGUI.indentLevel--; + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs.meta new file mode 100644 index 0000000..cb4d2bb --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 43efb79f0a55f8a47827948320de5d5e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs b/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs new file mode 100644 index 0000000..77de77a --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Threshold))] + public class ThresholdEditor : BaseEffectEditor + { + SerializedProperty p_Value; + SerializedProperty p_UseNoise; + SerializedProperty p_NoiseRange; + + void OnEnable() + { + p_Value = serializedObject.FindProperty("Value"); + p_UseNoise = serializedObject.FindProperty("UseNoise"); + p_NoiseRange = serializedObject.FindProperty("NoiseRange"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Value); + EditorGUILayout.PropertyField(p_UseNoise, new GUIContent("Noise")); + + if (p_UseNoise.boolValue) + { + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_NoiseRange, new GUIContent("Range")); + } + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs.meta new file mode 100644 index 0000000..37f75d1 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b8aefb8ad76f1e046905ad3be8bc49d3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs b/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs new file mode 100644 index 0000000..b266b5f --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Vibrance))] + public class VibranceEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + SerializedProperty p_RedChannel; + SerializedProperty p_GreenChannel; + SerializedProperty p_BlueChannel; + SerializedProperty p_AdvancedMode; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + p_RedChannel = serializedObject.FindProperty("RedChannel"); + p_GreenChannel = serializedObject.FindProperty("GreenChannel"); + p_BlueChannel = serializedObject.FindProperty("BlueChannel"); + p_AdvancedMode = serializedObject.FindProperty("AdvancedMode"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + p_AdvancedMode.boolValue = GUILayout.Toggle(p_AdvancedMode.boolValue, "Advanced Mode", EditorStyles.miniButton); + + EditorGUILayout.PropertyField(p_Amount, new GUIContent("Vibrance")); + + if (p_AdvancedMode.boolValue) + { + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_RedChannel); + EditorGUILayout.PropertyField(p_GreenChannel); + EditorGUILayout.PropertyField(p_BlueChannel); + } + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs.meta new file mode 100644 index 0000000..4b05a61 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d93ddc03cf697348b70c15f15bce28d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/VintageEditor.cs b/Assets/Colorful FX/Editor/Effects/VintageEditor.cs new file mode 100644 index 0000000..c383ffe --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VintageEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Vintage))] + public class VintageEditor : BaseEffectEditor + { + SerializedProperty p_Filter; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Filter = serializedObject.FindProperty("Filter"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Filter); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/VintageEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/VintageEditor.cs.meta new file mode 100644 index 0000000..ab34f36 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VintageEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5ea04c212030eaa47881ee0caedd2856 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs b/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs new file mode 100644 index 0000000..5d15da5 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(VintageFast))] + public class VintageFastEditor : BaseEffectEditor + { + SerializedProperty p_Filter; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Filter = serializedObject.FindProperty("Filter"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Filter); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs.meta new file mode 100644 index 0000000..4d1cfcb --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51e43aaf9dea6414685f60a22730e7aa +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs b/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs new file mode 100644 index 0000000..095d1a5 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs @@ -0,0 +1,38 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(WaveDistortion))] + public class WaveDistortionEditor : BaseEffectEditor + { + SerializedProperty p_Amplitude; + SerializedProperty p_Waves; + SerializedProperty p_ColorGlitch; + SerializedProperty p_Phase; + + void OnEnable() + { + p_Amplitude = serializedObject.FindProperty("Amplitude"); + p_Waves = serializedObject.FindProperty("Waves"); + p_ColorGlitch = serializedObject.FindProperty("ColorGlitch"); + p_Phase = serializedObject.FindProperty("Phase"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Phase); + EditorGUILayout.PropertyField(p_Amplitude); + EditorGUILayout.PropertyField(p_Waves); + EditorGUILayout.PropertyField(p_ColorGlitch); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs.meta new file mode 100644 index 0000000..b7c2a29 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7d6761cdf66f9e641aa362d78cfb226f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs b/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs new file mode 100644 index 0000000..287a84b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(WhiteBalance))] + public class WhiteBalanceEditor : BaseEffectEditor + { + SerializedProperty p_White; + SerializedProperty p_Mode; + + void OnEnable() + { + p_White = serializedObject.FindProperty("White"); + p_Mode = serializedObject.FindProperty("Mode"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_White, new GUIContent("White Point")); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs.meta new file mode 100644 index 0000000..344e903 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 07588eab913e957498c2da231bf9198d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs b/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs new file mode 100644 index 0000000..7b578d9 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs @@ -0,0 +1,48 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Wiggle))] + public class WiggleEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Timer; + SerializedProperty p_Speed; + SerializedProperty p_Frequency; + SerializedProperty p_Amplitude; + SerializedProperty p_AutomaticTimer; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Timer = serializedObject.FindProperty("Timer"); + p_Speed = serializedObject.FindProperty("Speed"); + p_Frequency = serializedObject.FindProperty("Frequency"); + p_Amplitude = serializedObject.FindProperty("Amplitude"); + p_AutomaticTimer = serializedObject.FindProperty("AutomaticTimer"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_AutomaticTimer); + + if (p_AutomaticTimer.boolValue) + EditorGUILayout.PropertyField(p_Speed); + else + EditorGUILayout.PropertyField(p_Timer); + + EditorGUILayout.PropertyField(p_Frequency); + EditorGUILayout.PropertyField(p_Amplitude); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs.meta new file mode 100644 index 0000000..ac36bcc --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 69a21a616d85b3e4a9c5a82e60c55132 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/PropertyDrawer.meta b/Assets/Colorful FX/Editor/PropertyDrawer.meta new file mode 100644 index 0000000..154d214 --- /dev/null +++ b/Assets/Colorful FX/Editor/PropertyDrawer.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6f6d4087b484ccf45849f3b2c1f4c594 +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs b/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs new file mode 100644 index 0000000..897fcfc --- /dev/null +++ b/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomPropertyDrawer(typeof(MinAttribute))] + internal sealed class MinDrawer : PropertyDrawer + { + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + MinAttribute attribute = (MinAttribute)base.attribute; + + if (property.propertyType == SerializedPropertyType.Integer) + { + int v = EditorGUI.IntField(position, label, property.intValue); + property.intValue = (int)Mathf.Max(v, attribute.Min); + } + else if (property.propertyType == SerializedPropertyType.Float) + { + float v = EditorGUI.FloatField(position, label, property.floatValue); + property.floatValue = Mathf.Max(v, attribute.Min); + } + else + { + EditorGUI.LabelField(position, label.text, "Use Min with float or int."); + } + } + } +} diff --git a/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs.meta b/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs.meta new file mode 100644 index 0000000..d1dae51 --- /dev/null +++ b/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a89104df11f6a3e448d68d949cd522fd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Shaders.meta b/Assets/Colorful FX/Editor/Shaders.meta new file mode 100644 index 0000000..30c99d0 --- /dev/null +++ b/Assets/Colorful FX/Editor/Shaders.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 09201e9f2c82fca4a8d900175bde140c +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader b/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader new file mode 100644 index 0000000..800c877 --- /dev/null +++ b/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader @@ -0,0 +1,44 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Editor/_DynamicLookup" +{ + SubShader + { + Pass + { + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + struct vInput + { + float4 pos : POSITION; + float4 color : COLOR; + }; + + struct fInput + { + float4 pos : SV_POSITION; + float4 color : COLOR; + }; + + fInput vert(vInput i) + { + fInput o; + o.pos = mul(UNITY_MATRIX_MVP, i.pos); + o.color = i.color; + return o; + } + + half4 frag(fInput i) : SV_Target + { + return half4(i.color.rgb, 1.0); + } + + ENDCG + } + } +} diff --git a/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader.meta b/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader.meta new file mode 100644 index 0000000..601f16b --- /dev/null +++ b/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: c3c7978226799a44bb5f79a0c901ff94 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Editor/Startup.meta b/Assets/Colorful FX/Editor/Startup.meta new file mode 100644 index 0000000..622e33f --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2aba392ae7b8e5b40bd33fc2f3b1f374 +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs b/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs new file mode 100644 index 0000000..3a604bd --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs @@ -0,0 +1,221 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#if !(UNITY_4_5 || UNITY_4_6 || UNITY_5_0) +#define UNITY_5_1_PLUS +#endif + +using UnityEngine; +using UnityEditor; +using System; +using System.IO; +using System.Text.RegularExpressions; + +public class Colorful_StartupWindowProcessor : AssetPostprocessor +{ + static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) + { + string[] entries = Array.FindAll(importedAssets, name => name.Contains("ColorfulFX_StartupWindow") && !name.EndsWith(".meta")); + + for (int i = 0; i < entries.Length; i++) + if (ColorfulFX_StartupWindow.Init(false)) + break; + } +} + +public sealed class ColorfulFX_StartupWindow : EditorWindow +{ + public static string identifier = "TH_Colorful_FX"; + static string pathChangelog = "Assets/Colorful FX/Changelog.txt"; + static string pathImages = "Assets/Colorful FX/Editor/Startup/Images/"; + + Texture2D headerPic; + string changelogText = ""; + Vector2 changelogScroll = Vector2.zero; + GUIStyle richLabelStyle; + GUIStyle richButtonStyle; + GUIStyle iconButtonStyle; + Texture2D iconColorful; + Texture2D iconChromatica; + Texture2D iconSSAOPro; + + [MenuItem("Help/Colorful FX/About", false, 0)] + public static void MenuInit() + { + ColorfulFX_StartupWindow.Init(true); + } + + [MenuItem("Help/Colorful FX/User Manual", false, 0)] + public static void MenuManual() + { + Application.OpenURL("http://thomashourdel.com/colorful/doc/"); + } + + public static void FindAssets() + { + // Get the relative data path + string[] results = AssetDatabase.FindAssets("ColorfulFX_StartupWindow t:Script", null); + if (results.Length > 0) + { + string p = AssetDatabase.GUIDToAssetPath(results[0]); + p = Path.GetDirectoryName(p); + p = p.Substring(0, p.LastIndexOf('/')); + p = p.Substring(0, p.LastIndexOf('/')); + pathChangelog = p + "/Changelog.txt"; + pathImages = p + "/Editor/Startup/Images/"; + } + } + + public static T LoadAssetAt(string path) where T : UnityEngine.Object + { +#if UNITY_5_1_PLUS + return AssetDatabase.LoadAssetAtPath(path); +#else + return Resources.LoadAssetAtPath(path); +#endif + } + + public static bool Init(bool forceOpen) + { + FindAssets(); + + // First line in the changelog is the version string + TextAsset textAsset = LoadAssetAt(pathChangelog); + + if (textAsset == null && forceOpen == false) + forceOpen = true; // Changelog.txt hasn't been imported yet (???) + else if (textAsset == null) + return false; // Something's wrong, should never happen + + if (forceOpen || EditorPrefs.GetString(identifier) != GetVersion()) + { + ColorfulFX_StartupWindow window; + window = EditorWindow.GetWindow(true, "About Colorful FX", true); + Vector2 size = new Vector2(530, 670); + window.minSize = size; + window.maxSize = size; + window.ShowUtility(); + return true; + } + + return false; + } + + static string GetVersion() + { + TextAsset textAsset = LoadAssetAt(pathChangelog); + string version = textAsset.text.Split('\n')[0]; + return version; + } + + void OnEnable() + { + FindAssets(); + + EditorPrefs.SetString(identifier, GetVersion()); + + string versionColor = EditorGUIUtility.isProSkin ? "#ffffffee" : "#000000ee"; + changelogText = LoadAssetAt(pathChangelog).text; + changelogText = Regex.Replace(changelogText, @"^[0-9].*", "Version $0", RegexOptions.Multiline); + changelogText = Regex.Replace(changelogText, @"^- (\w+:)", " $0", RegexOptions.Multiline); + + headerPic = LoadAssetAt(pathImages + "header.jpg"); + iconColorful = LoadAssetAt(pathImages + "icon-colorful.png"); + iconChromatica = LoadAssetAt(pathImages + "icon-chromatica.png"); + iconSSAOPro = LoadAssetAt(pathImages + "icon-ssaopro.png"); + } + + void OnGUI() + { + if (richLabelStyle == null) + { + richLabelStyle = new GUIStyle(GUI.skin.label); + richLabelStyle.richText = true; + richLabelStyle.wordWrap = true; + richButtonStyle = new GUIStyle(GUI.skin.button); + richButtonStyle.richText = true; + iconButtonStyle = new GUIStyle(GUI.skin.button); + iconButtonStyle.normal.background = null; + iconButtonStyle.imagePosition = ImagePosition.ImageOnly; + iconButtonStyle.fixedWidth = 96; + iconButtonStyle.fixedHeight = 96; + } + + Rect headerRect = new Rect(0, 0, 530, 207); + GUI.DrawTexture(headerRect, headerPic, ScaleMode.ScaleAndCrop, false); + + GUILayout.Space(214); + + GUILayout.BeginVertical(); + { + HR(0, 2); + + // Doc + GUILayout.BeginHorizontal(); + { + if (GUILayout.Button("Documentation\nComplete manual, examples, tips & tricks", richButtonStyle, GUILayout.MaxWidth(260), GUILayout.Height(36))) + Application.OpenURL("http://thomashourdel.com/colorful/doc/"); + + if (GUILayout.Button("Rate it\nLeave a review on the Asset Store", richButtonStyle, GUILayout.Height(36))) + Application.OpenURL("com.unity3d.kharma:content/44845"); + } + GUILayout.EndHorizontal(); + + // Contact + HR(4, 2); + + GUILayout.BeginHorizontal(); + { + if (GUILayout.Button("E-mail\nthomas@hourdel.com", richButtonStyle, GUILayout.MaxWidth(172), GUILayout.Height(36))) + Application.OpenURL("mailto:thomas@hourdel"); + + if (GUILayout.Button("Twitter\n@Chman", richButtonStyle, GUILayout.Height(36))) + Application.OpenURL("http://twitter.com/Chman"); + + if (GUILayout.Button("Support Forum\nUnity Community", richButtonStyle, GUILayout.MaxWidth(172), GUILayout.Height(36))) + Application.OpenURL("http://forum.unity3d.com/threads/colorful-post-fx-photoshop-like-color-correction-tools.143417/"); + } + GUILayout.EndHorizontal(); + + // Changelog + HR(4, 0); + + changelogScroll = GUILayout.BeginScrollView(changelogScroll); + GUILayout.Label(changelogText, richLabelStyle); + GUILayout.EndScrollView(); + + // Promo + HR(0, 0); + + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + + if (GUILayout.Button(iconColorful, iconButtonStyle)) + Application.OpenURL("com.unity3d.kharma:content/44845"); + + if (GUILayout.Button(iconChromatica, iconButtonStyle)) + Application.OpenURL("com.unity3d.kharma:content/20743"); + + if (GUILayout.Button(iconSSAOPro, iconButtonStyle)) + Application.OpenURL("com.unity3d.kharma:content/22369"); + + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + } + GUILayout.EndVertical(); + } + + void HR(int prevSpace, int nextSpace) + { + GUILayout.Space(prevSpace); + Rect r = GUILayoutUtility.GetRect(Screen.width, 2); + Color og = GUI.backgroundColor; + GUI.backgroundColor = Color.black; + GUI.Box(r, ""); + GUI.backgroundColor = og; + GUILayout.Space(nextSpace); + } +} diff --git a/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs.meta b/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs.meta new file mode 100644 index 0000000..ab4664b --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1b65b98459368bf4fb6663ba8aa5216d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Editor/Startup/Images.meta b/Assets/Colorful FX/Editor/Startup/Images.meta new file mode 100644 index 0000000..f13066a --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/Images.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a9efe01b3c4cef247a0b47d778edb428 +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Startup/Images/header.jpg b/Assets/Colorful FX/Editor/Startup/Images/header.jpg new file mode 100644 index 0000000..61dd160 Binary files /dev/null and b/Assets/Colorful FX/Editor/Startup/Images/header.jpg differ diff --git a/Assets/Colorful FX/Editor/Startup/Images/header.jpg.meta b/Assets/Colorful FX/Editor/Startup/Images/header.jpg.meta new file mode 100644 index 0000000..ba025d4 --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/Images/header.jpg.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 25181b7d9db23b44a964af66029f7361 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png b/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png new file mode 100644 index 0000000..cd9f33a Binary files /dev/null and b/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png differ diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png.meta b/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png.meta new file mode 100644 index 0000000..f9b3835 --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 51f0cc904e1da584dbda9f961d7ce6a1 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 128 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png b/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png new file mode 100644 index 0000000..62fb7e9 Binary files /dev/null and b/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png differ diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png.meta b/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png.meta new file mode 100644 index 0000000..948a81a --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 869bdc44d126e274c98ad67e9d6b719b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 128 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png b/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png new file mode 100644 index 0000000..4f622c0 Binary files /dev/null and b/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png differ diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png.meta b/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png.meta new file mode 100644 index 0000000..54deb12 --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a93a9f31d87592944ab49cffe727e831 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 128 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Editor/icon.png b/Assets/Colorful FX/Editor/icon.png new file mode 100644 index 0000000..a2086d3 Binary files /dev/null and b/Assets/Colorful FX/Editor/icon.png differ diff --git a/Assets/Colorful FX/Editor/icon.png.meta b/Assets/Colorful FX/Editor/icon.png.meta new file mode 100644 index 0000000..578e46b --- /dev/null +++ b/Assets/Colorful FX/Editor/icon.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e7f8a1ed59e3e914f8e50295c1130bc1 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 32 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Readme.txt b/Assets/Colorful FX/Readme.txt new file mode 100644 index 0000000..4fd1843 --- /dev/null +++ b/Assets/Colorful FX/Readme.txt @@ -0,0 +1,20 @@ +Thank you for buying Colorful FX, I hope it'll fit your needs ! Full documentation is available in the Help menu. + +E-mail + thomas@hourdel.com +Twitter + http://www.twitter.com/Chman +Unity Community + http://forum.unity3d.com/members/15388-Chman + +Website + http://www.thomashourdel.com/colorful/ +Asset Store + https://www.assetstore.unity3d.com/#/content/44845 (leave a review!) +Itch.io + http://chman.itch.io/colorful +Support Forum + http://forum.unity3d.com/threads/143417 + +Like Colorful FX ? Check out my other Unity assets: + https://www.assetstore.unity3d.com/en/#!/publisher/1627 diff --git a/Assets/Colorful FX/Readme.txt.meta b/Assets/Colorful FX/Readme.txt.meta new file mode 100644 index 0000000..6138cff --- /dev/null +++ b/Assets/Colorful FX/Readme.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: ac8646fcf379b164c9ce37d26c16bcdd +TextScriptImporter: + userData: diff --git a/Assets/Colorful FX/Resources.meta b/Assets/Colorful FX/Resources.meta new file mode 100644 index 0000000..7c33926 --- /dev/null +++ b/Assets/Colorful FX/Resources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 579a612bd4f67064cb4f0fdedf5f893f +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram.meta b/Assets/Colorful FX/Resources/Instagram.meta new file mode 100644 index 0000000..da18a26 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 59bf94e90cb054943a1e918ad276c59d +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Aden.png b/Assets/Colorful FX/Resources/Instagram/Aden.png new file mode 100644 index 0000000..05fcf80 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Aden.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Aden.png.meta b/Assets/Colorful FX/Resources/Instagram/Aden.png.meta new file mode 100644 index 0000000..3aae666 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Aden.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 71bb60f95cb866c458d7bc194a88d79a +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Amaro.png b/Assets/Colorful FX/Resources/Instagram/Amaro.png new file mode 100644 index 0000000..94fbbf1 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Amaro.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Amaro.png.meta b/Assets/Colorful FX/Resources/Instagram/Amaro.png.meta new file mode 100644 index 0000000..51c42ef --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Amaro.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 492bfb06acc0e704097ddd34878f4c01 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Brannan.png b/Assets/Colorful FX/Resources/Instagram/Brannan.png new file mode 100644 index 0000000..5ea8a25 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Brannan.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Brannan.png.meta b/Assets/Colorful FX/Resources/Instagram/Brannan.png.meta new file mode 100644 index 0000000..0691261 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Brannan.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: a4a883b00d5a03c4191f41d61ff430fe +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Crema.png b/Assets/Colorful FX/Resources/Instagram/Crema.png new file mode 100644 index 0000000..0a47d71 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Crema.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Crema.png.meta b/Assets/Colorful FX/Resources/Instagram/Crema.png.meta new file mode 100644 index 0000000..cb78866 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Crema.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 8cfad23925d468e42a4b069b9bada02d +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Earlybird.png b/Assets/Colorful FX/Resources/Instagram/Earlybird.png new file mode 100644 index 0000000..d5a4f5b Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Earlybird.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Earlybird.png.meta b/Assets/Colorful FX/Resources/Instagram/Earlybird.png.meta new file mode 100644 index 0000000..7aa39c5 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Earlybird.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 7a78f67526578ab409a01e0672fa5d35 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/F1977.png b/Assets/Colorful FX/Resources/Instagram/F1977.png new file mode 100644 index 0000000..44c91de Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/F1977.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/F1977.png.meta b/Assets/Colorful FX/Resources/Instagram/F1977.png.meta new file mode 100644 index 0000000..7390db7 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/F1977.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 54e6dfcbbe85e8043b8f7b9b304339f5 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Hefe.png b/Assets/Colorful FX/Resources/Instagram/Hefe.png new file mode 100644 index 0000000..4c87afb Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Hefe.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Hefe.png.meta b/Assets/Colorful FX/Resources/Instagram/Hefe.png.meta new file mode 100644 index 0000000..4f2f0c0 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Hefe.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: cb854b0a14b9eea4f8e9d47004dcb242 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Hudson.png b/Assets/Colorful FX/Resources/Instagram/Hudson.png new file mode 100644 index 0000000..c6a6a22 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Hudson.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Hudson.png.meta b/Assets/Colorful FX/Resources/Instagram/Hudson.png.meta new file mode 100644 index 0000000..941893f --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Hudson.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: a28ebc0416ad1c9469a75c8fddd80498 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Inkwell.png b/Assets/Colorful FX/Resources/Instagram/Inkwell.png new file mode 100644 index 0000000..c570e4f Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Inkwell.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Inkwell.png.meta b/Assets/Colorful FX/Resources/Instagram/Inkwell.png.meta new file mode 100644 index 0000000..dfbd8c9 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Inkwell.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 69c4d69080457a447a8f114a3d172927 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Juno.png b/Assets/Colorful FX/Resources/Instagram/Juno.png new file mode 100644 index 0000000..8c82a3d Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Juno.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Juno.png.meta b/Assets/Colorful FX/Resources/Instagram/Juno.png.meta new file mode 100644 index 0000000..d308b9b --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Juno.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: db967af71da0c1f40aa19ba96bc60664 +timeCreated: 1430926065 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Kelvin.png b/Assets/Colorful FX/Resources/Instagram/Kelvin.png new file mode 100644 index 0000000..c75c19e Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Kelvin.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Kelvin.png.meta b/Assets/Colorful FX/Resources/Instagram/Kelvin.png.meta new file mode 100644 index 0000000..044138d --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Kelvin.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 8302ec815182af74bb21ebf76a4643e1 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Lark.png b/Assets/Colorful FX/Resources/Instagram/Lark.png new file mode 100644 index 0000000..b2b311f Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Lark.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Lark.png.meta b/Assets/Colorful FX/Resources/Instagram/Lark.png.meta new file mode 100644 index 0000000..e8750f4 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Lark.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 95b0eae7d4e35f4469715f6c3022fff8 +timeCreated: 1430926065 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/LoFi.png b/Assets/Colorful FX/Resources/Instagram/LoFi.png new file mode 100644 index 0000000..a78f237 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/LoFi.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/LoFi.png.meta b/Assets/Colorful FX/Resources/Instagram/LoFi.png.meta new file mode 100644 index 0000000..2c6d40d --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/LoFi.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 70ed4587272042e45a86405a1536651f +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Ludwig.png b/Assets/Colorful FX/Resources/Instagram/Ludwig.png new file mode 100644 index 0000000..501802e Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Ludwig.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Ludwig.png.meta b/Assets/Colorful FX/Resources/Instagram/Ludwig.png.meta new file mode 100644 index 0000000..30d4bb0 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Ludwig.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: c0aa2cffa31cfed4a8f5c569e7172065 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Mayfair.png b/Assets/Colorful FX/Resources/Instagram/Mayfair.png new file mode 100644 index 0000000..c1c8e63 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Mayfair.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Mayfair.png.meta b/Assets/Colorful FX/Resources/Instagram/Mayfair.png.meta new file mode 100644 index 0000000..2c4122c --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Mayfair.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: aa0093754890d1d4982197dedc160551 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Nashville.png b/Assets/Colorful FX/Resources/Instagram/Nashville.png new file mode 100644 index 0000000..efc60d9 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Nashville.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Nashville.png.meta b/Assets/Colorful FX/Resources/Instagram/Nashville.png.meta new file mode 100644 index 0000000..2d3dcf5 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Nashville.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 566675071db986148847d88f5a91ca63 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Perpetua.png b/Assets/Colorful FX/Resources/Instagram/Perpetua.png new file mode 100644 index 0000000..1394d10 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Perpetua.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Perpetua.png.meta b/Assets/Colorful FX/Resources/Instagram/Perpetua.png.meta new file mode 100644 index 0000000..c6a858a --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Perpetua.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 4016620c77806cc49ba9b406afabe797 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Reyes.png b/Assets/Colorful FX/Resources/Instagram/Reyes.png new file mode 100644 index 0000000..53178c3 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Reyes.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Reyes.png.meta b/Assets/Colorful FX/Resources/Instagram/Reyes.png.meta new file mode 100644 index 0000000..8b0f3e8 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Reyes.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 35befae6315042a489cca37f35cda560 +timeCreated: 1430926065 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Rise.png b/Assets/Colorful FX/Resources/Instagram/Rise.png new file mode 100644 index 0000000..f8c44c5 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Rise.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Rise.png.meta b/Assets/Colorful FX/Resources/Instagram/Rise.png.meta new file mode 100644 index 0000000..5910de8 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Rise.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 65799e06397ba314c842b80c9b80c3cb +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Sierra.png b/Assets/Colorful FX/Resources/Instagram/Sierra.png new file mode 100644 index 0000000..cd3a167 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Sierra.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Sierra.png.meta b/Assets/Colorful FX/Resources/Instagram/Sierra.png.meta new file mode 100644 index 0000000..5f840f4 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Sierra.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: e008073026fa76d43a47c376ff6c3aa4 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Slumber.png b/Assets/Colorful FX/Resources/Instagram/Slumber.png new file mode 100644 index 0000000..220f90a Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Slumber.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Slumber.png.meta b/Assets/Colorful FX/Resources/Instagram/Slumber.png.meta new file mode 100644 index 0000000..6f55a95 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Slumber.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 2f559a345557ed24eb6cc977b34b1f0e +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Sutro.png b/Assets/Colorful FX/Resources/Instagram/Sutro.png new file mode 100644 index 0000000..c4ba647 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Sutro.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Sutro.png.meta b/Assets/Colorful FX/Resources/Instagram/Sutro.png.meta new file mode 100644 index 0000000..b5d3251 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Sutro.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: addfa6fc5c2d56641b5ebed82ce633cd +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Toaster.png b/Assets/Colorful FX/Resources/Instagram/Toaster.png new file mode 100644 index 0000000..986a143 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Toaster.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Toaster.png.meta b/Assets/Colorful FX/Resources/Instagram/Toaster.png.meta new file mode 100644 index 0000000..c23e448 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Toaster.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: f7a1319a0d3863c4788319a3210510a2 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Valencia.png b/Assets/Colorful FX/Resources/Instagram/Valencia.png new file mode 100644 index 0000000..c6ca64d Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Valencia.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Valencia.png.meta b/Assets/Colorful FX/Resources/Instagram/Valencia.png.meta new file mode 100644 index 0000000..6083b78 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Valencia.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 27f38c2393d5cc64881d0ebc28644b5b +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Walden.png b/Assets/Colorful FX/Resources/Instagram/Walden.png new file mode 100644 index 0000000..2cf5e3b Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Walden.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Walden.png.meta b/Assets/Colorful FX/Resources/Instagram/Walden.png.meta new file mode 100644 index 0000000..d142405 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Walden.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: ed7300bee0a313f4f8b879723666d20e +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/Willow.png b/Assets/Colorful FX/Resources/Instagram/Willow.png new file mode 100644 index 0000000..cef6070 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Willow.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Willow.png.meta b/Assets/Colorful FX/Resources/Instagram/Willow.png.meta new file mode 100644 index 0000000..0d86a8c --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Willow.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 12a3fb1b1c5b0274b8b2e0e629fc8577 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/Instagram/XProII.png b/Assets/Colorful FX/Resources/Instagram/XProII.png new file mode 100644 index 0000000..9bac781 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/XProII.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/XProII.png.meta b/Assets/Colorful FX/Resources/Instagram/XProII.png.meta new file mode 100644 index 0000000..5463afa --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/XProII.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: ab366828b8a7ca5499aa7dcfbd5d695d +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast.meta b/Assets/Colorful FX/Resources/InstagramFast.meta new file mode 100644 index 0000000..17260a5 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 374407aa098741b459c3c876d7ec03f9 +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Aden.png b/Assets/Colorful FX/Resources/InstagramFast/Aden.png new file mode 100644 index 0000000..6fe7a1f Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Aden.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Aden.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Aden.png.meta new file mode 100644 index 0000000..b5b774f --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Aden.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 2254a0e5c700e144c8d0b251773586df +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Amaro.png b/Assets/Colorful FX/Resources/InstagramFast/Amaro.png new file mode 100644 index 0000000..508851b Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Amaro.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Amaro.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Amaro.png.meta new file mode 100644 index 0000000..bf40f81 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Amaro.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8d477e8a90eb6384882420ca937e62b2 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Brannan.png b/Assets/Colorful FX/Resources/InstagramFast/Brannan.png new file mode 100644 index 0000000..6612367 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Brannan.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Brannan.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Brannan.png.meta new file mode 100644 index 0000000..e3b9d54 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Brannan.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 68d50d8f366bfdf45b50c222e496a18d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Crema.png b/Assets/Colorful FX/Resources/InstagramFast/Crema.png new file mode 100644 index 0000000..fbbdacc Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Crema.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Crema.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Crema.png.meta new file mode 100644 index 0000000..7b68d96 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Crema.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 15262d436ecc1d94495b2b362c66b715 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png b/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png new file mode 100644 index 0000000..93a3871 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png.meta new file mode 100644 index 0000000..041cb3f --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8b3ad70d6777ecb4182ce811852c1b36 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/F1977.png b/Assets/Colorful FX/Resources/InstagramFast/F1977.png new file mode 100644 index 0000000..f55591a Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/F1977.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/F1977.png.meta b/Assets/Colorful FX/Resources/InstagramFast/F1977.png.meta new file mode 100644 index 0000000..905684e --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/F1977.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 5af78601c28168c44a6b65d7d7cfb9b9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Hefe.png b/Assets/Colorful FX/Resources/InstagramFast/Hefe.png new file mode 100644 index 0000000..c08b45f Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Hefe.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Hefe.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Hefe.png.meta new file mode 100644 index 0000000..79b4cff --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Hefe.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: ad8ec17e194f9114aa054c91edd0acb4 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Hudson.png b/Assets/Colorful FX/Resources/InstagramFast/Hudson.png new file mode 100644 index 0000000..ef2bea8 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Hudson.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Hudson.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Hudson.png.meta new file mode 100644 index 0000000..50fcaac --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Hudson.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 3c654de0a221cc84db32f82f8f2afef2 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png b/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png new file mode 100644 index 0000000..6a946e0 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png.meta new file mode 100644 index 0000000..76b89a5 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 61952d79b0552f74fa48a9c38ac66cfa +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Juno.png b/Assets/Colorful FX/Resources/InstagramFast/Juno.png new file mode 100644 index 0000000..2e839d4 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Juno.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Juno.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Juno.png.meta new file mode 100644 index 0000000..0975f83 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Juno.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 802ada9f676280e469941c886fda1acc +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png b/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png new file mode 100644 index 0000000..d174335 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png.meta new file mode 100644 index 0000000..ec4c8e1 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 69a3d025b33ca1c479da87d948e75f43 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Lark.png b/Assets/Colorful FX/Resources/InstagramFast/Lark.png new file mode 100644 index 0000000..0edca2f Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Lark.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Lark.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Lark.png.meta new file mode 100644 index 0000000..0baa400 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Lark.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 4118a023d7fc21d4dbe8e400b6e0d420 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/LoFi.png b/Assets/Colorful FX/Resources/InstagramFast/LoFi.png new file mode 100644 index 0000000..d6c51e4 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/LoFi.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/LoFi.png.meta b/Assets/Colorful FX/Resources/InstagramFast/LoFi.png.meta new file mode 100644 index 0000000..b3cdfb1 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/LoFi.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 9d1e8c8488c33e243b7975ac76e81c52 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png b/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png new file mode 100644 index 0000000..4f1719e Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png.meta new file mode 100644 index 0000000..29fc5a1 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a1931bf8a1579944dbb313c72ee8a8a9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png b/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png new file mode 100644 index 0000000..f1d9ac7 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png.meta new file mode 100644 index 0000000..c2d2a41 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 6d8afa97defbd3c4da531126311f040a +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Nashville.png b/Assets/Colorful FX/Resources/InstagramFast/Nashville.png new file mode 100644 index 0000000..4fe4b56 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Nashville.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Nashville.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Nashville.png.meta new file mode 100644 index 0000000..75ca3dc --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Nashville.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: c3fdaef179f0ad0448d330d74232e520 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png b/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png new file mode 100644 index 0000000..8094c49 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png.meta new file mode 100644 index 0000000..d47bfc6 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 06b3773ea97279445ace9cc180276028 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Reyes.png b/Assets/Colorful FX/Resources/InstagramFast/Reyes.png new file mode 100644 index 0000000..5d9b718 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Reyes.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Reyes.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Reyes.png.meta new file mode 100644 index 0000000..0d0858a --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Reyes.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: d54a7866c9cbb244983b5ac8a4658c0c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Rise.png b/Assets/Colorful FX/Resources/InstagramFast/Rise.png new file mode 100644 index 0000000..ef7c087 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Rise.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Rise.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Rise.png.meta new file mode 100644 index 0000000..be21d54 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Rise.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: c05f77e0152817e4f83f592110846dbb +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Sierra.png b/Assets/Colorful FX/Resources/InstagramFast/Sierra.png new file mode 100644 index 0000000..97f4ae2 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Sierra.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Sierra.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Sierra.png.meta new file mode 100644 index 0000000..e8d27df --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Sierra.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 819a037846f8f8041b5aee0b125616c6 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Slumber.png b/Assets/Colorful FX/Resources/InstagramFast/Slumber.png new file mode 100644 index 0000000..78da851 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Slumber.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Slumber.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Slumber.png.meta new file mode 100644 index 0000000..33c17c2 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Slumber.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 95be40883626e6c4b82ff9226e71a902 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Sutro.png b/Assets/Colorful FX/Resources/InstagramFast/Sutro.png new file mode 100644 index 0000000..f8ef8b4 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Sutro.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Sutro.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Sutro.png.meta new file mode 100644 index 0000000..2718b0f --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Sutro.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 804ddb2aaa670b14a8a4b471b304d5af +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Toaster.png b/Assets/Colorful FX/Resources/InstagramFast/Toaster.png new file mode 100644 index 0000000..ecfd597 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Toaster.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Toaster.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Toaster.png.meta new file mode 100644 index 0000000..44f6810 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Toaster.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 7735aa00f73d0e64e9931be9610bc892 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Valencia.png b/Assets/Colorful FX/Resources/InstagramFast/Valencia.png new file mode 100644 index 0000000..dc800f9 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Valencia.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Valencia.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Valencia.png.meta new file mode 100644 index 0000000..90a81dd --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Valencia.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 4e1927657ed4ac845b44125b5df98321 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Walden.png b/Assets/Colorful FX/Resources/InstagramFast/Walden.png new file mode 100644 index 0000000..39d2da9 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Walden.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Walden.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Walden.png.meta new file mode 100644 index 0000000..b45757a --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Walden.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: c8cc5a4b42ff80a4682b226de98bf249 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Willow.png b/Assets/Colorful FX/Resources/InstagramFast/Willow.png new file mode 100644 index 0000000..d12aa84 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Willow.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Willow.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Willow.png.meta new file mode 100644 index 0000000..79904b5 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Willow.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 5a90642ad30e41a46897efac1aa642da +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/InstagramFast/XProII.png b/Assets/Colorful FX/Resources/InstagramFast/XProII.png new file mode 100644 index 0000000..afd1459 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/XProII.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/XProII.png.meta b/Assets/Colorful FX/Resources/InstagramFast/XProII.png.meta new file mode 100644 index 0000000..2aae016 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/XProII.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: c1c17bd83afe202429954e1b34d86faa +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes.meta b/Assets/Colorful FX/Resources/LoFiPalettes.meta new file mode 100644 index 0000000..b8c446d --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 36ca34abb241b374187c54d4e1119e3f +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png b/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png new file mode 100644 index 0000000..83df521 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png.meta new file mode 100644 index 0000000..5c1161d --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: efd6c963b96631a428461d5f3957acb7 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png b/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png new file mode 100644 index 0000000..c41b27c Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png.meta new file mode 100644 index 0000000..770d360 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e1c1ea046134cc44ea7eed7b158219e9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png b/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png new file mode 100644 index 0000000..dd811af Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png.meta new file mode 100644 index 0000000..123d6cd --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 2ac3863d175db3e4e83fa99b623116c5 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png b/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png new file mode 100644 index 0000000..f5daceb Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png.meta new file mode 100644 index 0000000..66f6ca7 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e32c6243426d1774e8caacaf20433a7f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png b/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png new file mode 100644 index 0000000..aefc073 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png.meta new file mode 100644 index 0000000..da8c7c6 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 55644c5b205da68408b2b3b21cb2a766 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png b/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png new file mode 100644 index 0000000..abe72e1 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png.meta new file mode 100644 index 0000000..5e8aef5 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: b9c6457e1974458429cfceea9e50b063 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png b/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png new file mode 100644 index 0000000..6cbca63 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png.meta new file mode 100644 index 0000000..4edcfbc --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 36435693a5c13ad45aee44ebeb29b689 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png b/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png new file mode 100644 index 0000000..91e8402 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png.meta new file mode 100644 index 0000000..f74f0be --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 45f5e400febb6b94397415240321f588 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png b/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png new file mode 100644 index 0000000..ad865d7 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png.meta new file mode 100644 index 0000000..3c3cd62 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: aadf6a8ae2ed13c409159fb3c7554fe3 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png b/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png new file mode 100644 index 0000000..3e19093 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png.meta new file mode 100644 index 0000000..433c15e --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 31252f05c22479f42ae9e4935dc52036 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png new file mode 100644 index 0000000..3a44ec4 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png.meta new file mode 100644 index 0000000..20330d6 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 9a639820556503347ad0d4727ba857b9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png new file mode 100644 index 0000000..a94bfdf Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png.meta new file mode 100644 index 0000000..dbd634c --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 912b780ca52bdd34cb09f7658661f283 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png new file mode 100644 index 0000000..a9957ac Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png.meta new file mode 100644 index 0000000..a9be440 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: fbca2e0a43ca84a4399e4cfdb286a717 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png b/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png new file mode 100644 index 0000000..62ebd16 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png.meta new file mode 100644 index 0000000..9e991bb --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 729896902ffea864486da3135d057ea6 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png b/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png new file mode 100644 index 0000000..5b70be9 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png.meta new file mode 100644 index 0000000..01530b2 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 5a54055f67af5fe4480d99335d9795c3 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png new file mode 100644 index 0000000..e8dc905 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png.meta new file mode 100644 index 0000000..0417813 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8d381da33753b2246bbc5dcdc7740e4b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png new file mode 100644 index 0000000..f414b61 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png.meta new file mode 100644 index 0000000..f3e8c64 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 9f35a23ff16561247a1faf0a33167694 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png b/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png new file mode 100644 index 0000000..3d7598b Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png.meta new file mode 100644 index 0000000..b1c0294 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 778b25d4a5a99264eb10bedacf474461 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png b/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png new file mode 100644 index 0000000..8e25ece Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png.meta new file mode 100644 index 0000000..f3fccbc --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 58153d503800254489a046f901eafe82 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png new file mode 100644 index 0000000..befd456 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png.meta new file mode 100644 index 0000000..f38e219 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 24cdcc62a1347e24fa38e9af90dced76 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png new file mode 100644 index 0000000..d1a48e9 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png.meta new file mode 100644 index 0000000..026bc92 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 65d1aa5febef85a48a00b75ba7abb20c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png b/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png new file mode 100644 index 0000000..22b5600 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png.meta new file mode 100644 index 0000000..032ad2e --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: fd6527219677b0d48ae862178f17916f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png new file mode 100644 index 0000000..10e3483 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png.meta new file mode 100644 index 0000000..5c6f9a4 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: de74900b4eed83546b1891fcbfaf62bd +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png new file mode 100644 index 0000000..41336e2 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png.meta new file mode 100644 index 0000000..3634ca6 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a69699f941db39148aed187a0ef90381 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png b/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png new file mode 100644 index 0000000..2067be8 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png.meta new file mode 100644 index 0000000..e8ae70e --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: d6c0182cddef7a546bbd9006d25a16c1 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png b/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png new file mode 100644 index 0000000..8e976bf Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png.meta new file mode 100644 index 0000000..b124338 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 193fe1cf1a44fb34998c29e7dca7f6b0 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png b/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png new file mode 100644 index 0000000..f019f28 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png.meta new file mode 100644 index 0000000..cc4048d --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e19afc45b761cab4ab6f587f51f841e9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png b/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png new file mode 100644 index 0000000..cee2ce8 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png.meta new file mode 100644 index 0000000..e2539fc --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 90a7127d04aedcf448351fe62cf9185c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png b/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png new file mode 100644 index 0000000..3d85c76 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png.meta new file mode 100644 index 0000000..0a75793 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 345927dde3348c841874afc67ad34e69 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png b/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png new file mode 100644 index 0000000..60beebc Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png.meta new file mode 100644 index 0000000..93b8141 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: bb922ebadcf76e448ab80c022bb9d6fc +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png b/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png new file mode 100644 index 0000000..b343b22 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png.meta new file mode 100644 index 0000000..04de2f0 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: b0597b3e0426cc7488a941293f399493 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Misc.meta b/Assets/Colorful FX/Resources/Misc.meta similarity index 67% rename from Assets/Misc.meta rename to Assets/Colorful FX/Resources/Misc.meta index 40ce143..411e733 100644 --- a/Assets/Misc.meta +++ b/Assets/Colorful FX/Resources/Misc.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 63aa5e88846fe614696964be19de5a2f +guid: 87a24ee92bbe85f47ae26d4863b3878e folderAsset: yes -timeCreated: 1445552541 +timeCreated: 1449178673 licenseType: Free DefaultImporter: userData: diff --git a/Assets/Colorful FX/Resources/Misc/DitherPattern.png b/Assets/Colorful FX/Resources/Misc/DitherPattern.png new file mode 100644 index 0000000..0228e59 Binary files /dev/null and b/Assets/Colorful FX/Resources/Misc/DitherPattern.png differ diff --git a/Assets/Colorful FX/Resources/Misc/DitherPattern.png.meta b/Assets/Colorful FX/Resources/Misc/DitherPattern.png.meta new file mode 100644 index 0000000..d3f8761 --- /dev/null +++ b/Assets/Colorful FX/Resources/Misc/DitherPattern.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: b00839345fed0ae4ca256ab2142e13fa +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 1 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 32 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/UI.meta b/Assets/Colorful FX/Resources/UI.meta new file mode 100644 index 0000000..ba8b264 --- /dev/null +++ b/Assets/Colorful FX/Resources/UI.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9223e4be32ddf5d47a546a4fb41bd638 +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png b/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png new file mode 100644 index 0000000..46b3479 Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png differ diff --git a/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png.meta b/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png.meta new file mode 100644 index 0000000..ba91d51 --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 992a968e1853db640b4003d82c777e5b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png b/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png new file mode 100644 index 0000000..a893d00 Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png differ diff --git a/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png.meta b/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png.meta new file mode 100644 index 0000000..15711d9 --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 2feb5b71ce700ab4c9be55913f772453 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png b/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png new file mode 100644 index 0000000..ba2c791 Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png differ diff --git a/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png.meta b/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png.meta new file mode 100644 index 0000000..a31b4d8 --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: e2c1011f5ce9e074d80c9b708c4f5727 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png b/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png new file mode 100644 index 0000000..eb96cce Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png differ diff --git a/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png.meta b/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png.meta new file mode 100644 index 0000000..d732c6d --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 4707472814fc4f846b0d3f36182861e6 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Resources/UI/HueRamp.png b/Assets/Colorful FX/Resources/UI/HueRamp.png new file mode 100644 index 0000000..d2147ca Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/HueRamp.png differ diff --git a/Assets/Colorful FX/Resources/UI/HueRamp.png.meta b/Assets/Colorful FX/Resources/UI/HueRamp.png.meta new file mode 100644 index 0000000..c3fd415 --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/HueRamp.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 7923d23155439434784e9755d1e60812 +timeCreated: 1430213342 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/UI/WheelThumb.png b/Assets/Colorful FX/Resources/UI/WheelThumb.png new file mode 100644 index 0000000..c43602b Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/WheelThumb.png differ diff --git a/Assets/Colorful FX/Resources/UI/WheelThumb.png.meta b/Assets/Colorful FX/Resources/UI/WheelThumb.png.meta new file mode 100644 index 0000000..a2f3019 --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/WheelThumb.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 95799cb614cdf134f9b3773aaf92808d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Samples.meta b/Assets/Colorful FX/Samples.meta new file mode 100644 index 0000000..45117a0 --- /dev/null +++ b/Assets/Colorful FX/Samples.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 163a0770ea9b4db47ad5457c7ee6b146 +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Samples/HeatRamp.png b/Assets/Colorful FX/Samples/HeatRamp.png new file mode 100644 index 0000000..c8c3c13 Binary files /dev/null and b/Assets/Colorful FX/Samples/HeatRamp.png differ diff --git a/Assets/Colorful FX/Samples/HeatRamp.png.meta b/Assets/Colorful FX/Samples/HeatRamp.png.meta new file mode 100644 index 0000000..9f564d1 --- /dev/null +++ b/Assets/Colorful FX/Samples/HeatRamp.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: b7c94aa126cfa85419349984807c1ce5 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Samples/Lookup3DSource.png b/Assets/Colorful FX/Samples/Lookup3DSource.png new file mode 100644 index 0000000..fc0f026 Binary files /dev/null and b/Assets/Colorful FX/Samples/Lookup3DSource.png differ diff --git a/Assets/Colorful FX/Samples/Lookup3DSource.png.meta b/Assets/Colorful FX/Samples/Lookup3DSource.png.meta new file mode 100644 index 0000000..3b9256d --- /dev/null +++ b/Assets/Colorful FX/Samples/Lookup3DSource.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 2c3c3951c92fc7b4583fcd6c1ed98b4c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Samples/LookupSource.png b/Assets/Colorful FX/Samples/LookupSource.png new file mode 100644 index 0000000..7a3798d Binary files /dev/null and b/Assets/Colorful FX/Samples/LookupSource.png differ diff --git a/Assets/Colorful FX/Samples/LookupSource.png.meta b/Assets/Colorful FX/Samples/LookupSource.png.meta new file mode 100644 index 0000000..27e166d --- /dev/null +++ b/Assets/Colorful FX/Samples/LookupSource.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: aebf5a4e61f4d044bb084e0b481f3ac2 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Colorful FX/Scripts.meta b/Assets/Colorful FX/Scripts.meta new file mode 100644 index 0000000..4125f7c --- /dev/null +++ b/Assets/Colorful FX/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 132995462bf529c44a40841eafa0b5b4 +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Attributes.meta b/Assets/Colorful FX/Scripts/Attributes.meta new file mode 100644 index 0000000..a65ce84 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c85d9d376fee3994ca164e87cee013f4 +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs b/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs new file mode 100644 index 0000000..7cb8bd1 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs @@ -0,0 +1,22 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#if !(UNITY_4_5 || UNITY_4_6 || UNITY_5_0) +#define UNITY_5_1_PLUS +#endif + +// Compatibility layer for Unity < 5.1 + +namespace Colorful +{ +#if !(UNITY_5_1_PLUS) + using UnityEngine; + + public class ColorUsageAttribute : PropertyAttribute + { + public ColorUsageAttribute(bool showAlpha) { } + public ColorUsageAttribute(bool showAlpha, bool hdr, float minBrightness, float maxBrightness, float minExposureValue, float maxExposureValue) { } + } +#endif +} diff --git a/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs.meta b/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs.meta new file mode 100644 index 0000000..ba69d90 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fedf16f4294e7164daf92369a045e45e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs b/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs new file mode 100644 index 0000000..078b131 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs @@ -0,0 +1,22 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#if !(UNITY_4_5 || UNITY_4_6 || UNITY_5_0) +#define UNITY_5_1_PLUS +#endif + +// Compatibility layer for Unity < 5.1 + +namespace Colorful +{ +#if !(UNITY_5_1_PLUS) + using System; + + [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] + public class HelpURLAttribute : Attribute + { + public HelpURLAttribute(string url) { } + } +#endif +} diff --git a/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs.meta b/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs.meta new file mode 100644 index 0000000..42ad351 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e4e0233be6fff614c859f48b3376629a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs b/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs new file mode 100644 index 0000000..5bcbab3 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs @@ -0,0 +1,18 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + public sealed class MinAttribute : PropertyAttribute + { + public readonly float Min; + + public MinAttribute(float min) + { + Min = min; + } + } +} diff --git a/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs.meta b/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs.meta new file mode 100644 index 0000000..b1f6502 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d30cc3cea37d24448a6de8965e88e01 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Scripts/BaseEffect.cs b/Assets/Colorful FX/Scripts/BaseEffect.cs new file mode 100644 index 0000000..3c70e2d --- /dev/null +++ b/Assets/Colorful FX/Scripts/BaseEffect.cs @@ -0,0 +1,70 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [RequireComponent(typeof(Camera))] + [AddComponentMenu("")] + public class BaseEffect : MonoBehaviour + { + public Shader Shader; + + protected Material m_Material; + public Material Material + { + get + { + if (m_Material == null) + { + m_Material = new Material(Shader); + m_Material.hideFlags = HideFlags.HideAndDontSave; + } + + return m_Material; + } + } + + protected virtual void Start() + { + // Disable if we don't support image effects + if (!SystemInfo.supportsImageEffects) + { + Debug.LogWarning("Image effects aren't supported on this device"); + enabled = false; + return; + } + + // Disable the image effect if the shader can't run on the users graphics card + if (!Shader || !Shader.isSupported) + { + Debug.LogWarning("The shader is null or unsupported on this device"); + enabled = false; + } + } + + protected virtual void OnDisable() + { + if (m_Material) + DestroyImmediate(m_Material); + } + + public void Apply(Texture source, RenderTexture destination) + { + if (source is RenderTexture) + { + OnRenderImage(source as RenderTexture, destination); + return; + } + + RenderTexture rt = RenderTexture.GetTemporary(source.width, source.height); + Graphics.Blit(source, rt); + OnRenderImage(rt, destination); + RenderTexture.ReleaseTemporary(rt); + } + + protected virtual void OnRenderImage(RenderTexture source, RenderTexture destination) { } + } +} diff --git a/Assets/Colorful FX/Scripts/BaseEffect.cs.meta b/Assets/Colorful FX/Scripts/BaseEffect.cs.meta new file mode 100644 index 0000000..931f16f --- /dev/null +++ b/Assets/Colorful FX/Scripts/BaseEffect.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 997a825680d21d54eb1ffce25408c0a0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Scripts/CLib.cs b/Assets/Colorful FX/Scripts/CLib.cs new file mode 100644 index 0000000..16fd679 --- /dev/null +++ b/Assets/Colorful FX/Scripts/CLib.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + public static class CLib + { + public const float PI_2 = Mathf.PI / 2f; + public const float PI2 = Mathf.PI * 2f; + + public static float Frac(float f) + { + return f - Mathf.Floor(f); + } + + public static bool IsLinearColorSpace() + { + return QualitySettings.activeColorSpace == ColorSpace.Linear; + } + + public static bool Approximately(float source, float about, float range = 0.0001f) + { + return ((Mathf.Abs(source - about) < range)); + } + } +} diff --git a/Assets/Colorful FX/Scripts/CLib.cs.meta b/Assets/Colorful FX/Scripts/CLib.cs.meta new file mode 100644 index 0000000..f0add09 --- /dev/null +++ b/Assets/Colorful FX/Scripts/CLib.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f2ebd99fc8544fe42831227b5284df50 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects.meta b/Assets/Colorful FX/Scripts/Effects.meta new file mode 100644 index 0000000..e251f32 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 91d00740d6b35ce46a9adc23a7ca037f +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs b/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs new file mode 100644 index 0000000..6d964bf --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs @@ -0,0 +1,63 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/analog-tv.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Analog TV")] + public class AnalogTV : BaseEffect + { + [Tooltip("Automatically animate the Phase value.")] + public bool AutomaticPhase = true; + + [Tooltip("Current noise phase. Consider this a seed value.")] + public float Phase = 0.5f; + + [Tooltip("Convert the original render to black & white.")] + public bool ConvertToGrayscale = false; + + [Range(0f, 1f), Tooltip("Noise brightness. Will impact the scanlines visibility.")] + public float NoiseIntensity = 0.5f; + + [Range(0f, 10f), Tooltip("Scanline brightness. Depends on the NoiseIntensity value.")] + public float ScanlinesIntensity = 2f; + + [Range(0, 4096), Tooltip("The number of scanlines to draw.")] + public int ScanlinesCount = 768; + + [Tooltip("Vertical scanline offset. Gives a cool screen scanning effect when animated.")] + public float ScanlinesOffset = 0f; + + [Range(-2f, 2f), Tooltip("Spherical distortion factor.")] + public float Distortion = 0.2f; + + [Range(-2f, 2f), Tooltip("Cubic distortion factor.")] + public float CubicDistortion = 0.6f; + + [Range(0.01f, 2f), Tooltip("Helps avoid screen streching on borders when working with heavy distortions.")] + public float Scale = 0.8f; + + protected virtual void Update() + { + if (AutomaticPhase) + { + // Reset the Phase after a while, some GPUs don't like big numbers + if (Phase > 1000f) + Phase = 10f; + + Phase += Time.deltaTime * 0.25f; + } + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params1", new Vector4(NoiseIntensity, ScanlinesIntensity, ScanlinesCount, ScanlinesOffset)); + Material.SetVector("_Params2", new Vector4(Phase, Distortion, CubicDistortion, Scale)); + Graphics.Blit(source, destination, Material, ConvertToGrayscale ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs.meta b/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs.meta new file mode 100644 index 0000000..84df151 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 249169bbea0dd51478b14718e62f7e54 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 6b426a8c366d0584dadb551db862ddeb, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs b/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs new file mode 100644 index 0000000..2fdf028 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs @@ -0,0 +1,76 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/bilateral-gaussian-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Bilateral Gaussian Blur")] + public class BilateralGaussianBlur : BaseEffect + { + [Range(0, 10), Tooltip("Add more passes to get a smoother blur. Beware that each pass will slow down the effect.")] + public int Passes = 1; + + [Range(0.04f, 1f), Tooltip("Adjusts the blur \"sharpness\" around edges")] + public float Threshold = 0.05f; + + protected override void Start() + { + base.Start(); + GetComponent().depthTextureMode |= DepthTextureMode.Depth; + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetFloat("_Threshold", Threshold / 10000f); + + if (Passes == 0) + Graphics.Blit(source, destination); + else if (Passes == 1) + OnePassBlur(source, destination); + else + MultiPassBlur(source, destination); + } + + protected virtual void OnePassBlur(RenderTexture source, RenderTexture destination) + { + RenderTexture rt = RenderTexture.GetTemporary(source.width, source.height, 0, source.format); + + Material.SetVector("_Direction", new Vector2(1f / (float)source.width, 0f)); + Graphics.Blit(source, rt, Material); + Material.SetVector("_Direction", new Vector2(0f, 1f / (float)source.height)); + Graphics.Blit(rt, destination, Material); + + RenderTexture.ReleaseTemporary(rt); + } + + protected virtual void MultiPassBlur(RenderTexture source, RenderTexture destination) + { + Vector2 horizontal = new Vector2(1f / (float)source.width, 0f); + Vector2 vertical = new Vector2(0f, 1f / (float)source.height); + RenderTexture rt1 = RenderTexture.GetTemporary(source.width, source.height, 0, source.format); + RenderTexture rt2 = RenderTexture.GetTemporary(source.width, source.height, 0, source.format); + + Material.SetVector("_Direction", horizontal); + Graphics.Blit(source, rt1, Material); + Material.SetVector("_Direction", vertical); + Graphics.Blit(rt1, rt2, Material); + + for (int i = 1; i < Passes; i++) + { + Material.SetVector("_Direction", horizontal); + Graphics.Blit(rt2, rt1, Material); + Material.SetVector("_Direction", vertical); + Graphics.Blit(rt1, rt2, Material); + } + + Graphics.Blit(rt2, destination); + + RenderTexture.ReleaseTemporary(rt1); + RenderTexture.ReleaseTemporary(rt2); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs.meta new file mode 100644 index 0000000..a85c6a8 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6c308c66c5ca62241854d5e9441dff12 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: a8686488660cc994aa7b3197735727dc, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs b/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs new file mode 100644 index 0000000..acd3a99 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/bleach-bypass.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Bleach Bypass")] + public class BleachBypass : BaseEffect + { + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs.meta b/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs.meta new file mode 100644 index 0000000..55d9149 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 375ca57461b42344c864b4420165e81c +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: db51fb80780ef714492de6fd9a5b3748, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Blend.cs b/Assets/Colorful FX/Scripts/Effects/Blend.cs new file mode 100644 index 0000000..f622bfa --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Blend.cs @@ -0,0 +1,64 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/blend.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Blend")] + public class Blend : BaseEffect + { + public enum BlendingMode + { + Darken = 0, + Multiply = 1, + ColorBurn = 2, + LinearBurn = 3, + DarkerColor = 4, + + Lighten = 6, + Screen = 7, + ColorDodge = 8, + LinearDodge = 9, + LighterColor = 10, + + Overlay = 12, + SoftLight = 13, + HardLight = 14, + VividLight = 15, + LinearLight = 16, + PinLight = 17, + HardMix = 18, + + Difference = 20, + Exclusion = 21, + Subtract = 22, + Divide = 23 + } + + [Tooltip("The Texture2D, RenderTexture or MovieTexture to blend.")] + public Texture Texture; + + [Range(0f, 1f), Tooltip("Blend factor.")] + public float Amount = 1f; + + [Tooltip("Blending mode.")] + public BlendingMode Mode = 0; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Texture == null || Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetTexture("_OverlayTex", Texture); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Blend.cs.meta b/Assets/Colorful FX/Scripts/Effects/Blend.cs.meta new file mode 100644 index 0000000..87e4834 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Blend.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a03bbd8dae5544449a4aa2f932421675 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 753c5a4449b3c184b85015dea8325051, type: 3} + - texture: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs b/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs new file mode 100644 index 0000000..727dec8 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs @@ -0,0 +1,38 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/brightness-contrast-gamma.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Brightness, Contrast, Gamma")] + public class BrightnessContrastGamma : BaseEffect + { + [Range(-100f, 100f), Tooltip("Moving the slider to the right increases tonal values and expands highlights, to the left decreases values and expands shadows.")] + public float Brightness = 0f; + + [Range(-100f, 100f), Tooltip("Expands or shrinks the overall range of tonal values.")] + public float Contrast = 0f; + + public Vector3 ContrastCoeff = new Vector3(0.5f, 0.5f, 0.5f); + + [Range(0.1f, 9.9f), Tooltip("Simple power function.")] + public float Gamma = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Brightness == 0f && Contrast == 0f && Gamma == 1f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_BCG", new Vector4((Brightness + 100f) * 0.01f, (Contrast + 100f) * 0.01f, 1.0f / Gamma)); + Material.SetVector("_Coeffs", ContrastCoeff); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs.meta b/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs.meta new file mode 100644 index 0000000..45d6851 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 218001df9f0f08c44bdc15b86cfab74d +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: c1ffdcaa7728ced4fa68c999e5e7f2de, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs b/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs new file mode 100644 index 0000000..1c60c0c --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs @@ -0,0 +1,26 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/channel-clamper.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Channel Clamper")] + public class ChannelClamper : BaseEffect + { + public Vector2 Red = new Vector2(0f, 1f); + public Vector2 Green = new Vector2(0f, 1f); + public Vector2 Blue = new Vector2(0f, 1f); + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_RedClamp", Red); + Material.SetVector("_GreenClamp", Green); + Material.SetVector("_BlueClamp", Blue); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs.meta b/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs.meta new file mode 100644 index 0000000..0e1276c --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4bbedf175159cd246abc66482e52791d +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: a4066b90a1d8ac540b9994745a496312, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs b/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs new file mode 100644 index 0000000..b8cc33e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/channel-mixer.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Channel Mixer")] + public class ChannelMixer : BaseEffect + { + public Vector3 Red = new Vector3(100f, 0f, 0f); + public Vector3 Green = new Vector3(0f, 100f, 0f); + public Vector3 Blue = new Vector3(0f, 0f, 100f); + public Vector3 Constant = new Vector3(0f, 0f, 0f); + +#if UNITY_EDITOR + public int e_CurrentChannel = 0; +#endif + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Red", new Vector4(Red.x * 0.01f, Green.x * 0.01f, Blue.x * 0.01f)); + Material.SetVector("_Green", new Vector4(Red.y * 0.01f, Green.y * 0.01f, Blue.y * 0.01f)); + Material.SetVector("_Blue", new Vector4(Red.z * 0.01f, Green.z * 0.01f, Blue.z * 0.01f)); + Material.SetVector("_Constant", new Vector4(Constant.x * 0.01f, Constant.y * 0.01f, Constant.z * 0.01f)); + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs.meta b/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs.meta new file mode 100644 index 0000000..6dac5e3 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 44002857159cfa64fab24b6ec32b80de +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: d5203c49c0e949f4e9b53909003b6b8f, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs b/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs new file mode 100644 index 0000000..006a150 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs @@ -0,0 +1,45 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/channel-swapper.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Channel Swapper")] + public class ChannelSwapper : BaseEffect + { + public enum Channel + { + Red, + Green, + Blue + } + + [Tooltip("Source channel to use for the output red channel.")] + public Channel RedSource = Channel.Red; + + [Tooltip("Source channel to use for the output green channel.")] + public Channel GreenSource = Channel.Green; + + [Tooltip("Source channel to use for the output blue channel.")] + public Channel BlueSource = Channel.Blue; + + static Vector4[] m_Channels = new Vector4[] + { + new Vector4(1f, 0f, 0f, 0f), + new Vector4(0f, 1f, 0f, 0f), + new Vector4(0f, 0f, 1f, 0f) + }; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Red", m_Channels[(int)RedSource]); + Material.SetVector("_Green", m_Channels[(int)GreenSource]); + Material.SetVector("_Blue", m_Channels[(int)BlueSource]); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs.meta b/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs.meta new file mode 100644 index 0000000..44feed5 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 31469d7a9ef2ef04c9db920f12918f7d +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 382b6d6c7bf6b3b49b364517c68bb0d2, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs b/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs new file mode 100644 index 0000000..561b825 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/chromatic-aberration.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Chromatic Aberration")] + public class ChromaticAberration : BaseEffect + { + [Range(0.9f, 1.1f), Tooltip("Indice of refraction for the red channel.")] + public float RedRefraction = 1.0f; + + [Range(0.9f, 1.1f), Tooltip("Indice of refraction for the green channel.")] + public float GreenRefraction = 1.005f; + + [Range(0.9f, 1.1f), Tooltip("Indice of refraction for the blue channel.")] + public float BlueRefraction = 1.01f; + + [Tooltip("Enable this option if you need the effect to keep the alpha channel from the original render (some effects like Glow will need it). Disable it otherwise for better performances.")] + public bool PreserveAlpha = false; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Refraction", new Vector3(RedRefraction, GreenRefraction, BlueRefraction)); + Graphics.Blit(source, destination, Material, PreserveAlpha ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs.meta b/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs.meta new file mode 100644 index 0000000..64a264b --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ca037f4bdb3f772408f958bc6cd2b647 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 447e63f892fae1d49b961d2132c02b5a, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs b/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs new file mode 100644 index 0000000..f15427e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs @@ -0,0 +1,39 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/contrast-vignette.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Contrast Vignette")] + public class ContrastVignette : BaseEffect + { + [Tooltip("Center point.")] + public Vector2 Center = new Vector2(0.5f, 0.5f); + + [Range(-100f, 100f), Tooltip("Smoothness of the vignette effect.")] + public float Sharpness = 32f; + + [Range(0f, 100f), Tooltip("Amount of vignetting on screen.")] + public float Darkness = 28f; + + [Range(0f, 200f), Tooltip("Expands or shrinks the overall range of tonal values in the vignette area.")] + public float Contrast = 20.0f; + + public Vector3 ContrastCoeff = new Vector3(0.5f, 0.5f, 0.5f); + + [Range(0f, 200f), Tooltip("Blends the contrast change toward the edges of the vignette effect.")] + public float EdgeBlending = 0f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector4(Sharpness * 0.01f, Darkness * 0.02f, Contrast * 0.01f, EdgeBlending * 0.01f)); + Material.SetVector("_Coeffs", ContrastCoeff); + Material.SetVector("_Center", Center); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs.meta b/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs.meta new file mode 100644 index 0000000..d417567 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d71ed1522687af44190ab88a913a3c74 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 76dfe25966c72ac4e9fcea7968814159, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs b/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs new file mode 100644 index 0000000..321f950 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs @@ -0,0 +1,40 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/convolution-3x3.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Convolution Matrix 3x3")] + public class Convolution3x3 : BaseEffect + { + public Vector3 KernelTop = Vector3.zero; + public Vector3 KernelMiddle = Vector3.up; + public Vector3 KernelBottom = Vector3.zero; + + [Tooltip("Used to normalize the kernel.")] + public float Divisor = 1f; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_PSize", new Vector2(1f / (float)source.width, 1f / (float)source.height)); + Material.SetVector("_KernelT", KernelTop / Divisor); + Material.SetVector("_KernelM", KernelMiddle / Divisor); + Material.SetVector("_KernelB", KernelBottom / Divisor); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs.meta b/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs.meta new file mode 100644 index 0000000..86ffc0f --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7245cf61e1ed2bc49bd3ec8ef6f299ad +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: bb1bf93f638bf2145a1a3aff22f7ebf8, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs b/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs new file mode 100644 index 0000000..c59ce5a --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/cross-stitch.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/Cross Stitch")] + public class CrossStitch : BaseEffect + { + [Range(1, 128), Tooltip("Works best with power of two values.")] + public int Size = 8; + + [Range(0f, 10f), Tooltip("Brightness adjustment. Cross-stitching tends to lower the overall brightness, use this to compensate.")] + public float Brightness = 1.5f; + + [Tooltip("Inverts the cross-stiching pattern.")] + public bool Invert = false; + + [Tooltip("Should the original render be pixelized ?")] + public bool Pixelize = true; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetInt("_StitchSize", Size); + Material.SetFloat("_Brightness", Brightness); + + int pass = Invert ? 1 : 0; + + if (Pixelize) + { + pass += 2; + Material.SetFloat("_Scale", (float)source.width / (float)Size); + Material.SetFloat("_Ratio", (float)source.width / (float)source.height); + } + + Graphics.Blit(source, destination, Material, pass); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs.meta b/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs.meta new file mode 100644 index 0000000..42c4d17 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 86b15e716a293ba448fc678484e34faa +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: a964a19ae7fdffc4ea70dbf094568dc1, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs b/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs new file mode 100644 index 0000000..85aa8de --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/directional-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Directional Blur")] + public class DirectionalBlur : BaseEffect + { + public enum QualityPreset + { + Low = 2, + Medium = 4, + High = 6, + Custom + } + + [Tooltip("Quality preset. Higher means better quality but slower processing.")] + public QualityPreset Quality = QualityPreset.Medium; + + [Range(1, 16), Tooltip("Sample count. Higher means better quality but slower processing.")] + public int Samples = 5; + + [Range(0f, 5f), Tooltip("Blur strength (distance).")] + public float Strength = 1f; + + [Tooltip("Blur direction in radians.")] + public float Angle = 0f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + int samples = Quality == QualityPreset.Custom ? Samples : (int)Quality; + float s = (Mathf.Sin(Angle) * Strength * 0.05f) / samples; + float c = (Mathf.Cos(Angle) * Strength * 0.05f) / samples; + Material.SetVector("_Params", new Vector3(s, c, samples)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs.meta new file mode 100644 index 0000000..fb486cc --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8dfafee99a682d340a337ad7faac2c2c +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 335958bbdc44f564894a29445833afae, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Dithering.cs b/Assets/Colorful FX/Scripts/Effects/Dithering.cs new file mode 100644 index 0000000..54d2068 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Dithering.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/dithering.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/Dithering")] + public class Dithering : BaseEffect + { + [Tooltip("Show the original picture under the dithering pass.")] + public bool ShowOriginal = false; + + [Tooltip("Convert the original render to black & white.")] + public bool ConvertToGrayscale = false; + + [Range(0f, 1f), Tooltip("Amount of red to contribute to the luminosity.")] + public float RedLuminance = 0.299f; + + [Range(0f, 1f), Tooltip("Amount of green to contribute to the luminosity.")] + public float GreenLuminance = 0.587f; + + [Range(0f, 1f), Tooltip("Amount of blue to contribute to the luminosity.")] + public float BlueLuminance = 0.114f; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected Texture2D m_DitherPattern; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + if (m_DitherPattern == null) + m_DitherPattern = Resources.Load("Misc/DitherPattern"); + + Material.SetTexture("_Pattern", m_DitherPattern); + Material.SetVector("_Params", new Vector4(RedLuminance, GreenLuminance, BlueLuminance, Amount)); + + int pass = ShowOriginal ? 4 : 0; + pass += ConvertToGrayscale ? 2 : 0; + pass += CLib.IsLinearColorSpace() ? 1 : 0; + + Graphics.Blit(source, destination, Material, pass); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Dithering.cs.meta b/Assets/Colorful FX/Scripts/Effects/Dithering.cs.meta new file mode 100644 index 0000000..65c9a10 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Dithering.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1fbea93e4d9974b409e25836a5c8f679 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 6eafe2a67b46d474095df68b1396a86e, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs b/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs new file mode 100644 index 0000000..261d2ec --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/double-vision.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Double Vision")] + public class DoubleVision : BaseEffect + { + [Tooltip("Diploplia strength.")] + public Vector2 Displace = new Vector2(0.7f, 0.0f); + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1.0f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f || Displace == Vector2.zero) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Displace", new Vector2(Displace.x / (float)source.width, Displace.y / (float)source.height)); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs.meta b/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs.meta new file mode 100644 index 0000000..883503e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 48defb31b546e8e49bd5568d4765bfb0 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 0094bbb9058b55a4bb1874ccd072b33e, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs b/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs new file mode 100644 index 0000000..9e725ff --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/dynamic-lookup.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Dynamic Lookup")] + public class DynamicLookup : BaseEffect + { + [ColorUsage(false)] + public Color White = new Color(1f, 1f, 1f); + + [ColorUsage(false)] + public Color Black = new Color(0f, 0f, 0f); + + [ColorUsage(false)] + public Color Red = new Color(1f, 0f, 0f); + + [ColorUsage(false)] + public Color Green = new Color(0f, 1f, 0f); + + [ColorUsage(false)] + public Color Blue = new Color(0f, 0f, 1f); + + [ColorUsage(false)] + public Color Yellow = new Color(1f, 1f, 0f); + + [ColorUsage(false)] + public Color Magenta = new Color(1f, 0f, 1f); + + [ColorUsage(false)] + public Color Cyan = new Color(0f, 1f, 1f); + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetColor("_White", White); + Material.SetColor("_Black", Black); + Material.SetColor("_Red", Red); + Material.SetColor("_Green", Green); + Material.SetColor("_Blue", Blue); + Material.SetColor("_Yellow", Yellow); + Material.SetColor("_Magenta", Magenta); + Material.SetColor("_Cyan", Cyan); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material, CLib.IsLinearColorSpace() ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs.meta b/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs.meta new file mode 100644 index 0000000..3a712d3 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a8feeb07303302b49be4c3647f055b67 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: ea36d91a0b99bd240ac1a3f17bac241b, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/FastVignette.cs b/Assets/Colorful FX/Scripts/Effects/FastVignette.cs new file mode 100644 index 0000000..895b74c --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/FastVignette.cs @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/fast-vignette.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Fast Vignette")] + public class FastVignette : BaseEffect + { + public enum ColorMode + { + Classic, + Desaturate, + Colored + } + + [Tooltip("Vignette type.")] + public ColorMode Mode = ColorMode.Classic; + + [ColorUsage(false), Tooltip("The color to use in the vignette area.")] + public Color Color = Color.red; + + [Tooltip("Center point.")] + public Vector2 Center = new Vector2(0.5f, 0.5f); + + [Range(-100f, 100f), Tooltip("Smoothness of the vignette effect.")] + public float Sharpness = 10f; + + [Range(0f, 100f), Tooltip("Amount of vignetting on screen.")] + public float Darkness = 30f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector4(Center.x, Center.y, Sharpness * 0.01f, Darkness * 0.02f)); + Material.SetColor("_Color", Color); + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/FastVignette.cs.meta b/Assets/Colorful FX/Scripts/Effects/FastVignette.cs.meta new file mode 100644 index 0000000..4a5095e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/FastVignette.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bade397de0db6634686b451e10dc2edc +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 1025d512948837641802921c41526fd1, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Frost.cs b/Assets/Colorful FX/Scripts/Effects/Frost.cs new file mode 100644 index 0000000..78dcaba --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Frost.cs @@ -0,0 +1,45 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/frost.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Frost")] + public class Frost : BaseEffect + { + [Range(0f, 16f), Tooltip("Frosting strength.")] + public float Scale = 1.2f; + + [Range(-100f, 100f), Tooltip("Smoothness of the vignette effect.")] + public float Sharpness = 40f; + + [Range(0f, 100f), Tooltip("Amount of vignetting on screen.")] + public float Darkness = 35f; + + [Tooltip("Should the effect be applied like a vignette ?")] + public bool EnableVignette = true; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Scale <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetFloat("_Scale", Scale); + + if (EnableVignette) + { + Material.SetFloat("_Sharpness", Sharpness * 0.01f); + Material.SetFloat("_Darkness", Darkness * 0.02f); + } + + Graphics.Blit(source, destination, Material, EnableVignette ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Frost.cs.meta b/Assets/Colorful FX/Scripts/Effects/Frost.cs.meta new file mode 100644 index 0000000..93ca3d8 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Frost.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2cf6863e426bf6f41be29f5e4a31ccfb +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: b4d2d40f74bc7724f9722f04d5f7113b, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs b/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs new file mode 100644 index 0000000..0fe9ff4 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs @@ -0,0 +1,72 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/gaussian-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Gaussian Blur")] + public class GaussianBlur : BaseEffect + { + [Range(0, 10), Tooltip("Amount of blurring pass to apply.")] + public int Passes = 1; + + [Range(1f, 16f), Tooltip("Downscales the result for faster processing or heavier blur.")] + public float Downscaling = 1; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Passes == 0) + Graphics.Blit(source, destination); + else if (Passes == 1) + OnePassBlur(source, destination); + else + MultiPassBlur(source, destination); + } + + protected virtual void OnePassBlur(RenderTexture source, RenderTexture destination) + { + int w = Mathf.FloorToInt((float)source.width / Downscaling); + int h = Mathf.FloorToInt((float)source.height / Downscaling); + RenderTexture rt = RenderTexture.GetTemporary(w, h, 0, source.format); + + Material.SetVector("_Direction", new Vector2(1f / w, 0f)); + Graphics.Blit(source, rt, Material); + Material.SetVector("_Direction", new Vector2(0f, 1f / h)); + Graphics.Blit(rt, destination, Material); + + RenderTexture.ReleaseTemporary(rt); + } + + protected virtual void MultiPassBlur(RenderTexture source, RenderTexture destination) + { + int w = Mathf.FloorToInt((float)source.width / Downscaling); + int h = Mathf.FloorToInt((float)source.height / Downscaling); + Vector2 horizontal = new Vector2(1f / w, 0f); + Vector2 vertical = new Vector2(0f, 1f / h); + RenderTexture rt1 = RenderTexture.GetTemporary(w, h, 0, source.format); + RenderTexture rt2 = RenderTexture.GetTemporary(w, h, 0, source.format); + + Material.SetVector("_Direction", horizontal); + Graphics.Blit(source, rt1, Material); + Material.SetVector("_Direction", vertical); + Graphics.Blit(rt1, rt2, Material); + + for (int i = 1; i < Passes; i++) + { + Material.SetVector("_Direction", horizontal); + Graphics.Blit(rt2, rt1, Material); + Material.SetVector("_Direction", vertical); + Graphics.Blit(rt1, rt2, Material); + } + + Graphics.Blit(rt2, destination); + + RenderTexture.ReleaseTemporary(rt1); + RenderTexture.ReleaseTemporary(rt2); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs.meta new file mode 100644 index 0000000..07da27c --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a15c2b7bc763522479d7f0bd449970e4 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: f64972907dbc92b41bc72d3f358eb642, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Glitch.cs b/Assets/Colorful FX/Scripts/Effects/Glitch.cs new file mode 100644 index 0000000..ba6310e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Glitch.cs @@ -0,0 +1,150 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + using System; + using Random = UnityEngine.Random; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/glitch.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Glitch")] + public class Glitch : BaseEffect + { + public enum GlitchingMode + { + Interferences, + Tearing, + Complete + } + + [Serializable] + public class InterferenceSettings + { + public float Speed = 10f; + public float Density = 8f; + public float MaxDisplacement = 2f; + } + + [Serializable] + public class TearingSettings + { + public float Speed = 1f; + + [Range(0f, 1f)] + public float Intensity = 0.25f; + + [Range(0f, 0.5f)] + public float MaxDisplacement = 0.05f; + + public bool AllowFlipping = false; + public bool YuvColorBleeding = true; + + [Range(-2f, 2f)] + public float YuvOffset = 0.5f; + } + + [Tooltip("Automatically activate/deactivate the effect randomly.")] + public bool RandomActivation = false; + + public Vector2 RandomEvery = new Vector2(1f, 2f); + public Vector2 RandomDuration = new Vector2(1f, 2f); + + [Tooltip("Glitch type.")] + public GlitchingMode Mode = GlitchingMode.Interferences; + + public InterferenceSettings SettingsInterferences; + public TearingSettings SettingsTearing; + + protected bool m_Activated = true; + protected float m_EveryTimer = 0f; + protected float m_EveryTimerEnd = 0f; + protected float m_DurationTimer = 0f; + protected float m_DurationTimerEnd = 0f; + + public bool IsActive + { + get { return m_Activated; } + } + + protected override void Start() + { + base.Start(); + m_DurationTimerEnd = Random.Range(RandomDuration.x, RandomDuration.y); + } + + protected virtual void Update() + { + if (!RandomActivation) + return; + + if (m_Activated) + { + m_DurationTimer += Time.deltaTime; + + if (m_DurationTimer >= m_DurationTimerEnd) + { + m_DurationTimer = 0f; + m_Activated = false; + m_EveryTimerEnd = Random.Range(RandomEvery.x, RandomEvery.y); + } + } + else + { + m_EveryTimer += Time.deltaTime; + + if (m_EveryTimer >= m_EveryTimerEnd) + { + m_EveryTimer = 0f; + m_Activated = true; + m_DurationTimerEnd = Random.Range(RandomDuration.x, RandomDuration.y); + } + } + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (!m_Activated) + { + Graphics.Blit(source, destination); + return; + } + + if (Mode == GlitchingMode.Interferences) + { + DoInterferences(source, destination, SettingsInterferences); + } + else if (Mode == GlitchingMode.Tearing) + { + DoTearing(source, destination, SettingsTearing); + } + else // Complete + { + RenderTexture temp = RenderTexture.GetTemporary(source.width, source.width, 0, RenderTextureFormat.ARGB32); + DoTearing(source, temp, SettingsTearing); + DoInterferences(temp, destination, SettingsInterferences); + temp.Release(); + } + } + + protected virtual void DoInterferences(RenderTexture source, RenderTexture destination, InterferenceSettings settings) + { + Material.SetVector("_Params", new Vector3(settings.Speed, settings.Density, settings.MaxDisplacement)); + Graphics.Blit(source, destination, Material, 0); + } + + protected virtual void DoTearing(RenderTexture source, RenderTexture destination, TearingSettings settings) + { + Material.SetVector("_Params", new Vector4(settings.Speed, settings.Intensity, settings.MaxDisplacement, settings.YuvOffset)); + + int pass = 1; + if (settings.AllowFlipping && settings.YuvColorBleeding) pass = 4; + else if (settings.AllowFlipping) pass = 2; + else if (settings.YuvColorBleeding) pass = 3; + + Graphics.Blit(source, destination, Material, pass); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Glitch.cs.meta b/Assets/Colorful FX/Scripts/Effects/Glitch.cs.meta new file mode 100644 index 0000000..2b29e2e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Glitch.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f6e75ef5ee858bd4bab281c187d027f7 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: aa077ae19c4093844b27e3a70f542644, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs b/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs new file mode 100644 index 0000000..5af3291 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/gradient-ramp.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Gradient Ramp")] + public class GradientRamp : BaseEffect + { + [Tooltip("Texture used to remap the pixels luminosity.")] + public Texture RampTexture; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (RampTexture == null || Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetTexture("_RampTex", RampTexture); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs.meta b/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs.meta new file mode 100644 index 0000000..c3b2783 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: eda76088a8e07c049bdeca7130ed039e +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: c291a5524ced7fb47af87992cd9faf81, type: 3} + - rampTexture: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs b/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs new file mode 100644 index 0000000..e095080 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs @@ -0,0 +1,77 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/gradient-ramp-dynamic.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Gradient Ramp (Dynamic)")] + public class GradientRampDynamic : BaseEffect + { + [Tooltip("Gradient used to remap the pixels luminosity.")] + public Gradient Ramp; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected Texture2D m_RampTexture; + + protected override void Start() + { + base.Start(); + + if (Ramp != null) + UpdateGradientCache(); + } + + protected virtual void Reset() + { + Ramp = new Gradient(); + Ramp.colorKeys = new GradientColorKey[] { + new GradientColorKey(Color.black, 0f), + new GradientColorKey(Color.white, 1f) + }; + Ramp.alphaKeys = new GradientAlphaKey[] { + new GradientAlphaKey(1f, 0f), + new GradientAlphaKey(1f, 1f) + }; + + UpdateGradientCache(); + } + + public void UpdateGradientCache() + { + if (m_RampTexture == null) + { + m_RampTexture = new Texture2D(256, 1, TextureFormat.RGB24, false); + m_RampTexture.filterMode = FilterMode.Bilinear; + m_RampTexture.wrapMode = TextureWrapMode.Clamp; + m_RampTexture.hideFlags = HideFlags.HideAndDontSave; + } + + Color[] pixels = new Color[256]; + + for (int i = 0; i < 256; i++) + pixels[i] = Ramp.Evaluate((float)i / 255f); + + m_RampTexture.SetPixels(pixels); + m_RampTexture.Apply(); + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Ramp == null || Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetTexture("_RampTex", m_RampTexture); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs.meta b/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs.meta new file mode 100644 index 0000000..44d08a5 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 621b55d03df1b0941be31057afccdbef +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: c291a5524ced7fb47af87992cd9faf81, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs b/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs new file mode 100644 index 0000000..18279bd --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/grainy-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Grainy Blur")] + public class GrainyBlur : BaseEffect + { + [Min(0f), Tooltip("Blur radius.")] + public float Radius = 32f; + + [Range(1, 32), Tooltip("Sample count. Higher means better quality but slower processing.")] + public int Samples = 16; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (CLib.Approximately(Radius, 0f, 0.001f)) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Params", new Vector2(Radius, Samples)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs.meta new file mode 100644 index 0000000..c5104a9 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 760aa1104f873f34a8812887a7e598a9 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 750ea95b557224d4e876b95f85697a97, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Grayscale.cs b/Assets/Colorful FX/Scripts/Effects/Grayscale.cs new file mode 100644 index 0000000..9dad69b --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Grayscale.cs @@ -0,0 +1,38 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/grayscale.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Grayscale")] + public class Grayscale : BaseEffect + { + [Range(0f, 1f), Tooltip("Amount of red to contribute to the luminosity.")] + public float RedLuminance = 0.299f; + + [Range(0f, 1f), Tooltip("Amount of green to contribute to the luminosity.")] + public float GreenLuminance = 0.587f; + + [Range(0f, 1f), Tooltip("Amount of blue to contribute to the luminosity.")] + public float BlueLuminance = 0.114f; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Params", new Vector4(RedLuminance, GreenLuminance, BlueLuminance, Amount)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Grayscale.cs.meta b/Assets/Colorful FX/Scripts/Effects/Grayscale.cs.meta new file mode 100644 index 0000000..d73ac10 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Grayscale.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: befbe15c703f5f644a82e2e6c6ee90f4 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 1e730ad4434e6924dbb5c4fdd20a6f16, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Halftone.cs b/Assets/Colorful FX/Scripts/Effects/Halftone.cs new file mode 100644 index 0000000..5344c46 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Halftone.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/halftone.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/Halftone")] + public class Halftone : BaseEffect + { + [Min(0f), Tooltip("Global haltfoning scale.")] + public float Scale = 12f; + + [Min(0f), Tooltip("Individual dot size.")] + public float DotSize = 1.35f; + + [Tooltip("Rotates the dot placement according to the Center point.")] + public float Angle = 1.2f; + + [Range(0f, 1f), Tooltip("Dots antialiasing")] + public float Smoothness = 0.080f; + + [Tooltip("Center point to use for the rotation.")] + public Vector2 Center = new Vector2(0.5f, 0.5f); + + [Tooltip("Turns the effect black & white.")] + public bool Desaturate = false; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Center", new Vector2(Center.x * (float)source.width, Center.y * (float)source.height)); + Material.SetVector("_Params", new Vector3(Scale, DotSize, Smoothness)); + + // Precompute rotation matrices + Matrix4x4 m = new Matrix4x4(); + m.SetRow(0, CMYKRot(Angle + 0.261799388f)); // C + m.SetRow(1, CMYKRot(Angle + 1.30899694f)); // M + m.SetRow(2, CMYKRot(Angle)); // Y + m.SetRow(3, CMYKRot(Angle + 0.785398163f)); // K + Material.SetMatrix("_MatRot", m); + + Graphics.Blit(source, destination, Material, Desaturate ? 1 : 0); + } + + Vector4 CMYKRot(float angle) + { + float ca = Mathf.Cos(angle); + float sa = Mathf.Sin(angle); + return new Vector4(ca, -sa, sa, ca); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Halftone.cs.meta b/Assets/Colorful FX/Scripts/Effects/Halftone.cs.meta new file mode 100644 index 0000000..58fc144 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Halftone.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 747e71507dc923a48939d5eb54a54a25 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 496612e4443e0c74f82aad01c4d8e8c2, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Histogram.cs b/Assets/Colorful FX/Scripts/Effects/Histogram.cs new file mode 100644 index 0000000..b9131f7 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Histogram.cs @@ -0,0 +1,52 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + using System; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/utilities/histogram.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Utilities/Histogram")] + public class Histogram : MonoBehaviour + { +#if UNITY_EDITOR + public enum Channel + { + Luminance, + RGB, + Red, + Green, + Blue + } + + public Channel e_CurrentChannel = Channel.RGB; + public bool e_Logarithmic = false; + public bool e_AutoRefresh = false; + public Action e_OnFrameEnd; + + bool e_ForceRefresh = false; + + public void InternalForceRefresh() + { + e_ForceRefresh = true; + } + + protected virtual void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (e_OnFrameEnd != null && (e_AutoRefresh || e_ForceRefresh)) + { + RenderTexture rt = RenderTexture.GetTemporary(160, Mathf.FloorToInt(160f * ((float)source.height / (float)source.height)), 0, RenderTextureFormat.ARGB32); + Graphics.Blit(source, rt); + e_OnFrameEnd(rt); + RenderTexture.ReleaseTemporary(rt); + e_ForceRefresh = false; + } + + Graphics.Blit(source, destination); + } +#endif + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Histogram.cs.meta b/Assets/Colorful FX/Scripts/Effects/Histogram.cs.meta new file mode 100644 index 0000000..37fe330 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Histogram.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d97ac868795b5554b9ac83596cf67725 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/HueFocus.cs b/Assets/Colorful FX/Scripts/Effects/HueFocus.cs new file mode 100644 index 0000000..0778738 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/HueFocus.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/hue-focus.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Hue Focus")] + public class HueFocus : BaseEffect + { + [Range(0f, 360f), Tooltip("Center hue.")] + public float Hue = 0f; + + [Range(1f, 180f), Tooltip("Hue range to focus on.")] + public float Range = 30f; + + [Range(0f, 1f), Tooltip("Makes the colored pixels more vibrant.")] + public float Boost = 0.5f; + + [Range(0f, 1f), Tooltip("Blending Factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + float h = Hue / 360f; + float r = Range / 180f; + Material.SetVector("_Range", new Vector2(h - r, h + r)); + Material.SetVector("_Params", new Vector3(h, Boost + 1f, Amount)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/HueFocus.cs.meta b/Assets/Colorful FX/Scripts/Effects/HueFocus.cs.meta new file mode 100644 index 0000000..35b9ad9 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/HueFocus.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 94d79bfd8cb64234383156801889630f +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 552900fac0d27b6448ec836d923d985b, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs b/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs new file mode 100644 index 0000000..a1a538d --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs @@ -0,0 +1,89 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/hue-saturation-value.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Hue, Saturation, Value")] + public class HueSaturationValue : BaseEffect + { + [Range(-180f, 180f)] + public float MasterHue = 0.0f; + [Range(-100f, 100f)] + public float MasterSaturation = 0.0f; + [Range(-100f, 100f)] + public float MasterValue = 0.0f; + + [Range(-180f, 180f)] + public float RedsHue = 0.0f; + [Range(-100f, 100f)] + public float RedsSaturation = 0.0f; + [Range(-100f, 100f)] + public float RedsValue = 0.0f; + + [Range(-180f, 180f)] + public float YellowsHue = 0.0f; + [Range(-100f, 100f)] + public float YellowsSaturation = 0.0f; + [Range(-100f, 100f)] + public float YellowsValue = 0.0f; + + [Range(-180f, 180f)] + public float GreensHue = 0.0f; + [Range(-100f, 100f)] + public float GreensSaturation = 0.0f; + [Range(-100f, 100f)] + public float GreensValue = 0.0f; + + [Range(-180f, 180f)] + public float CyansHue = 0.0f; + [Range(-100f, 100f)] + public float CyansSaturation = 0.0f; + [Range(-100f, 100f)] + public float CyansValue = 0.0f; + + [Range(-180f, 180f)] + public float BluesHue = 0.0f; + [Range(-100f, 100f)] + public float BluesSaturation = 0.0f; + [Range(-100f, 100f)] + public float BluesValue = 0.0f; + + [Range(-180f, 180f)] + public float MagentasHue = 0.0f; + [Range(-100f, 100f)] + public float MagentasSaturation = 0.0f; + [Range(-100f, 100f)] + public float MagentasValue = 0.0f; + + public bool AdvancedMode = false; + +#if UNITY_EDITOR + public int e_CurrentChannel = 0; +#endif + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Master", new Vector3(MasterHue / 360f, MasterSaturation * 0.01f, MasterValue * 0.01f)); + + if (AdvancedMode) + { + Material.SetVector("_Reds", new Vector3(RedsHue / 360f, RedsSaturation * 0.01f, RedsValue * 0.01f)); + Material.SetVector("_Yellows", new Vector3(YellowsHue / 360f, YellowsSaturation * 0.01f, YellowsValue * 0.01f)); + Material.SetVector("_Greens", new Vector3(GreensHue / 360f, GreensSaturation * 0.01f, GreensValue * 0.01f)); + Material.SetVector("_Cyans", new Vector3(CyansHue / 360f, CyansSaturation * 0.01f, CyansValue * 0.01f)); + Material.SetVector("_Blues", new Vector3(BluesHue / 360f, BluesSaturation * 0.01f, BluesValue * 0.01f)); + Material.SetVector("_Magentas", new Vector3(MagentasHue / 360f, MagentasSaturation * 0.01f, MagentasValue * 0.01f)); + Graphics.Blit(source, destination, Material, 1); + } + else + { + Graphics.Blit(source, destination, Material, 0); + } + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs.meta b/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs.meta new file mode 100644 index 0000000..490e359 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 07da71ac68eb82745b717ba672e527d6 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 0b332438591134c46ada56177c061e99, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs b/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs new file mode 100644 index 0000000..ce6b22c --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs @@ -0,0 +1,24 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/kuwahara.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/Kuwahara")] + public class Kuwahara : BaseEffect + { + [Range(1, 6), Tooltip("Larger radius will give a more abstract look but will lower performances.")] + public int Radius = 3; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Radius = Mathf.Clamp(Radius, 1, 6); + Material.SetVector("_PSize", new Vector2(1f / (float)source.width, 1f / (float)source.height)); + Graphics.Blit(source, destination, Material, Radius - 1); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs.meta b/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs.meta new file mode 100644 index 0000000..7f2af4c --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: adb0f17fe5138d54c8677968d83d98a7 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: be6f87201eefa9b4a81cb9d12d55f76b, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Led.cs b/Assets/Colorful FX/Scripts/Effects/Led.cs new file mode 100644 index 0000000..dfb1b0f --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Led.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/led.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/LED")] + public class Led : BaseEffect + { + public enum SizeMode + { + ResolutionIndependent, + PixelPerfect + } + + [Range(1f, 255f), Tooltip("Scale of an individual LED. Depends on the Mode used.")] + public float Scale = 80.0f; + + [Range(0f, 10f), Tooltip("LED brightness booster.")] + public float Brightness = 1.0f; + + [Range(1f, 3f), Tooltip("LED shape, from softer to harsher.")] + public float Shape = 1.5f; + + [Tooltip("Turn this on to automatically compute the aspect ratio needed for squared LED.")] + public bool AutomaticRatio = true; + + [Tooltip("Custom aspect ratio.")] + public float Ratio = 1.0f; + + [Tooltip("Used for the Scale field.")] + public SizeMode Mode = SizeMode.ResolutionIndependent; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + float scale = Scale; + + if (Mode == SizeMode.PixelPerfect) + scale = (float)source.width / Scale; + + Material.SetVector("_Params", new Vector4( + scale, + AutomaticRatio ? ((float)source.width / (float)source.height) : Ratio, + Brightness, + Shape + )); + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Led.cs.meta b/Assets/Colorful FX/Scripts/Effects/Led.cs.meta new file mode 100644 index 0000000..98e35c1 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Led.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3a76d9b47ee5dec4fb0672e79ab4172f +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 119bab05aa029d148a8ed3483cb1cd62, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs b/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs new file mode 100644 index 0000000..d2cc536 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs @@ -0,0 +1,44 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/lens-distortion-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Lens Distortion Blur")] + public class LensDistortionBlur : BaseEffect + { + public enum QualityPreset + { + Low = 4, + Medium = 8, + High = 12, + Custom + } + + [Tooltip("Quality preset. Higher means better quality but slower processing.")] + public QualityPreset Quality = QualityPreset.Medium; + + [Range(2, 32), Tooltip("Sample count. Higher means better quality but slower processing.")] + public int Samples = 10; + + [Range(-2f, 2f), Tooltip("Spherical distortion factor.")] + public float Distortion = 0.2f; + + [Range(-2f, 2f), Tooltip("Cubic distortion factor.")] + public float CubicDistortion = 0.6f; + + [Range(0.01f, 2f), Tooltip("Helps avoid screen streching on borders when working with heavy distortions.")] + public float Scale = 0.8f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + int samples = Quality == QualityPreset.Custom ? Samples : (int)Quality; + Material.SetVector("_Params", new Vector4(samples, Distortion / samples, CubicDistortion / samples, Scale)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs.meta new file mode 100644 index 0000000..ca7c529 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b77b44e65f026d7459ca01c999a9a014 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 27362376390dd5b4a84e636ebeb50eb8, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Levels.cs b/Assets/Colorful FX/Scripts/Effects/Levels.cs new file mode 100644 index 0000000..d3a06c6 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Levels.cs @@ -0,0 +1,87 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + using System; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/levels.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Levels")] + public class Levels : BaseEffect + { + public enum ColorMode + { + Monochrome, + RGB + } + + public ColorMode Mode = ColorMode.Monochrome; + + public Vector3 InputL = new Vector3(0f, 255f, 1f); + public Vector3 InputR = new Vector3(0f, 255f, 1f); + public Vector3 InputG = new Vector3(0f, 255f, 1f); + public Vector3 InputB = new Vector3(0f, 255f, 1f); + + public Vector2 OutputL = new Vector2(0f, 255f); + public Vector2 OutputR = new Vector2(0f, 255f); + public Vector2 OutputG = new Vector2(0f, 255f); + public Vector2 OutputB = new Vector2(0f, 255f); + +#if UNITY_EDITOR + public enum Channel + { + Red, + Green, + Blue + } + + public Channel e_CurrentChannel = 0; + public bool e_Logarithmic = false; + public bool e_AutoRefresh = false; + public Action e_OnFrameEnd; + + bool e_ForceRefresh = false; + + public void InternalForceRefresh() + { + e_ForceRefresh = true; + } +#endif + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { +#if UNITY_EDITOR + if (e_OnFrameEnd != null && (e_AutoRefresh || e_ForceRefresh)) + { + RenderTexture rt = RenderTexture.GetTemporary(160, Mathf.FloorToInt(160f * ((float)source.height / (float)source.height)), 0, RenderTextureFormat.ARGB32); + Graphics.Blit(source, rt); + e_OnFrameEnd(rt); + RenderTexture.ReleaseTemporary(rt); + e_ForceRefresh = false; + } +#endif + + if (Mode == ColorMode.Monochrome) + { + Material.SetVector("_InputMin", new Vector4(InputL.x / 255f, InputL.x / 255f, InputL.x / 255f, 1.0f)); + Material.SetVector("_InputMax", new Vector4(InputL.y / 255f, InputL.y / 255f, InputL.y / 255f, 1.0f)); + Material.SetVector("_InputGamma", new Vector4(InputL.z, InputL.z, InputL.z, 1.0f)); + Material.SetVector("_OutputMin", new Vector4(OutputL.x / 255f, OutputL.x / 255f, OutputL.x / 255f, 1.0f)); + Material.SetVector("_OutputMax", new Vector4(OutputL.y / 255f, OutputL.y / 255f, OutputL.y / 255f, 1.0f)); + } + else + { + Material.SetVector("_InputMin", new Vector4(InputR.x / 255f, InputG.x / 255f, InputB.x / 255f, 1.0f)); + Material.SetVector("_InputMax", new Vector4(InputR.y / 255f, InputG.y / 255f, InputB.y / 255f, 1.0f)); + Material.SetVector("_InputGamma", new Vector4(InputR.z, InputG.z, InputB.z, 1.0f)); + Material.SetVector("_OutputMin", new Vector4(OutputR.x / 255f, OutputG.x / 255f, OutputB.x / 255f, 1.0f)); + Material.SetVector("_OutputMax", new Vector4(OutputR.y / 255f, OutputG.y / 255f, OutputB.y / 255f, 1.0f)); + } + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Levels.cs.meta b/Assets/Colorful FX/Scripts/Effects/Levels.cs.meta new file mode 100644 index 0000000..30cbc20 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Levels.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f423fc6d541e1de4086b6880994b270c +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 3d484a9bd98669a4bae065117cfefa62, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs b/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs new file mode 100644 index 0000000..9e08ab8 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs @@ -0,0 +1,100 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/lofi-palette.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/LoFi Palette")] + public class LoFiPalette : LookupFilter3D + { + public enum Preset + { + None = 0, + + AmstradCPC = 2, + CGA = 3, + Commodore64 = 4, + CommodorePlus = 5, + EGA = 6, + GameBoy = 7, + MacOS16 = 8, + MacOS256 = 9, + MasterSystem = 10, + RiscOS16 = 11, + Teletex = 12, + Windows16 = 13, + Windows256 = 14, + ZXSpectrum = 15, + + Andrae = 17, + Anodomani = 18, + Crayolo = 19, + DB16 = 20, + DB32 = 21, + DJinn = 22, + DrazileA = 23, + DrazileB = 24, + DrazileC = 25, + Eggy = 26, + FinlalA = 27, + FinlalB = 28, + Hapiel = 29, + PavanzA = 30, + PavanzB = 31, + Peyton = 32, + SpeedyCube = 33 + } + + public Preset Palette = Preset.None; + + [Tooltip("Pixelize the display.")] + public bool Pixelize = true; + + [Tooltip("The display height in pixels.")] + public float PixelSize = 128f; + + protected Preset m_CurrentPreset = Preset.None; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Palette != m_CurrentPreset) + { + m_CurrentPreset = Palette; + + if (Palette == Preset.None) + LookupTexture = null; + else + LookupTexture = Resources.Load("LoFiPalettes/" + Palette.ToString()); + } + + if (LookupTexture == null) + { + Graphics.Blit(source, destination); + return; + } + + if (LookupTexture.name != m_BaseTextureName) + ConvertBaseTexture(); + + if (m_Lut3D == null) + SetIdentityLut(); + + m_Lut3D.filterMode = FilterMode.Point; + Material.SetTexture("_LookupTex", m_Lut3D); + float lutSize = (float)m_Lut3D.width; + Material.SetVector("_Params", new Vector4( + (lutSize - 1f) / (1f * lutSize), + 1f / (2f * lutSize), + Amount, + PixelSize + )); + + int pass = (Pixelize ? 2 : 0) + (CLib.IsLinearColorSpace() ? 1 : 0); + Graphics.Blit(source, destination, Material, pass); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs.meta b/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs.meta new file mode 100644 index 0000000..58f6eb2 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0ca97f3385a96b140b060f6025abe220 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: c356d31be0868c94d8c3eb943516cb8a, type: 3} + - LookupTexture: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs b/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs new file mode 100644 index 0000000..0448183 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/lookup-filter.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Lookup Filter (Color Grading)")] + public class LookupFilter : BaseEffect + { + [Tooltip("The lookup texture to apply. Read the documentation to learn how to create one.")] + public Texture LookupTexture; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (LookupTexture == null || Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetTexture("_LookupTex", LookupTexture); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material, CLib.IsLinearColorSpace() ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs.meta b/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs.meta new file mode 100644 index 0000000..cee6e64 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 9adb2be4a98e6d14bb47dc747ce80219 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 37ae258c1f4d15140b45318637b0c532, type: 3} + - lookupTexture: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs b/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs new file mode 100644 index 0000000..fe67a12 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs @@ -0,0 +1,145 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/lookup-filter-3d.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Lookup Filter 3D (Color Grading)")] + public class LookupFilter3D : BaseEffect + { + [Tooltip("The lookup texture to apply. Read the documentation to learn how to create one.")] + public Texture2D LookupTexture; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected Texture3D m_Lut3D; + protected string m_BaseTextureName; + + protected override void Start() + { + base.Start(); + + // We need 3D textures support + if (!SystemInfo.supports3DTextures) + { + Debug.LogWarning("3D textures aren't supported on this device"); + enabled = false; + } + } + + protected override void OnDisable() + { + base.OnDisable(); + + if (m_Lut3D) + DestroyImmediate(m_Lut3D); + } + + protected virtual void Reset() + { + m_BaseTextureName = null; + } + + protected void SetIdentityLut() + { + int dim = 16; + Color[] newC = new Color[dim * dim * dim]; + float oneOverDim = 1.0f / (1.0f * dim - 1.0f); + + for (int i = 0; i < dim; i++) + { + for (int j = 0; j < dim; j++) + { + for (int k = 0; k < dim; k++) + { + newC[i + (j * dim) + (k * dim * dim)] = new Color((i * 1.0f) * oneOverDim, (j * 1.0f) * oneOverDim, (k * 1.0f) * oneOverDim, 1.0f); + } + } + } + + if (m_Lut3D) + DestroyImmediate(m_Lut3D); + + m_Lut3D = new Texture3D(dim, dim, dim, TextureFormat.ARGB32, false); + m_Lut3D.hideFlags = HideFlags.HideAndDontSave; + m_Lut3D.SetPixels(newC); + m_Lut3D.Apply(); + m_BaseTextureName = ""; + } + + public bool ValidDimensions(Texture2D tex2D) + { + if (tex2D == null || tex2D.height != Mathf.FloorToInt(Mathf.Sqrt(tex2D.width))) + return false; + + return true; + } + + protected void ConvertBaseTexture() + { + if (!ValidDimensions(LookupTexture)) + { + Debug.LogWarning("The given 2D texture " + LookupTexture.name + " cannot be used as a 3D LUT. Pick another texture or adjust dimension to e.g. 256x16."); + return; + } + + m_BaseTextureName = LookupTexture.name; + + int dim = LookupTexture.height; + + Color[] c = LookupTexture.GetPixels(); + Color[] newC = new Color[c.Length]; + + for (int i = 0; i < dim; i++) + { + for (int j = 0; j < dim; j++) + { + for (int k = 0; k < dim; k++) + { + int j_ = dim - j - 1; + newC[i + (j * dim) + (k * dim * dim)] = c[k * dim + i + j_ * dim * dim]; + } + } + } + + if (m_Lut3D) + DestroyImmediate(m_Lut3D); + + m_Lut3D = new Texture3D(dim, dim, dim, TextureFormat.ARGB32, false); + m_Lut3D.hideFlags = HideFlags.HideAndDontSave; + m_Lut3D.wrapMode = TextureWrapMode.Clamp; + m_Lut3D.SetPixels(newC); + m_Lut3D.Apply(); + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (LookupTexture == null || Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + if (LookupTexture.name != m_BaseTextureName) + ConvertBaseTexture(); + + if (m_Lut3D == null) + SetIdentityLut(); + + Material.SetTexture("_LookupTex", m_Lut3D); + float lutSize = (float)m_Lut3D.width; + Material.SetVector("_Params", new Vector3( + (lutSize - 1f) / (1f * lutSize), + 1f / (2f * lutSize), + Amount + )); + + Graphics.Blit(source, destination, Material, CLib.IsLinearColorSpace() ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs.meta b/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs.meta new file mode 100644 index 0000000..26565c4 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1222701696bce8f41a07d077b281118e +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: c356d31be0868c94d8c3eb943516cb8a, type: 3} + - lookupTexture: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Negative.cs b/Assets/Colorful FX/Scripts/Effects/Negative.cs new file mode 100644 index 0000000..db5f62d --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Negative.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/negative.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Negative")] + public class Negative : BaseEffect + { + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1.0f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material, CLib.IsLinearColorSpace() ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Negative.cs.meta b/Assets/Colorful FX/Scripts/Effects/Negative.cs.meta new file mode 100644 index 0000000..79eb43c --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Negative.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bbed2c7d9f2a38a4b821e762954e38e8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 4d5f7df60d1ccbe44b611aec3822b801, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Noise.cs b/Assets/Colorful FX/Scripts/Effects/Noise.cs new file mode 100644 index 0000000..455aa64 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Noise.cs @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/noise.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Noise")] + public class Noise : BaseEffect + { + public enum ColorMode + { + Monochrome, + RGB + } + + [Tooltip("Black & white or colored noise.")] + public ColorMode Mode = ColorMode.Monochrome; + + [Tooltip("Automatically increment the seed to animate the noise.")] + public bool Animate = true; + + [Tooltip("A number used to initialize the noise generator.")] + public float Seed = 0.5f; + + [Range(0f, 1f), Tooltip("Strength used to apply the noise. 0 means no noise at all, 1 is full noise.")] + public float Strength = 0.12f; + + protected virtual void Update() + { + if (Animate) + { + // Reset the Seed after a while, some GPUs don't like big numbers + if (Seed > 1000f) + Seed = 0.5f; + + Seed += Time.deltaTime * 0.25f; + } + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector2(Seed, Strength)); + Graphics.Blit(source, destination, Material, Mode == ColorMode.Monochrome ? 0 : 1); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Noise.cs.meta b/Assets/Colorful FX/Scripts/Effects/Noise.cs.meta new file mode 100644 index 0000000..3d735a6 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Noise.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6e8893002c9340b4c9dfb35503a523f1 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 89ef061699807394a9d296d8ada383cb, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs b/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs new file mode 100644 index 0000000..ebd6506 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/photo-filter.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Photo Filter")] + public class PhotoFilter : BaseEffect + { + [ColorUsage(false), Tooltip("Lens filter color.")] + public Color Color = new Color(1.0f, 0.5f, 0.2f, 1.0f); + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Density = 0.35f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Density <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetColor("_RGB", Color); + Material.SetFloat("_Density", Density); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs.meta b/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs.meta new file mode 100644 index 0000000..0c9254c --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bb697cfaa11881546a01edd0eb62fd76 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: d4cf7d0874af43d489d668369b513fd1, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs b/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs new file mode 100644 index 0000000..ed91d87 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/pixel-matrix.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Pixel Matrix")] + public class PixelMatrix : BaseEffect + { + [Min(3), Tooltip("Tile size. Works best with multiples of 3.")] + public int Size = 9; + + [Range(0f, 10f), Tooltip("Tile brightness booster.")] + public float Brightness = 1.4f; + + [Tooltip("Show / hide black borders on every tile.")] + public bool BlackBorder = true; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector4( + Size, + Mathf.Floor((float)Size / 3f), + Size - Mathf.Floor((float)Size / 3f), + Brightness + )); + + Graphics.Blit(source, destination, Material, BlackBorder ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs.meta b/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs.meta new file mode 100644 index 0000000..6dfb141 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6b1024d011da8dd488b260d3e0e7945d +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 58e2980581a9e9b45a6bf05fb06dab5d, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Pixelate.cs b/Assets/Colorful FX/Scripts/Effects/Pixelate.cs new file mode 100644 index 0000000..e050a99 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Pixelate.cs @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/pixelate.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Pixelate")] + public class Pixelate : BaseEffect + { + public enum SizeMode + { + ResolutionIndependent, + PixelPerfect + } + + [Range(1f, 1024f), Tooltip("Scale of an individual pixel. Depends on the Mode used.")] + public float Scale = 80.0f; + + [Tooltip("Turn this on to automatically compute the aspect ratio needed for squared pixels.")] + public bool AutomaticRatio = true; + + [Tooltip("Custom aspect ratio.")] + public float Ratio = 1.0f; + + [Tooltip("Used for the Scale field.")] + public SizeMode Mode = SizeMode.ResolutionIndependent; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + float scale = Scale; + + if (Mode == SizeMode.PixelPerfect) + scale = (float)source.width / Scale; + + Material.SetVector("_Params", new Vector2( + scale, + AutomaticRatio ? ((float)source.width / (float)source.height) : Ratio + )); + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Pixelate.cs.meta b/Assets/Colorful FX/Scripts/Effects/Pixelate.cs.meta new file mode 100644 index 0000000..edc48a1 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Pixelate.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2628181c809ee474485cc45322ff644f +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 728ffb8a91a4a0a498b4795a6e1d78a1, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Posterize.cs b/Assets/Colorful FX/Scripts/Effects/Posterize.cs new file mode 100644 index 0000000..c8ce2c2 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Posterize.cs @@ -0,0 +1,26 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/posterize.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Posterize")] + public class Posterize : BaseEffect + { + [Range(2, 255), Tooltip("Number of tonal levels (brightness values) for each channel.")] + public int Levels = 16; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector2((float)Levels, Amount)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Posterize.cs.meta b/Assets/Colorful FX/Scripts/Effects/Posterize.cs.meta new file mode 100644 index 0000000..31a1ef8 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Posterize.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b8ff44335507f4749aa70099c187a8c4 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 5675fc85342982e4aa19f32d906706e4, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs b/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs new file mode 100644 index 0000000..b62e7fc --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs @@ -0,0 +1,37 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/rgb-split.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/RGB Split")] + public class RGBSplit : BaseEffect + { + [Tooltip("RGB shifting amount.")] + public float Amount = 0f; + + [Tooltip("Shift direction in radians.")] + public float Angle = 0f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount == 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Params", new Vector3( + Amount * 0.001f, + Mathf.Sin(Angle), + Mathf.Cos(Angle) + )); + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs.meta b/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs.meta new file mode 100644 index 0000000..e5664f5 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 68cd54ea1964189429cf8078ee8d5fd5 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 9d2e55392c5688b41a28c877a8c935c6, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs b/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs new file mode 100644 index 0000000..9be7bbf --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs @@ -0,0 +1,59 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/radial-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Radial Blur")] + public class RadialBlur : BaseEffect + { + public enum QualityPreset + { + Low = 4, + Medium = 8, + High = 12, + Custom + } + + [Range(0f, 1f), Tooltip("Blur strength.")] + public float Strength = 0.1f; + + [Range(2, 32), Tooltip("Sample count. Higher means better quality but slower processing.")] + public int Samples = 10; + + [Tooltip("Focus point.")] + public Vector2 Center = new Vector2(0.5f, 0.5f); + + [Tooltip("Quality preset. Higher means better quality but slower processing.")] + public QualityPreset Quality = QualityPreset.Medium; + + [Range(-100f, 100f), Tooltip("Smoothness of the vignette effect.")] + public float Sharpness = 40f; + + [Range(0f, 100f), Tooltip("Amount of vignetting on screen.")] + public float Darkness = 35f; + + [Tooltip("Should the effect be applied like a vignette ?")] + public bool EnableVignette = true; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Strength <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + int samples = Quality == QualityPreset.Custom ? Samples : (int)Quality; + + Material.SetVector("_Center", Center); + Material.SetVector("_Params", new Vector4(Strength, samples, Sharpness * 0.01f, Darkness * 0.02f)); + + Graphics.Blit(source, destination, Material, EnableVignette ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs.meta new file mode 100644 index 0000000..b4911c1 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 75d0b0053075b424f96072721dfe5733 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 93166fbefe89e6b45afb840b49fc59ae, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs b/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs new file mode 100644 index 0000000..e5c0faf --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/s-curve-contrast.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/S-Curve Contrast")] + public class SCurveContrast : BaseEffect + { + public float RedSteepness = 1f; + public float RedGamma = 1f; + public float GreenSteepness = 1f; + public float GreenGamma = 1f; + public float BlueSteepness = 1f; + public float BlueGamma = 1f; + +#if UNITY_EDITOR + public bool e_ShowCurves = true; +#endif + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Red", new Vector2(RedSteepness, RedGamma)); + Material.SetVector("_Green", new Vector2(GreenSteepness, GreenGamma)); + Material.SetVector("_Blue", new Vector2(BlueSteepness, BlueGamma)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs.meta b/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs.meta new file mode 100644 index 0000000..3ea574a --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 934871e03470f2048a86d4da39cca2dc +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: bb3f4da25a5c9184697fb2b1c1ea8c68, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs b/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs new file mode 100644 index 0000000..7c96d17 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/shadows-midtones-highlights.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Shadows, Midtones, Highlights")] + public class ShadowsMidtonesHighlights : BaseEffect + { + public enum ColorMode + { + LiftGammaGain = 0, + OffsetGammaSlope = 1 + } + + [Tooltip("Color mode. The difference between these two modes is the way shadows are handled.")] + public ColorMode Mode = ColorMode.LiftGammaGain; + + [Tooltip("Adds density or darkness, raises or lowers the shadow levels with its alpha value and offset the color balance in the dark regions with the hue point.")] + public Color Shadows = new Color(1f, 1f, 1f, 0.5f); + + [Tooltip("Shifts the middle tones to be brighter or darker. For instance, to make your render more warm, just move the midtone color toward the yellow/red range. The more saturated the color is, the warmer the render becomes.")] + public Color Midtones = new Color(1f, 1f, 1f, 0.5f); + + [Tooltip("Brightens and tints the entire render but mostly affects the highlights.")] + public Color Highlights = new Color(1f, 1f, 1f, 0.5f); + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + float multiplier; + Material.SetVector("_Shadows", Shadows * (Shadows.a * 2)); + multiplier = 1f + (1f - (Midtones.r * 0.299f + Midtones.g * 0.587f + Midtones.b * 0.114f)); + Material.SetVector("_Midtones", (Midtones * multiplier) * (Midtones.a * 2f)); + multiplier = 1f + (1f - (Highlights.r * 0.299f + Highlights.g * 0.587f + Highlights.b * 0.114f)); + Material.SetVector("_Highlights", (Highlights * multiplier) * (Highlights.a * 2f)); + + Material.SetFloat("_Amount", Amount); + + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs.meta b/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs.meta new file mode 100644 index 0000000..e40cc82 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9a1e5796c9ae6d4458ba6002cb9d95d8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: f1c2bf98023ec1d49a324ffb4746f895, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Sharpen.cs b/Assets/Colorful FX/Scripts/Effects/Sharpen.cs new file mode 100644 index 0000000..1f34e02 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Sharpen.cs @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/sharpen.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Sharpen")] + public class Sharpen : BaseEffect + { + public enum Algorithm + { + TypeA, + TypeB + } + + [Tooltip("Sharpening algorithm to use.")] + public Algorithm Mode = Algorithm.TypeB; + + [Range(0f, 5f), Tooltip("Sharpening Strength.")] + public float Strength = 0.6f; + + [Range(0f, 1f), Tooltip("Limits the amount of sharpening a pixel will receive.")] + public float Clamp = 0.05f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Strength == 0f || Clamp == 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Params", new Vector4( + Strength, + Clamp, + 1f / (float)source.width, + 1f / (float)source.height + )); + + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Sharpen.cs.meta b/Assets/Colorful FX/Scripts/Effects/Sharpen.cs.meta new file mode 100644 index 0000000..93d4c63 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Sharpen.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 23bf7bfb88d65c14f9588701ff10a068 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: b4f0a5d3f2f4d3d4e80600230efdfe68, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Strokes.cs b/Assets/Colorful FX/Scripts/Effects/Strokes.cs new file mode 100644 index 0000000..01be285 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Strokes.cs @@ -0,0 +1,62 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/strokes.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/Strokes")] + public class Strokes : BaseEffect + { + public enum ColorMode + { + BlackAndWhite, + WhiteAndBlack, + ColorAndWhite, + ColorAndBlack, + WhiteAndColor, + BlackAndColor + } + + public ColorMode Mode = ColorMode.BlackAndWhite; + + [Range(0f, 0.04f), Tooltip("Stroke rotation, or wave pattern amplitude.")] + public float Amplitude = 0.025f; + + [Range(0f, 20f), Tooltip("Wave pattern frequency (higher means more waves).")] + public float Frequency = 10f; + + [Range(4f, 12f), Tooltip("Global scaling.")] + public float Scaling = 7.5f; + + [Range(0.1f, 0.5f), Tooltip("Stroke maximum thickness.")] + public float MaxThickness = 0.2f; + + [Range(0f, 1f), Tooltip("Contribution threshold (higher means more continous strokes).")] + public float Threshold = 0.7f; + + [Range(-0.3f, 0.3f), Tooltip("Stroke pressure.")] + public float Harshness = 0f; + + [Range(0f, 1f), Tooltip("Amount of red to contribute to the strokes.")] + public float RedLuminance = 0.299f; + + [Range(0f, 1f), Tooltip("Amount of green to contribute to the strokes.")] + public float GreenLuminance = 0.587f; + + [Range(0f, 1f), Tooltip("Amount of blue to contribute to the strokes.")] + public float BlueLuminance = 0.114f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + float scale = Scaling / (float)source.height; + Material.SetVector("_Params1", new Vector4(Amplitude, Frequency, scale, MaxThickness * scale)); + Material.SetVector("_Params2", new Vector3(RedLuminance, GreenLuminance, BlueLuminance)); + Material.SetVector("_Params3", new Vector2(Threshold, Harshness)); + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Strokes.cs.meta b/Assets/Colorful FX/Scripts/Effects/Strokes.cs.meta new file mode 100644 index 0000000..2bd92f8 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Strokes.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 91fe5838a9fc42d449149118120a80a8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: fcfe9bb61d41be54db37021f6228a5a2, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Technicolor.cs b/Assets/Colorful FX/Scripts/Effects/Technicolor.cs new file mode 100644 index 0000000..155e17a --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Technicolor.cs @@ -0,0 +1,30 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/technicolor.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Technicolor")] + public class Technicolor : BaseEffect + { + [Range(0f, 8f)] + public float Exposure = 4f; + + public Vector3 Balance = new Vector3(0.25f, 0.25f, 0.25f); + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 0.5f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetFloat("_Exposure", 8f - Exposure); + Material.SetVector("_Balance", Vector3.one - Balance); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Technicolor.cs.meta b/Assets/Colorful FX/Scripts/Effects/Technicolor.cs.meta new file mode 100644 index 0000000..ba4a91e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Technicolor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e79d607a782dc7d4a931f5e6eb240e79 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 4c81e0318e9055a45a291da31fdd8edd, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Threshold.cs b/Assets/Colorful FX/Scripts/Effects/Threshold.cs new file mode 100644 index 0000000..0fdc53e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Threshold.cs @@ -0,0 +1,30 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/threshold.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Threshold")] + public class Threshold : BaseEffect + { + [Range(1f, 255f), Tooltip("Luminosity threshold.")] + public float Value = 128f; + + [Range(0f, 128f), Tooltip("Aomunt of randomization.")] + public float NoiseRange = 24f; + + [Tooltip("Adds some randomization to the threshold value.")] + public bool UseNoise = false; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetFloat("_Threshold", Value / 255f); + Material.SetFloat("_Range", NoiseRange / 255f); + Graphics.Blit(source, destination, Material, UseNoise ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Threshold.cs.meta b/Assets/Colorful FX/Scripts/Effects/Threshold.cs.meta new file mode 100644 index 0000000..59995ec --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Threshold.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ee27dcf977a2a6e49bd0321a3d326cd8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 601d83f113eed6c4e9ee285c9f69b171, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Vibrance.cs b/Assets/Colorful FX/Scripts/Effects/Vibrance.cs new file mode 100644 index 0000000..1a72c56 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Vibrance.cs @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/vibrance.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Vibrance")] + public class Vibrance : BaseEffect + { + [Range(-100f, 100f), Tooltip("Adjusts the saturation so that clipping is minimized as colors approach full saturation.")] + public float Amount = 0.0f; + + [Range(-5f, 5f)] + public float RedChannel = 1.0f; + [Range(-5f, 5f)] + public float GreenChannel = 1.0f; + [Range(-5f, 5f)] + public float BlueChannel = 1.0f; + + public bool AdvancedMode = false; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + if (AdvancedMode) + { + Material.SetFloat("_Amount", Amount * 0.01f); + Material.SetVector("_Channels", new Vector3(RedChannel, GreenChannel, BlueChannel)); + Graphics.Blit(source, destination, Material, 1); + } + else + { + Material.SetFloat("_Amount", Amount * 0.02f); + Graphics.Blit(source, destination, Material, 0); + } + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Vibrance.cs.meta b/Assets/Colorful FX/Scripts/Effects/Vibrance.cs.meta new file mode 100644 index 0000000..aae9886 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Vibrance.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 19618ea32564c524da32f929ef2de8d8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: bb0e827449f1caa4bbd6dd91a05d702b, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Vintage.cs b/Assets/Colorful FX/Scripts/Effects/Vintage.cs new file mode 100644 index 0000000..89c8b33 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Vintage.cs @@ -0,0 +1,65 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/vintage.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Vintage")] + public class Vintage : LookupFilter + { + public enum InstragramFilter + { + None, + F1977, + Aden, + Amaro, + Brannan, + Crema, + Earlybird, + Hefe, + Hudson, + Inkwell, + Juno, + Kelvin, + Lark, + LoFi, + Ludwig, + Mayfair, + Nashville, + Perpetua, + Reyes, + Rise, + Sierra, + Slumber, + Sutro, + Toaster, + Valencia, + Walden, + Willow, + XProII + } + + public InstragramFilter Filter = InstragramFilter.None; + + protected InstragramFilter m_CurrentFilter = InstragramFilter.None; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Filter != m_CurrentFilter) + { + m_CurrentFilter = Filter; + + if (Filter == InstragramFilter.None) + LookupTexture = null; + else + LookupTexture = Resources.Load("Instagram/" + Filter.ToString()); + } + + base.OnRenderImage(source, destination); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Vintage.cs.meta b/Assets/Colorful FX/Scripts/Effects/Vintage.cs.meta new file mode 100644 index 0000000..fd8a1a9 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Vintage.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c7f5cffe1304732428428379c1126d90 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 37ae258c1f4d15140b45318637b0c532, type: 3} + - lookupTexture: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/VintageFast.cs b/Assets/Colorful FX/Scripts/Effects/VintageFast.cs new file mode 100644 index 0000000..54476b0 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/VintageFast.cs @@ -0,0 +1,34 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + using InstragramFilter = Vintage.InstragramFilter; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/vintage-fast.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Vintage (Fast)")] + public class VintageFast : LookupFilter3D + { + public InstragramFilter Filter = InstragramFilter.None; + + protected InstragramFilter m_CurrentFilter = InstragramFilter.None; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Filter != m_CurrentFilter) + { + m_CurrentFilter = Filter; + + if (Filter == InstragramFilter.None) + LookupTexture = null; + else + LookupTexture = Resources.Load("InstagramFast/" + Filter.ToString()); + } + + base.OnRenderImage(source, destination); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/VintageFast.cs.meta b/Assets/Colorful FX/Scripts/Effects/VintageFast.cs.meta new file mode 100644 index 0000000..1b23227 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/VintageFast.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1c17a664134eb954aa7219d2d88c3bfb +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: c356d31be0868c94d8c3eb943516cb8a, type: 3} + - lookupTexture: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs b/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs new file mode 100644 index 0000000..0c6ecd3 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs @@ -0,0 +1,46 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/wave-distortion.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Wave Distortion")] + public class WaveDistortion : BaseEffect + { + [Range(0f, 1f), Tooltip("Wave amplitude.")] + public float Amplitude = 0.6f; + + [Tooltip("Amount of waves.")] + public float Waves = 5f; + + [Range(0f, 5f), Tooltip("Amount of color shifting.")] + public float ColorGlitch = 0.35f; + + [Tooltip("Distortion state. Think of it as a bell curve going from 0 to 1, with 0.5 being the highest point.")] + public float Phase = 0.35f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + float fp = CLib.Frac(Phase); + + if (fp == 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Params", new Vector4( + Amplitude, + Waves, + ColorGlitch, + fp + )); + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs.meta b/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs.meta new file mode 100644 index 0000000..24390c8 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 429380907452a0b4091607a6e92d2bb8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: a43350e669209cb4098e9297891a1ffd, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs b/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs new file mode 100644 index 0000000..2eaf0c7 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs @@ -0,0 +1,39 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/white-balance.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/White Balance")] + public class WhiteBalance : BaseEffect + { + public enum BalanceMode + { + Simple, + Complex + } + + [ColorUsage(false), Tooltip("Reference white point or midtone value.")] + public Color White = new Color(0.5f, 0.5f, 0.5f); + + [Tooltip("Algorithm used.")] + public BalanceMode Mode = BalanceMode.Complex; + + protected virtual void Reset() + { + White = CLib.IsLinearColorSpace() ? + new Color(0.72974005284f, 0.72974005284f, 0.72974005284f) : + new Color(0.5f, 0.5f, 0.5f); + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetColor("_White", White); + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs.meta b/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs.meta new file mode 100644 index 0000000..738d368 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b87ea445a48e9f44ab51e80325d56b0a +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 36a3aa3217d66c645a4665ff1490cb28, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Scripts/Effects/Wiggle.cs b/Assets/Colorful FX/Scripts/Effects/Wiggle.cs new file mode 100644 index 0000000..574d15b --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Wiggle.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/wiggle.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Wiggle")] + public class Wiggle : BaseEffect + { + public enum Algorithm + { + Simple, + Complex + } + + [Tooltip("Animation type. Complex is slower but looks more natural.")] + public Algorithm Mode = Algorithm.Complex; + + public float Timer = 0f; + + [Tooltip("Wave animation speed.")] + public float Speed = 1f; + + [Tooltip("Wave frequency (higher means more waves).")] + public float Frequency = 12f; + + [Tooltip("Wave amplitude (higher means bigger waves).")] + public float Amplitude = 0.01f; + + [Tooltip("Automatically animate this effect at runtime.")] + public bool AutomaticTimer = true; + + protected virtual void Update() + { + if (AutomaticTimer) + { + // Reset the timer after a while, some GPUs don't like big numbers + if (Timer > 1000f) + Timer -= 1000f; + + Timer += Speed * Time.deltaTime; + } + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector3(Frequency, Amplitude, Timer * (Mode == Algorithm.Complex ? 0.1f : 1f))); + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Wiggle.cs.meta b/Assets/Colorful FX/Scripts/Effects/Wiggle.cs.meta new file mode 100644 index 0000000..da757b0 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Wiggle.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 03a36ef005a80844b8e0ffada3adad9b +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 22fe62a5d4de91a4995c1363cbc2492e, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: diff --git a/Assets/Colorful FX/Shaders.meta b/Assets/Colorful FX/Shaders.meta new file mode 100644 index 0000000..67b6221 --- /dev/null +++ b/Assets/Colorful FX/Shaders.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 565a669dbf510e0479ffbf39dc4c1318 +folderAsset: yes +timeCreated: 1449178673 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/AnalogTV.shader b/Assets/Colorful FX/Shaders/AnalogTV.shader new file mode 100644 index 0000000..7e6eb7a --- /dev/null +++ b/Assets/Colorful FX/Shaders/AnalogTV.shader @@ -0,0 +1,85 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Analog TV" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params1 ("Noise Intensity (X) Scanlines Intensity (Y) Scanlines Count (Z) Scanlines Offset (W)", Vector) = (0.5, 2.0, 768, 0.0) + _Params2 ("Phase (X) Distortion (Y) Cubic Distortion (Z) Scale (W)", Vector) = (0.05, 0.2, 0.6, 0.8) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params1; + half4 _Params2; + + half4 filter_pass(half2 uv) + { + half2 coord = barrelDistortion(uv, _Params2.y, _Params2.z, _Params2.w); + half4 color = tex2D(_MainTex, coord); + + float n = simpleNoise(coord.xy * _Params2.x); + float dx = mod(n, 0.01); + + half3 result = color.rgb + color.rgb * saturate(0.1 + dx * 100.0); + half2 sc = half2(sin(coord.y * _Params1.z + _Params1.w), cos(coord.y * _Params1.z + _Params1.w)); + result += color.rgb * sc.xyx * _Params1.y; + result = color.rgb + saturate(_Params1.x) * (result - color.rgb); + + return half4(result, color.a); + } + + half4 frag(v2f_img i) : SV_Target + { + return filter_pass(i.uv); + } + + half4 frag_grayscale(v2f_img i) : SV_Target + { + half4 result = filter_pass(i.uv); + half lum = luminance(result.rgb); + result = half4(lum, lum, lum, result.a); + return result; + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_grayscale + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/AnalogTV.shader.meta b/Assets/Colorful FX/Shaders/AnalogTV.shader.meta new file mode 100644 index 0000000..a5344b6 --- /dev/null +++ b/Assets/Colorful FX/Shaders/AnalogTV.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 6b426a8c366d0584dadb551db862ddeb +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader b/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader new file mode 100644 index 0000000..56280c4 --- /dev/null +++ b/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader @@ -0,0 +1,86 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Bilateral Gaussian Blur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Direction ("Direction (XY)", Vector) = (0, 0, 0, 0) + _Threshold ("Threshold", Float) = 0 + } + + CGINCLUDE + ENDCG + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + #include "UnityCG.cginc" + + sampler2D _MainTex; + sampler2D _CameraDepthTexture; + half2 _Direction; + half _Threshold; + + struct fInput + { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float4 uv1 : TEXCOORD1; + float4 uv2 : TEXCOORD2; + }; + + fInput vert(appdata_img v) + { + fInput o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + float2 d1 = 1.3846153846 * _Direction; + float2 d2 = 3.2307692308 * _Direction; + o.uv1 = float4(o.uv + d1, o.uv - d1); + o.uv2 = float4(o.uv + d2, o.uv - d2); + return o; + } + + half4 frag(fInput i) : SV_Target + { + const half2 uvs[4] = { i.uv1.xy, i.uv1.zw, i.uv2.xy, i.uv2.zw }; + + half depth = Linear01Depth(tex2D(_CameraDepthTexture, i.uv).x); + half4 accum = tex2D(_MainTex, i.uv) * 0.2270270270; + half accumWeight = 0.2270270270; + + half4 depthTmp; + depthTmp.x = Linear01Depth(tex2D(_CameraDepthTexture, uvs[0]).x); + depthTmp.y = Linear01Depth(tex2D(_CameraDepthTexture, uvs[1]).x); + depthTmp.z = Linear01Depth(tex2D(_CameraDepthTexture, uvs[2]).x); + depthTmp.w = Linear01Depth(tex2D(_CameraDepthTexture, uvs[3]).x); + half4 diff = abs(depth - depthTmp); + half4 weight = (1.0 - step(_Threshold, diff)) * half4(0.3162162162, 0.3162162162, 0.0702702703, 0.0702702703); + + for (int i = 0; i < 4; i++) + { + accum += weight[i] * tex2D(_MainTex, uvs[i]); + accumWeight += weight[i]; + } + + return accum / accumWeight; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader.meta b/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader.meta new file mode 100644 index 0000000..c01cb3b --- /dev/null +++ b/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a8686488660cc994aa7b3197735727dc +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/BleachBypass.shader b/Assets/Colorful FX/Shaders/BleachBypass.shader new file mode 100644 index 0000000..144ccc2 --- /dev/null +++ b/Assets/Colorful FX/Shaders/BleachBypass.shader @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Bleach Bypass" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Amount ("Amount", Range(0.0, 1.0)) = 1.0 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half lum = luminance(color.rgb); + half3 blend = half3(lum, lum, lum); + half L = min(1.0, max(0.0, 10.0 * (lum - 0.45))); + half3 nc = lerp(2.0 * color.rgb * blend, + 1.0 - 2.0 * (1.0 - blend) * (1.0 - color.rgb), + L); + + return lerp(color, half4(nc, color.a), _Amount); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/BleachBypass.shader.meta b/Assets/Colorful FX/Shaders/BleachBypass.shader.meta new file mode 100644 index 0000000..919d901 --- /dev/null +++ b/Assets/Colorful FX/Shaders/BleachBypass.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: db51fb80780ef714492de6fd9a5b3748 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Blend.shader b/Assets/Colorful FX/Shaders/Blend.shader new file mode 100644 index 0000000..28926d9 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Blend.shader @@ -0,0 +1,489 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Blend" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _OverlayTex ("Overlay (RGB)", 2D) = "white" {} + _Amount ("Amount", Range(0.0, 1.0)) = 1.0 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + #define half4_one half4(1.0, 1.0, 1.0, 1.0) + + sampler2D _MainTex; + sampler2D _OverlayTex; + half _Amount; + + // Darken + half4 frag_darken(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, min(c, o), _Amount); + } + + // Multiply + half4 frag_multiply(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, c * o, _Amount); + } + + // Color Burn + half4 frag_colorburn(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, half4_one - (half4_one - c) / o, _Amount); + } + + // Linear Burn + half4 frag_linearburn(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, o + c - half4_one, _Amount); + } + + // Darker Color + half4 frag_darkercolor(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 result = luminance(c.rgb) < luminance(o.rgb) ? c : o; + return lerp(c, result, _Amount); + } + + // Lighten + half4 frag_lighten(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, max(c, o), _Amount); + } + + // Screen + half4 frag_screen(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, half4_one - ((half4_one - o) * (half4_one - c)), _Amount); + } + + // Color Dodge + half4 frag_colordodge(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, c / (half4_one - o), _Amount); // Should check for div by 0 but GPU drivers don't care + } + + // Linear Dodge (Add) + half4 frag_add(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, c + o, _Amount); + } + + // Lighter Color + half4 frag_lightercolor(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 result = luminance(c.rgb) > luminance(o.rgb) ? c : o; + return lerp(c, result, _Amount); + } + + // Overlay + half4 frag_overlay(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, c); + half4 result = check * (half4_one - ((half4_one - 2.0 * (c - 0.5)) * (half4_one - o))); + result += (half4_one - check) * (2.0 * c * o); + return lerp(c, result, _Amount); + } + + // Soft Light + half4 frag_softlight(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, o); + half4 result = check * (2.0 * c * o + c * c - 2.0 * c * c * o); + result += (half4_one - check) * (2.0 * sqrt(c) * o - sqrt(c) + 2.0 * c - 2.0 * c * o); + return lerp(c, result, _Amount); + } + + // Hard Light + half4 frag_hardlight(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, o); + half4 result = check * (half4_one - ((half4_one - 2.0 * (c - 0.5)) * (half4_one - o))); + result += (half4_one - check) * (2.0 * c * o); + return lerp(c, result, _Amount); + } + + // Vivid Light + half4 frag_vividlight(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, o); + half4 result = check * (c / (half4_one - 2.0 * (o - 0.5))); + result += (half4_one - check) * (half4_one - (half4_one - c) / (2.0 * o)); + return lerp(c, result, _Amount); + } + + // Linear Light + half4 frag_linearlight(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, o); + half4 result = check * (c + (2.0 * (o - 0.5))); + result += (half4_one - check) * (c + 2.0 * o - half4_one); + return lerp(c, result, _Amount); + } + + // Pin Light + half4 frag_pinlight(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, o); + half4 result = check * max(2.0 * (o - 0.5), c); + result += (half4_one - check) * min(2 * o, c); + return lerp(c, result, _Amount); + } + + // Hard Mix + half4 frag_hardmix(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 result = half4(0.0, 0.0, 0.0, 0.0); + result.r = o.r > 1.0 - c.r ? 1.0 : 0.0; + result.g = o.g > 1.0 - c.g ? 1.0 : 0.0; + result.b = o.b > 1.0 - c.b ? 1.0 : 0.0; + result.a = o.a > 1.0 - c.a ? 1.0 : 0.0; + return lerp(c, result, _Amount); + } + + // Difference + half4 frag_difference(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, abs(c - o), _Amount); + } + + // Exclusion + half4 frag_exclusion(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, c + o - (2 * c * o), _Amount); + } + + // Subtract + half4 frag_subtract(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, saturate(c - o), _Amount); + } + + // Divide + half4 frag_divide(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, c / o, _Amount); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Darken + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_darken + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Multiply + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_multiply + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (2) Color Burn + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_colorburn + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (3) Linear Burn + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linearburn + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (4) Darker Color + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_darkercolor + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // Separator + Pass {} + + // (6) Lighten + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_lighten + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (7) Screen + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_screen + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (8) Color Dodge + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_colordodge + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (9) Linear Dodge (add) + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_add + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (10) Lighter Color + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_lightercolor + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // Separator + Pass {} + + // (12) Overlay + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_overlay + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (13) Soft Light + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_softlight + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + + ENDCG + } + + // (14) Hard Light + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_hardlight + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (15) Vivid Light + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_vividlight + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (16) Linear Light + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linearlight + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (17) Pin Light + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_pinlight + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (18) Hard Mix + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_hardmix + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // Separator + Pass {} + + // (20) Difference + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_difference + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (21) Exclusion + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_exclusion + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (22) Subtract + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_subtract + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (23) Divide + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_divide + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Blend.shader.meta b/Assets/Colorful FX/Shaders/Blend.shader.meta new file mode 100644 index 0000000..831736b --- /dev/null +++ b/Assets/Colorful FX/Shaders/Blend.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 753c5a4449b3c184b85015dea8325051 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader b/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader new file mode 100644 index 0000000..2d54dbd --- /dev/null +++ b/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Brightness Contrast Gamma" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _BCG ("Brightness (X) Contrast (Y) Gamma (Z)", Vector) = (0.0, 1.0, 1.0, 1.0) + _Coeffs ("Contrast coeffs (RGB)", Vector) = (0.5, 0.5, 0.5, 1.0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _BCG; + half3 _Coeffs; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 factor = half4(_Coeffs, color.a); + + color *= _BCG.x; + color = (color - factor) * _BCG.y + factor; + color = clamp(color, 0.0, 1.0); + color = pow(color, _BCG.z); + + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader.meta b/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader.meta new file mode 100644 index 0000000..ba73629 --- /dev/null +++ b/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: c1ffdcaa7728ced4fa68c999e5e7f2de +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/ChannelClamper.shader b/Assets/Colorful FX/Shaders/ChannelClamper.shader new file mode 100644 index 0000000..248e99c --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelClamper.shader @@ -0,0 +1,48 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Channel Clamper" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _RedClamp ("Red Clamp (XY)", Vector) = (0.0, 1.0, 0.0, 0.0) + _GreenClamp ("Green Clamp (XY)", Vector) = (0.0, 1.0, 0.0, 0.0) + _BlueClamp ("Blue Clamp (XY)", Vector) = (0.0, 1.0, 0.0, 0.0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _RedClamp; + half2 _GreenClamp; + half2 _BlueClamp; + + half4 frag(v2f_img i) : SV_Target + { + half3 color = tex2D(_MainTex, i.uv).rgb; + color.r = clamp(color.r, _RedClamp.x, _RedClamp.y); + color.g = clamp(color.g, _GreenClamp.x, _GreenClamp.y); + color.b = clamp(color.b, _BlueClamp.x, _BlueClamp.y); + return half4(color, 1.0); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ChannelClamper.shader.meta b/Assets/Colorful FX/Shaders/ChannelClamper.shader.meta new file mode 100644 index 0000000..0ad855b --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelClamper.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a4066b90a1d8ac540b9994745a496312 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/ChannelMixer.shader b/Assets/Colorful FX/Shaders/ChannelMixer.shader new file mode 100644 index 0000000..79e4c4b --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelMixer.shader @@ -0,0 +1,53 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Channel Mixer" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Red ("Red Channel", Vector) = (1, 0, 0, 1) + _Green ("Green Channel", Vector) = (0, 1, 0, 1) + _Blue ("Blue Channel", Vector) = (0, 0, 1, 1) + _Constant ("Constant", Vector) = (0, 0, 0, 1) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _Red; + half4 _Green; + half4 _Blue; + half4 _Constant; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half3 result = (color.rrr * _Red) + + (color.ggg * _Green) + + (color.bbb * _Blue) + + _Constant; + + return half4(result, color.a); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ChannelMixer.shader.meta b/Assets/Colorful FX/Shaders/ChannelMixer.shader.meta new file mode 100644 index 0000000..bd3dd6c --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelMixer.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: d5203c49c0e949f4e9b53909003b6b8f +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/ChannelSwapper.shader b/Assets/Colorful FX/Shaders/ChannelSwapper.shader new file mode 100644 index 0000000..22ea5c7 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelSwapper.shader @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Channel Swapper" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Red ("Red Source Channel (RGB)", Vector) = (1, 0, 0, 0) + _Green ("Green Source Channel (RGB)", Vector) = (0, 1, 0, 0) + _Blue ("Blue Source Channel (RGB)", Vector) = (0, 0, 1, 0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _Red; + half4 _Green; + half4 _Blue; + + half4 frag(v2f_img i) : SV_Target + { + half3 color = tex2D(_MainTex, i.uv).rgb; + + half3 red = color * _Red.rgb; + half3 green = color * _Green.rgb; + half3 blue = color * _Blue.rgb; + + half3 result = half3( + red.x + red.y + red.z, + green.x + green.y + green.z, + blue.x + blue.y + blue.z + ); + + return half4(result, 1.0); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ChannelSwapper.shader.meta b/Assets/Colorful FX/Shaders/ChannelSwapper.shader.meta new file mode 100644 index 0000000..0c5cb89 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelSwapper.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 382b6d6c7bf6b3b49b364517c68bb0d2 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/ChromaticAberration.shader b/Assets/Colorful FX/Shaders/ChromaticAberration.shader new file mode 100644 index 0000000..6a77d7d --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChromaticAberration.shader @@ -0,0 +1,76 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Chromatic Aberration" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Refraction ("Refraction Index (RGB)", Vector) = (1.0, 1.005, 1.01, 0.0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half3 _Refraction; + + half3 compute(half2 uv) + { + half3 incidence = half3(2.0 * uv - 1.0, 1.0); + half3 normal = half3(0.0, 0.0, -1.0); + half3 refract_r = refract(incidence, normal, _Refraction.r); + half3 refract_g = refract(incidence, normal, _Refraction.g); + half3 refract_b = refract(incidence, normal, _Refraction.b); + half2 uv_r = ((refract_r / refract_r.z).xy + 1.0) / 2.0; + half2 uv_g = ((refract_g / refract_g.z).xy + 1.0) / 2.0; + half2 uv_b = ((refract_b / refract_b.z).xy + 1.0) / 2.0; + return half3(tex2D(_MainTex, uv_r).r, tex2D(_MainTex, uv_g).g, tex2D(_MainTex, uv_b).b); + } + + half4 frag(v2f_img i) : SV_Target + { + return half4(compute(i.uv), 1.0); + } + + half4 frag_alpha(v2f_img i) : SV_Target + { + return half4(compute(i.uv), tex2D(_MainTex, i.uv).a); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Preserve alpha = false + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Preserve alpha = true + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_alpha + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ChromaticAberration.shader.meta b/Assets/Colorful FX/Shaders/ChromaticAberration.shader.meta new file mode 100644 index 0000000..c770e06 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChromaticAberration.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 447e63f892fae1d49b961d2132c02b5a +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Colorful.cginc b/Assets/Colorful FX/Shaders/Colorful.cginc new file mode 100644 index 0000000..d6e73e0 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Colorful.cginc @@ -0,0 +1,177 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +/* Constants */ +#define PI 3.14159265 + +/* Maths */ +half luminance(half3 color) +{ + return dot(color, half3(0.222, 0.707, 0.071)); +} + +half3 mod(half3 x, half3 y) // OpenGL version, different from CG/HLSL's fmod +{ + return x - y * floor(x / y); +} + +half2 mod(half2 x, half2 y) +{ + return x - y * floor(x / y); +} + +half mod(half x, half y) +{ + return x - y * floor(x / y); +} + +half rot(half value, half low, half hi) +{ + return (value < low) ? value + hi : (value > hi) ? value - hi : value; +} + +half rot10(half value) +{ + return rot(value, 0.0, 1.0); +} + +float simpleNoise(half2 uv) +{ + return frac(sin(dot(uv, float2(12.9898, 78.233))) * 43758.5453); +} + +half invlerp(half from, half to, half value) +{ + return (value - from) / (to - from); +} + +/* Distortions */ +half4 pixelate(sampler2D tex, half2 uv, half scale, half ratio) +{ + half ds = 1.0 / scale; + half2 coord = half2(ds * ceil(uv.x / ds), (ds * ratio) * ceil(uv.y / ds / ratio)); + return half4(tex2D(tex, coord).xyzw); +} + +half4 pixelate(sampler2D tex, half2 uv, half2 scale) +{ + half2 ds = 1.0 / scale; + half2 coord = ds * ceil(uv / ds); + return half4(tex2D(tex, coord).xyzw); +} + +half2 barrelDistortion(half2 coord, half spherical, half barrel, half scale) +{ + // Inspired by SynthEyes lens distortion algorithm + // See http://www.ssontech.com/content/lensalg.htm + half2 h = coord.xy - half2(0.5, 0.5); + half r2 = dot(h, h); + half f = 1.0 + r2 * (spherical + barrel * sqrt(r2)); + return f * scale * h + 0.5; +} + +/* Color conversion */ +half3 HSVtoRGB(half3 c) +{ + half4 K = half4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + half3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); +} + +half3 RGBtoHSV(half3 c) +{ + half4 K = half4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + half4 p = lerp(half4(c.bg, K.wz), half4(c.gb, K.xy), step(c.b, c.g)); + half4 q = lerp(half4(p.xyw, c.r), half4(c.r, p.yzx), step(p.x, c.r)); + + half d = q.x - min(q.w, q.y); + half e = 1.0e-10; + return half3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} + +half RGBtoHUE(half3 c) +{ + half4 K = half4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + half4 p = lerp(half4(c.bg, K.wz), half4(c.gb, K.xy), step(c.b, c.g)); + half4 q = lerp(half4(p.xyw, c.r), half4(c.r, p.yzx), step(p.x, c.r)); + + half d = q.x - min(q.w, q.y); + return abs(q.z + (q.w - q.y) / (6.0 * d + 1.0e-10)); +} + +half3 HUEtoRGB(half h) +{ + half h6 = h * 6.0; + half r = abs(h6 - 3.0) - 1.0; + half g = 2.0 - abs(h6 - 2.0); + half b = 2.0 - abs(h6 - 4.0); + return saturate(half3(r, g, b)); +} + +half3 RGBtoHSL(half3 c) +{ + half3 hsv = RGBtoHSV(c); + half l = hsv.z - hsv.y * 0.5; + half s = hsv.y / (1.0 - abs(l * 2.0 - 1.0) + 1e-10); + return half3(hsv.x, s, l); +} + +half3 HSLtoRGB(half3 c) +{ + half3 rgb = HUEtoRGB(c.x); + half C = (1.0 - abs(2.0 * c.z - 1.0)) * c.y; + return (rgb - 0.5) * C + c.z; +} + +half3 RGBtoYUV(half3 c) +{ + half3 yuv; + yuv.x = dot(c, half3(0.299, 0.587, 0.114)); + yuv.y = dot(c, half3(-0.14713, -0.28886, 0.436)); + yuv.z = dot(c, half3(0.615, -0.51499, -0.10001)); + return yuv; +} + +half3 YUVtoRGB(half3 c) +{ + half3 rgb; + rgb.r = c.x + c.z * 1.13983; + rgb.g = c.x + dot(half2(-0.39465, -0.58060), c.yz); + rgb.b = c.x + c.y * 2.03211; + return rgb; +} + +half4 RGBtoCMYK(half3 c) +{ + half k = max(max(c.r, c.g), c.b); + return min(half4(c.rgb / k, k), 1.0); +} + +half3 CMYKtoRGB(half4 c) +{ + return c.rgb * c.a; +} + +/* + * sRGB <-> Linear from http://entropymine.com/imageworsener/srgbformula/ + * using a bit more precise values than the IEC 61966-2-1 standard + * see http://en.wikipedia.org/wiki/SRGB for more information + */ +half3 sRGB(half3 color) +{ + color = (color <= half3(0.0031308, 0.0031308, 0.0031308)) ? color * 12.9232102 : 1.055 * pow(color, 0.41666) - 0.055; + return color; +} + +half4 sRGB(half4 color) +{ + color.rgb = (color.rgb <= half3(0.0031308, 0.0031308, 0.0031308)) ? color.rgb * 12.9232102 : 1.055 * pow(color.rgb, 0.41666) - 0.055; + return color; +} + +half4 Linear(half4 color) +{ + color.rgb = (color.rgb <= half3(0.0404482, 0.0404482, 0.0404482)) ? color.rgb / 12.9232102 : pow((color.rgb + 0.055) * 0.9478672, 2.4); + return color; +} diff --git a/Assets/Colorful FX/Shaders/Colorful.cginc.meta b/Assets/Colorful FX/Shaders/Colorful.cginc.meta new file mode 100644 index 0000000..f6c88ba --- /dev/null +++ b/Assets/Colorful FX/Shaders/Colorful.cginc.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 3db28f87c4ae8cc48a6815cbd2dcef86 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/ContrastVignette.shader b/Assets/Colorful FX/Shaders/ContrastVignette.shader new file mode 100644 index 0000000..7a91590 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ContrastVignette.shader @@ -0,0 +1,51 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Contrast Vignette" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Sharpness (X) Darkness (Y) Contrast (Z) Edge (W)", Vector) = (0.1, 0.3, 0.25, 0.5) + _Coeffs ("Luminance coeffs (RGB)", Vector) = (0.5, 0.5, 0.5, 1.0) + _Center ("Center point (XY)", Vector) = (0.5, 0.5, 1.0, 1.0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _Params; + half3 _Coeffs; + half4 _Center; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half d = distance(i.uv, _Center.xy); + half multiplier = smoothstep(0.8, _Params.x * 0.799, d * (_Params.y + _Params.x)); + color.rgb = (color.rgb - _Coeffs) * max((1.0 - _Params.z * (multiplier - 1.0) - _Params.w), 1.0) + _Coeffs; + color.rgb *= multiplier; + + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ContrastVignette.shader.meta b/Assets/Colorful FX/Shaders/ContrastVignette.shader.meta new file mode 100644 index 0000000..f31c22b --- /dev/null +++ b/Assets/Colorful FX/Shaders/ContrastVignette.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 76dfe25966c72ac4e9fcea7968814159 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Convolution3x3.shader b/Assets/Colorful FX/Shaders/Convolution3x3.shader new file mode 100644 index 0000000..b2211df --- /dev/null +++ b/Assets/Colorful FX/Shaders/Convolution3x3.shader @@ -0,0 +1,83 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Convolution 3x3" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _PSize ("Pixel Size (XY)", Vector) = (1, 1, 0, 0) + _KernelT ("Kernel Top Row", Vector) = (0, 0, 0, 0) + _KernelM ("Kernel Middle Row", Vector) = (0, 0, 0, 0) + _KernelB ("Kernel Bottom Row", Vector) = (0, 0, 0, 0) + _Amount ("Amount", Range(0.0, 1.0)) = 1.0 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _PSize; + half4 _KernelT; + half4 _KernelM; + half4 _KernelB; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 origin; + half4 color = half4(0.0, 0.0, 0.0, 0.0); + half4 temp; + + // Top + temp = tex2D(_MainTex, i.uv + half2(-_PSize.x, -_PSize.y)); + color += temp * _KernelT.x; + + temp = tex2D(_MainTex, i.uv + half2(0.0, -_PSize.y)); + color += temp * _KernelT.y; + + temp = tex2D(_MainTex, i.uv + half2(_PSize.x, -_PSize.y)); + color += temp * _KernelT.z; + + // Middle + temp = tex2D(_MainTex, i.uv + half2(-_PSize.x, 0.0)); + color += temp * _KernelM.x; + + origin = tex2D(_MainTex, i.uv); + color += origin * _KernelM.y; + + temp = tex2D(_MainTex, i.uv + half2(_PSize.x, 0.0)); + color += temp * _KernelM.z; + + // Bottom + temp = tex2D(_MainTex, i.uv + half2(-_PSize.x, _PSize.y)); + color += temp * _KernelB.x; + + temp = tex2D(_MainTex, i.uv + half2(0.0, _PSize.y)); + color += temp * _KernelB.y; + + temp = tex2D(_MainTex, i.uv + half2(_PSize.x, _PSize.y)); + color += temp * _KernelB.z; + + return lerp(origin, color, _Amount); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Convolution3x3.shader.meta b/Assets/Colorful FX/Shaders/Convolution3x3.shader.meta new file mode 100644 index 0000000..4e9f57d --- /dev/null +++ b/Assets/Colorful FX/Shaders/Convolution3x3.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: bb1bf93f638bf2145a1a3aff22f7ebf8 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/CrossStitch.shader b/Assets/Colorful FX/Shaders/CrossStitch.shader new file mode 100644 index 0000000..304e11f --- /dev/null +++ b/Assets/Colorful FX/Shaders/CrossStitch.shader @@ -0,0 +1,117 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Cross Stitch" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _StitchSize ("Stitch Size (Int)", Float) = 8 + _Brightness ("Brightness (Float)", Float) = 1.5 + _Scale ("Scale (Float)", Float) = 1.0 + _Ratio ("Ratio (Float)", Float) = 1.0 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half _StitchSize; + half _Brightness; + half _Scale; + half _Ratio; + + half2 stitch(half2 uv) + { + half2 pixelUV = uv * _ScreenParams.xy; + half2 offset = floor(pixelUV); + offset.x = offset.x - offset.y; + offset.y = offset.x + offset.y * 2.0; + return fmod(offset, half2(_StitchSize, _StitchSize)); + } + + half4 frag(v2f_img i) : SV_Target + { + half2 reminder = stitch(i.uv); + half4 color = (reminder.x == 0 || reminder.y == 0) ? tex2D(_MainTex, i.uv) * _Brightness : half4(0.0, 0.0, 0.0, 1.0); + return color; + } + + half4 frag_invert(v2f_img i) : SV_Target + { + half2 reminder = stitch(i.uv); + half4 color = (reminder.x == 0 || reminder.y == 0) ? half4(0.0, 0.0, 0.0, 1.0) : tex2D(_MainTex, i.uv) * _Brightness; + return color; + } + + half4 frag_px(v2f_img i) : SV_Target + { + half2 reminder = stitch(i.uv); + half4 color = (reminder.x == 0 || reminder.y == 0) ? pixelate(_MainTex, i.uv, _Scale, _Ratio) * _Brightness : half4(0.0, 0.0, 0.0, 1.0); + return color; + } + + half4 frag_invert_px(v2f_img i) : SV_Target + { + half2 reminder = stitch(i.uv); + half4 color = (reminder.x == 0 || reminder.y == 0) ? half4(0.0, 0.0, 0.0, 1.0) : pixelate(_MainTex, i.uv, _Scale, _Ratio) * _Brightness; + return color; + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_invert + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_px + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_invert_px + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/CrossStitch.shader.meta b/Assets/Colorful FX/Shaders/CrossStitch.shader.meta new file mode 100644 index 0000000..774b0cc --- /dev/null +++ b/Assets/Colorful FX/Shaders/CrossStitch.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a964a19ae7fdffc4ea70dbf094568dc1 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/DirectionalBlur.shader b/Assets/Colorful FX/Shaders/DirectionalBlur.shader new file mode 100644 index 0000000..3357367 --- /dev/null +++ b/Assets/Colorful FX/Shaders/DirectionalBlur.shader @@ -0,0 +1,48 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/DirectionalBlur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Direction (XY) Samples (Z)", Vector) = (0, 0, 0, 0) + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + #include "UnityCG.cginc" + + sampler2D _MainTex; + half3 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half2 dir = _Params.xy; + half4 color = half4(0.0, 0.0, 0.0, 0.0); + + for (int k = -_Params.z; k < _Params.z; k++) + color += tex2D(_MainTex, i.uv - dir * k); + + return color / (_Params.z * 2.0); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/DirectionalBlur.shader.meta b/Assets/Colorful FX/Shaders/DirectionalBlur.shader.meta new file mode 100644 index 0000000..c8472eb --- /dev/null +++ b/Assets/Colorful FX/Shaders/DirectionalBlur.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 335958bbdc44f564894a29445833afae +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Dithering.shader b/Assets/Colorful FX/Shaders/Dithering.shader new file mode 100644 index 0000000..0a3ecb8 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Dithering.shader @@ -0,0 +1,192 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Dithering" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Pattern ("Dithering Pattern (A)", 2D) = "white" {} + _Params ("Luminance (RGB) Amount (A)", Vector) = (0.30, 0.59, 0.11, 1.0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + sampler2D _Pattern; + half4 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 dither = pow(tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa, 0.454545); + return lerp(color, step(dither, color), _Params.w); + } + + half4 frag_linear(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 dither = tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa; + return lerp(color, step(dither, color), _Params.w); + } + + half4 frag_bw(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half lum = dot(color.rgb, _Params.xyz); + half4 grey = half4(lum.xxx, color.a); + half4 dither = pow(tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa, 0.454545); + return lerp(color, step(dither, grey), _Params.w); + } + + half4 frag_linear_bw(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half lum = dot(color.rgb, _Params.xyz); + half4 grey = half4(lum.xxx, color.a); + half4 dither = tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa; + return lerp(color, step(dither, grey), _Params.w); + } + + half4 frag_orig(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 dither = pow(tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa, 0.454545); + return lerp(color, color + step(dither, color), _Params.w); + } + + half4 frag_linear_orig(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 dither = tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa; + return lerp(color, color + step(dither, color), _Params.w); + } + + half4 frag_bw_orig(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half lum = dot(color.rgb, _Params.xyz); + half4 grey = half4(lum.xxx, color.a); + half4 dither = pow(tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa, 0.454545); + return lerp(color, grey + step(dither, grey), _Params.w); + } + + half4 frag_linear_bw_orig(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half lum = dot(color.rgb, _Params.xyz); + half4 grey = half4(lum.xxx, color.a); + half4 dither = tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa; + return lerp(color, grey + step(dither, grey), _Params.w); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Gamma + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Linear + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (2) Gamma B&W + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_bw + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (3) Linear B&W + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear_bw + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (4) Gamma + original + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_orig + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (5) Linear + original + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear_orig + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (6) Gamma B&W + original + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_bw_orig + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (7) Linear B&W + original + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear_bw_orig + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Dithering.shader.meta b/Assets/Colorful FX/Shaders/Dithering.shader.meta new file mode 100644 index 0000000..767edda --- /dev/null +++ b/Assets/Colorful FX/Shaders/Dithering.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6eafe2a67b46d474095df68b1396a86e +ShaderImporter: + defaultTextures: + - _MainTex: {instanceID: 0} + - _Pattern: {fileID: 2800000, guid: b00839345fed0ae4ca256ab2142e13fa, type: 3} + userData: diff --git a/Assets/Colorful FX/Shaders/DoubleVision.shader b/Assets/Colorful FX/Shaders/DoubleVision.shader new file mode 100644 index 0000000..0cb82fe --- /dev/null +++ b/Assets/Colorful FX/Shaders/DoubleVision.shader @@ -0,0 +1,51 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Double Vision" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Displace ("Displace", Vector) = (0.7, 0.0, 0.0, 0.0) + _Amount ("Amount", Range(0.0, 1.0)) = 1.0 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Displace; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 c = tex2D(_MainTex, i.uv); + half4 n = c.rgba; + + n += tex2D(_MainTex, i.uv + half2(_Displace.x * 8.0, _Displace.y * 8.0)) * 0.5; + n += tex2D(_MainTex, i.uv + half2(_Displace.x * 16.0, _Displace.y * 16.0)) * 0.3; + n += tex2D(_MainTex, i.uv + half2(_Displace.x * 24.0, _Displace.y * 24.0)) * 0.2; + + n *= 0.5; + + return lerp(c, n, _Amount); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/DoubleVision.shader.meta b/Assets/Colorful FX/Shaders/DoubleVision.shader.meta new file mode 100644 index 0000000..75f3e0b --- /dev/null +++ b/Assets/Colorful FX/Shaders/DoubleVision.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 0094bbb9058b55a4bb1874ccd072b33e +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/DynamicLookup.shader b/Assets/Colorful FX/Shaders/DynamicLookup.shader new file mode 100644 index 0000000..bb414f0 --- /dev/null +++ b/Assets/Colorful FX/Shaders/DynamicLookup.shader @@ -0,0 +1,95 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/DynamicLookup" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _White ("White point (RGB)", Color) = (1, 1, 1, 0) + _Black ("Black point (RGB)", Color) = (0, 0, 0, 0) + _Red ("Red point (RGB)", Color) = (1, 0, 0, 0) + _Green ("Green point (RGB)", Color) = (0, 1, 0, 0) + _Blue ("Blue point (RGB)", Color) = (0, 0, 1, 0) + _Yellow ("Yellow point (RGB)", Color) = (1, 1, 0, 0) + _Magenta ("Magenta point (RGB)", Color) = (1, 0, 1, 0) + _Cyan ("Cyan point (RGB)", Color) = (0, 1, 1, 0) + _Amount ("Amount (Float)", Float) = 1 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half3 _White; + half3 _Black; + half3 _Red; + half3 _Green; + half3 _Blue; + half3 _Yellow; + half3 _Magenta; + half3 _Cyan; + half _Amount; + + half3 get_abcd(half4 color) + { + half3 ta = lerp(_Black, _Red, color.r); + half3 tb = lerp(_Green, _Yellow, color.r); + half3 tc = lerp(_Blue, _Magenta, color.r); + half3 td = lerp(_Cyan, _White, color.r); + half3 ab = lerp(ta, tb, color.g); + half3 cd = lerp(tc, td, color.g); + return lerp(ab, cd, color.b); + } + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half3 abcd = get_abcd(color); + return lerp(color, half4(abcd, 1.0), _Amount); + } + + half4 frag_linear(v2f_img i) : SV_Target + { + half4 color = sRGB(tex2D(_MainTex, i.uv)); + half3 abcd = get_abcd(color); + return Linear(lerp(color, half4(abcd, 1.0), _Amount)); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Gamma + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Linear + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/DynamicLookup.shader.meta b/Assets/Colorful FX/Shaders/DynamicLookup.shader.meta new file mode 100644 index 0000000..f53c2c1 --- /dev/null +++ b/Assets/Colorful FX/Shaders/DynamicLookup.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: ea36d91a0b99bd240ac1a3f17bac241b +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/FastVignette.shader b/Assets/Colorful FX/Shaders/FastVignette.shader new file mode 100644 index 0000000..002b258 --- /dev/null +++ b/Assets/Colorful FX/Shaders/FastVignette.shader @@ -0,0 +1,104 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Fast Vignette" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Center (XY) Sharpness (Z) Darkness (W)", Vector) = (0.5, 0.5, 0.1, 0.3) + _Color ("Vignette Color (RGB)", Color) = (0, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + half3 _Color; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half d = distance(i.uv, _Params.xy); + half multiplier = smoothstep(0.8, _Params.z * 0.799, d * (_Params.w + _Params.z)); + color.rgb *= multiplier; + + return color; + } + + half4 frag_desat(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half d = distance(i.uv, _Params.xy); + half multiplier = smoothstep(0.8, _Params.z * 0.799, d * (_Params.w + _Params.z)); + color.rgb *= multiplier; + + half lum = luminance(color.rgb); + half4 grayscale = half4(lum, lum, lum, color.a); + + return lerp(grayscale, color, multiplier); + } + + half4 frag_rgb(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half d = distance(i.uv, _Params.xy); + half multiplier = smoothstep(0.8, _Params.z * 0.799, d * (_Params.w + _Params.z)); + half3 c = lerp(_Color, color.rgb, multiplier); + + return half4(c, color.a); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Classic + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Desaturate + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_desat + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (2) Colored + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_rgb + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/FastVignette.shader.meta b/Assets/Colorful FX/Shaders/FastVignette.shader.meta new file mode 100644 index 0000000..460e639 --- /dev/null +++ b/Assets/Colorful FX/Shaders/FastVignette.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 1025d512948837641802921c41526fd1 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Frost.shader b/Assets/Colorful FX/Shaders/Frost.shader new file mode 100644 index 0000000..0cacd36 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Frost.shader @@ -0,0 +1,91 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Frost" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Scale ("Scale", Float) = 1.2 + _Sharpness ("Sharpness", Range(0, 1.0)) = 0.4 + _Darkness ("Darkness", Range(0, 2.0)) = 0.35 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half _Scale; + half _Sharpness; + half _Darkness; + + half4 frag(v2f_img i) : SV_Target + { + half2 uv = i.uv; + half4 color = tex2D(_MainTex, uv); + + float n = simpleNoise(uv); + + float dx = -0.005 + mod(n, 0.008); + float dy = -0.006 + mod(n, 0.01); + + half4 frosted = tex2D(_MainTex, uv + half2(dx, dy) * _Scale); + return frosted; + } + + half4 frag_vignette(v2f_img i) : SV_Target + { + half2 uv = i.uv; + half4 color = tex2D(_MainTex, uv); + + float n = simpleNoise(uv); + + float dx = -0.005 + mod(n, 0.008); + float dy = -0.006 + mod(n, 0.01); + + half4 frosted = tex2D(_MainTex, uv + half2(dx, dy) * _Scale); + + half4 vignette = half4(1.0, 1.0, 1.0, 1.0); + half d = distance(i.uv, half2(0.5, 0.5)); + vignette.rgb *= smoothstep(0.8, _Sharpness * 0.799, d * (_Darkness + _Sharpness)); + + return lerp(frosted, color, vignette); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_vignette + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Frost.shader.meta b/Assets/Colorful FX/Shaders/Frost.shader.meta new file mode 100644 index 0000000..e3730e8 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Frost.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: b4d2d40f74bc7724f9722f04d5f7113b +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/GaussianBlur.shader b/Assets/Colorful FX/Shaders/GaussianBlur.shader new file mode 100644 index 0000000..866c3d5 --- /dev/null +++ b/Assets/Colorful FX/Shaders/GaussianBlur.shader @@ -0,0 +1,68 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Gaussian Blur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Direction ("Direction (XY)", Vector) = (0, 0, 0, 0) + } + + CGINCLUDE + ENDCG + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Direction; + + struct fInput + { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float4 uv1 : TEXCOORD1; + float4 uv2 : TEXCOORD2; + }; + + fInput vert(appdata_img v) + { + fInput o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + float2 d1 = 1.3846153846 * _Direction; + float2 d2 = 3.2307692308 * _Direction; + o.uv1 = float4(o.uv + d1, o.uv - d1); + o.uv2 = float4(o.uv + d2, o.uv - d2); + return o; + } + + half4 frag(fInput i) : SV_Target + { + half4 oc = tex2D(_MainTex, i.uv); + half3 c = oc.rgb * 0.2270270270; + c += tex2D(_MainTex, i.uv1.xy).rgb * 0.3162162162; + c += tex2D(_MainTex, i.uv1.zw).rgb * 0.3162162162; + c += tex2D(_MainTex, i.uv2.xy).rgb * 0.0702702703; + c += tex2D(_MainTex, i.uv2.zw).rgb * 0.0702702703; + return half4(c, oc.a); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/GaussianBlur.shader.meta b/Assets/Colorful FX/Shaders/GaussianBlur.shader.meta new file mode 100644 index 0000000..7dc42f6 --- /dev/null +++ b/Assets/Colorful FX/Shaders/GaussianBlur.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: f64972907dbc92b41bc72d3f358eb642 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Glitch.cginc b/Assets/Colorful FX/Shaders/Glitch.cginc new file mode 100644 index 0000000..009b35a --- /dev/null +++ b/Assets/Colorful FX/Shaders/Glitch.cginc @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#include "UnityCG.cginc" +#include "./Colorful.cginc" + +sampler2D _MainTex; +half4 _Params; // x: speed, y: intensity, z: maxDisplace, w: yuv offset + +inline half rand(half2 seed) +{ + return frac(sin(dot(seed, half2(12.9898, 78.233))) * 43758.5453); +} + +inline half offset(half x, half levels) +{ + return floor(x * levels) / levels; +} + +inline half2 offset(half2 x, half levels) +{ + return floor(x * levels) / levels; +} + +half4 frag_tearing(v2f_img i) : SV_Target +{ + half time = mod(_Time.y * _Params.x, 32.0); + half change = rand(offset(i.uv.yy, 16.0) + 150.0 * offset(time, 4.0)); + + half t = 5.0 * offset(time, 16.0 * change); + half vt = 0.5 * rand(offset(i.uv.yy + t, 11.0)); + vt += 0.5 * rand(offset(i.uv.yy + t, 7.0)); + vt = vt * 2.0 - 1.0; + vt = sign(vt) * saturate((abs(vt) - (1.0 - _Params.y)) / _Params.y); + + half2 texcoords = i.uv; + texcoords = saturate(texcoords + half2(_Params.z * vt, 0.0)); + + #ifdef ALLOW_FLIPPING + half tt = offset(time, 8.0); + half rnd = rand(half2(tt, tt)); + texcoords.y = (rnd > lerp(1.0, 0.975, _Params.y)) ? 1.0 - texcoords.y : texcoords.y; + #endif + + half3 color = tex2D(_MainTex, texcoords).rgb; + + #ifdef YUV_COLOR_BLEEDING + half3 yuv = RGBtoYUV(color); + yuv.y /= 1.0 - 3.0 * abs(vt) * saturate(_Params.w - vt); + yuv.z += 0.125 * vt * saturate(vt - _Params.w); + return half4(YUVtoRGB(yuv), 1.0); + #else + return half4(color, 1.0); + #endif +} diff --git a/Assets/Colorful FX/Shaders/Glitch.cginc.meta b/Assets/Colorful FX/Shaders/Glitch.cginc.meta new file mode 100644 index 0000000..e67fb36 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Glitch.cginc.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 0d26c63326b42604882ec66428c4124d +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Glitch.shader b/Assets/Colorful FX/Shaders/Glitch.shader new file mode 100644 index 0000000..004f108 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Glitch.shader @@ -0,0 +1,119 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Glitch" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // Interference + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #pragma target 3.0 + + sampler2D _MainTex; + half3 _Params; // x: speed, y: density, z: maxDisplace + + inline half rand(half2 seed) + { + return frac(sin(dot(seed * floor(_Time.y * _Params.x), half2(127.1, 311.7))) * 43758.5453123); + } + + inline half rand(half seed) + { + return rand(half2(seed, 1.0)); + } + + half4 frag(v2f_img i) : SV_Target + { + half2 rblock = rand(floor(i.uv * _Params.y)); + half displaceNoise = pow(rblock.x, 8.0) * pow(rblock.x, 3.0) - pow(rand(7.2341), 17.0) * _Params.z; + + half r = tex2D(_MainTex, i.uv).r; + half g = tex2D(_MainTex, i.uv + half2(displaceNoise * 0.05 * rand(7.0), 0.0)).g; + half b = tex2D(_MainTex, i.uv - half2(displaceNoise * 0.05 * rand(13.0), 0.0)).b; + + return half4(r, g, b, 1.0); + } + + ENDCG + } + + // Tearing + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_tearing + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + #include "./Glitch.cginc" + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_tearing + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + #define ALLOW_FLIPPING + #include "./Glitch.cginc" + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_tearing + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + #define YUV_COLOR_BLEEDING + #include "./Glitch.cginc" + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_tearing + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + #define ALLOW_FLIPPING + #define YUV_COLOR_BLEEDING + #include "./Glitch.cginc" + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Glitch.shader.meta b/Assets/Colorful FX/Shaders/Glitch.shader.meta new file mode 100644 index 0000000..608da9d --- /dev/null +++ b/Assets/Colorful FX/Shaders/Glitch.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: aa077ae19c4093844b27e3a70f542644 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/GradientRamp.shader b/Assets/Colorful FX/Shaders/GradientRamp.shader new file mode 100644 index 0000000..a946187 --- /dev/null +++ b/Assets/Colorful FX/Shaders/GradientRamp.shader @@ -0,0 +1,46 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Gradient Ramp" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _RampTex ("Ramp (RGB)", 2D) = "white" {} + _Amount ("Amount", Range(0.0, 1.0)) = 1.0 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + sampler2D _RampTex; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half2 lum = luminance(color).rr; + half4 result = tex2D(_RampTex, lum); + return lerp(color, result, _Amount); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/GradientRamp.shader.meta b/Assets/Colorful FX/Shaders/GradientRamp.shader.meta new file mode 100644 index 0000000..38deeea --- /dev/null +++ b/Assets/Colorful FX/Shaders/GradientRamp.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: c291a5524ced7fb47af87992cd9faf81 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/GrainyBlur.shader b/Assets/Colorful FX/Shaders/GrainyBlur.shader new file mode 100644 index 0000000..b132705 --- /dev/null +++ b/Assets/Colorful FX/Shaders/GrainyBlur.shader @@ -0,0 +1,60 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/GrainyBlur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Radius (X) Samples (Y)", Vector) = (32, 16, 0, 0) + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Params; + + half rand(inout half r) + { + r = frac(3712.65 * r + 0.61432); + return (r - 0.5) * 2.0; + } + + half4 frag(v2f_img i) : SV_Target + { + half p = _Params.x / _ScreenParams.y; + half4 c = half4(0.0, 0.0, 0.0, 0.0); + half r = sin(dot(i.uv, half2(1233.224, 1743.335))); + half2 rv = half2(0.0, 0.0); + + for(int k = 0; k < int(_Params.y); k++) + { + rv.x = rand(r); + rv.y = rand(r); + c += tex2D(_MainTex, i.uv + rv * p); + } + + return c / _Params.y; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/GrainyBlur.shader.meta b/Assets/Colorful FX/Shaders/GrainyBlur.shader.meta new file mode 100644 index 0000000..248691a --- /dev/null +++ b/Assets/Colorful FX/Shaders/GrainyBlur.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 750ea95b557224d4e876b95f85697a97 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Grayscale.shader b/Assets/Colorful FX/Shaders/Grayscale.shader new file mode 100644 index 0000000..1f2cd28 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Grayscale.shader @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Grayscale" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Luminance (RGB) Amount (A)", Vector) = (0.30, 0.59, 0.11, 1.0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half lum = dot(color.rgb, _Params.rgb); + half4 result = half4(lum, lum, lum, color.a); + return lerp(color, result, _Params.a); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Grayscale.shader.meta b/Assets/Colorful FX/Shaders/Grayscale.shader.meta new file mode 100644 index 0000000..dcbc217 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Grayscale.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 1e730ad4434e6924dbb5c4fdd20a6f16 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Halftone.shader b/Assets/Colorful FX/Shaders/Halftone.shader new file mode 100644 index 0000000..5ab8e5c --- /dev/null +++ b/Assets/Colorful FX/Shaders/Halftone.shader @@ -0,0 +1,93 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Halftone" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Scale (X) DotSize (Y) Smoothness (Z)", Vector) = (12, 1.35, 0.08) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + half2 _Center; + half4x4 _MatRot; + + half4 halftone(half2 fc, half2x2 m) + { + half2 g = floor(mul(m, fc) / _Params.x) * _Params.x; + half2 smp = mul(g + 0.5 * _Params.x, m); + half s = min(length(fc - smp) / (_Params.y * 0.5 * _Params.x), 1.0); + half4 c = RGBtoCMYK(tex2D(_MainTex, (smp + _Center) / _ScreenParams.xy)); + return c + s; + } + + half3 compute(v2f_img i) + { + half2 coord = (i.uv * _ScreenParams.xy) - _Center; + + half4 cmyk = half4( + halftone(coord, half2x2(_MatRot[0])).x, // C + halftone(coord, half2x2(_MatRot[1])).y, // M + halftone(coord, half2x2(_MatRot[2])).z, // Y + halftone(coord, half2x2(_MatRot[3])).w // K + ); + + return CMYKtoRGB(smoothstep(0.8 - _Params.z, 0.8 + _Params.z, cmyk)); + } + + half4 frag(v2f_img i) : SV_Target + { + return half4(compute(i), 1.0); + } + + half4 frag_desaturate(v2f_img i) : SV_Target + { + half3 rgb = compute(i); + half lum = luminance(rgb); + return half4(lum, lum, lum, 1.0); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (1) Desaturate + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_desaturate + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Halftone.shader.meta b/Assets/Colorful FX/Shaders/Halftone.shader.meta new file mode 100644 index 0000000..f119374 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Halftone.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 496612e4443e0c74f82aad01c4d8e8c2 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/HueFocus.shader b/Assets/Colorful FX/Shaders/HueFocus.shader new file mode 100644 index 0000000..ecda597 --- /dev/null +++ b/Assets/Colorful FX/Shaders/HueFocus.shader @@ -0,0 +1,58 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Hue Focus" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Range ("Hue Range (X) Min (Y) Max", Vector) = (-0.16, 0.16, 0.0, 0.0) + _Params ("Hue (X) Boost (Y) Amount (Z)", Vector) = (0.0, 0.5, 1.0, 0.0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half2 _Range; + half3 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = saturate(tex2D(_MainTex, i.uv)); + + half3 target = color.rgb; + half lum = luminance(target); + half hue = RGBtoHUE(target); + + if (_Range.y > 1.0 && hue < _Range.y - 1.0) hue += 1.0; + if (_Range.x < 0.0 && hue > _Range.x + 1.0) hue -= 1.0; + + target = (hue < _Params.x) ? + lerp(lum.xxx, target, smoothstep(_Range.x, _Params.x, hue) * _Params.y) : + lerp(lum.xxx, target, (1.0 - smoothstep(_Params.x, _Range.y, hue)) * _Params.y); + + color.rgb = lerp(color.rgb, target, _Params.z); + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/HueFocus.shader.meta b/Assets/Colorful FX/Shaders/HueFocus.shader.meta new file mode 100644 index 0000000..b030c6a --- /dev/null +++ b/Assets/Colorful FX/Shaders/HueFocus.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 552900fac0d27b6448ec836d923d985b +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/HueSaturationValue.shader b/Assets/Colorful FX/Shaders/HueSaturationValue.shader new file mode 100644 index 0000000..f25fe0a --- /dev/null +++ b/Assets/Colorful FX/Shaders/HueSaturationValue.shader @@ -0,0 +1,128 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Hue Saturation Value" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Master ("Master (HSV)", Vector) = (0, 0, 0, 0) + _Reds ("Reds (HSV)", Vector) = (0, 0, 0, 0) + _Yellows ("Yellows (HSV)", Vector) = (0, 0, 0, 0) + _Greens ("Greens (HSV)", Vector) = (0, 0, 0, 0) + _Cyans ("Cyans (HSV)", Vector) = (0, 0, 0, 0) + _Blues ("Blues (HSV)", Vector) = (0, 0, 0, 0) + _Magentas ("Magentas (HSV)", Vector) = (0, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Master; + half4 _Reds; + half4 _Yellows; + half4 _Greens; + half4 _Cyans; + half4 _Blues; + half4 _Magentas; + + half4 frag_simple(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half3 hsv = RGBtoHSV(color.rgb); + hsv.x = rot10(hsv.x + _Master.x); + hsv.y = saturate(hsv.y + _Master.y); + hsv.z = saturate(hsv.z + _Master.z); + + return half4(HSVtoRGB(hsv), color.a); + } + + half4 frag_advanced(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + // Master + half3 hsv = RGBtoHSV(color.rgb); + hsv.x = rot10(hsv.x + _Master.x); + hsv.y = saturate(hsv.y + _Master.y); + hsv.z = saturate(hsv.z + _Master.z); + + half ts = 1.0 / 360.0; + half ts60 = ts * 60.0; + half4 c15_45_75_105 = half4(15.0, 45.0, 75.0, 105.0) * ts; + half4 c135_165_195_225 = half4(135.0, 165.0, 195.0, 225.0) * ts; + half4 c255_285_315_345 = half4(255.0, 285.0, 315.0, 345.0) * ts; + + half dr, dy, dg, dc, db, dm; + + // Reds + hsv.x = rot10(hsv + ts60); + dr = saturate(invlerp(c15_45_75_105.x, c15_45_75_105.y, hsv.x)) * (1.0 - saturate(invlerp(c15_45_75_105.z, c15_45_75_105.w, hsv.x))); + hsv.x = rot10(hsv - ts60); + + // Yellow + dy = saturate(invlerp(c15_45_75_105.x, c15_45_75_105.y, hsv.x)) * (1.0 - saturate(invlerp(c15_45_75_105.z, c15_45_75_105.w, hsv.x))); + + // Greens + dg = saturate(invlerp(c15_45_75_105.z, c15_45_75_105.w, hsv.x)) * (1.0 - saturate(invlerp(c135_165_195_225.x, c135_165_195_225.y, hsv.x))); + + // Cyans + dc = saturate(invlerp(c135_165_195_225.x, c135_165_195_225.y, hsv.x)) * (1.0 - saturate(invlerp(c135_165_195_225.z, c135_165_195_225.w, hsv.x))); + + // Blues + db = saturate(invlerp(c135_165_195_225.z, c135_165_195_225.w, hsv.x)) * (1.0 - saturate(invlerp(c255_285_315_345.x, c255_285_315_345.y, hsv.x))); + + // Magentas + dm = saturate(invlerp(c255_285_315_345.x, c255_285_315_345.y, hsv.x)) * (1.0 - saturate(invlerp(c255_285_315_345.z, c255_285_315_345.w, hsv.x))); + + hsv.x = rot10(hsv.x + dr * _Reds.x + dy * _Yellows.x + dg * _Greens.x + dc * _Cyans.x + db * _Blues.x + dm * _Magentas.x); + hsv.y = saturate(hsv.y + dr * _Reds.y + dy * _Yellows.y + dg * _Greens.y + dc * _Cyans.y + db * _Blues.y + dm * _Magentas.y); + hsv.z = saturate(hsv.z + dr * _Reds.z + dy * _Yellows.z + dg * _Greens.z + dc * _Cyans.z + db * _Blues.z + dm * _Magentas.z); + + return half4(HSVtoRGB(hsv), color.a); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Simple + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_simple + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + #pragma exclude_renderers flash + + ENDCG + } + + // (1) Advanced + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_advanced + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + #pragma exclude_renderers flash + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/HueSaturationValue.shader.meta b/Assets/Colorful FX/Shaders/HueSaturationValue.shader.meta new file mode 100644 index 0000000..2cdaa0a --- /dev/null +++ b/Assets/Colorful FX/Shaders/HueSaturationValue.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 0b332438591134c46ada56177c061e99 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Kuwahara.cginc b/Assets/Colorful FX/Shaders/Kuwahara.cginc new file mode 100644 index 0000000..0f118d5 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Kuwahara.cginc @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#ifndef RADIUS +#define RADIUS 3 +#endif + +#define H3Z half3(0.0, 0.0, 0.0) + +sampler2D _MainTex; +half2 _PSize; + +inline void loop(int j0, int j1, int i0, int i1, half2 uv, out half3 m, out half3 s) +{ + for (int j = j0; j <= j1; j++) + { + for (int i = i0; i <= i1; i++) + { + half3 c = tex2Dlod(_MainTex, half4(uv + half2(i, j) * _PSize, 0.0, 0.0)).rgb; + m += c; + s += c * c; + } + } +} + +half4 frag(v2f_img i) : SV_Target +{ + half3 m[4] = { H3Z, H3Z, H3Z, H3Z }; + half3 s[4] = { H3Z, H3Z, H3Z, H3Z }; + + loop(-RADIUS, 0, -RADIUS, 0, i.uv, m[0], s[0]); + loop(-RADIUS, 0, 0, RADIUS, i.uv, m[1], s[1]); + loop( 0, RADIUS, 0, RADIUS, i.uv, m[2], s[2]); + loop( 0, RADIUS, -RADIUS, 0, i.uv, m[3], s[3]); + + half n = half((RADIUS + 1) * (RADIUS + 1)); + half minSigma2 = 1e+2; + half3 color = H3Z; + + for (int k = 0; k < 4; k++) + { + m[k] /= n; + s[k] = abs(s[k] / n - m[k] * m[k]); + + half sigma2 = s[k].r + s[k].g + s[k].b; + + if (sigma2 < minSigma2) + { + minSigma2 = sigma2; + color = m[k]; + } + } + + return half4(color, 1.0); +} diff --git a/Assets/Colorful FX/Shaders/Kuwahara.cginc.meta b/Assets/Colorful FX/Shaders/Kuwahara.cginc.meta new file mode 100644 index 0000000..e06c39f --- /dev/null +++ b/Assets/Colorful FX/Shaders/Kuwahara.cginc.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 8c4bcbfc6f723f247813a4d1cb959cd2 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Kuwahara.shader b/Assets/Colorful FX/Shaders/Kuwahara.shader new file mode 100644 index 0000000..bceac05 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Kuwahara.shader @@ -0,0 +1,77 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Kuwahara" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _PSize ("Pixel Size (XY)", Vector) = (0,0,0,0) + } + + CGINCLUDE + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + #include "UnityCG.cginc" + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + #define RADIUS 1 + #include "./Kuwahara.cginc" + ENDCG + } + + Pass + { + CGPROGRAM + #define RADIUS 2 + #include "./Kuwahara.cginc" + ENDCG + } + + Pass + { + CGPROGRAM + #define RADIUS 3 + #include "./Kuwahara.cginc" + ENDCG + } + + Pass + { + CGPROGRAM + #define RADIUS 4 + #include "./Kuwahara.cginc" + ENDCG + } + + Pass + { + CGPROGRAM + #define RADIUS 5 + #include "./Kuwahara.cginc" + ENDCG + } + + Pass + { + CGPROGRAM + #define RADIUS 6 + #include "./Kuwahara.cginc" + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Kuwahara.shader.meta b/Assets/Colorful FX/Shaders/Kuwahara.shader.meta new file mode 100644 index 0000000..52433c4 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Kuwahara.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: be6f87201eefa9b4a81cb9d12d55f76b +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Led.shader b/Assets/Colorful FX/Shaders/Led.shader new file mode 100644 index 0000000..ce5284c --- /dev/null +++ b/Assets/Colorful FX/Shaders/Led.shader @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Led" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Scale (X) Ratio (Y) Brightness (Z) Shape (W)", Vector) = (80, 1, 1, 1.5) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = pixelate(_MainTex, i.uv, _Params.x, _Params.y) * _Params.z; + half2 coord = i.uv * half2(_Params.x, _Params.x / _Params.y); + half2 mv = abs(sin(coord * PI)) * _Params.w; + half s = mv.x * mv.y; + half c = step(s, 1.0); + color = ((1 - c) * color) + ((color * s) * c); + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Led.shader.meta b/Assets/Colorful FX/Shaders/Led.shader.meta new file mode 100644 index 0000000..3005bec --- /dev/null +++ b/Assets/Colorful FX/Shaders/Led.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 119bab05aa029d148a8ed3483cb1cd62 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/LensDistortionBlur.shader b/Assets/Colorful FX/Shaders/LensDistortionBlur.shader new file mode 100644 index 0000000..3730d40 --- /dev/null +++ b/Assets/Colorful FX/Shaders/LensDistortionBlur.shader @@ -0,0 +1,48 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/LensDistortionBlur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Samples (X) Distortion (Y) Cubic Distortion (Z) Scale (W)", Vector) = (0, 0, 0, 0) + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = half4(0.0, 0.0, 0.0, 0.0); + + for (int k = 0; k < _Params.x; k++) + color += tex2D(_MainTex, barrelDistortion(i.uv, k * _Params.y, k * _Params.z, _Params.w)); + + return color / _Params.x; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/LensDistortionBlur.shader.meta b/Assets/Colorful FX/Shaders/LensDistortionBlur.shader.meta new file mode 100644 index 0000000..b53e9d8 --- /dev/null +++ b/Assets/Colorful FX/Shaders/LensDistortionBlur.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 27362376390dd5b4a84e636ebeb50eb8 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Levels.shader b/Assets/Colorful FX/Shaders/Levels.shader new file mode 100644 index 0000000..9926319 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Levels.shader @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Levels" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _InputMin ("Input Black", Vector) = (0, 0, 0, 1) + _InputMax ("Input White", Vector) = (1, 1, 1, 1) + _InputGamma ("Input Gamma", Vector) = (1, 1, 1, 1) + _OutputMin ("Output Black", Vector) = (0, 0, 0, 1) + _OutputMax ("Output White", Vector) = (1, 1, 1, 1) + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _InputMin; + half4 _InputMax; + half4 _InputGamma; + half4 _OutputMin; + half4 _OutputMax; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + color = lerp(_OutputMin, _OutputMax, pow(min(max(color - _InputMin, half4(0.0, 0.0, 0.0, 0.0)) / (_InputMax - _InputMin), half4(1.0, 1.0, 1.0, 1.0)), 1.0 / _InputGamma)); + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Levels.shader.meta b/Assets/Colorful FX/Shaders/Levels.shader.meta new file mode 100644 index 0000000..f7eec7b --- /dev/null +++ b/Assets/Colorful FX/Shaders/Levels.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 3d484a9bd98669a4bae065117cfefa62 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/LookupFilter.shader b/Assets/Colorful FX/Shaders/LookupFilter.shader new file mode 100644 index 0000000..bfb5de7 --- /dev/null +++ b/Assets/Colorful FX/Shaders/LookupFilter.shader @@ -0,0 +1,100 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Lookup Filter" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _LookupTex ("Lookup (RGB)", 2D) = "white" {} + _Amount ("Amount (Float)", Range(0.0, 1.0)) = 1.0 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + sampler2D _LookupTex; + half _Amount; + + half4 LUT(half4 color) + { + half blue = color.b * 63.0; + + half2 quad1 = half2(0.0, 0.0); + quad1.y = floor(floor(blue) * 0.125); + quad1.x = floor(blue) - quad1.y * 8.0; + + half2 quad2 = half2(0.0, 0.0); + quad2.y = floor(ceil(blue) * 0.125); + quad2.x = ceil(blue) - quad2.y * 8.0; + + half c1 = 0.0009765625 + (0.123046875 * color.r); + half c2 = 0.0009765625 + (0.123046875 * color.g); + + half2 texPos1 = half2(0.0, 0.0); + texPos1.x = quad1.x * 0.125 + c1; + texPos1.y = -(quad1.y * 0.125 + c2); + + half2 texPos2 = half2(0.0, 0.0); + texPos2.x = quad2.x * 0.125 + c1; + texPos2.y = -(quad2.y * 0.125 + c2); + + half4 newColor = lerp(tex2D(_LookupTex, texPos1), + tex2D(_LookupTex, texPos2), + frac(blue)); + newColor.a = color.a; + return lerp(color, newColor, _Amount); + } + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + return LUT(saturate(color)); + } + + half4 frag_linear(v2f_img i) : SV_Target + { + half4 color = sRGB(tex2D(_MainTex, i.uv)); + return Linear(LUT(saturate(color))); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Gamma + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + + ENDCG + } + + // (1) Linear + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/LookupFilter.shader.meta b/Assets/Colorful FX/Shaders/LookupFilter.shader.meta new file mode 100644 index 0000000..3bf58f9 --- /dev/null +++ b/Assets/Colorful FX/Shaders/LookupFilter.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 37ae258c1f4d15140b45318637b0c532 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/LookupFilter3D.shader b/Assets/Colorful FX/Shaders/LookupFilter3D.shader new file mode 100644 index 0000000..580ee14 --- /dev/null +++ b/Assets/Colorful FX/Shaders/LookupFilter3D.shader @@ -0,0 +1,129 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Lookup Filter 3D" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _LookupTex ("Lookup (RGB 3D)", 3D) = "white" {} + _Amount ("Amount (Float)", Range(0.0, 1.0)) = 1.0 + _Params ("Scale (X) Offset (Y) Amount (Z) PixelSize (W)", Vector) = (0, 0, 1, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + sampler3D _LookupTex; + + half4 _Params; + + inline half4 lookup_gamma(half2 uv) + { + half4 c = saturate(tex2D(_MainTex, uv)); + half4 o = c; + o.rgb = tex3D(_LookupTex, c.rgb * _Params.x + _Params.y).rgb; + return lerp(c, o, _Params.z); + } + + inline half4 lookup_linear(half2 uv) + { + half4 c = saturate(tex2D(_MainTex, uv)); + half4 o = c; + o.rgb = sRGB(c.rgb); + o.rgb = tex3D(_LookupTex, o.rgb * _Params.x + _Params.y).rgb; + return lerp(c, Linear(o), _Params.z); + } + + inline half2 px(half2 uv) + { + half2 div = half2(_ScreenParams.x * _Params.w / _ScreenParams.y, _Params.w); + return floor(uv * div) / div; + } + + half4 frag(v2f_img i) : SV_Target + { + return lookup_gamma(i.uv); + } + + half4 frag_linear(v2f_img i) : SV_Target + { + return lookup_linear(i.uv); + } + + half4 frag_px(v2f_img i) : SV_Target + { + return lookup_gamma(px(i.uv)); + } + + half4 frag_linear_px(v2f_img i) : SV_Target + { + return lookup_linear(px(i.uv)); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Gamma + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (1) Linear + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (2) Gamma pixelized + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_px + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (3) Linear pixelized + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear_px + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/LookupFilter3D.shader.meta b/Assets/Colorful FX/Shaders/LookupFilter3D.shader.meta new file mode 100644 index 0000000..698be7f --- /dev/null +++ b/Assets/Colorful FX/Shaders/LookupFilter3D.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: c356d31be0868c94d8c3eb943516cb8a +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Negative.shader b/Assets/Colorful FX/Shaders/Negative.shader new file mode 100644 index 0000000..755ae64 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Negative.shader @@ -0,0 +1,69 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Negative" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Amount ("Amount (Float)", Range(0.0, 1.0)) = 1.0 + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 oc = tex2D(_MainTex, i.uv); + half4 nc = 1.0 - oc; + return lerp(oc, nc, _Amount); + } + + half4 frag_linear(v2f_img i) : SV_Target + { + half4 oc = tex2D(_MainTex, i.uv); + oc = pow(oc, 0.454545); + half4 nc = 1.0 - oc; + nc = pow(nc, 2.2); + return lerp(oc, nc, _Amount); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Gamma + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Linear + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Negative.shader.meta b/Assets/Colorful FX/Shaders/Negative.shader.meta new file mode 100644 index 0000000..fdceaf1 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Negative.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 4d5f7df60d1ccbe44b611aec3822b801 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Noise.shader b/Assets/Colorful FX/Shaders/Noise.shader new file mode 100644 index 0000000..89b660e --- /dev/null +++ b/Assets/Colorful FX/Shaders/Noise.shader @@ -0,0 +1,70 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Noise" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Seed (X) Strength (Y)", Vector) = (0, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half2 _Params; + + half4 frag_mono(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half n = simpleNoise(i.uv + _Params.x) * 2.0; + return lerp(color, color * n, _Params.y); + } + + half4 frag_colored(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half nr = simpleNoise(i.uv + _Params.x) * 2.0; + half ng = simpleNoise(i.uv + _Params.x * 0.5) * 2.0; + half nb = simpleNoise(i.uv + _Params.x * 0.25) * 2.0; + return lerp(color, color * half4(nr, ng, nb, 1.0), _Params.y); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Monochrome + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_mono + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Colored + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_colored + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Noise.shader.meta b/Assets/Colorful FX/Shaders/Noise.shader.meta new file mode 100644 index 0000000..bcddcdf --- /dev/null +++ b/Assets/Colorful FX/Shaders/Noise.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 89ef061699807394a9d296d8ada383cb +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/PhotoFilter.shader b/Assets/Colorful FX/Shaders/PhotoFilter.shader new file mode 100644 index 0000000..a465be3 --- /dev/null +++ b/Assets/Colorful FX/Shaders/PhotoFilter.shader @@ -0,0 +1,52 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Photo Filter" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _RGB ("Levels", Color) = (1, 0.5, 0.2) + _Density ("Density", Range(0.0, 1.0)) = 0.35 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _RGB; + half _Density; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half lum = luminance(color.rgb); + half4 filter = _RGB; + filter = lerp(0.0, filter, saturate(lum * 2.0)); + filter = lerp(filter, 1.0, saturate(lum - 0.5) * 2.0); + filter = lerp(color, filter, saturate(lum * _Density)); + filter.a = color.a; + + return filter; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/PhotoFilter.shader.meta b/Assets/Colorful FX/Shaders/PhotoFilter.shader.meta new file mode 100644 index 0000000..ec9b3fc --- /dev/null +++ b/Assets/Colorful FX/Shaders/PhotoFilter.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: d4cf7d0874af43d489d668369b513fd1 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/PixelMatrix.shader b/Assets/Colorful FX/Shaders/PixelMatrix.shader new file mode 100644 index 0000000..8e51f31 --- /dev/null +++ b/Assets/Colorful FX/Shaders/PixelMatrix.shader @@ -0,0 +1,84 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/PixelMatrix" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Size (X) Red Offset (Y) Green Offset (Z) Brightness (W)", Vector) = (9, 3, 3, 1.4) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 compute(v2f_img i) + { + half2 coord = i.uv * _ScreenParams.xy; + half2 p = floor(coord.xy / _Params.x) * _Params.x; + int2 offset = int2(mod(coord, _Params.x)); + + half3 pixel = tex2D(_MainTex, p / _ScreenParams.xy).rgb; + half3 color = half3(0.0, 0.0, 0.0); + + if (offset.x < _Params.y) + color.r = pixel.r; + else if (offset.x < _Params.z) + color.g = pixel.g; + else + color.b = pixel.b; + + return half4(color, offset.y); + } + + half4 frag(v2f_img i) : SV_Target + { + half4 c = compute(i); + return half4(c.rgb * _Params.w, 1.0); + } + + half4 frag_border(v2f_img i) : SV_Target + { + half4 c = compute(i); + c.rgb *= 1.0 - step(_Params.x - 1.0, c.w); + return half4(c.rgb * _Params.w, 1.0); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_border + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/PixelMatrix.shader.meta b/Assets/Colorful FX/Shaders/PixelMatrix.shader.meta new file mode 100644 index 0000000..89b7c83 --- /dev/null +++ b/Assets/Colorful FX/Shaders/PixelMatrix.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 58e2980581a9e9b45a6bf05fb06dab5d +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Pixelate.shader b/Assets/Colorful FX/Shaders/Pixelate.shader new file mode 100644 index 0000000..1b3ac2a --- /dev/null +++ b/Assets/Colorful FX/Shaders/Pixelate.shader @@ -0,0 +1,41 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Pixelate" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Scale (X) Ratio (Y)", Vector) = (80, 1, 0, 0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half2 _Params; + + half4 frag(v2f_img i) : SV_Target + { + return pixelate(_MainTex, i.uv, _Params.x, _Params.y); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Pixelate.shader.meta b/Assets/Colorful FX/Shaders/Pixelate.shader.meta new file mode 100644 index 0000000..4146889 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Pixelate.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 728ffb8a91a4a0a498b4795a6e1d78a1 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Posterize.shader b/Assets/Colorful FX/Shaders/Posterize.shader new file mode 100644 index 0000000..637e804 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Posterize.shader @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Posterize" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Levels (X) Amount (Y)", Vector) = (4, 1, 0, 0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 posterized = floor(color * _Params.x) / _Params.x; + return lerp(color, posterized, _Params.y); + } + + ENDCG + } + } + + FallBack off +} + diff --git a/Assets/Colorful FX/Shaders/Posterize.shader.meta b/Assets/Colorful FX/Shaders/Posterize.shader.meta new file mode 100644 index 0000000..bf26380 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Posterize.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 5675fc85342982e4aa19f32d906706e4 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/RGBSplit.shader b/Assets/Colorful FX/Shaders/RGBSplit.shader new file mode 100644 index 0000000..b113e82 --- /dev/null +++ b/Assets/Colorful FX/Shaders/RGBSplit.shader @@ -0,0 +1,49 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/RGB Split" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Amount (X) Angle Sin (Y) Angle Cos (Z)", Vector) = (0, 0, 0, 0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half3 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half2 coords = i.uv; + half d = distance(coords, half2(0.5, 0.5)); + half amount = _Params.x * d * 2; + half2 offset = amount * half2(_Params.z, _Params.y); + half cr = tex2D(_MainTex, coords + offset).r; + half2 cga = tex2D(_MainTex, coords).ga; + half cb = tex2D(_MainTex, coords - offset).b; + + // Stupid hack to make it work with d3d9 (CG compiler bug ?) + return half4(cr + 0.0000001, cga.x + 0.0000002, cb + 0.0000003, cga.y); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/RGBSplit.shader.meta b/Assets/Colorful FX/Shaders/RGBSplit.shader.meta new file mode 100644 index 0000000..9b2f373 --- /dev/null +++ b/Assets/Colorful FX/Shaders/RGBSplit.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 9d2e55392c5688b41a28c877a8c935c6 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/RadialBlur.shader b/Assets/Colorful FX/Shaders/RadialBlur.shader new file mode 100644 index 0000000..3f93e2d --- /dev/null +++ b/Assets/Colorful FX/Shaders/RadialBlur.shader @@ -0,0 +1,94 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Radial Blur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Center ("Center Point", Vector) = (0.5, 0.5, 0.0, 0.0) + _Params ("Strength (X) Samples (Y) Sharpness (Z) Darkness (W)", Vector) = (0.1, 10, 0.4, 0.35) + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Center; + half4 _Params; + + half4 blur(half2 uv, half samples, half amount) + { + half2 coord = uv - _Center; + half4 color = half4(0.0, 0.0, 0.0, 0.0); + half scale; + half factor = samples - 1; + + for (int i = 0; i < samples; i++) + { + scale = 1.0 + amount * (i / factor); + color += tex2D(_MainTex, coord * scale + _Center); + } + + color /= samples; + return color; + } + + half vignette(half2 uv) + { + half v = 1.0; + half d = distance(uv, _Center); + v *= smoothstep(0.8, _Params.z * 0.799, d * (_Params.w + _Params.z)); + return 1.0 - v; + } + + half4 frag(v2f_img i) : SV_Target + { + return blur(i.uv, _Params.y, _Params.x); + } + + half4 frag_vignette(v2f_img i) : SV_Target + { + return blur(i.uv, _Params.y, _Params.x * vignette(i.uv)); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) No vignette + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + + ENDCG + } + + // (1) Vignette + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_vignette + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/RadialBlur.shader.meta b/Assets/Colorful FX/Shaders/RadialBlur.shader.meta new file mode 100644 index 0000000..b359242 --- /dev/null +++ b/Assets/Colorful FX/Shaders/RadialBlur.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 93166fbefe89e6b45afb840b49fc59ae +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/SCurveContrast.shader b/Assets/Colorful FX/Shaders/SCurveContrast.shader new file mode 100644 index 0000000..29d8ff5 --- /dev/null +++ b/Assets/Colorful FX/Shaders/SCurveContrast.shader @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/SCurveContrast" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Red ("Steepness (X) Gamma (Y)", Vector) = (0, 0, 0, 0) + _Green ("Steepness (X) Gamma (Y)", Vector) = (0, 0, 0, 0) + _Blue ("Steepness (X) Gamma (Y)", Vector) = (0, 0, 0, 0) + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Red; + half2 _Green; + half2 _Blue; + + half curve(half o, half2 params) + { + half g = pow(2.0, params.x) * 0.5; + half c = (o < 0.5) ? pow(o, params.x) * g : 1.0 - pow(1.0 - o, params.x) * g; + return pow(c, params.y); + } + + half4 frag(v2f_img i) : SV_Target + { + half4 color = saturate(tex2D(_MainTex, i.uv)); + half r = curve(color.r, _Red); + half g = curve(color.g, _Green); + half b = curve(color.b, _Blue); + return half4(r, g, b, color.a); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/SCurveContrast.shader.meta b/Assets/Colorful FX/Shaders/SCurveContrast.shader.meta new file mode 100644 index 0000000..7f9049d --- /dev/null +++ b/Assets/Colorful FX/Shaders/SCurveContrast.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: bb3f4da25a5c9184697fb2b1c1ea8c68 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader b/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader new file mode 100644 index 0000000..b68e6bf --- /dev/null +++ b/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader @@ -0,0 +1,82 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Shadows Midtones Highlights" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Shadows ("Shadows (RGB)", Vector) = (1, 1, 1, 1) + _Midtones ("Midtones (RGB)", Vector) = (1, 1, 1, 1) + _Highlights ("Highlights (RGB)", Vector) = (1, 1, 1, 1) + _Amount ("Amount (Float)", Range(0, 1)) = 1 + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _Shadows; // Lift | Offset + half4 _Midtones; // Gamma + half4 _Highlights; // Gain | Slope + half _Amount; + + half4 frag_lgg(v2f_img i) : SV_Target + { + half3 oc = tex2D(_MainTex, i.uv).rgb; + half3 color = oc + (_Shadows.rgb * 0.5 - 0.5) * (1.0 - oc); + color = saturate(color); + color *= _Highlights.rgb; + color = pow(color, 1.0 / _Midtones.rgb); + color = saturate(color); + return half4(lerp(oc, color, _Amount), 1.0); + } + + half4 frag_cdl(v2f_img i) : SV_Target + { + half3 oc = tex2D(_MainTex, i.uv).rgb; + half3 color = oc * _Highlights.rgb; + color = saturate(color); + color = color + (_Shadows.rgb * 0.5 - 0.5); + color = saturate(color); + color = pow(color, 1.0 / _Midtones.rgb); + color = saturate(color); + return half4(lerp(oc, color, _Amount), 1.0); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) LGG + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_lgg + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) CDL + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_cdl + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader.meta b/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader.meta new file mode 100644 index 0000000..69f3d75 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: f1c2bf98023ec1d49a324ffb4746f895 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Sharpen.shader b/Assets/Colorful FX/Shaders/Sharpen.shader new file mode 100644 index 0000000..bb92010 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Sharpen.shader @@ -0,0 +1,86 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Sharpen" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Strength (X) Clamp (Y) Pixel Size (ZW)", Vector) = (0.60, 0.05, 1, 1) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 frag_typeA(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half2 p = _Params.zw; + half2 p_h = p * 0.5; + half4 blur = tex2D(_MainTex, i.uv + half2( p_h.x, -p.y)); + blur += tex2D(_MainTex, i.uv + half2( -p.x, -p_h.y)); + blur += tex2D(_MainTex, i.uv + half2( p.x, p_h.y)); + blur += tex2D(_MainTex, i.uv + half2(-p_h.x, p.y)); + blur *= 0.25; + + half4 lumaStrength = half4(0.222, 0.707, 0.071, 0.0) * _Params.x * 0.666; + half4 sharp = color - blur; + color += clamp(dot(sharp, lumaStrength), -_Params.y, _Params.y); + + return color; + } + + half4 frag_typeB(v2f_img i) : SV_Target + { + half2 p = _Params.zw; + half4 blur = tex2D( _MainTex, i.uv + half2(-p.x, -p.y) * 1.5); + blur += tex2D(_MainTex, i.uv + half2( p.x, -p.y) * 1.5); + blur += tex2D(_MainTex, i.uv + half2(-p.x, p.y) * 1.5); + blur += tex2D(_MainTex, i.uv + half2( p.x, p.y) * 1.5); + blur *= 0.25; + + half4 center = tex2D(_MainTex, i.uv); + return center + (center - blur) * _Params.x; + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Type A + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_typeA + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Type B + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_typeB + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Sharpen.shader.meta b/Assets/Colorful FX/Shaders/Sharpen.shader.meta new file mode 100644 index 0000000..6fc4f18 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Sharpen.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: b4f0a5d3f2f4d3d4e80600230efdfe68 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Strokes.shader b/Assets/Colorful FX/Shaders/Strokes.shader new file mode 100644 index 0000000..570e7d5 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Strokes.shader @@ -0,0 +1,195 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Strokes" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params1 ("Amplitude (X) Frequency (Y) Scaling (Z) Max Thickness (W)", Vector) = (0, 0, 0, 0) + _Params2 ("Red Luminance (X) Green Luminance (Y) Blue Luminance (Z)", Vector) = (0, 0, 0, 0) + _Params3 ("Threshold (X) Harshness (Y)", Vector) = (0, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params1; + half3 _Params2; + half2 _Params3; + + void get_stroke(half2 uv, out half4 color, out half stroke) + { + half2 screenUV = uv * _ScreenParams.xy; + half2 xy = screenUV / _ScreenParams.yy; + + half3 pattern[6] = { + half3(-0.707, 0.707, 3.0), + half3( 0.0, 1.0, 0.6), + half3( 0.0, 1.0, 0.5), + half3( 1.0, 0.0, 0.4), + half3( 1.0, 0.0, 0.3), + half3( 0.0, 1.0, 0.2) + }; + + color = tex2D(_MainTex, half2(screenUV.x / _ScreenParams.x, xy.y)); + stroke = 1.0; + + for(int i = 0; i < 6; i++) + { + half2 pt = half2( + xy.x * pattern[i].x - xy.y * pattern[i].y, + xy.x * pattern[i].y + xy.y * pattern[i].x + ); + + half thickness = _Params1.w * half(i + 1.0); + half dist = mod(pt.y + thickness * 0.5 - sin(pt.x * _Params1.y) * _Params1.x, _Params1.z); + half lum = dot(color.rgb, _Params2.xyz); + + if(dist < thickness && lum < _Params3.x - 0.12 * half(i)) + { + half k = pattern[i].z - _Params3.y; + half x = (thickness - dist) / thickness; + stroke = min(1.0 - 0.5 / k + abs((x - 0.5) / k), stroke); + } + } + } + + half4 frag_black_white(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + return half4(stroke.xxx, 1.0); + } + + half4 frag_white_black(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + stroke = 1.0 - stroke; + return half4(stroke.xxx, 1.0); + } + + half4 frag_color_white(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + half one_minus_stroke = 1.0 - stroke; + return half4(stroke.xxx, 1.0) + half4(one_minus_stroke.xxx, 1.0) * color; + } + + half4 frag_color_black(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + stroke = 1.0 - stroke; + return half4(stroke.xxx, 1.0) * color; + } + + half4 frag_white_color(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + half one_minus_stroke = 1.0 - stroke; + return half4(one_minus_stroke.xxx, 1.0) + half4(stroke.xxx, 1.0) * color; + } + + half4 frag_black_color(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + return half4(stroke.xxx, 1.0) * color; + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Black and white + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_black_white + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (1) White and black + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_white_black + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (2) Color and white + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_color_white + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (3) Color and black + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_color_black + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (4) White and color + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_white_color + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (5) Black and color + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_black_color + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Strokes.shader.meta b/Assets/Colorful FX/Shaders/Strokes.shader.meta new file mode 100644 index 0000000..ae36328 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Strokes.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: fcfe9bb61d41be54db37021f6228a5a2 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Technicolor.shader b/Assets/Colorful FX/Shaders/Technicolor.shader new file mode 100644 index 0000000..42bd20c --- /dev/null +++ b/Assets/Colorful FX/Shaders/Technicolor.shader @@ -0,0 +1,60 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Technicolor" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Exposure ("Exposure (Float)", Range(0.0, 8.0)) = 4.0 + _Balance ("Channel Balance (RGB)", Vector) = (0.75, 0.75, 0.75, 1.0) + _Amount ("Amount (Float)", Range(0.0, 1.0)) = 0.5 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half _Exposure; + half4 _Balance; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half3 color = tex2D(_MainTex, i.uv).rgb; + + half3 balance = 1.0 / (_Balance.rgb * _Exposure); + half2 rmul = color.rg * balance.r; + half2 gmul = color.rg * balance.g; + half2 bmul = color.rb * balance.b; + + half rneg = dot(half2(1.05, 0.62), rmul); + half gneg = dot(half2(0.30, 1.0), gmul); + half bneg = dot(half2(1.0, 1.05), bmul); + + half3 rout = rneg.rrr + half3(0.0, 1.3, 1.0); + half3 gout = gneg.rrr + half3(1.0, 0.0, 1.05); + half3 bout = bneg.rrr + half3(1.6, 1.6, 0.05); + + half3 result = rout * gout * bout; + return half4(lerp(color, result, _Amount), 1.0); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Technicolor.shader.meta b/Assets/Colorful FX/Shaders/Technicolor.shader.meta new file mode 100644 index 0000000..49188d9 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Technicolor.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 4c81e0318e9055a45a291da31fdd8edd +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Threshold.shader b/Assets/Colorful FX/Shaders/Threshold.shader new file mode 100644 index 0000000..bce8b5d --- /dev/null +++ b/Assets/Colorful FX/Shaders/Threshold.shader @@ -0,0 +1,71 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Threshold" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Threshold ("Threshold", Range(0.0, 1.0)) = 0.5 + _Range ("Noise Range", Range(0.0, 0.5)) = 0.2 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half _Threshold; + half _Range; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half s = step(luminance(color.rgb), _Threshold); + color = lerp(half4(1.0, 1.0, 1.0, 1.0), half4(0.0, 0.0, 0.0, 0.0), s); + return color; + } + + half4 frag_noise(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half r = frac(sin(dot(i.uv, half2(12.9898, 78.233))) * 43758.5453) * _Range - _Range / 2.0; + half s = step(luminance(color.rgb), _Threshold + r); + color = lerp(half4(1.0, 1.0, 1.0, 1.0), half4(0.0, 0.0, 0.0, 0.0), s); + return color; + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_noise + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Threshold.shader.meta b/Assets/Colorful FX/Shaders/Threshold.shader.meta new file mode 100644 index 0000000..b507e88 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Threshold.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 601d83f113eed6c4e9ee285c9f69b171 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Vibrance.shader b/Assets/Colorful FX/Shaders/Vibrance.shader new file mode 100644 index 0000000..9cf50cd --- /dev/null +++ b/Assets/Colorful FX/Shaders/Vibrance.shader @@ -0,0 +1,83 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Vibrance" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Amount ("Amount", Float) = 0 + _Channels ("Channels", Vector) = (1.0, 1.0, 1.0, 0.0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half _Amount; + half4 _Channels; + + half4 frag_simple(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half cMax = max(max(color.r, color.g), color.b); + half amount = (cMax - luminance(color.rgb)) * (-3.0 * _Amount); + color.rgb = lerp(color.rgb, half3(cMax, cMax, cMax), amount); + + return color; + } + + half4 frag_advanced(v2f_img i) : SV_Target + { + half4 oc = tex2D(_MainTex, i.uv); + half3 color = oc.rgb; + + half3 coeff = _Channels.rgb * _Amount; + half lum = luminance(color); + half sat = max(color.r, max(color.g, color.b)) - min(color.r, min(color.g, color.b)); + color = lerp(half3(lum, lum, lum), color, (1.0 + (coeff * (1.0 - (sign(coeff) * sat))))); + + return half4(color, oc.a); + } + + ENDCG + + SubShader + { + // (0) Simple + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_simple + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Advanced + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_advanced + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Vibrance.shader.meta b/Assets/Colorful FX/Shaders/Vibrance.shader.meta new file mode 100644 index 0000000..4444029 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Vibrance.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: bb0e827449f1caa4bbd6dd91a05d702b +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/WaveDistortion.shader b/Assets/Colorful FX/Shaders/WaveDistortion.shader new file mode 100644 index 0000000..c8df4dc --- /dev/null +++ b/Assets/Colorful FX/Shaders/WaveDistortion.shader @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Wave Distortion" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Amplitude (X) Waves (Y) ColorGlitch (Z) Phase (W)", Vector) = (0.6, 5, 0.35, 0.35) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + #pragma target 3.0 + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half invPhase = 1.0 - _Params.w; + + half2 o = i.uv * sin(_Params.w * _Params.x) - half2(0.5, 0.5); + half theta = acos(dot(o, half2(1.0, 0.0))) * _Params.y; + half disp = (exp(cos(theta)) - 2.0 * cos(4.0 * theta) + pow(sin((2.0 * theta - PI) / 24.0), 5.0)) / 10.0; + + half strDisp = _Params.w * disp; + half r = tex2D(_MainTex, i.uv + strDisp * (1.0 - _Params.z)).r; + half g = tex2D(_MainTex, i.uv + strDisp).g; + half b = tex2D(_MainTex, i.uv + strDisp * (1.0 + _Params.z)).b; + half4 srcColor = half4(r, g, b, 1.0); + half4 dstColor = tex2D(_MainTex, i.uv + invPhase * disp); + + return srcColor * invPhase + dstColor * _Params.w; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/WaveDistortion.shader.meta b/Assets/Colorful FX/Shaders/WaveDistortion.shader.meta new file mode 100644 index 0000000..e9711df --- /dev/null +++ b/Assets/Colorful FX/Shaders/WaveDistortion.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a43350e669209cb4098e9297891a1ffd +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/WhiteBalance.shader b/Assets/Colorful FX/Shaders/WhiteBalance.shader new file mode 100644 index 0000000..de4b50a --- /dev/null +++ b/Assets/Colorful FX/Shaders/WhiteBalance.shader @@ -0,0 +1,100 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/White Balance" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _White ("White Color (RGB)", Color) = (0.5, 0.5, 0.5, 1.0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _White; + + #define EPSILON 0.000001 + + half4 frag_simple(v2f_img i) : SV_Target + { + half3 color = tex2D(_MainTex, i.uv).rgb; + + half3x3 scale = half3x3( + 0.5 / (_White.r + EPSILON), 0, 0, + 0, 0.5 / (_White.g + EPSILON), 0, + 0, 0, 0.5 / (_White.b + EPSILON) + ); + + color = mul(scale, color); + return half4(saturate(color), 1.0); + } + + half4 frag_complex(v2f_img i) : SV_Target + { + half3 color = tex2D(_MainTex, i.uv).rgb; + + half3x3 RGBtoLMS = half3x3( + 0.3811,0.5783,0.0402, + 0.1967,0.7244,0.0782, + 0.0241,0.1288,0.8444 + ); + + half3x3 LMStoRGB = half3x3( + 4.4679, -3.5873, 0.1193, + -1.2186, 2.3809, -0.1624, + 0.0497, -0.2439, 1.2045 + ); + + half3 white = mul(RGBtoLMS, _White.rgb); + + half3x3 scale = half3x3( + 0.5 / (white.r + EPSILON), 0, 0, + 0, 0.5 / (white.g + EPSILON), 0, + 0, 0, 0.5 / (white.b + EPSILON) + ); + + half3 original = mul(RGBtoLMS, color); + half3 balanced = mul(scale, original); + color.rgb = mul(LMStoRGB, balanced); + + return half4(saturate(color), 1.0); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Simple + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_simple + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Complex + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_complex + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/WhiteBalance.shader.meta b/Assets/Colorful FX/Shaders/WhiteBalance.shader.meta new file mode 100644 index 0000000..4432986 --- /dev/null +++ b/Assets/Colorful FX/Shaders/WhiteBalance.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 36a3aa3217d66c645a4665ff1490cb28 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Colorful FX/Shaders/Wiggle.shader b/Assets/Colorful FX/Shaders/Wiggle.shader new file mode 100644 index 0000000..768708f --- /dev/null +++ b/Assets/Colorful FX/Shaders/Wiggle.shader @@ -0,0 +1,77 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Wiggle" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Timer ("Timer", Float) = 0.0 + _Scale ("Scale", Float) = 12.0 + _Params ("Frequency (X) Amplitude (Y) Timer (Z)", Vector) = (0, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half3 _Params; + + half4 frag_simple(v2f_img i) : SV_Target + { + half2 t = i.uv; + t.x += sin(_Params.z + t.x * _Params.x) * _Params.y; + t.y += cos(_Params.z + t.y * _Params.x) * _Params.y - _Params.y; + return tex2D(_MainTex, t); + } + + half2 shift(half2 uv) + { + half2 freq = _Params.x * (uv + _Params.z); + return cos(half2(cos(freq.x - freq.y) * cos(freq.y), sin(freq.x + freq.y) * sin(freq.y))); + } + + half4 frag_complex(v2f_img i) : SV_Target + { + half2 p = shift(i.uv); + half2 q = shift(i.uv + 1.0); + half2 t = i.uv + _Params.y * (p - q); + return tex2D(_MainTex, t); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Simple + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_simple + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Complex + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_complex + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Wiggle.shader.meta b/Assets/Colorful FX/Shaders/Wiggle.shader.meta new file mode 100644 index 0000000..e80cf7b --- /dev/null +++ b/Assets/Colorful FX/Shaders/Wiggle.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 22fe62a5d4de91a4995c1363cbc2492e +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Editor.meta b/Assets/Editor.meta new file mode 100644 index 0000000..f37ba4d --- /dev/null +++ b/Assets/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8f7308500f322e644817ccfc3e0a17a5 +folderAsset: yes +timeCreated: 1436977287 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/ImageEffects.meta b/Assets/Editor/ImageEffects.meta new file mode 100644 index 0000000..1dfb536 --- /dev/null +++ b/Assets/Editor/ImageEffects.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 225198e07aaae3547a6d1f6e7177555f +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/AntialiasingEditor.cs b/Assets/Editor/ImageEffects/AntialiasingEditor.cs new file mode 100644 index 0000000..795b9d8 --- /dev/null +++ b/Assets/Editor/ImageEffects/AntialiasingEditor.cs @@ -0,0 +1,75 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor(typeof (Antialiasing))] + public class AntialiasingEditor : Editor + { + private SerializedObject serObj; + + private SerializedProperty mode; + + private SerializedProperty showGeneratedNormals; + private SerializedProperty offsetScale; + private SerializedProperty blurRadius; + private SerializedProperty dlaaSharp; + + private SerializedProperty edgeThresholdMin; + private SerializedProperty edgeThreshold; + private SerializedProperty edgeSharpness; + + + private void OnEnable() + { + serObj = new SerializedObject(target); + + mode = serObj.FindProperty("mode"); + + showGeneratedNormals = serObj.FindProperty("showGeneratedNormals"); + offsetScale = serObj.FindProperty("offsetScale"); + blurRadius = serObj.FindProperty("blurRadius"); + dlaaSharp = serObj.FindProperty("dlaaSharp"); + + edgeThresholdMin = serObj.FindProperty("edgeThresholdMin"); + edgeThreshold = serObj.FindProperty("edgeThreshold"); + edgeSharpness = serObj.FindProperty("edgeSharpness"); + } + + + public override void OnInspectorGUI() + { + serObj.Update(); + + GUILayout.Label("Luminance based fullscreen antialiasing", EditorStyles.miniBoldLabel); + + EditorGUILayout.PropertyField(mode, new GUIContent("Technique")); + + Material mat = (target as Antialiasing).CurrentAAMaterial(); + if (null == mat && (target as Antialiasing).enabled) + { + EditorGUILayout.HelpBox("This AA technique is currently not supported. Choose a different technique or disable the effect and use MSAA instead.", MessageType.Warning); + } + + if (mode.enumValueIndex == (int) AAMode.NFAA) + { + EditorGUILayout.PropertyField(offsetScale, new GUIContent("Edge Detect Ofs")); + EditorGUILayout.PropertyField(blurRadius, new GUIContent("Blur Radius")); + EditorGUILayout.PropertyField(showGeneratedNormals, new GUIContent("Show Normals")); + } + else if (mode.enumValueIndex == (int) AAMode.DLAA) + { + EditorGUILayout.PropertyField(dlaaSharp, new GUIContent("Sharp")); + } + else if (mode.enumValueIndex == (int) AAMode.FXAA3Console) + { + EditorGUILayout.PropertyField(edgeThresholdMin, new GUIContent("Edge Min Threshhold")); + EditorGUILayout.PropertyField(edgeThreshold, new GUIContent("Edge Threshhold")); + EditorGUILayout.PropertyField(edgeSharpness, new GUIContent("Edge Sharpness")); + } + + serObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/AntialiasingEditor.cs.meta b/Assets/Editor/ImageEffects/AntialiasingEditor.cs.meta new file mode 100644 index 0000000..bbf3d2e --- /dev/null +++ b/Assets/Editor/ImageEffects/AntialiasingEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ba15fa37442517749a3c4640a4ad4054 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/BloomAndFlaresEditor.cs b/Assets/Editor/ImageEffects/BloomAndFlaresEditor.cs new file mode 100644 index 0000000..2966e5d --- /dev/null +++ b/Assets/Editor/ImageEffects/BloomAndFlaresEditor.cs @@ -0,0 +1,157 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor (typeof(BloomAndFlares))] + class BloomAndFlaresEditor : Editor + { + SerializedProperty tweakMode; + SerializedProperty screenBlendMode; + + SerializedObject serObj; + + SerializedProperty hdr; + SerializedProperty sepBlurSpread; + SerializedProperty useSrcAlphaAsMask; + + SerializedProperty bloomIntensity; + SerializedProperty bloomthreshold; + SerializedProperty bloomBlurIterations; + + SerializedProperty lensflares; + + SerializedProperty hollywoodFlareBlurIterations; + + SerializedProperty lensflareMode; + SerializedProperty hollyStretchWidth; + SerializedProperty lensflareIntensity; + SerializedProperty lensflarethreshold; + SerializedProperty flareColorA; + SerializedProperty flareColorB; + SerializedProperty flareColorC; + SerializedProperty flareColorD; + + SerializedProperty lensFlareVignetteMask; + + void OnEnable () { + serObj = new SerializedObject (target); + + screenBlendMode = serObj.FindProperty("screenBlendMode"); + hdr = serObj.FindProperty("hdr"); + + sepBlurSpread = serObj.FindProperty("sepBlurSpread"); + useSrcAlphaAsMask = serObj.FindProperty("useSrcAlphaAsMask"); + + bloomIntensity = serObj.FindProperty("bloomIntensity"); + bloomthreshold = serObj.FindProperty("bloomThreshold"); + bloomBlurIterations = serObj.FindProperty("bloomBlurIterations"); + + lensflares = serObj.FindProperty("lensflares"); + + lensflareMode = serObj.FindProperty("lensflareMode"); + hollywoodFlareBlurIterations = serObj.FindProperty("hollywoodFlareBlurIterations"); + hollyStretchWidth = serObj.FindProperty("hollyStretchWidth"); + lensflareIntensity = serObj.FindProperty("lensflareIntensity"); + lensflarethreshold = serObj.FindProperty("lensflareThreshold"); + flareColorA = serObj.FindProperty("flareColorA"); + flareColorB = serObj.FindProperty("flareColorB"); + flareColorC = serObj.FindProperty("flareColorC"); + flareColorD = serObj.FindProperty("flareColorD"); + lensFlareVignetteMask = serObj.FindProperty("lensFlareVignetteMask"); + + tweakMode = serObj.FindProperty("tweakMode"); + } + + + public override void OnInspectorGUI () { + serObj.Update(); + + GUILayout.Label("HDR " + (hdr.enumValueIndex == 0 ? "auto detected, " : (hdr.enumValueIndex == 1 ? "forced on, " : "disabled, ")) + (useSrcAlphaAsMask.floatValue < 0.1f ? " ignoring alpha channel glow information" : " using alpha channel glow information"), EditorStyles.miniBoldLabel); + + EditorGUILayout.PropertyField (tweakMode, new GUIContent("Tweak mode")); + EditorGUILayout.PropertyField (screenBlendMode, new GUIContent("Blend mode")); + EditorGUILayout.PropertyField (hdr, new GUIContent("HDR")); + + // display info text when screen blend mode cannot be used + Camera cam = (target as BloomAndFlares).GetComponent(); + if (cam != null) { + if (screenBlendMode.enumValueIndex==0 && ((cam.hdr && hdr.enumValueIndex==0) || (hdr.enumValueIndex==1))) { + EditorGUILayout.HelpBox("Screen blend is not supported in HDR. Using 'Add' instead.", MessageType.Info); + } + } + + if (1 == tweakMode.intValue) + EditorGUILayout.PropertyField (lensflares, new GUIContent("Cast lens flares")); + + EditorGUILayout.Separator (); + + EditorGUILayout.PropertyField (bloomIntensity, new GUIContent("Intensity")); + bloomthreshold.floatValue = EditorGUILayout.Slider ("threshold", bloomthreshold.floatValue, -0.05f, 4.0f); + bloomBlurIterations.intValue = EditorGUILayout.IntSlider ("Blur iterations", bloomBlurIterations.intValue, 1, 4); + sepBlurSpread.floatValue = EditorGUILayout.Slider ("Blur spread", sepBlurSpread.floatValue, 0.1f, 10.0f); + + if (1 == tweakMode.intValue) + useSrcAlphaAsMask.floatValue = EditorGUILayout.Slider (new GUIContent("Use alpha mask", "Make alpha channel define glowiness"), useSrcAlphaAsMask.floatValue, 0.0f, 1.0f); + else + useSrcAlphaAsMask.floatValue = 0.0f; + + if (1 == tweakMode.intValue) { + EditorGUILayout.Separator (); + + if (lensflares.boolValue) { + + // further lens flare tweakings + if (0 != tweakMode.intValue) + EditorGUILayout.PropertyField (lensflareMode, new GUIContent("Lens flare mode")); + else + lensflareMode.enumValueIndex = 0; + + EditorGUILayout.PropertyField(lensFlareVignetteMask, new GUIContent("Lens flare mask", "This mask is needed to prevent lens flare artifacts")); + + EditorGUILayout.PropertyField (lensflareIntensity, new GUIContent("Local intensity")); + lensflarethreshold.floatValue = EditorGUILayout.Slider ("Local threshold", lensflarethreshold.floatValue, 0.0f, 1.0f); + + if (lensflareMode.intValue == 0) { + // ghosting + EditorGUILayout.BeginHorizontal (); + EditorGUILayout.PropertyField (flareColorA, new GUIContent("1st Color")); + EditorGUILayout.PropertyField (flareColorB, new GUIContent("2nd Color")); + EditorGUILayout.EndHorizontal (); + + EditorGUILayout.BeginHorizontal (); + EditorGUILayout.PropertyField (flareColorC, new GUIContent("3rd Color")); + EditorGUILayout.PropertyField (flareColorD, new GUIContent("4th Color")); + EditorGUILayout.EndHorizontal (); + } + else if (lensflareMode.intValue == 1) { + // hollywood + EditorGUILayout.PropertyField (hollyStretchWidth, new GUIContent("Stretch width")); + hollywoodFlareBlurIterations.intValue = EditorGUILayout.IntSlider ("Blur iterations", hollywoodFlareBlurIterations.intValue, 1, 4); + + EditorGUILayout.PropertyField (flareColorA, new GUIContent("Tint Color")); + } + else if (lensflareMode.intValue == 2) { + // both + EditorGUILayout.PropertyField (hollyStretchWidth, new GUIContent("Stretch width")); + hollywoodFlareBlurIterations.intValue = EditorGUILayout.IntSlider ("Blur iterations", hollywoodFlareBlurIterations.intValue, 1, 4); + + EditorGUILayout.BeginHorizontal (); + EditorGUILayout.PropertyField (flareColorA, new GUIContent("1st Color")); + EditorGUILayout.PropertyField (flareColorB, new GUIContent("2nd Color")); + EditorGUILayout.EndHorizontal (); + + EditorGUILayout.BeginHorizontal (); + EditorGUILayout.PropertyField (flareColorC, new GUIContent("3rd Color")); + EditorGUILayout.PropertyField (flareColorD, new GUIContent("4th Color")); + EditorGUILayout.EndHorizontal (); + } + } + } else + lensflares.boolValue = false; // disable lens flares in simple tweak mode + + serObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/BloomAndFlaresEditor.cs.meta b/Assets/Editor/ImageEffects/BloomAndFlaresEditor.cs.meta new file mode 100644 index 0000000..a4f4e00 --- /dev/null +++ b/Assets/Editor/ImageEffects/BloomAndFlaresEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4deca87cb459d1642ac8f734856ca84e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/BloomEditor.cs b/Assets/Editor/ImageEffects/BloomEditor.cs new file mode 100644 index 0000000..6957591 --- /dev/null +++ b/Assets/Editor/ImageEffects/BloomEditor.cs @@ -0,0 +1,162 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor (typeof(Bloom))] + class BloomEditor : Editor + { + SerializedProperty tweakMode; + SerializedProperty screenBlendMode; + + SerializedObject serObj; + + SerializedProperty hdr; + SerializedProperty quality; + SerializedProperty sepBlurSpread; + + SerializedProperty bloomIntensity; + SerializedProperty bloomThresholdColor; + SerializedProperty bloomThreshold; + SerializedProperty bloomBlurIterations; + + SerializedProperty hollywoodFlareBlurIterations; + + SerializedProperty lensflareMode; + SerializedProperty hollyStretchWidth; + SerializedProperty lensflareIntensity; + SerializedProperty flareRotation; + SerializedProperty lensFlareSaturation; + SerializedProperty lensflareThreshold; + SerializedProperty flareColorA; + SerializedProperty flareColorB; + SerializedProperty flareColorC; + SerializedProperty flareColorD; + + SerializedProperty lensFlareVignetteMask; + + void OnEnable () { + serObj = new SerializedObject (target); + + screenBlendMode = serObj.FindProperty("screenBlendMode"); + hdr = serObj.FindProperty("hdr"); + quality = serObj.FindProperty("quality"); + + sepBlurSpread = serObj.FindProperty("sepBlurSpread"); + + bloomIntensity = serObj.FindProperty("bloomIntensity"); + bloomThreshold = serObj.FindProperty("bloomThreshold"); + bloomThresholdColor = serObj.FindProperty("bloomThresholdColor"); + bloomBlurIterations = serObj.FindProperty("bloomBlurIterations"); + + lensflareMode = serObj.FindProperty("lensflareMode"); + hollywoodFlareBlurIterations = serObj.FindProperty("hollywoodFlareBlurIterations"); + hollyStretchWidth = serObj.FindProperty("hollyStretchWidth"); + lensflareIntensity = serObj.FindProperty("lensflareIntensity"); + lensflareThreshold = serObj.FindProperty("lensflareThreshold"); + lensFlareSaturation = serObj.FindProperty("lensFlareSaturation"); + flareRotation = serObj.FindProperty("flareRotation"); + flareColorA = serObj.FindProperty("flareColorA"); + flareColorB = serObj.FindProperty("flareColorB"); + flareColorC = serObj.FindProperty("flareColorC"); + flareColorD = serObj.FindProperty("flareColorD"); + lensFlareVignetteMask = serObj.FindProperty("lensFlareVignetteMask"); + + tweakMode = serObj.FindProperty("tweakMode"); + } + + + public override void OnInspectorGUI () { + serObj.Update(); + + EditorGUILayout.LabelField("Glow and Lens Flares for bright screen pixels", EditorStyles.miniLabel); + + EditorGUILayout.PropertyField (quality, new GUIContent("Quality", "High quality preserves high frequencies with bigger blurs and uses a better blending and down-/upsampling")); + + EditorGUILayout.Separator (); + + EditorGUILayout.PropertyField (tweakMode, new GUIContent("Mode")); + EditorGUILayout.PropertyField (screenBlendMode, new GUIContent("Blend")); + EditorGUILayout.PropertyField (hdr, new GUIContent("HDR")); + + EditorGUILayout.Separator (); + + // display info text when screen blend mode cannot be used + Camera cam = (target as Bloom).GetComponent(); + if (cam != null) { + if (screenBlendMode.enumValueIndex==0 && ((cam.hdr && hdr.enumValueIndex==0) || (hdr.enumValueIndex==1))) { + EditorGUILayout.HelpBox("Screen blend is not supported in HDR. Using 'Add' instead.", MessageType.Info); + } + } + + EditorGUILayout.PropertyField (bloomIntensity, new GUIContent("Intensity")); + bloomThreshold.floatValue = EditorGUILayout.Slider ("Threshold", bloomThreshold.floatValue, -0.05f, 4.0f); + if (1 == tweakMode.intValue) { + EditorGUILayout.PropertyField(bloomThresholdColor, new GUIContent(" RGB Threshold")); + } + EditorGUILayout.Separator (); + + bloomBlurIterations.intValue = EditorGUILayout.IntSlider ("Blur Iterations", bloomBlurIterations.intValue, 1, 4); + sepBlurSpread.floatValue = EditorGUILayout.Slider (" Sample Distance", sepBlurSpread.floatValue, 0.1f, 10.0f); + EditorGUILayout.Separator (); + + if (1 == tweakMode.intValue) { + // further lens flare tweakings + if (0 != tweakMode.intValue) + EditorGUILayout.PropertyField (lensflareMode, new GUIContent("Lens Flares")); + else + lensflareMode.enumValueIndex = 0; + + EditorGUILayout.PropertyField (lensflareIntensity, new GUIContent(" Local Intensity", "0 disables lens flares entirely (optimization)")); + lensflareThreshold.floatValue = EditorGUILayout.Slider ("Threshold", lensflareThreshold.floatValue, 0.0f, 4.0f); + + if (Mathf.Abs(lensflareIntensity.floatValue) > Mathf.Epsilon) { + if (lensflareMode.intValue == 0) { + // ghosting + EditorGUILayout.BeginHorizontal (); + EditorGUILayout.PropertyField (flareColorA, new GUIContent(" 1st Color")); + EditorGUILayout.PropertyField (flareColorB, new GUIContent(" 2nd Color")); + EditorGUILayout.EndHorizontal (); + + EditorGUILayout.BeginHorizontal (); + EditorGUILayout.PropertyField (flareColorC, new GUIContent(" 3rd Color")); + EditorGUILayout.PropertyField (flareColorD, new GUIContent(" 4th Color")); + EditorGUILayout.EndHorizontal (); + } + else if (lensflareMode.intValue == 1) { + // hollywood + EditorGUILayout.PropertyField (hollyStretchWidth, new GUIContent(" Stretch width")); + EditorGUILayout.PropertyField (flareRotation, new GUIContent( " Rotation")); + hollywoodFlareBlurIterations.intValue = EditorGUILayout.IntSlider (" Blur Iterations", hollywoodFlareBlurIterations.intValue, 1, 4); + + EditorGUILayout.PropertyField (lensFlareSaturation, new GUIContent(" Saturation")); + EditorGUILayout.PropertyField (flareColorA, new GUIContent(" Tint Color")); + } + else if (lensflareMode.intValue == 2) { + // both + EditorGUILayout.PropertyField (hollyStretchWidth, new GUIContent(" Stretch width")); + hollywoodFlareBlurIterations.intValue = EditorGUILayout.IntSlider (" Blur Iterations", hollywoodFlareBlurIterations.intValue, 1, 4); + + EditorGUILayout.PropertyField (lensFlareSaturation, new GUIContent(" Saturation")); + + EditorGUILayout.BeginHorizontal (); + EditorGUILayout.PropertyField (flareColorA, new GUIContent(" 1st Color")); + EditorGUILayout.PropertyField (flareColorB, new GUIContent(" 2nd Color")); + EditorGUILayout.EndHorizontal (); + + EditorGUILayout.BeginHorizontal (); + EditorGUILayout.PropertyField (flareColorC, new GUIContent(" 3rd Color")); + EditorGUILayout.PropertyField (flareColorD, new GUIContent(" 4th Color")); + EditorGUILayout.EndHorizontal (); + } + + EditorGUILayout.PropertyField(lensFlareVignetteMask, new GUIContent(" Mask", "This mask is needed to prevent lens flare artifacts")); + + } + } + + serObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/BloomEditor.cs.meta b/Assets/Editor/ImageEffects/BloomEditor.cs.meta new file mode 100644 index 0000000..ad4d3b3 --- /dev/null +++ b/Assets/Editor/ImageEffects/BloomEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 43fcc28c40e404d4eabfc88b1dbda7b5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/CameraMotionBlurEditor.cs b/Assets/Editor/ImageEffects/CameraMotionBlurEditor.cs new file mode 100644 index 0000000..bc1f5ff --- /dev/null +++ b/Assets/Editor/ImageEffects/CameraMotionBlurEditor.cs @@ -0,0 +1,99 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor (typeof(CameraMotionBlur))] + class CameraMotionBlurEditor : Editor + { + SerializedObject serObj; + + SerializedProperty filterType; + SerializedProperty preview; + SerializedProperty previewScale; + SerializedProperty movementScale; + SerializedProperty jitter; + SerializedProperty rotationScale; + SerializedProperty maxVelocity; + SerializedProperty minVelocity; + SerializedProperty velocityScale; + SerializedProperty velocityDownsample; + SerializedProperty noiseTexture; + SerializedProperty showVelocity; + SerializedProperty showVelocityScale; + SerializedProperty excludeLayers; + + void OnEnable () { + serObj = new SerializedObject (target); + + filterType = serObj.FindProperty ("filterType"); + + preview = serObj.FindProperty ("preview"); + previewScale = serObj.FindProperty ("previewScale"); + + movementScale = serObj.FindProperty ("movementScale"); + rotationScale = serObj.FindProperty ("rotationScale"); + + maxVelocity = serObj.FindProperty ("maxVelocity"); + minVelocity = serObj.FindProperty ("minVelocity"); + + jitter = serObj.FindProperty ("jitter"); + + excludeLayers = serObj.FindProperty ("excludeLayers"); + + velocityScale = serObj.FindProperty ("velocityScale"); + velocityDownsample = serObj.FindProperty ("velocityDownsample"); + + noiseTexture = serObj.FindProperty ("noiseTexture"); + } + + + public override void OnInspectorGUI () { + serObj.Update (); + + EditorGUILayout.LabelField("Simulates camera based motion blur", EditorStyles.miniLabel); + + EditorGUILayout.PropertyField (filterType, new GUIContent("Technique")); + if (filterType.enumValueIndex == 3 && !(target as CameraMotionBlur).Dx11Support()) { + EditorGUILayout.HelpBox("DX11 mode not supported (need shader model 5)", MessageType.Info); + } + EditorGUILayout.PropertyField (velocityScale, new GUIContent(" Velocity Scale")); + if (filterType.enumValueIndex >= 2) { + EditorGUILayout.LabelField(" Tile size used during reconstruction filter:", EditorStyles.miniLabel); + EditorGUILayout.Slider(maxVelocity, 2.0f, 10.0f, new GUIContent(" Velocity Max")); + } + else + EditorGUILayout.Slider (maxVelocity, 2.0f, 10.0f, new GUIContent(" Velocity Max")); + EditorGUILayout.Slider(minVelocity, 0.0f, 10.0f, new GUIContent(" Velocity Min")); + + EditorGUILayout.Separator (); + + EditorGUILayout.LabelField("Technique Specific"); + + if (filterType.enumValueIndex == 0) { + // portal style motion blur + EditorGUILayout.PropertyField (rotationScale, new GUIContent(" Camera Rotation")); + EditorGUILayout.PropertyField (movementScale, new GUIContent(" Camera Movement")); + } + else { + // "plausible" blur or cheap, local blur + EditorGUILayout.PropertyField (excludeLayers, new GUIContent(" Exclude Layers")); + EditorGUILayout.PropertyField (velocityDownsample, new GUIContent(" Velocity Downsample")); + velocityDownsample.intValue = velocityDownsample.intValue < 1 ? 1 : velocityDownsample.intValue; + if (filterType.enumValueIndex >= 2) { // only display jitter for reconstruction + EditorGUILayout.PropertyField (noiseTexture, new GUIContent(" Sample Jitter")); + EditorGUILayout.Slider (jitter, 0.0f, 10.0f, new GUIContent(" Jitter Strength")); + } + } + + EditorGUILayout.Separator (); + + EditorGUILayout.PropertyField (preview, new GUIContent("Preview")); + if (preview.boolValue) + EditorGUILayout.PropertyField (previewScale, new GUIContent("")); + + serObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/CameraMotionBlurEditor.cs.meta b/Assets/Editor/ImageEffects/CameraMotionBlurEditor.cs.meta new file mode 100644 index 0000000..af66969 --- /dev/null +++ b/Assets/Editor/ImageEffects/CameraMotionBlurEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 80cbbe1c107bf5e43a96347d3dfc2658 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/ColorCorrectionCurvesEditor.cs b/Assets/Editor/ImageEffects/ColorCorrectionCurvesEditor.cs new file mode 100644 index 0000000..f37adb0 --- /dev/null +++ b/Assets/Editor/ImageEffects/ColorCorrectionCurvesEditor.cs @@ -0,0 +1,124 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor (typeof(ColorCorrectionCurves))] + class ColorCorrectionCurvesEditor : Editor { + SerializedObject serObj; + + SerializedProperty mode; + + SerializedProperty redChannel; + SerializedProperty greenChannel; + SerializedProperty blueChannel; + + SerializedProperty useDepthCorrection; + + SerializedProperty depthRedChannel; + SerializedProperty depthGreenChannel; + SerializedProperty depthBlueChannel; + + SerializedProperty zCurveChannel; + + SerializedProperty saturation; + + SerializedProperty selectiveCc; + SerializedProperty selectiveFromColor; + SerializedProperty selectiveToColor; + + private bool applyCurveChanges = false; + + void OnEnable () { + serObj = new SerializedObject (target); + + mode = serObj.FindProperty ("mode"); + + saturation = serObj.FindProperty ("saturation"); + + redChannel = serObj.FindProperty ("redChannel"); + greenChannel = serObj.FindProperty ("greenChannel"); + blueChannel = serObj.FindProperty ("blueChannel"); + + useDepthCorrection = serObj.FindProperty ("useDepthCorrection"); + + zCurveChannel = serObj.FindProperty ("zCurve"); + + depthRedChannel = serObj.FindProperty ("depthRedChannel"); + depthGreenChannel = serObj.FindProperty ("depthGreenChannel"); + depthBlueChannel = serObj.FindProperty ("depthBlueChannel"); + + serObj.ApplyModifiedProperties (); + + selectiveCc = serObj.FindProperty ("selectiveCc"); + selectiveFromColor = serObj.FindProperty ("selectiveFromColor"); + selectiveToColor = serObj.FindProperty ("selectiveToColor"); + } + + void CurveGui ( string name, SerializedProperty animationCurve, Color color) { + // @NOTE: EditorGUILayout.CurveField is buggy and flickers, using PropertyField for now + //animationCurve.animationCurveValue = EditorGUILayout.CurveField (GUIContent (name), animationCurve.animationCurveValue, color, Rect (0.0f,0.0f,1.0f,1.0f)); + EditorGUILayout.PropertyField (animationCurve, new GUIContent (name)); + if (GUI.changed) + applyCurveChanges = true; + } + + void BeginCurves () { + applyCurveChanges = false; + } + + void ApplyCurves () { + if (applyCurveChanges) { + serObj.ApplyModifiedProperties (); + (serObj.targetObject as ColorCorrectionCurves).gameObject.SendMessage ("UpdateTextures"); + } + } + + + public override void OnInspectorGUI () { + serObj.Update (); + + GUILayout.Label ("Use curves to tweak RGB channel colors", EditorStyles.miniBoldLabel); + + saturation.floatValue = EditorGUILayout.Slider( "Saturation", saturation.floatValue, 0.0f, 5.0f); + + EditorGUILayout.PropertyField (mode, new GUIContent ("Mode")); + EditorGUILayout.Separator (); + + BeginCurves (); + + CurveGui (" Red", redChannel, Color.red); + CurveGui (" Green", greenChannel, Color.green); + CurveGui (" Blue", blueChannel, Color.blue); + + EditorGUILayout.Separator (); + + if (mode.intValue > 0) + useDepthCorrection.boolValue = true; + else + useDepthCorrection.boolValue = false; + + if (useDepthCorrection.boolValue) { + CurveGui (" Red (depth)", depthRedChannel, Color.red); + CurveGui (" Green (depth)", depthGreenChannel, Color.green); + CurveGui (" Blue (depth)", depthBlueChannel, Color.blue); + EditorGUILayout.Separator (); + CurveGui (" Blend Curve", zCurveChannel, Color.grey); + } + + EditorGUILayout.Separator (); + EditorGUILayout.PropertyField (selectiveCc, new GUIContent ("Selective")); + if (selectiveCc.boolValue) { + EditorGUILayout.PropertyField (selectiveFromColor, new GUIContent (" Key")); + EditorGUILayout.PropertyField (selectiveToColor, new GUIContent (" Target")); + } + + + ApplyCurves (); + + if (!applyCurveChanges) + serObj.ApplyModifiedProperties (); + } + } +} diff --git a/Assets/Editor/ImageEffects/ColorCorrectionCurvesEditor.cs.meta b/Assets/Editor/ImageEffects/ColorCorrectionCurvesEditor.cs.meta new file mode 100644 index 0000000..b1c7fa3 --- /dev/null +++ b/Assets/Editor/ImageEffects/ColorCorrectionCurvesEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a4a9489f73e4f0344ab3fc97bdf5170b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/ColorCorrectionLookupEditor.cs b/Assets/Editor/ImageEffects/ColorCorrectionLookupEditor.cs new file mode 100644 index 0000000..8e68e21 --- /dev/null +++ b/Assets/Editor/ImageEffects/ColorCorrectionLookupEditor.cs @@ -0,0 +1,90 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor (typeof(ColorCorrectionLookup))] + class ColorCorrectionLookupEditor : Editor + { + SerializedObject serObj; + + void OnEnable () { + serObj = new SerializedObject (target); + } + + private Texture2D tempClutTex2D; + + + public override void OnInspectorGUI () { + serObj.Update (); + + EditorGUILayout.LabelField("Converts textures into color lookup volumes (for grading)", EditorStyles.miniLabel); + + //EditorGUILayout.LabelField("Change Lookup Texture (LUT):"); + //EditorGUILayout.BeginHorizontal (); + //Rect r = GUILayoutUtility.GetAspectRect(1.0ff); + + Rect r; Texture2D t; + + //EditorGUILayout.Space(); + tempClutTex2D = EditorGUILayout.ObjectField (" Based on", tempClutTex2D, typeof(Texture2D), false) as Texture2D; + if (tempClutTex2D == null) { + t = AssetDatabase.LoadMainAssetAtPath(((ColorCorrectionLookup)target).basedOnTempTex) as Texture2D; + if (t) tempClutTex2D = t; + } + + Texture2D tex = tempClutTex2D; + + if (tex && (target as ColorCorrectionLookup).basedOnTempTex != AssetDatabase.GetAssetPath(tex)) + { + EditorGUILayout.Separator(); + if (!(target as ColorCorrectionLookup).ValidDimensions(tex)) + { + EditorGUILayout.HelpBox ("Invalid texture dimensions!\nPick another texture or adjust dimension to e.g. 256x16.", MessageType.Warning); + } + else if (GUILayout.Button ("Convert and Apply")) + { + string path = AssetDatabase.GetAssetPath (tex); + TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter; + bool doImport = textureImporter.isReadable == false; + if (textureImporter.mipmapEnabled == true) { + doImport = true; + } + if (textureImporter.textureFormat != TextureImporterFormat.AutomaticTruecolor) { + doImport = true; + } + + if (doImport) + { + textureImporter.isReadable = true; + textureImporter.mipmapEnabled = false; + textureImporter.textureFormat = TextureImporterFormat.AutomaticTruecolor; + AssetDatabase.ImportAsset (path, ImportAssetOptions.ForceUpdate); + //tex = AssetDatabase.LoadMainAssetAtPath(path); + } + + (target as ColorCorrectionLookup).Convert(tex, path); + } + } + + if ((target as ColorCorrectionLookup).basedOnTempTex != "") + { + EditorGUILayout.HelpBox("Using " + (target as ColorCorrectionLookup).basedOnTempTex, MessageType.Info); + t = AssetDatabase.LoadMainAssetAtPath(((ColorCorrectionLookup)target).basedOnTempTex) as Texture2D; + if (t) { + r = GUILayoutUtility.GetLastRect(); + r = GUILayoutUtility.GetRect(r.width, 20); + r.x += r.width * 0.05f/2.0f; + r.width *= 0.95f; + GUI.DrawTexture (r, t); + GUILayoutUtility.GetRect(r.width, 4); + } + } + + //EditorGUILayout.EndHorizontal (); + + serObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/ColorCorrectionLookupEditor.cs.meta b/Assets/Editor/ImageEffects/ColorCorrectionLookupEditor.cs.meta new file mode 100644 index 0000000..9286d0e --- /dev/null +++ b/Assets/Editor/ImageEffects/ColorCorrectionLookupEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 66c17be95fbf398439ea09f8892a8b43 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/CreaseShadingEditor.cs b/Assets/Editor/ImageEffects/CreaseShadingEditor.cs new file mode 100644 index 0000000..da5d62d --- /dev/null +++ b/Assets/Editor/ImageEffects/CreaseShadingEditor.cs @@ -0,0 +1,60 @@ +using System; +using UnityEditor; +using UnityEditor.AnimatedValues; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor(typeof(CreaseShading))] + class CreaseShadingEditor : Editor { + SerializedObject serObj; + + SerializedProperty m_intensity; + SerializedProperty m_softness; + SerializedProperty m_spread; + + AnimBool m_showSoftnessWarning = new AnimBool(); + AnimBool m_showSpreadWarning = new AnimBool(); + + private bool softnessWarningValue { get { return m_softness.intValue > 4; } } + private bool spreadWarningValue { get { return m_spread.floatValue > 4; } } + + void OnEnable () { + serObj = new SerializedObject (target); + + m_intensity = serObj.FindProperty("intensity"); + m_softness = serObj.FindProperty("softness"); + m_spread = serObj.FindProperty("spread"); + + m_showSoftnessWarning.valueChanged.AddListener(Repaint); + m_showSpreadWarning.valueChanged.AddListener(Repaint); + + m_showSoftnessWarning.value = softnessWarningValue; + m_showSpreadWarning.value = spreadWarningValue; + } + + public override void OnInspectorGUI () { + serObj.Update (); + + EditorGUILayout.Slider(m_intensity, -5.0f, 5.0f, new GUIContent("Intensity")); + + EditorGUILayout.IntSlider(m_softness, 0, 15, new GUIContent("Softness")); + m_showSoftnessWarning.target = softnessWarningValue; + if (EditorGUILayout.BeginFadeGroup(m_showSoftnessWarning.faded)) + { + EditorGUILayout.HelpBox("High Softness value might reduce performance.", MessageType.Warning, false); + } + EditorGUILayout.EndFadeGroup(); + + EditorGUILayout.Slider(m_spread, 0.0f, 50.0f, new GUIContent("Spread")); + m_showSpreadWarning.target = spreadWarningValue; + if (EditorGUILayout.BeginFadeGroup(m_showSpreadWarning.faded)) + { + EditorGUILayout.HelpBox("High Spread value might introduce visual artifacts.", MessageType.Warning, false); + } + EditorGUILayout.EndFadeGroup(); + + serObj.ApplyModifiedProperties (); + } + } +} diff --git a/Assets/Editor/ImageEffects/CreaseShadingEditor.cs.meta b/Assets/Editor/ImageEffects/CreaseShadingEditor.cs.meta new file mode 100644 index 0000000..85fb4ba --- /dev/null +++ b/Assets/Editor/ImageEffects/CreaseShadingEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6788af605d2f1244789565913bb4e7f6 +timeCreated: 1434032656 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/ImageEffects/DepthOfFieldDeprecatedEditor.cs b/Assets/Editor/ImageEffects/DepthOfFieldDeprecatedEditor.cs new file mode 100644 index 0000000..b1e5b84 --- /dev/null +++ b/Assets/Editor/ImageEffects/DepthOfFieldDeprecatedEditor.cs @@ -0,0 +1,149 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor (typeof(DepthOfFieldDeprecated))] + class DepthOfFieldDeprecatedEditor : Editor + { + SerializedObject serObj; + + SerializedProperty simpleTweakMode; + + SerializedProperty focalPoint; + SerializedProperty smoothness; + + SerializedProperty focalSize; + + SerializedProperty focalZDistance; + SerializedProperty focalStartCurve; + SerializedProperty focalEndCurve; + + SerializedProperty visualizeCoc; + + SerializedProperty resolution; + SerializedProperty quality; + + SerializedProperty objectFocus; + + SerializedProperty bokeh; + SerializedProperty bokehScale; + SerializedProperty bokehIntensity; + SerializedProperty bokehThresholdLuminance; + SerializedProperty bokehThresholdContrast; + SerializedProperty bokehDownsample; + SerializedProperty bokehTexture; + SerializedProperty bokehDestination; + + SerializedProperty bluriness; + SerializedProperty maxBlurSpread; + SerializedProperty foregroundBlurExtrude; + + void OnEnable () { + serObj = new SerializedObject (target); + + simpleTweakMode = serObj.FindProperty ("simpleTweakMode"); + + // simple tweak mode + focalPoint = serObj.FindProperty ("focalPoint"); + smoothness = serObj.FindProperty ("smoothness"); + + // complex tweak mode + focalZDistance = serObj.FindProperty ("focalZDistance"); + focalStartCurve = serObj.FindProperty ("focalZStartCurve"); + focalEndCurve = serObj.FindProperty ("focalZEndCurve"); + focalSize = serObj.FindProperty ("focalSize"); + + visualizeCoc = serObj.FindProperty ("visualize"); + + objectFocus = serObj.FindProperty ("objectFocus"); + + resolution = serObj.FindProperty ("resolution"); + quality = serObj.FindProperty ("quality"); + bokehThresholdContrast = serObj.FindProperty ("bokehThresholdContrast"); + bokehThresholdLuminance = serObj.FindProperty ("bokehThresholdLuminance"); + + bokeh = serObj.FindProperty ("bokeh"); + bokehScale = serObj.FindProperty ("bokehScale"); + bokehIntensity = serObj.FindProperty ("bokehIntensity"); + bokehDownsample = serObj.FindProperty ("bokehDownsample"); + bokehTexture = serObj.FindProperty ("bokehTexture"); + bokehDestination = serObj.FindProperty ("bokehDestination"); + + bluriness = serObj.FindProperty ("bluriness"); + maxBlurSpread = serObj.FindProperty ("maxBlurSpread"); + foregroundBlurExtrude = serObj.FindProperty ("foregroundBlurExtrude"); + } + + + public override void OnInspectorGUI () { + serObj.Update (); + + GameObject go = (target as DepthOfFieldDeprecated).gameObject; + + if (!go) + return; + + if (!go.GetComponent()) + return; + + if (simpleTweakMode.boolValue) + GUILayout.Label ("Current: "+go.GetComponent().name+", near "+go.GetComponent().nearClipPlane+", far: "+go.GetComponent().farClipPlane+", focal: "+focalPoint.floatValue, EditorStyles.miniBoldLabel); + else + GUILayout.Label ("Current: "+go.GetComponent().name+", near "+go.GetComponent().nearClipPlane+", far: "+go.GetComponent().farClipPlane+", focal: "+focalZDistance.floatValue, EditorStyles.miniBoldLabel); + + EditorGUILayout.PropertyField (resolution, new GUIContent("Resolution")); + EditorGUILayout.PropertyField (quality, new GUIContent("Quality")); + + EditorGUILayout.PropertyField (simpleTweakMode, new GUIContent("Simple tweak")); + EditorGUILayout.PropertyField (visualizeCoc, new GUIContent("Visualize focus")); + EditorGUILayout.PropertyField (bokeh, new GUIContent("Enable bokeh")); + + + EditorGUILayout.Separator (); + + GUILayout.Label ("Focal Settings", EditorStyles.boldLabel); + + if (simpleTweakMode.boolValue) { + focalPoint.floatValue = EditorGUILayout.Slider ("Focal distance", focalPoint.floatValue, go.GetComponent().nearClipPlane, go.GetComponent().farClipPlane); + EditorGUILayout.PropertyField (objectFocus, new GUIContent("Transform")); + EditorGUILayout.PropertyField (smoothness, new GUIContent("Smoothness")); + focalSize.floatValue = EditorGUILayout.Slider ("Focal size", focalSize.floatValue, 0.0f, (go.GetComponent().farClipPlane - go.GetComponent().nearClipPlane)); + } + else { + focalZDistance.floatValue = EditorGUILayout.Slider ("Distance", focalZDistance.floatValue, go.GetComponent().nearClipPlane, go.GetComponent().farClipPlane); + EditorGUILayout.PropertyField (objectFocus, new GUIContent("Transform")); + focalSize.floatValue = EditorGUILayout.Slider ("Size", focalSize.floatValue, 0.0f, (go.GetComponent().farClipPlane - go.GetComponent().nearClipPlane)); + focalStartCurve.floatValue = EditorGUILayout.Slider ("Start curve", focalStartCurve.floatValue, 0.05f, 20.0f); + focalEndCurve.floatValue = EditorGUILayout.Slider ("End curve", focalEndCurve.floatValue, 0.05f, 20.0f); + } + + EditorGUILayout.Separator (); + + GUILayout.Label ("Blur (Fore- and Background)", EditorStyles.boldLabel); + EditorGUILayout.PropertyField (bluriness, new GUIContent("Blurriness")); + EditorGUILayout.PropertyField (maxBlurSpread, new GUIContent("Blur spread")); + + if (quality.enumValueIndex > 0) { + EditorGUILayout.PropertyField (foregroundBlurExtrude, new GUIContent("Foreground size")); + } + + EditorGUILayout.Separator (); + + if (bokeh.boolValue) { + EditorGUILayout.Separator (); + GUILayout.Label ("Bokeh Settings", EditorStyles.boldLabel); + EditorGUILayout.PropertyField (bokehDestination, new GUIContent("Destination")); + bokehIntensity.floatValue = EditorGUILayout.Slider ("Intensity", bokehIntensity.floatValue, 0.0f, 1.0f); + bokehThresholdLuminance.floatValue = EditorGUILayout.Slider ("Min luminance", bokehThresholdLuminance.floatValue, 0.0f, 0.99f); + bokehThresholdContrast.floatValue = EditorGUILayout.Slider ("Min contrast", bokehThresholdContrast.floatValue, 0.0f, 0.25f); + bokehDownsample.intValue = EditorGUILayout.IntSlider ("Downsample", bokehDownsample.intValue, 1, 3); + bokehScale.floatValue = EditorGUILayout.Slider ("Size scale", bokehScale.floatValue, 0.0f, 20.0f); + EditorGUILayout.PropertyField (bokehTexture , new GUIContent("Texture mask")); + } + + serObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/DepthOfFieldDeprecatedEditor.cs.meta b/Assets/Editor/ImageEffects/DepthOfFieldDeprecatedEditor.cs.meta new file mode 100644 index 0000000..cf22631 --- /dev/null +++ b/Assets/Editor/ImageEffects/DepthOfFieldDeprecatedEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 943c59645eb905144a0990b57e13a6f9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/DepthOfFieldEditor.cs b/Assets/Editor/ImageEffects/DepthOfFieldEditor.cs new file mode 100644 index 0000000..acd7aca --- /dev/null +++ b/Assets/Editor/ImageEffects/DepthOfFieldEditor.cs @@ -0,0 +1,161 @@ +using System; +using UnityEditor; +using UnityEditor.AnimatedValues; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor(typeof(DepthOfField))] + class DepthOfFieldEditor : Editor + { + SerializedObject serObj; + + SerializedProperty visualizeFocus; + SerializedProperty focalLength; + SerializedProperty focalSize; + SerializedProperty aperture; + SerializedProperty focalTransform; + SerializedProperty maxBlurSize; + SerializedProperty highResolution; + + SerializedProperty blurType; + SerializedProperty blurSampleCount; + + SerializedProperty nearBlur; + SerializedProperty foregroundOverlap; + + SerializedProperty dx11BokehThreshold; + SerializedProperty dx11SpawnHeuristic; + SerializedProperty dx11BokehTexture; + SerializedProperty dx11BokehScale; + SerializedProperty dx11BokehIntensity; + + AnimBool showFocalDistance = new AnimBool(); + AnimBool showDiscBlurSettings = new AnimBool(); + AnimBool showDX11BlurSettings = new AnimBool(); + AnimBool showNearBlurOverlapSize = new AnimBool(); + + bool useFocalDistance { get { return focalTransform.objectReferenceValue == null; } } + bool useDiscBlur { get { return blurType.enumValueIndex < 1; } } + bool useDX11Blur { get { return blurType.enumValueIndex > 0; } } + bool useNearBlur { get { return nearBlur.boolValue; } } + + + void OnEnable() + { + serObj = new SerializedObject(target); + + visualizeFocus = serObj.FindProperty("visualizeFocus"); + + focalLength = serObj.FindProperty("focalLength"); + focalSize = serObj.FindProperty("focalSize"); + aperture = serObj.FindProperty("aperture"); + focalTransform = serObj.FindProperty("focalTransform"); + maxBlurSize = serObj.FindProperty("maxBlurSize"); + highResolution = serObj.FindProperty("highResolution"); + + blurType = serObj.FindProperty("blurType"); + blurSampleCount = serObj.FindProperty("blurSampleCount"); + + nearBlur = serObj.FindProperty("nearBlur"); + foregroundOverlap = serObj.FindProperty("foregroundOverlap"); + + dx11BokehThreshold = serObj.FindProperty("dx11BokehThreshold"); + dx11SpawnHeuristic = serObj.FindProperty("dx11SpawnHeuristic"); + dx11BokehTexture = serObj.FindProperty("dx11BokehTexture"); + dx11BokehScale = serObj.FindProperty("dx11BokehScale"); + dx11BokehIntensity = serObj.FindProperty("dx11BokehIntensity"); + + InitializedAnimBools(); + } + + void InitializedAnimBools() + { + showFocalDistance.valueChanged.AddListener(Repaint); + showFocalDistance.value = useFocalDistance; + + showDiscBlurSettings.valueChanged.AddListener(Repaint); + showDiscBlurSettings.value = useDiscBlur; + + showDX11BlurSettings.valueChanged.AddListener(Repaint); + showDX11BlurSettings.value = useDX11Blur; + + showNearBlurOverlapSize.valueChanged.AddListener(Repaint); + showNearBlurOverlapSize.value = useNearBlur; + } + + + void UpdateAnimBoolTargets() + { + showFocalDistance.target = useFocalDistance; + showDiscBlurSettings.target = useDiscBlur; + showDX11BlurSettings.target = useDX11Blur; + showNearBlurOverlapSize.target = useNearBlur; + } + + + public override void OnInspectorGUI() + { + serObj.Update(); + + UpdateAnimBoolTargets(); + + EditorGUILayout.LabelField("Simulates camera lens defocus", EditorStyles.miniLabel); + + GUILayout.Label("Focal Settings"); + EditorGUILayout.PropertyField(visualizeFocus, new GUIContent(" Visualize")); + EditorGUILayout.PropertyField(focalTransform, new GUIContent(" Focus on Transform")); + + if (EditorGUILayout.BeginFadeGroup(showFocalDistance.faded)) + { + EditorGUILayout.PropertyField(focalLength, new GUIContent(" Focal Distance")); + } + EditorGUILayout.EndFadeGroup(); + + EditorGUILayout.Slider(focalSize, 0.0f, 2.0f, new GUIContent(" Focal Size")); + EditorGUILayout.Slider(aperture, 0.0f, 1.0f, new GUIContent(" Aperture")); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(blurType, new GUIContent("Defocus Type")); + + if (!(target as DepthOfField).Dx11Support() && blurType.enumValueIndex > 0) + { + EditorGUILayout.HelpBox("DX11 mode not supported (need shader model 5)", MessageType.Info); + } + + if (EditorGUILayout.BeginFadeGroup(showDiscBlurSettings.faded)) + { + EditorGUILayout.PropertyField(blurSampleCount, new GUIContent(" Sample Count")); + } + EditorGUILayout.EndFadeGroup(); + + EditorGUILayout.Slider(maxBlurSize, 0.1f, 2.0f, new GUIContent(" Max Blur Distance")); + EditorGUILayout.PropertyField(highResolution, new GUIContent(" High Resolution")); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(nearBlur, new GUIContent("Near Blur")); + if (EditorGUILayout.BeginFadeGroup(showNearBlurOverlapSize.faded)) + { + EditorGUILayout.Slider(foregroundOverlap, 0.1f, 2.0f, new GUIContent(" Overlap Size")); + } + EditorGUILayout.EndFadeGroup(); + + EditorGUILayout.Separator(); + + if (EditorGUILayout.BeginFadeGroup(showDX11BlurSettings.faded)) + { + GUILayout.Label("DX11 Bokeh Settings"); + EditorGUILayout.PropertyField(dx11BokehTexture, new GUIContent(" Bokeh Texture")); + EditorGUILayout.Slider(dx11BokehScale, 0.0f, 50.0f, new GUIContent(" Bokeh Scale")); + EditorGUILayout.Slider(dx11BokehIntensity, 0.0f, 100.0f, new GUIContent(" Bokeh Intensity")); + EditorGUILayout.Slider(dx11BokehThreshold, 0.0f, 1.0f, new GUIContent(" Min Luminance")); + EditorGUILayout.Slider(dx11SpawnHeuristic, 0.01f, 1.0f, new GUIContent(" Spawn Heuristic")); + } + EditorGUILayout.EndFadeGroup(); + + serObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/DepthOfFieldEditor.cs.meta b/Assets/Editor/ImageEffects/DepthOfFieldEditor.cs.meta new file mode 100644 index 0000000..8d85a2e --- /dev/null +++ b/Assets/Editor/ImageEffects/DepthOfFieldEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 427fdf36119bab44a9131abd19b90f57 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/EdgeDetectionEditor.cs b/Assets/Editor/ImageEffects/EdgeDetectionEditor.cs new file mode 100644 index 0000000..9d2d7a5 --- /dev/null +++ b/Assets/Editor/ImageEffects/EdgeDetectionEditor.cs @@ -0,0 +1,72 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor (typeof(EdgeDetection))] + class EdgeDetectionEditor : Editor + { + SerializedObject serObj; + + SerializedProperty mode; + SerializedProperty sensitivityDepth; + SerializedProperty sensitivityNormals; + + SerializedProperty lumThreshold; + + SerializedProperty edgesOnly; + SerializedProperty edgesOnlyBgColor; + + SerializedProperty edgeExp; + SerializedProperty sampleDist; + + + void OnEnable () { + serObj = new SerializedObject (target); + + mode = serObj.FindProperty("mode"); + + sensitivityDepth = serObj.FindProperty("sensitivityDepth"); + sensitivityNormals = serObj.FindProperty("sensitivityNormals"); + + lumThreshold = serObj.FindProperty("lumThreshold"); + + edgesOnly = serObj.FindProperty("edgesOnly"); + edgesOnlyBgColor = serObj.FindProperty("edgesOnlyBgColor"); + + edgeExp = serObj.FindProperty("edgeExp"); + sampleDist = serObj.FindProperty("sampleDist"); + } + + + public override void OnInspectorGUI () { + serObj.Update (); + + GUILayout.Label("Detects spatial differences and converts into black outlines", EditorStyles.miniBoldLabel); + EditorGUILayout.PropertyField (mode, new GUIContent("Mode")); + + if (mode.intValue < 2) { + EditorGUILayout.PropertyField (sensitivityDepth, new GUIContent(" Depth Sensitivity")); + EditorGUILayout.PropertyField (sensitivityNormals, new GUIContent(" Normals Sensitivity")); + } + else if (mode.intValue < 4) { + EditorGUILayout.PropertyField (edgeExp, new GUIContent(" Edge Exponent")); + } + else { + // lum based mode + EditorGUILayout.PropertyField (lumThreshold, new GUIContent(" Luminance Threshold")); + } + + EditorGUILayout.PropertyField (sampleDist, new GUIContent(" Sample Distance")); + + EditorGUILayout.Separator (); + + GUILayout.Label ("Background Options"); + edgesOnly.floatValue = EditorGUILayout.Slider (" Edges only", edgesOnly.floatValue, 0.0f, 1.0f); + EditorGUILayout.PropertyField (edgesOnlyBgColor, new GUIContent (" Color")); + + serObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/EdgeDetectionEditor.cs.meta b/Assets/Editor/ImageEffects/EdgeDetectionEditor.cs.meta new file mode 100644 index 0000000..3ec10ca --- /dev/null +++ b/Assets/Editor/ImageEffects/EdgeDetectionEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b5f1618d14cd80f4da910f00b04af37f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/NoiseAndGrainEditor.cs b/Assets/Editor/ImageEffects/NoiseAndGrainEditor.cs new file mode 100644 index 0000000..5b31336 --- /dev/null +++ b/Assets/Editor/ImageEffects/NoiseAndGrainEditor.cs @@ -0,0 +1,111 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor (typeof( NoiseAndGrain))] + class NoiseAndGrainEditor : Editor + { + SerializedObject serObj; + + SerializedProperty intensityMultiplier; + SerializedProperty generalIntensity; + SerializedProperty blackIntensity; + SerializedProperty whiteIntensity; + SerializedProperty midGrey; + + SerializedProperty dx11Grain; + SerializedProperty softness; + SerializedProperty monochrome; + + SerializedProperty intensities; + SerializedProperty tiling; + SerializedProperty monochromeTiling; + + SerializedProperty noiseTexture; + SerializedProperty filterMode; + + void OnEnable () { + serObj = new SerializedObject (target); + + intensityMultiplier = serObj.FindProperty("intensityMultiplier"); + generalIntensity = serObj.FindProperty("generalIntensity"); + blackIntensity = serObj.FindProperty("blackIntensity"); + whiteIntensity = serObj.FindProperty("whiteIntensity"); + midGrey = serObj.FindProperty("midGrey"); + + dx11Grain = serObj.FindProperty("dx11Grain"); + softness = serObj.FindProperty("softness"); + monochrome = serObj.FindProperty("monochrome"); + + intensities = serObj.FindProperty("intensities"); + tiling = serObj.FindProperty("tiling"); + monochromeTiling = serObj.FindProperty("monochromeTiling"); + + noiseTexture = serObj.FindProperty("noiseTexture"); + filterMode = serObj.FindProperty("filterMode"); + } + + + public override void OnInspectorGUI () { + serObj.Update(); + + EditorGUILayout.LabelField("Overlays animated noise patterns", EditorStyles.miniLabel); + + EditorGUILayout.PropertyField(dx11Grain, new GUIContent("DirectX 11 Grain")); + + if (dx11Grain.boolValue && !(target as NoiseAndGrain).Dx11Support()) { + EditorGUILayout.HelpBox("DX11 mode not supported (need DX11 GPU and enable DX11 in PlayerSettings)", MessageType.Info); + } + + EditorGUILayout.PropertyField(monochrome, new GUIContent("Monochrome")); + + EditorGUILayout.Separator(); + + EditorGUILayout.Slider(intensityMultiplier, 0.0f, 10.0f, new GUIContent("Intensity Multiplier")); + EditorGUILayout.Slider(generalIntensity, 0.0f, 1.0f, new GUIContent(" General")); + EditorGUILayout.Slider(blackIntensity, 0.0f, 1.0f, new GUIContent(" Black Boost")); + EditorGUILayout.Slider(whiteIntensity, 0.0f, 1.0f, new GUIContent(" White Boost")); + midGrey.floatValue = EditorGUILayout.Slider( new GUIContent(" Mid Grey (for Boost)"), midGrey.floatValue, 0.0f, 1.0f); + if (monochrome.boolValue == false) { + Color c = new Color(intensities.vector3Value.x,intensities.vector3Value.y,intensities.vector3Value.z,1.0f); + c = EditorGUILayout.ColorField(new GUIContent(" Color Weights"), c); + intensities.vector3Value = new Vector3(c.r, c.g, c.b); + } + + if (!dx11Grain.boolValue) { + EditorGUILayout.Separator(); + + EditorGUILayout.LabelField("Noise Shape"); + EditorGUILayout.PropertyField(noiseTexture, new GUIContent(" Texture")); + EditorGUILayout.PropertyField(filterMode, new GUIContent(" Filter")); + } + else { + EditorGUILayout.Separator(); + EditorGUILayout.LabelField("Noise Shape"); + } + + softness.floatValue = EditorGUILayout.Slider( new GUIContent(" Softness"),softness.floatValue, 0.0f, 0.99f); + + if (!dx11Grain.boolValue) { + EditorGUILayout.Separator(); + EditorGUILayout.LabelField("Advanced"); + + if (monochrome.boolValue == false) + { + Vector3 temp = tiling.vector3Value; + temp.x = EditorGUILayout.FloatField(new GUIContent(" Tiling (Red)"), tiling.vector3Value.x); + temp.y = EditorGUILayout.FloatField(new GUIContent(" Tiling (Green)"), tiling.vector3Value.y); + temp.z = EditorGUILayout.FloatField(new GUIContent(" Tiling (Blue)"), tiling.vector3Value.z); + tiling.vector3Value = temp; + } + else { + EditorGUILayout.PropertyField(monochromeTiling, new GUIContent(" Tiling")); + } + } + + serObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/NoiseAndGrainEditor.cs.meta b/Assets/Editor/ImageEffects/NoiseAndGrainEditor.cs.meta new file mode 100644 index 0000000..1ca666a --- /dev/null +++ b/Assets/Editor/ImageEffects/NoiseAndGrainEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: abd63abcc46fbcb4588164b671b52d3b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/SunShaftsEditor.cs b/Assets/Editor/ImageEffects/SunShaftsEditor.cs new file mode 100644 index 0000000..51deae7 --- /dev/null +++ b/Assets/Editor/ImageEffects/SunShaftsEditor.cs @@ -0,0 +1,105 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor (typeof(SunShafts))] + class SunShaftsEditor : Editor + { + SerializedObject serObj; + + SerializedProperty sunTransform; + SerializedProperty radialBlurIterations; + SerializedProperty sunColor; + SerializedProperty sunThreshold; + SerializedProperty sunShaftBlurRadius; + SerializedProperty sunShaftIntensity; + SerializedProperty useDepthTexture; + SerializedProperty resolution; + SerializedProperty screenBlendMode; + SerializedProperty maxRadius; + + void OnEnable () { + serObj = new SerializedObject (target); + + screenBlendMode = serObj.FindProperty("screenBlendMode"); + + sunTransform = serObj.FindProperty("sunTransform"); + sunColor = serObj.FindProperty("sunColor"); + sunThreshold = serObj.FindProperty("sunThreshold"); + + sunShaftBlurRadius = serObj.FindProperty("sunShaftBlurRadius"); + radialBlurIterations = serObj.FindProperty("radialBlurIterations"); + + sunShaftIntensity = serObj.FindProperty("sunShaftIntensity"); + + resolution = serObj.FindProperty("resolution"); + + maxRadius = serObj.FindProperty("maxRadius"); + + useDepthTexture = serObj.FindProperty("useDepthTexture"); + } + + + public override void OnInspectorGUI () { + serObj.Update (); + + EditorGUILayout.BeginHorizontal(); + + EditorGUILayout.PropertyField (useDepthTexture, new GUIContent ("Rely on Z Buffer?")); + if ((target as SunShafts).GetComponent()) + GUILayout.Label("Current camera mode: "+ (target as SunShafts).GetComponent().depthTextureMode, EditorStyles.miniBoldLabel); + + EditorGUILayout.EndHorizontal(); + + // depth buffer need + /* + bool newVal = useDepthTexture.boolValue; + if (newVal != oldVal) { + if (newVal) + (target as SunShafts).camera.depthTextureMode |= DepthTextureMode.Depth; + else + (target as SunShafts).camera.depthTextureMode &= ~DepthTextureMode.Depth; + } + */ + + EditorGUILayout.PropertyField (resolution, new GUIContent("Resolution")); + EditorGUILayout.PropertyField (screenBlendMode, new GUIContent("Blend mode")); + + EditorGUILayout.Separator (); + + EditorGUILayout.BeginHorizontal(); + + EditorGUILayout.PropertyField (sunTransform, new GUIContent("Shafts caster", "Chose a transform that acts as a root point for the produced sun shafts")); + if ((target as SunShafts).sunTransform && (target as SunShafts).GetComponent()) { + if (GUILayout.Button("Center on " + (target as SunShafts).GetComponent().name)) { + if (EditorUtility.DisplayDialog ("Move sun shafts source?", "The SunShafts caster named "+ (target as SunShafts).sunTransform.name +"\n will be centered along "+(target as SunShafts).GetComponent().name+". Are you sure? ", "Please do", "Don't")) { + Ray ray = (target as SunShafts).GetComponent().ViewportPointToRay(new Vector3(0.5f,0.5f,0)); + (target as SunShafts).sunTransform.position = ray.origin + ray.direction * 500.0f; + (target as SunShafts).sunTransform.LookAt ((target as SunShafts).transform); + } + } + } + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Separator (); + + EditorGUILayout.PropertyField (sunThreshold, new GUIContent ("Threshold color")); + EditorGUILayout.PropertyField (sunColor, new GUIContent ("Shafts color")); + maxRadius.floatValue = 1.0f - EditorGUILayout.Slider ("Distance falloff", 1.0f - maxRadius.floatValue, 0.1f, 1.0f); + + EditorGUILayout.Separator (); + + sunShaftBlurRadius.floatValue = EditorGUILayout.Slider ("Blur size", sunShaftBlurRadius.floatValue, 1.0f, 10.0f); + radialBlurIterations.intValue = EditorGUILayout.IntSlider ("Blur iterations", radialBlurIterations.intValue, 1, 3); + + EditorGUILayout.Separator (); + + EditorGUILayout.PropertyField (sunShaftIntensity, new GUIContent("Intensity")); + + serObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/SunShaftsEditor.cs.meta b/Assets/Editor/ImageEffects/SunShaftsEditor.cs.meta new file mode 100644 index 0000000..b8d901f --- /dev/null +++ b/Assets/Editor/ImageEffects/SunShaftsEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 54f6f6313f2aecc4d81035ec0031e313 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/TonemappingEditor.cs b/Assets/Editor/ImageEffects/TonemappingEditor.cs new file mode 100644 index 0000000..613631f --- /dev/null +++ b/Assets/Editor/ImageEffects/TonemappingEditor.cs @@ -0,0 +1,81 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor (typeof(Tonemapping))] + class TonemappingEditor : Editor + { + SerializedObject serObj; + + SerializedProperty type; + + // CURVE specific parameter + SerializedProperty remapCurve; + + SerializedProperty exposureAdjustment; + + // REINHARD specific parameter + SerializedProperty middleGrey; + SerializedProperty white; + SerializedProperty adaptionSpeed; + SerializedProperty adaptiveTextureSize; + + void OnEnable () { + serObj = new SerializedObject (target); + + type = serObj.FindProperty ("type"); + remapCurve = serObj.FindProperty ("remapCurve"); + exposureAdjustment = serObj.FindProperty ("exposureAdjustment"); + middleGrey = serObj.FindProperty ("middleGrey"); + white = serObj.FindProperty ("white"); + adaptionSpeed = serObj.FindProperty ("adaptionSpeed"); + adaptiveTextureSize = serObj.FindProperty("adaptiveTextureSize"); + } + + + public override void OnInspectorGUI () { + serObj.Update (); + + GUILayout.Label("Mapping HDR to LDR ranges since 1982", EditorStyles.miniLabel); + + Camera cam = (target as Tonemapping).GetComponent(); + if (cam != null) { + if (!cam.hdr) { + EditorGUILayout.HelpBox("The camera is not HDR enabled. This will likely break the Tonemapper.", MessageType.Warning); + } + else if (!(target as Tonemapping).validRenderTextureFormat) { + EditorGUILayout.HelpBox("The input to Tonemapper is not in HDR. Make sure that all effects prior to this are executed in HDR.", MessageType.Warning); + } + } + + EditorGUILayout.PropertyField (type, new GUIContent ("Technique")); + + if (type.enumValueIndex == (int) Tonemapping.TonemapperType.UserCurve) { + EditorGUILayout.PropertyField (remapCurve, new GUIContent ("Remap curve", "Specify the mapping of luminances yourself")); + } else if (type.enumValueIndex == (int) Tonemapping.TonemapperType.SimpleReinhard) { + EditorGUILayout.PropertyField (exposureAdjustment, new GUIContent ("Exposure", "Exposure adjustment")); + } else if (type.enumValueIndex == (int) Tonemapping.TonemapperType.Hable) { + EditorGUILayout.PropertyField (exposureAdjustment, new GUIContent ("Exposure", "Exposure adjustment")); + } else if (type.enumValueIndex == (int) Tonemapping.TonemapperType.Photographic) { + EditorGUILayout.PropertyField (exposureAdjustment, new GUIContent ("Exposure", "Exposure adjustment")); + } else if (type.enumValueIndex == (int) Tonemapping.TonemapperType.OptimizedHejiDawson) { + EditorGUILayout.PropertyField (exposureAdjustment, new GUIContent ("Exposure", "Exposure adjustment")); + } else if (type.enumValueIndex == (int) Tonemapping.TonemapperType.AdaptiveReinhard) { + EditorGUILayout.PropertyField (middleGrey, new GUIContent ("Middle grey", "Middle grey defines the average luminance thus brightening or darkening the entire image.")); + EditorGUILayout.PropertyField (white, new GUIContent ("White", "Smallest luminance value that will be mapped to white")); + EditorGUILayout.PropertyField (adaptionSpeed, new GUIContent ("Adaption Speed", "Speed modifier for the automatic adaption")); + EditorGUILayout.PropertyField (adaptiveTextureSize, new GUIContent ("Texture size", "Defines the amount of downsamples needed.")); + } else if (type.enumValueIndex == (int) Tonemapping.TonemapperType.AdaptiveReinhardAutoWhite) { + EditorGUILayout.PropertyField (middleGrey, new GUIContent ("Middle grey", "Middle grey defines the average luminance thus brightening or darkening the entire image.")); + EditorGUILayout.PropertyField (adaptionSpeed, new GUIContent ("Adaption Speed", "Speed modifier for the automatic adaption")); + EditorGUILayout.PropertyField (adaptiveTextureSize, new GUIContent ("Texture size", "Defines the amount of downsamples needed.")); + } + + GUILayout.Label("All following effects will use LDR color buffers", EditorStyles.miniBoldLabel); + + serObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/TonemappingEditor.cs.meta b/Assets/Editor/ImageEffects/TonemappingEditor.cs.meta new file mode 100644 index 0000000..40c242a --- /dev/null +++ b/Assets/Editor/ImageEffects/TonemappingEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0f7cab214f141f642b87a5bdbd14653e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Editor/ImageEffects/VignetteAndChromaticAberrationEditor.cs b/Assets/Editor/ImageEffects/VignetteAndChromaticAberrationEditor.cs new file mode 100644 index 0000000..7ccec20 --- /dev/null +++ b/Assets/Editor/ImageEffects/VignetteAndChromaticAberrationEditor.cs @@ -0,0 +1,62 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [CustomEditor (typeof(VignetteAndChromaticAberration))] + class VignetteAndChromaticAberrationEditor : Editor + { + private SerializedObject m_SerObj; + private SerializedProperty m_Mode; + private SerializedProperty m_Intensity; // intensity == 0 disables pre pass (optimization) + private SerializedProperty m_ChromaticAberration; + private SerializedProperty m_AxialAberration; + private SerializedProperty m_Blur; // blur == 0 disables blur pass (optimization) + private SerializedProperty m_BlurSpread; + private SerializedProperty m_BlurDistance; + private SerializedProperty m_LuminanceDependency; + + + void OnEnable () + { + m_SerObj = new SerializedObject (target); + m_Mode = m_SerObj.FindProperty ("mode"); + m_Intensity = m_SerObj.FindProperty ("intensity"); + m_ChromaticAberration = m_SerObj.FindProperty ("chromaticAberration"); + m_AxialAberration = m_SerObj.FindProperty ("axialAberration"); + m_Blur = m_SerObj.FindProperty ("blur"); + m_BlurSpread = m_SerObj.FindProperty ("blurSpread"); + m_LuminanceDependency = m_SerObj.FindProperty ("luminanceDependency"); + m_BlurDistance = m_SerObj.FindProperty ("blurDistance"); + } + + + public override void OnInspectorGUI () + { + m_SerObj.Update (); + + EditorGUILayout.LabelField("Simulates the common lens artifacts 'Vignette' and 'Aberration'", EditorStyles.miniLabel); + + EditorGUILayout.Slider(m_Intensity, 0.0f, 1.0f, new GUIContent("Vignetting")); + EditorGUILayout.Slider(m_Blur, 0.0f, 1.0f, new GUIContent(" Blurred Corners")); + if (m_Blur.floatValue>0.0f) + EditorGUILayout.Slider(m_BlurSpread, 0.0f, 1.0f, new GUIContent(" Blur Distance")); + + EditorGUILayout.Separator (); + + EditorGUILayout.PropertyField (m_Mode, new GUIContent("Aberration")); + if (m_Mode.intValue>0) + { + EditorGUILayout.Slider(m_ChromaticAberration, 0.0f, 5.0f, new GUIContent(" Tangential Aberration")); + EditorGUILayout.Slider(m_AxialAberration, 0.0f, 5.0f, new GUIContent(" Axial Aberration")); + m_LuminanceDependency.floatValue = EditorGUILayout.Slider(" Contrast Dependency", m_LuminanceDependency.floatValue, 0.001f, 1.0f); + m_BlurDistance.floatValue = EditorGUILayout.Slider(" Blur Distance", m_BlurDistance.floatValue, 0.001f, 5.0f); + } + else + EditorGUILayout.PropertyField (m_ChromaticAberration, new GUIContent(" Chromatic Aberration")); + + m_SerObj.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Editor/ImageEffects/VignetteAndChromaticAberrationEditor.cs.meta b/Assets/Editor/ImageEffects/VignetteAndChromaticAberrationEditor.cs.meta new file mode 100644 index 0000000..278b4eb --- /dev/null +++ b/Assets/Editor/ImageEffects/VignetteAndChromaticAberrationEditor.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 08126bf2baa528c4cb9c60340a24e5d6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/External.meta b/Assets/External.meta new file mode 100644 index 0000000..53a0f7e --- /dev/null +++ b/Assets/External.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c9a59f9e0fc52e149a5e8a03038e1954 +folderAsset: yes +timeCreated: 1446065138 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor.meta b/Assets/External/AmplifyColor.meta new file mode 100644 index 0000000..22cb512 --- /dev/null +++ b/Assets/External/AmplifyColor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: de478742d320c534a8c4353607ee1542 +folderAsset: yes +timeCreated: 1448992503 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins.meta b/Assets/External/AmplifyColor/Plugins.meta new file mode 100644 index 0000000..a54b3f8 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d8eb449559debed41a87670ef19b5cc8 +folderAsset: yes +timeCreated: 1448992503 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/AmplifyColorBase.cs b/Assets/External/AmplifyColor/Plugins/AmplifyColorBase.cs new file mode 100644 index 0000000..c3974fa --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/AmplifyColorBase.cs @@ -0,0 +1,706 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +#if UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_4_8 || UNITY_4_9 +#define UNITY_4 +#endif +#if UNITY_5_0 || UNITY_5_1 || UNITY_5_2 || UNITY_5_3 || UNITY_5_4 || UNITY_5_5 || UNITY_5_6 || UNITY_5_7 || UNITY_5_8 || UNITY_5_9 +#define UNITY_5 +#endif +#if !UNITY_4 && !UNITY_5 +#define UNITY_3 +#endif + +using System; +using UnityEngine; +using System.Collections.Generic; +using AmplifyColor; + +namespace AmplifyColor +{ + public enum Quality + { + Mobile, + Standard + } +} + +[AddComponentMenu( "" )] +public class AmplifyColorBase : MonoBehaviour +{ + public const int LutSize = 32; + public const int LutWidth = LutSize * LutSize; + public const int LutHeight = LutSize; + + public AmplifyColor.Quality QualityLevel = AmplifyColor.Quality.Standard; + public float BlendAmount = 0f; + public Texture LutTexture = null; + public Texture LutBlendTexture = null; + public Texture MaskTexture = null; + public bool UseVolumes = false; + public float ExitVolumeBlendTime = 1.0f; + public Transform TriggerVolumeProxy = null; + public LayerMask VolumeCollisionMask = ~0; + + private Shader shaderBase = null; + private Shader shaderBlend = null; + private Shader shaderBlendCache = null; + private Shader shaderMask = null; + private Shader shaderBlendMask = null; + private RenderTexture blendCacheLut = null; + private Texture2D defaultLut = null; + private ColorSpace colorSpace = ColorSpace.Uninitialized; + private AmplifyColor.Quality qualityLevel = AmplifyColor.Quality.Standard; + + public Texture2D DefaultLut { get { return ( defaultLut == null ) ? CreateDefaultLut() : defaultLut ; } } + + private Material materialBase = null; + private Material materialBlend = null; + private Material materialBlendCache = null; + private Material materialMask = null; + private Material materialBlendMask = null; + + private bool blending; + private float blendingTime; + private float blendingTimeCountdown; + private System.Action onFinishBlend; + + private bool volumesBlending; + private float volumesBlendingTime; + private float volumesBlendingTimeCountdown; + private Texture volumesLutBlendTexture = null; + private float volumesBlendAmount = 0f; + + public bool IsBlending { get { return blending; } } + + private Texture worldLUT = null; + private AmplifyColorVolumeBase currentVolumeLut = null; + private RenderTexture midBlendLUT = null; + private bool blendingFromMidBlend = false; + + private VolumeEffect worldVolumeEffects = null; + private VolumeEffect currentVolumeEffects = null; + private VolumeEffect blendVolumeEffects = null; + private float effectVolumesBlendAdjust = 0.0f; + private float effectVolumesBlendAdjusted { get { return Mathf.Clamp01( effectVolumesBlendAdjust < 0.99f ? ( volumesBlendAmount - effectVolumesBlendAdjust ) / ( 1.0f - effectVolumesBlendAdjust ) : 1.0f ); } } + private List enteredVolumes = new List(); + private AmplifyColorTriggerProxy actualTriggerProxy = null; + + [HideInInspector] public VolumeEffectFlags EffectFlags = new VolumeEffectFlags(); + + [SerializeField, HideInInspector] private string sharedInstanceID = ""; + public string SharedInstanceID { get { return sharedInstanceID; } } + +#if TRIAL + private Texture2D watermark = null; +#endif + + public bool WillItBlend { get { return LutTexture != null && LutBlendTexture != null && !blending; } } + + public void NewSharedInstanceID() + { + sharedInstanceID = Guid.NewGuid().ToString(); + } + + void ReportMissingShaders() + { + Debug.LogError( "[AmplifyColor] Failed to initialize shaders. Please attempt to re-enable the Amplify Color Effect component. If that fails, please reinstall Amplify Color." ); + } + + void ReportNotSupported() + { + Debug.LogError( "[AmplifyColor] This image effect is not supported on this platform. Please make sure your Unity license supports Full-Screen Post-Processing Effects which is usually reserved forn Pro licenses." ); + } + + bool CheckShader( Shader s ) + { + if ( s == null ) + { + ReportMissingShaders(); + return false; + } + if ( !s.isSupported ) + { + ReportNotSupported(); + return false; + } + return true; + } + + bool CheckShaders() + { + return CheckShader( shaderBase ) && CheckShader( shaderBlend ) && CheckShader( shaderBlendCache ) && + CheckShader( shaderMask ) && CheckShader( shaderBlendMask ); + } + + bool CheckSupport() + { + // Disable if we don't support image effect or render textures + if ( !SystemInfo.supportsImageEffects || !SystemInfo.supportsRenderTextures ) + { + ReportNotSupported(); + return false; + } + return true; + } + + void OnEnable() + { + if ( !CheckSupport() ) + return; + + if ( !CreateMaterials() ) + return; + + Texture2D lutTex2d = LutTexture as Texture2D; + Texture2D lutBlendTex2d = LutBlendTexture as Texture2D; + + if ( ( lutTex2d != null && lutTex2d.mipmapCount > 1 ) || ( lutBlendTex2d != null && lutBlendTex2d.mipmapCount > 1 ) ) + Debug.LogError( "[AmplifyColor] Please disable \"Generate Mip Maps\" import settings on all LUT textures to avoid visual glitches. " + + "Change Texture Type to \"Advanced\" to access Mip settings." ); + + #if TRIAL + watermark = new Texture2D( 4, 4 ) { hideFlags = HideFlags.HideAndDontSave }; + watermark.LoadImage( AmplifyColor.Watermark.ImageData ); + #endif + } + + void OnDisable() + { + if ( actualTriggerProxy != null ) + { + DestroyImmediate( actualTriggerProxy.gameObject ); + actualTriggerProxy = null; + } + + ReleaseMaterials(); + ReleaseTextures(); + + #if TRIAL + if ( watermark != null ) + { + DestroyImmediate( watermark ); + watermark = null; + } + #endif + } + + private void VolumesBlendTo( Texture blendTargetLUT, float blendTimeInSec ) + { + volumesLutBlendTexture = blendTargetLUT; + volumesBlendAmount = 0.0f; + volumesBlendingTime = blendTimeInSec; + volumesBlendingTimeCountdown = blendTimeInSec; + volumesBlending = true; + + } + + public void BlendTo( Texture blendTargetLUT, float blendTimeInSec, System.Action onFinishBlend ) + { + LutBlendTexture = blendTargetLUT; + BlendAmount = 0.0f; + this.onFinishBlend = onFinishBlend; + blendingTime = blendTimeInSec; + blendingTimeCountdown = blendTimeInSec; + blending = true; + } + + private void Start() + { + worldLUT = LutTexture; + worldVolumeEffects = EffectFlags.GenerateEffectData( this ); + blendVolumeEffects = currentVolumeEffects = worldVolumeEffects; + } + + void Update() + { + if ( volumesBlending ) + { + volumesBlendAmount = ( volumesBlendingTime - volumesBlendingTimeCountdown ) / volumesBlendingTime; + volumesBlendingTimeCountdown -= Time.smoothDeltaTime; + + if ( volumesBlendAmount >= 1.0f ) + { + LutTexture = volumesLutBlendTexture; + volumesBlendAmount = 0.0f; + volumesBlending = false; + volumesLutBlendTexture = null; + + effectVolumesBlendAdjust = 0.0f; + currentVolumeEffects = blendVolumeEffects; + currentVolumeEffects.SetValues( this ); + + if ( blendingFromMidBlend && midBlendLUT != null ) + midBlendLUT.DiscardContents(); + + blendingFromMidBlend = false; + } + } + else + volumesBlendAmount = Mathf.Clamp01( volumesBlendAmount ); + + if ( blending ) + { + BlendAmount = ( blendingTime - blendingTimeCountdown ) / blendingTime; + blendingTimeCountdown -= Time.smoothDeltaTime; + + if ( BlendAmount >= 1.0f ) + { + LutTexture = LutBlendTexture; + BlendAmount = 0.0f; + blending = false; + LutBlendTexture = null; + + if ( onFinishBlend != null ) + onFinishBlend(); + } + } + else + BlendAmount = Mathf.Clamp01( BlendAmount ); + + if ( UseVolumes ) + { + if ( actualTriggerProxy == null ) + { + GameObject obj = new GameObject( name + "+ACVolumeProxy" ) { hideFlags = HideFlags.HideAndDontSave }; + actualTriggerProxy = obj.AddComponent(); + actualTriggerProxy.OwnerEffect = this; + } + + UpdateVolumes(); + } + else if ( actualTriggerProxy != null ) + { + DestroyImmediate( actualTriggerProxy.gameObject ); + actualTriggerProxy = null; + } + } + + public void EnterVolume( AmplifyColorVolumeBase volume ) + { + if ( !enteredVolumes.Contains( volume ) ) + enteredVolumes.Insert( 0, volume ); + } + + public void ExitVolume( AmplifyColorVolumeBase volume ) + { + if ( enteredVolumes.Contains( volume ) ) + enteredVolumes.Remove( volume ); + } + + private void UpdateVolumes() + { + if ( volumesBlending ) + currentVolumeEffects.BlendValues( this, blendVolumeEffects, effectVolumesBlendAdjusted ); + + Transform reference = ( TriggerVolumeProxy == null ) ? transform : TriggerVolumeProxy; + + if ( actualTriggerProxy.transform.parent != reference ) + { + actualTriggerProxy.Reference = reference; + actualTriggerProxy.gameObject.layer = reference.gameObject.layer; + } + + AmplifyColorVolumeBase foundVolume = null; + int maxPriority = int.MinValue; + + // Find volume with higher priority + foreach ( AmplifyColorVolumeBase vol in enteredVolumes ) + { + if ( vol.Priority > maxPriority ) + { + foundVolume = vol; + maxPriority = vol.Priority; + } + } + + // Trigger blend on volume transition + if ( foundVolume != currentVolumeLut ) + { + currentVolumeLut = foundVolume; + Texture blendTex = ( foundVolume == null ? worldLUT : foundVolume.LutTexture ); + float blendTime = ( foundVolume == null ? ExitVolumeBlendTime : foundVolume.EnterBlendTime ); + + if ( volumesBlending && !blendingFromMidBlend && blendTex == LutTexture ) + { + // Going back to previous volume optimization + LutTexture = volumesLutBlendTexture; + volumesLutBlendTexture = blendTex; + volumesBlendingTimeCountdown = blendTime * ( ( volumesBlendingTime - volumesBlendingTimeCountdown ) / volumesBlendingTime ); + volumesBlendingTime = blendTime; + currentVolumeEffects = VolumeEffect.BlendValuesToVolumeEffect( EffectFlags, currentVolumeEffects, blendVolumeEffects, effectVolumesBlendAdjusted ); + effectVolumesBlendAdjust = 1 - volumesBlendAmount; + volumesBlendAmount = 1 - volumesBlendAmount; + } + else + { + if ( volumesBlending ) + { + materialBlendCache.SetFloat( "_lerpAmount", volumesBlendAmount ); + + if ( blendingFromMidBlend ) + { + Graphics.Blit( midBlendLUT, blendCacheLut ); + materialBlendCache.SetTexture( "_RgbTex", blendCacheLut ); + } + else + materialBlendCache.SetTexture( "_RgbTex", LutTexture ); + + materialBlendCache.SetTexture( "_LerpRgbTex", ( volumesLutBlendTexture != null ) ? volumesLutBlendTexture : defaultLut ); + + Graphics.Blit( midBlendLUT, midBlendLUT, materialBlendCache ); + + blendCacheLut.DiscardContents(); + #if UNITY_4 + midBlendLUT.MarkRestoreExpected(); + #endif + + currentVolumeEffects = VolumeEffect.BlendValuesToVolumeEffect( EffectFlags, currentVolumeEffects, blendVolumeEffects, effectVolumesBlendAdjusted ); + effectVolumesBlendAdjust = 0.0f; + blendingFromMidBlend = true; + } + VolumesBlendTo( blendTex, blendTime ); + } + + blendVolumeEffects = ( foundVolume == null ? worldVolumeEffects : foundVolume.EffectContainer.GetVolumeEffect( this ) ); + if ( blendVolumeEffects == null ) + blendVolumeEffects = worldVolumeEffects; + } + } + + private void SetupShader() + { + colorSpace = QualitySettings.activeColorSpace; + qualityLevel = QualityLevel; + string linear = ( colorSpace == ColorSpace.Linear ) ? "Linear" : ""; + + shaderBase = Shader.Find( "Hidden/Amplify Color/Base" + linear ); + shaderBlend = Shader.Find( "Hidden/Amplify Color/Blend" + linear ); + shaderBlendCache = Shader.Find( "Hidden/Amplify Color/BlendCache" ); + shaderMask = Shader.Find( "Hidden/Amplify Color/Mask" + linear ); + shaderBlendMask = Shader.Find( "Hidden/Amplify Color/BlendMask" + linear ); + } + + private void ReleaseMaterials() + { + if ( materialBase != null ) + { + DestroyImmediate( materialBase ); + materialBase = null; + } + if ( materialBlend != null ) + { + DestroyImmediate( materialBlend ); + materialBlend = null; + } + if ( materialBlendCache != null ) + { + DestroyImmediate( materialBlendCache ); + materialBlendCache = null; + } + if ( materialMask != null ) + { + DestroyImmediate( materialMask ); + materialMask = null; + } + if ( materialBlendMask != null ) + { + DestroyImmediate( materialBlendMask ); + materialBlendMask = null; + } + } + + private Texture2D CreateDefaultLut() + { + const int maxSize = LutSize - 1; + + defaultLut = new Texture2D( LutWidth, LutHeight, TextureFormat.RGB24, false, true ) { hideFlags = HideFlags.HideAndDontSave }; + defaultLut.name = "DefaultLut"; + defaultLut.hideFlags = HideFlags.DontSave; + defaultLut.anisoLevel = 1; + defaultLut.filterMode = FilterMode.Bilinear; + Color32[] colors = new Color32[ LutWidth * LutHeight ]; + + for ( int z = 0; z < LutSize; z++ ) + { + int zoffset = z * LutSize; + + for ( int y = 0; y < LutSize; y++ ) + { + int yoffset = zoffset + y * LutWidth; + + for ( int x = 0; x < LutSize; x++ ) + { + float fr = x / ( float ) maxSize; + float fg = y / ( float ) maxSize; + float fb = z / ( float ) maxSize; + byte br = ( byte ) ( fr * 255 ); + byte bg = ( byte ) ( fg * 255 ); + byte bb = ( byte ) ( fb * 255 ); + colors[ yoffset + x ] = new Color32( br, bg, bb, 255 ); + } + } + } + + defaultLut.SetPixels32( colors ); + defaultLut.Apply(); + + return defaultLut; + } + + private void CreateHelperTextures() + { + ReleaseTextures(); + + blendCacheLut = new RenderTexture( LutWidth, LutHeight, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear ) { hideFlags = HideFlags.HideAndDontSave }; + blendCacheLut.name = "BlendCacheLut"; + blendCacheLut.wrapMode = TextureWrapMode.Clamp; + blendCacheLut.useMipMap = false; + blendCacheLut.anisoLevel = 0; + blendCacheLut.Create(); + + midBlendLUT = new RenderTexture( LutWidth, LutHeight, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear ) { hideFlags = HideFlags.HideAndDontSave }; + midBlendLUT.name = "MidBlendLut"; + midBlendLUT.wrapMode = TextureWrapMode.Clamp; + midBlendLUT.useMipMap = false; + midBlendLUT.anisoLevel = 0; + midBlendLUT.Create(); + #if UNITY_4 + midBlendLUT.MarkRestoreExpected(); + #endif + + CreateDefaultLut(); + } + + bool CheckMaterialAndShader( Material material, string name ) + { + if ( material == null || material.shader == null ) + Debug.LogError( "[AmplifyColor] Error creating " + name + " material. Effect disabled." ); + else if ( !material.shader.isSupported ) + Debug.LogError( "[AmplifyColor] " + name + " shader not supported on this platform. Effect disabled." ); + else + material.hideFlags = HideFlags.HideAndDontSave; + return enabled; + } + +#if !UNITY_3 + void SwitchToMobile( Material mat ) + { + mat.EnableKeyword( "AC_QUALITY_MOBILE" ); + mat.DisableKeyword( "AC_QUALITY_STANDARD" ); + } + + void SwitchToStandard( Material mat ) + { + mat.EnableKeyword( "AC_QUALITY_STANDARD" ); + mat.DisableKeyword( "AC_QUALITY_MOBILE" ); + } +#endif + + private bool CreateMaterials() + { + SetupShader(); + if ( !CheckShaders() ) + return false; + + ReleaseMaterials(); + + materialBase = new Material( shaderBase ); + materialBlend = new Material( shaderBlend ); + materialBlendCache = new Material( shaderBlendCache ); + materialMask = new Material( shaderMask ); + materialBlendMask = new Material( shaderBlendMask ); + + bool ok = true; + ok = ok && CheckMaterialAndShader( materialBase, "BaseMaterial" ); + ok = ok && CheckMaterialAndShader( materialBlend, "BlendMaterial" ); + ok = ok && CheckMaterialAndShader( materialBlendCache, "BlendCacheMaterial" ); + ok = ok && CheckMaterialAndShader( materialMask, "MaskMaterial" ); + ok = ok && CheckMaterialAndShader( materialBlendMask, "BlendMaskMaterial" ); + + if ( !ok ) + return false; + + if ( QualityLevel == AmplifyColor.Quality.Mobile ) + { + #if UNITY_3 + Shader.EnableKeyword( "AC_QUALITY_MOBILE" ); + Shader.DisableKeyword( "AC_QUALITY_STANDARD" ); + #else + SwitchToMobile( materialBase ); + SwitchToMobile( materialBlend ); + SwitchToMobile( materialBlendCache ); + SwitchToMobile( materialMask ); + SwitchToMobile( materialBlendMask ); + #endif + } + else + { + #if UNITY_3 + Shader.DisableKeyword( "AC_QUALITY_MOBILE" ); + Shader.EnableKeyword( "AC_QUALITY_STANDARD" ); + #else + SwitchToStandard( materialBase ); + SwitchToStandard( materialBlend ); + SwitchToStandard( materialBlendCache ); + SwitchToStandard( materialMask ); + SwitchToStandard( materialBlendMask ); + #endif + } + + CreateHelperTextures(); + return true; + } + + private void ReleaseTextures() + { + if ( blendCacheLut != null ) + { + DestroyImmediate( blendCacheLut ); + blendCacheLut = null; + } + + if ( midBlendLUT != null ) + { + DestroyImmediate( midBlendLUT ); + midBlendLUT = null; + } + + if ( defaultLut != null ) + { + DestroyImmediate( defaultLut ); + defaultLut = null; + } + } + + public static bool ValidateLutDimensions( Texture lut ) + { + bool valid = true; + if ( lut != null ) + { + if ( ( lut.width / lut.height ) != lut.height ) + { + Debug.LogWarning( "[AmplifyColor] Lut " + lut.name + " has invalid dimensions." ); + valid = false; + } + else + { + if ( lut.anisoLevel != 0 ) + lut.anisoLevel = 0; + } + } + return valid; + } + + private void OnRenderImage( RenderTexture source, RenderTexture destination ) + { + BlendAmount = Mathf.Clamp01( BlendAmount ); + + if ( colorSpace != QualitySettings.activeColorSpace || qualityLevel != QualityLevel ) + CreateMaterials(); + + bool validLut = ValidateLutDimensions( LutTexture ); + bool validLutBlend = ValidateLutDimensions( LutBlendTexture ); + bool skip = ( LutTexture == null && LutBlendTexture == null && volumesLutBlendTexture == null ); + + if ( !validLut || !validLutBlend || skip ) + { + Graphics.Blit( source, destination ); + return; + } + + Texture lut = ( LutTexture == null ) ? defaultLut : LutTexture; + Texture lutBlend = LutBlendTexture; + + int pass = !GetComponent().hdr ? 0 : 1; + bool blend = ( BlendAmount != 0.0f ) || blending; + bool requiresBlend = blend || ( blend && lutBlend != null ); + bool useBlendCache = requiresBlend; + + Material material; + if ( requiresBlend || volumesBlending ) + { + if ( MaskTexture != null ) + material = materialBlendMask; + else + material = materialBlend; + } + else + { + if ( MaskTexture != null ) + material = materialMask; + else + material = materialBase; + } + + material.SetFloat( "_lerpAmount", BlendAmount ); + if ( MaskTexture != null ) + material.SetTexture( "_MaskTex", MaskTexture ); + + if ( volumesBlending ) + { + volumesBlendAmount = Mathf.Clamp01( volumesBlendAmount ); + materialBlendCache.SetFloat( "_lerpAmount", volumesBlendAmount ); + + if ( blendingFromMidBlend ) + materialBlendCache.SetTexture( "_RgbTex", midBlendLUT ); + else + materialBlendCache.SetTexture( "_RgbTex", lut ); + + materialBlendCache.SetTexture( "_LerpRgbTex", ( volumesLutBlendTexture != null ) ? volumesLutBlendTexture : defaultLut ); + + Graphics.Blit( lut, blendCacheLut, materialBlendCache ); + } + + if ( useBlendCache ) + { + materialBlendCache.SetFloat( "_lerpAmount", BlendAmount ); + + RenderTexture temp = null; + if ( volumesBlending ) + { + temp = RenderTexture.GetTemporary( blendCacheLut.width, blendCacheLut.height, blendCacheLut.depth, blendCacheLut.format, RenderTextureReadWrite.Linear ); + + Graphics.Blit( blendCacheLut, temp ); + + materialBlendCache.SetTexture( "_RgbTex", temp ); + } + else + materialBlendCache.SetTexture( "_RgbTex", lut ); + + materialBlendCache.SetTexture( "_LerpRgbTex", ( lutBlend != null ) ? lutBlend : defaultLut ); + + Graphics.Blit( lut, blendCacheLut, materialBlendCache ); + + if ( temp != null ) + RenderTexture.ReleaseTemporary( temp ); + + material.SetTexture( "_RgbBlendCacheTex", blendCacheLut ); + + } + else if ( volumesBlending ) + { + material.SetTexture( "_RgbBlendCacheTex", blendCacheLut ); + } + else + { + if ( lut != null ) + material.SetTexture( "_RgbTex", lut ); + if ( lutBlend != null ) + material.SetTexture( "_LerpRgbTex", lutBlend ); + } + + Graphics.Blit( source, destination, material, pass ); + + if ( useBlendCache || volumesBlending ) + blendCacheLut.DiscardContents(); + } + +#if TRIAL + void OnGUI() + { + if ( watermark != null ) + GUI.DrawTexture( new Rect( 15, Screen.height - watermark.height - 12, watermark.width, watermark.height ), watermark ); + } +#endif +} diff --git a/Assets/External/AmplifyColor/Plugins/AmplifyColorBase.cs.meta b/Assets/External/AmplifyColor/Plugins/AmplifyColorBase.cs.meta new file mode 100644 index 0000000..48c0ee7 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/AmplifyColorBase.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 544d7113f2240ba4ca0e854ddf1d5cb2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/AmplifyColorEffect.cs b/Assets/External/AmplifyColor/Plugins/AmplifyColorEffect.cs new file mode 100644 index 0000000..b241481 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/AmplifyColorEffect.cs @@ -0,0 +1,12 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using UnityEngine; + +[ImageEffectTransformsToLDR] +[ExecuteInEditMode] +[AddComponentMenu( "Image Effects/Amplify Color" )] +sealed public class AmplifyColorEffect : AmplifyColorBase +{ +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/AmplifyColorEffect.cs.meta b/Assets/External/AmplifyColor/Plugins/AmplifyColorEffect.cs.meta new file mode 100644 index 0000000..7cabcd7 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/AmplifyColorEffect.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6b9e31fdf962e3e4ca3b62ec3ecc2f4e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/AmplifyColorTriggerProxy.cs b/Assets/External/AmplifyColor/Plugins/AmplifyColorTriggerProxy.cs new file mode 100644 index 0000000..045d1ab --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/AmplifyColorTriggerProxy.cs @@ -0,0 +1,31 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent( typeof( Rigidbody ) )] +[RequireComponent( typeof( SphereCollider ) )] +[AddComponentMenu( "" )] +public class AmplifyColorTriggerProxy : MonoBehaviour +{ + public Transform Reference; + public AmplifyColorBase OwnerEffect; + + private SphereCollider sphereCollider; + private Rigidbody rigidBody; + + void Start() + { + sphereCollider = GetComponent(); + sphereCollider.radius = 0.01f; + sphereCollider.isTrigger = true; + + rigidBody = GetComponent(); + rigidBody.useGravity = false; + rigidBody.isKinematic = true; + } + + void LateUpdate() + { + transform.position = Reference.position; + transform.rotation = Reference.rotation; + } +} diff --git a/Assets/External/AmplifyColor/Plugins/AmplifyColorTriggerProxy.cs.meta b/Assets/External/AmplifyColor/Plugins/AmplifyColorTriggerProxy.cs.meta new file mode 100644 index 0000000..c1cd6f8 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/AmplifyColorTriggerProxy.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 98bffd318ecbfb74a94d9ab8c4140834 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/AmplifyColorVolume.cs b/Assets/External/AmplifyColor/Plugins/AmplifyColorVolume.cs new file mode 100644 index 0000000..a969cdd --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/AmplifyColorVolume.cs @@ -0,0 +1,21 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent( typeof( BoxCollider ) )] +[AddComponentMenu( "Image Effects/Amplify Color Volume" )] +public class AmplifyColorVolume : AmplifyColorVolumeBase +{ + void OnTriggerEnter( Collider other ) + { + AmplifyColorTriggerProxy tp = other.GetComponent(); + if ( tp != null && tp.OwnerEffect.UseVolumes && ( tp.OwnerEffect.VolumeCollisionMask & ( 1 << gameObject.layer ) ) != 0 ) + tp.OwnerEffect.EnterVolume( this ); + } + + void OnTriggerExit( Collider other ) + { + AmplifyColorTriggerProxy tp = other.GetComponent(); + if ( tp != null && tp.OwnerEffect.UseVolumes && ( tp.OwnerEffect.VolumeCollisionMask & ( 1 << gameObject.layer ) ) != 0 ) + tp.OwnerEffect.ExitVolume( this ); + } +} diff --git a/Assets/External/AmplifyColor/Plugins/AmplifyColorVolume.cs.meta b/Assets/External/AmplifyColor/Plugins/AmplifyColorVolume.cs.meta new file mode 100644 index 0000000..559ac75 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/AmplifyColorVolume.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 80a2ce78f94161948a5dcf16ec84f0c4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/AmplifyColorVolumeBase.cs b/Assets/External/AmplifyColor/Plugins/AmplifyColorVolumeBase.cs new file mode 100644 index 0000000..59400d6 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/AmplifyColorVolumeBase.cs @@ -0,0 +1,42 @@ +using UnityEngine; +using System.Collections; +using AmplifyColor; + +[AddComponentMenu( "" )] +public class AmplifyColorVolumeBase : MonoBehaviour +{ + public Texture2D LutTexture; + public float EnterBlendTime = 1.0f; + public int Priority = 0; + public bool ShowInSceneView = true; + + [HideInInspector] public VolumeEffectContainer EffectContainer = new VolumeEffectContainer(); + + void OnDrawGizmos() + { + if ( ShowInSceneView ) + { + BoxCollider bc = GetComponent(); + if ( bc != null ) + { + Gizmos.color = Color.green; + Gizmos.DrawIcon( transform.position, "lut-volume.png", true ); + Gizmos.matrix = transform.localToWorldMatrix; + Gizmos.DrawWireCube( bc.center, bc.size ); + } + } + } + + void OnDrawGizmosSelected() + { + BoxCollider bc = GetComponent(); + if ( bc != null ) + { + Color col = Color.green; + col.a = 0.2f; + Gizmos.color = col; + Gizmos.matrix = transform.localToWorldMatrix; + Gizmos.DrawCube( bc.center, bc.size ); + } + } +} diff --git a/Assets/External/AmplifyColor/Plugins/AmplifyColorVolumeBase.cs.meta b/Assets/External/AmplifyColor/Plugins/AmplifyColorVolumeBase.cs.meta new file mode 100644 index 0000000..3c11812 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/AmplifyColorVolumeBase.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 96e3345975b3bdb4ca8a26a5785692a0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor.meta b/Assets/External/AmplifyColor/Plugins/Editor.meta new file mode 100644 index 0000000..245970f --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 355faf3b9260d9344824e4bbc0196854 +folderAsset: yes +timeCreated: 1448992503 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/About.cs b/Assets/External/AmplifyColor/Plugins/Editor/About.cs new file mode 100644 index 0000000..dd5b311 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/About.cs @@ -0,0 +1,88 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace AmplifyColor +{ + public class About : EditorWindow + { + private const string AboutImagePath = "AmplifyColor/Textures/About.png"; + private Vector2 m_scrollPosition = Vector2.zero; + private Texture2D m_aboutImage; + + [MenuItem( "Window/Amplify Color/About...", false, 2 )] + static void Init() + { + About window = ( About ) EditorWindow.GetWindow( typeof( About ) , true , "About Amplify Color" ); + window.minSize = new Vector2( 502, 290 ); + window.maxSize = new Vector2( 502, 290 ); + window.Show(); + } + + public void OnFocus() + { + string[] guids = AssetDatabase.FindAssets( "About t:Texture" ); + string asset = ""; + + foreach ( string guid in guids ) + { + string path = AssetDatabase.GUIDToAssetPath( guid ); + if ( path.EndsWith( AboutImagePath ) ) + { + asset = path; + break; + } + } + + if ( !string.IsNullOrEmpty( asset ) ) + { + TextureImporter importer = AssetImporter.GetAtPath( asset ) as TextureImporter; + + if ( importer.textureType != TextureImporterType.GUI ) + { + importer.textureType = TextureImporterType.GUI; + AssetDatabase.ImportAsset( asset ); + } + + m_aboutImage = AssetDatabase.LoadAssetAtPath( asset, typeof( Texture2D ) ) as Texture2D; + } + else + Debug.LogWarning( "[AmplifyColor] About image not found at " + AboutImagePath ); + } + + public void OnGUI() + { + m_scrollPosition = GUILayout.BeginScrollView( m_scrollPosition ); + + GUILayout.BeginVertical(); + + GUILayout.Space( 10 ); + + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + GUILayout.Box( m_aboutImage, GUIStyle.none ); + + if ( Event.current.type == EventType.MouseUp && GUILayoutUtility.GetLastRect().Contains( Event.current.mousePosition ) ) + Application.OpenURL( "http://www.amplify.pt" ); + + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); + + GUIStyle labelStyle = new GUIStyle( EditorStyles.label ); + labelStyle.alignment = TextAnchor.MiddleCenter; + labelStyle.wordWrap = true; + + GUILayout.Label( "\nAmplify Color " + VersionInfo.StaticToString(), labelStyle, GUILayout.ExpandWidth( true ) ); + + GUILayout.Label( "\nCopyright (c) Amplify Creations, Lda. All rights reserved.\n", labelStyle, GUILayout.ExpandWidth( true ) ); + + GUILayout.EndVertical(); + + GUILayout.EndScrollView(); + } + } +} diff --git a/Assets/External/AmplifyColor/Plugins/Editor/About.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/About.cs.meta new file mode 100644 index 0000000..03b6f88 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/About.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3d40c53f54c673248966d89bc163cfa2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorEffectEditor.cs b/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorEffectEditor.cs new file mode 100644 index 0000000..96bd0d7 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorEffectEditor.cs @@ -0,0 +1,106 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +#if UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_4_8 || UNITY_4_9 +#define UNITY_4 +#endif +#if UNITY_5_0 || UNITY_5_1 || UNITY_5_2 || UNITY_5_3 || UNITY_5_4 || UNITY_5_5 || UNITY_5_6 || UNITY_5_7 || UNITY_5_8 || UNITY_5_9 +#define UNITY_5 +#endif +#if !UNITY_4 && !UNITY_5 +#define UNITY_3 +#endif + +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System; +using UnityEditor; +using System.Reflection; +using AmplifyColor; + +[CustomEditor( typeof( AmplifyColorEffect ) )] +class AmplifyColorEffectEditor : Editor +{ + void OnEnable() + { + if ( !Application.isPlaying ) + { + AmplifyColorBase effect = target as AmplifyColorBase; + + bool needsNewID = string.IsNullOrEmpty( effect.SharedInstanceID ); + if ( !needsNewID ) + needsNewID = FindClone( effect ); + + if ( needsNewID ) + { + effect.NewSharedInstanceID(); + EditorUtility.SetDirty( target ); + //Debug.Log( "Assigned new instance ID to " + effect.name + " => " + effect.SharedInstanceID ); + } + } + } + + bool FindClone( AmplifyColorBase effect ) + { + GameObject effectPrefab = PrefabUtility.GetPrefabParent( effect.gameObject ) as GameObject; + PrefabType effectPrefabType = PrefabUtility.GetPrefabType( effect.gameObject ); + bool effectIsPrefab = ( effectPrefabType != PrefabType.None && effectPrefabType != PrefabType.PrefabInstance ); + bool effectHasPrefab = ( effectPrefab != null ); + + AmplifyColorBase[] all = Resources.FindObjectsOfTypeAll( typeof( AmplifyColorBase ) ) as AmplifyColorBase[]; + bool foundClone = false; + + foreach ( AmplifyColorBase other in all ) + { + if ( other == effect || other.SharedInstanceID != effect.SharedInstanceID ) + { + // skip: same effect or already have different ids + continue; + } + + GameObject otherPrefab = PrefabUtility.GetPrefabParent( other.gameObject ) as GameObject; + PrefabType otherPrefabType = PrefabUtility.GetPrefabType( other.gameObject ); + bool otherIsPrefab = ( otherPrefabType != PrefabType.None && otherPrefabType != PrefabType.PrefabInstance ); + bool otherHasPrefab = ( otherPrefab != null ); + + if ( otherIsPrefab && effectHasPrefab && effectPrefab == other.gameObject ) + { + // skip: other is a prefab and effect's prefab is other + continue; + } + + if ( effectIsPrefab && otherHasPrefab && otherPrefab == effect.gameObject ) + { + // skip: effect is a prefab and other's prefab is effect + continue; + } + + if ( !effectIsPrefab && !otherIsPrefab && effectHasPrefab && otherHasPrefab && effectPrefab == otherPrefab ) + { + // skip: both aren't prefabs and both have the same parent prefab + continue; + } + + foundClone = true; + } + + return foundClone; + } + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + //AmplifyColorBase effect = target as AmplifyColorBase; + //GUILayout.Label( effect.SharedInstanceID.ToString() ); + // + //if ( GUILayout.Button( "NEW ID" ) ) + //{ + // effect.NewSharedInstanceID(); + // EditorUtility.SetDirty( target ); + //} + } +} diff --git a/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorEffectEditor.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorEffectEditor.cs.meta new file mode 100644 index 0000000..fbb3355 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorEffectEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6c5ad8cd8e5b47c4ebfb585c86a6e4b8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorVolumeEditor.cs b/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorVolumeEditor.cs new file mode 100644 index 0000000..3eefe6a --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorVolumeEditor.cs @@ -0,0 +1,747 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +#if UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_4_8 || UNITY_4_9 +#define UNITY_4 +#endif +#if UNITY_5_0 || UNITY_5_1 || UNITY_5_2 || UNITY_5_3 || UNITY_5_4 || UNITY_5_5 || UNITY_5_6 || UNITY_5_7 || UNITY_5_8 || UNITY_5_9 +#define UNITY_5 +#endif +#if !UNITY_4 && !UNITY_5 +#define UNITY_3 +#endif + +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System; +using UnityEditor; +using System.Reflection; +using AmplifyColor; + +class NewLineContainer +{ + public AmplifyColorBase camera; + public string component; + public string fieldName; + public string fieldType; + public object value; + + public NewLineContainer() + { + } + + public NewLineContainer( AmplifyColorBase camera ) + { + this.camera = camera; + } + + public NewLineContainer( AmplifyColorBase camera, string component ) + { + this.camera = camera; + this.component = component; + } + + public NewLineContainer( AmplifyColorBase camera, string component, string fieldName, string fieldType, object value ) + { + this.camera = camera; + this.component = component; + this.fieldName = fieldName; + this.fieldType = fieldType; + this.value = value; + } + + public static string GenerateUniqueID( AmplifyColorBase camera, string component, string fieldName ) + { + return camera.GetInstanceID().ToString() + "." + component + "." + fieldName; + } + + public string GenerateUniqueID() + { + return ( ( camera != null ) ? camera.GetInstanceID().ToString() : "" ) + "." + component + "." + fieldName; + } + + public void SetCamera( AmplifyColorBase camera ) + { + this.camera = camera; + component = ""; + fieldName = ""; + fieldType = ""; + value = null; + } + + public void SetComponent( string component ) + { + this.component = component; + fieldName = ""; + fieldType = ""; + value = null; + } +} + +public class AmplifyColorVolumeEditor : EditorWindow +{ + private Vector2 scrollPosition = new Vector2( 0, 0 ); + private GUIStyle removeButtonStyle; + + [MenuItem( "Window/Amplify Color/Volume Editor", false, 1 )] + public static void Init() + { + GetWindow( false, "Volume Editor", true ); + } + + void OnGUI() + { + scrollPosition = GUILayout.BeginScrollView( scrollPosition ); + + if ( removeButtonStyle == null ) + { + removeButtonStyle = new GUIStyle( EditorStyles.miniButton ); + removeButtonStyle.border = new RectOffset( 0, 0, 0, 0 ); + removeButtonStyle.margin = new RectOffset( 0, 0, 1, 0 ); + removeButtonStyle.padding = new RectOffset( 0, 0, 0, 0 ); + removeButtonStyle.contentOffset = new Vector2( 0, 0 ); + } + + DrawVolumeList(); + + GUILayout.EndScrollView(); + } + + const int iconMinWidth = 20, iconMaxWidth = 43; + const int activeMinWidth = 10, activeMaxWidth = 40; + const int visibleMinWidth = 10, visibleMaxWidth = 40; + const int selectWidth = 16; + const int nameMinWidth = 59, nameMaxWidth = 305; + const int blendMinWidth = 20, blendMaxWidth = 94; + const int priorityMinWidth = 20, priorityMaxWidth = 40; + const int lutWidth = 40; + + const int minIndentWidth = 0, maxIndentWidth = 8; + const int minColumnWidth = 19, maxColumnWidth = 90; + const int minValueWidth = 100, maxValueWidth = 200; + + private Texture2D volumeIcon = null; + private string editName = ""; + private GameObject editObject = null; + private Dictionary copyLines = new Dictionary(); + private Dictionary> newLines; + private bool dirtyVolumeFlags = false; + + public void OnEnable() + { + newLines = new Dictionary>(); + removeButtonStyle = null; + copyLines.Clear(); + } + + static string GetEditorPrefsKey( AmplifyColorVolume volume ) + { + return "AmplifyColor.VolumeEditor.Foldout." + volume.GetHashCode(); + } + + bool SetFoldout( AmplifyColorVolume volume, bool state ) + { + EditorPrefs.SetBool( GetEditorPrefsKey( volume ), state ); + return state; + } + + bool GetFoldout( AmplifyColorVolume volume ) + { + string key = GetEditorPrefsKey( volume ); + if ( !EditorPrefs.HasKey( key ) ) + EditorPrefs.SetBool( key, false ); + return EditorPrefs.GetBool( key ); + } + + void DrawHeader( List volumes ) + { + GUILayout.BeginHorizontal(); + GUILayout.Space( 10 ); + if ( volumes.Count > 0 ) + { + EditorGUILayout.LabelField( "", GUILayout.MinWidth( iconMinWidth ), GUILayout.MaxWidth( iconMaxWidth - 8 ) ); + GUILayout.Space( 0 ); + EditorGUILayout.LabelField( "Active", EditorStyles.miniBoldLabel, GUILayout.MinWidth( activeMinWidth ), GUILayout.MaxWidth( activeMaxWidth ) ); + GUILayout.Space( 4 ); + EditorGUILayout.LabelField( "Visible", EditorStyles.miniBoldLabel, GUILayout.MinWidth( visibleMinWidth ), GUILayout.MaxWidth( visibleMaxWidth ) ); + GUILayout.Space( 3 ); + EditorGUILayout.LabelField( "", EditorStyles.miniBoldLabel, GUILayout.Width( selectWidth ) ); + GUILayout.Space( 10 ); + EditorGUILayout.LabelField( "Name", EditorStyles.miniBoldLabel, GUILayout.MinWidth( nameMinWidth ), GUILayout.MaxWidth( nameMaxWidth ) ); + GUILayout.Space( 8 ); + EditorGUILayout.LabelField( "Blend Time", EditorStyles.miniBoldLabel, GUILayout.MinWidth( blendMinWidth ), GUILayout.MaxWidth( blendMaxWidth ) ); + GUILayout.Space( 3 ); + EditorGUILayout.LabelField( "Priority", EditorStyles.miniBoldLabel, GUILayout.MinWidth( priorityMinWidth ), GUILayout.MaxWidth( priorityMaxWidth ) ); + GUILayout.Space( 1 ); + EditorGUILayout.LabelField( "LUT", EditorStyles.miniBoldLabel, GUILayout.Width( lutWidth ) ); + } + else + { + EditorGUILayout.LabelField( "No Amplify Color Volumes were found in the scene.", EditorStyles.wordWrappedLabel ); + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + } + + void DrawVolumeProperties( AmplifyColorVolume volume ) + { + GameObject obj = volume.gameObject; + + GUILayout.BeginHorizontal(); + GUILayout.Space( 10 ); + + volumeIcon = ( volumeIcon == null ) ? Resources.Load( "volume-icon", typeof( Texture2D ) ) as Texture2D : volumeIcon; + GUILayout.Label( volumeIcon, GUILayout.MinWidth( iconMinWidth ), GUILayout.MaxWidth( iconMaxWidth ) ); + + GUILayout.Space( 0 ); + + #if UNITY_3 + bool active = obj.active; + #else + bool active = obj.activeInHierarchy; + #endif + bool keep = EditorGUILayout.Toggle( active, GUILayout.MinWidth( activeMinWidth ), GUILayout.MaxWidth( activeMaxWidth ) ); + if ( keep != active ) + { + #if UNITY_3 + obj.active = keep; + #else + obj.SetActive( keep ); + #endif + } + + GUILayout.Space( 6 ); + + volume.ShowInSceneView = EditorGUILayout.Toggle( volume.ShowInSceneView, GUILayout.MinWidth( visibleMinWidth ), GUILayout.MaxWidth( visibleMaxWidth ) ); + + GUILayout.Space( 6 ); + + GUI.skin.textField.fontSize = 10; + GUI.skin.textField.alignment = TextAnchor.UpperCenter; + if ( GUILayout.Button( ( Selection.activeObject == obj ) ? "●" : "", EditorStyles.textField, GUILayout.Width( 16 ), GUILayout.Height( 16 ) ) ) + Selection.activeObject = ( Selection.activeObject == obj ) ? null : obj; + + GUILayout.Space( 0 ); + + GUI.skin.textField.fontSize = 11; + GUI.skin.textField.alignment = TextAnchor.MiddleLeft; + + string instId = obj.GetInstanceID().ToString(); + GUI.SetNextControlName( instId ); + + if ( editObject != obj ) + EditorGUILayout.TextField( obj.name, GUILayout.MinWidth( nameMinWidth ), GUILayout.MaxWidth( nameMaxWidth ) ); + else + editName = EditorGUILayout.TextField( editName, GUILayout.MinWidth( nameMinWidth ), GUILayout.MaxWidth( nameMaxWidth ) ); + + if ( GUI.GetNameOfFocusedControl() == instId ) + { + if ( editObject != obj ) + { + editName = obj.name; + editObject = obj; + } + } + if ( Event.current.type == EventType.KeyUp && Event.current.keyCode == KeyCode.Return && editObject == obj ) + { + obj.name = editName; + editName = ""; + editObject = null; + Repaint(); + } + + GUILayout.Space( 3 ); + + #if UNITY_3 + EditorGUIUtility.LookLikeControls( 5 ); + #else + EditorGUIUtility.labelWidth = 5; + #endif + volume.EnterBlendTime = EditorGUILayout.FloatField( " ", volume.EnterBlendTime, GUILayout.MinWidth( blendMinWidth ), GUILayout.MaxWidth( blendMaxWidth ) ); + + GUILayout.Space( 3 ); + + volume.Priority = EditorGUILayout.IntField( " ", volume.Priority, GUILayout.MinWidth( priorityMinWidth ), GUILayout.MaxWidth( priorityMaxWidth ) ); + + GUILayout.EndHorizontal(); + } + + void DrawVolumeEffects( AmplifyColorVolume volume ) + { + GUIStyle layerTitleStyle = new GUIStyle( EditorStyles.miniBoldLabel ); + layerTitleStyle.alignment = TextAnchor.MiddleLeft; + layerTitleStyle.margin = new RectOffset( 0, 0, 0, 0 ); + + GUIStyle foldoutTitleStyle = new GUIStyle( EditorStyles.foldout ); + foldoutTitleStyle.fontSize = 10; + + GUILayout.BeginHorizontal(); + GUILayout.Space( 10 ); + GUILayout.Label( "", GUILayout.MinWidth( iconMinWidth ), GUILayout.MaxWidth( iconMaxWidth - 10 ) ); + GUILayout.Space( 2 ); + + GUILayout.BeginVertical(); + GUILayout.Space( 0 ); + + GUILayout.BeginHorizontal(); + bool foldout = SetFoldout( volume, EditorGUILayout.Foldout( GetFoldout( volume ), "Blend Effects", foldoutTitleStyle ) ); + GUILayout.EndHorizontal(); + + GUILayout.Space( 3 ); + + if ( foldout ) + DrawVolumeEffectFields( volume ); + + GUILayout.EndVertical(); + + GUILayout.Space( 0 ); + GUILayout.EndHorizontal(); + } + + Vector4 DrawFixedVector4Field( Vector4 vec ) + { + Vector3 xyz = new Vector3( vec.x, vec.y, vec.z ); + xyz = EditorGUILayout.Vector3Field( "", xyz, GUILayout.MinWidth( minValueWidth / 4 * 3 - 4 ), GUILayout.MaxWidth( maxValueWidth / 4 * 3 - 4 ), GUILayout.MaxHeight( 16 ) ); + #if UNITY_3 + EditorGUIUtility.LookLikeControls( 16 ); + #else + EditorGUIUtility.labelWidth = 16; + #endif + float w = EditorGUILayout.FloatField( "W", vec.w, GUILayout.MinWidth( minValueWidth / 4 ), GUILayout.MaxWidth( maxValueWidth / 4 ), GUILayout.MaxHeight( 16 ) ); + return new Vector4( xyz.x, xyz.y, xyz.z, w ); + } + + void DrawVolumeEffectFields( AmplifyColorVolume volume ) + { + List effectsToDelete = new List(); + float removeButtonSize = 16; + + List volumeLines = null; + if ( !( newLines.TryGetValue( volume, out volumeLines ) ) ) + volumeLines = newLines[ volume ] = new List(); + + GUIStyle minusStyle = new GUIStyle( ( GUIStyle ) "OL Minus" ); + GUIStyle plusStyle = new GUIStyle( ( GUIStyle ) "OL Plus" ); + minusStyle.margin.top = 2; + plusStyle.margin.top = 2; + + #region CurrentEffectFields + int fieldPosition = 0; + foreach ( VolumeEffect effectVol in volume.EffectContainer.volumes ) + { + if ( effectVol.gameObject == null ) + continue; + + AmplifyColorBase effect = effectVol.gameObject; + List compsToDelete = new List(); + + foreach ( VolumeEffectComponent comp in effectVol.components ) + { + Component c = effect.GetComponent( comp.componentName ); + if ( c == null ) + continue; + + List fieldsToDelete = new List(); + List> fieldsToAdd = new List>(); + + foreach ( VolumeEffectField field in comp.fields ) + { + EditorGUILayout.BeginHorizontal(); + GUILayout.Label( "", GUILayout.MinWidth( minIndentWidth ), GUILayout.MaxWidth( maxIndentWidth ) ); + GUILayout.Space( 0 ); + + if ( GUILayout.Button( "", minusStyle, GUILayout.MinWidth( 18 ), GUILayout.MaxWidth( 18 ), GUILayout.Height( 20 ) ) ) + fieldsToDelete.Add( field ); + + Camera selectedCamera = EditorGUILayout.ObjectField( effect.GetComponent(), typeof( Camera ), true, GUILayout.MinWidth( minColumnWidth * 1.5f ), GUILayout.MaxWidth( maxColumnWidth * 1.5f ) ) as Camera; + AmplifyColorBase selectedEffect = ( selectedCamera != null ) ? selectedCamera.GetComponent() : null; + if ( selectedEffect != effect ) + { + fieldsToDelete.Add( field ); + dirtyVolumeFlags = true; + volumeLines.Add( new NewLineContainer( selectedEffect ) ); + } + + Component[] compArray = VolumeEffect.ListAcceptableComponents( effectVol.gameObject ); + List compFlagsArray = compArray.Select( s => s.GetType().Name ).ToList(); + compFlagsArray.Remove( comp.componentName ); + string[] compNamesArray = new string[] { comp.componentName }.Concat( compFlagsArray ).ToArray(); + int selectedComponent = 0; + selectedComponent = EditorGUILayout.Popup( selectedComponent, compNamesArray, GUILayout.MinWidth( minColumnWidth ), GUILayout.MaxWidth( maxColumnWidth ) ); + if ( selectedComponent != 0 ) + { + volumeLines.Add( new NewLineContainer( effect, compNamesArray[ selectedComponent ] ) ); + fieldsToDelete.Add( field ); + dirtyVolumeFlags = true; + } + + FieldInfo[] fieldArray = VolumeEffectComponent.ListAcceptableFields( c ); + string[] fieldFlagsArray = fieldArray.Select( s => s.Name ).ToArray(); + string[] fieldNamesArray = comp.GetFieldNames(); + fieldFlagsArray = fieldFlagsArray.Except( fieldNamesArray ).ToArray(); + + List names = new List(); + names.Add( field.fieldName ); + names.AddRange( fieldFlagsArray ); + for ( int i = 0; i < names.Count; i++ ) + { + if ( i == 0 ) + continue; + + FieldInfo fi = Array.Find( fieldArray, s => ( names[ i ] == s.Name ) ); + if ( fi != null ) + names[ i ] += " : " + fi.FieldType.Name; + } + + int selectedField = 0; + selectedField = EditorGUILayout.Popup( selectedField, names.ToArray(), GUILayout.MinWidth( minColumnWidth ), GUILayout.MaxWidth( maxColumnWidth ) ); + if ( selectedField != 0 ) + { + fieldsToAdd.Add( new KeyValuePair( fieldFlagsArray[ selectedField - 1 ], fieldPosition ) ); + fieldsToDelete.Add( field ); + dirtyVolumeFlags = true; + } + fieldPosition++; + + switch ( field.fieldType ) + { + case "System.Single": field.valueSingle = EditorGUILayout.FloatField( field.valueSingle, GUILayout.MinWidth( minValueWidth ), GUILayout.MaxWidth( maxValueWidth ) ); break; + case "System.Boolean": field.valueBoolean = EditorGUILayout.Toggle( "", field.valueBoolean, GUILayout.MinWidth( minValueWidth ), GUILayout.MaxWidth( maxValueWidth ) ); break; + case "UnityEngine.Vector2": field.valueVector2 = EditorGUILayout.Vector2Field( "", field.valueVector2, GUILayout.MinWidth( minValueWidth ), GUILayout.MaxWidth( maxValueWidth ), GUILayout.MaxHeight( 16 ) ); break; + case "UnityEngine.Vector3": field.valueVector3 = EditorGUILayout.Vector3Field( "", field.valueVector3, GUILayout.MinWidth( minValueWidth ), GUILayout.MaxWidth( maxValueWidth ), GUILayout.MaxHeight( 16 ) ); break; + case "UnityEngine.Vector4": field.valueVector4 = DrawFixedVector4Field( field.valueVector4 ); break; + case "UnityEngine.Color": field.valueColor = EditorGUILayout.ColorField( field.valueColor, GUILayout.MinWidth( minValueWidth ), GUILayout.MaxWidth( maxValueWidth ) ); break; + default: EditorGUILayout.LabelField( field.fieldType, GUILayout.MinWidth( minValueWidth ), GUILayout.MaxWidth( maxValueWidth ) ); break; + } + + // COPY TO CLIPBOARD + string luid = NewLineContainer.GenerateUniqueID( effect, comp.componentName, field.fieldName ); + bool copied = copyLines.ContainsKey( luid ); + bool keep = GUILayout.Toggle( copied, "c", removeButtonStyle, GUILayout.Width( removeButtonSize ), GUILayout.Height( removeButtonSize ) ); + if ( keep != copied ) + { + if ( keep ) + { + object valueCopy = null; + switch ( field.fieldType ) + { + case "System.Single": valueCopy = field.valueSingle; break; + case "System.Boolean": valueCopy = field.valueBoolean; break; + case "UnityEngine.Vector2": valueCopy = field.valueVector2; break; + case "UnityEngine.Vector3": valueCopy = field.valueVector3; break; + case "UnityEngine.Vector4": valueCopy = field.valueVector4; break; + case "UnityEngine.Color": valueCopy = field.valueColor; break; + } + copyLines.Add( luid, new NewLineContainer( effect, comp.componentName, field.fieldName, field.fieldType, valueCopy ) ); + } + else + copyLines.Remove( luid ); + + //Debug.Log( "CopyComplete: " + luid + ", " + keep + ", " + volume.name ); + } + + EditorGUILayout.EndHorizontal(); + GUILayout.Space( 2 ); + } + + bool fieldRemoved = false; + foreach ( VolumeEffectField field in fieldsToDelete ) + { + comp.RemoveEffectField( field ); + fieldRemoved = true; + } + + foreach ( KeyValuePair pair in fieldsToAdd ) + { + FieldInfo pi = c.GetType().GetField( pair.Key); + if ( pi != null ) + comp.AddField( pi, c, pair.Value ); + } + + if ( fieldRemoved && comp.fields.Count <= 0 ) + compsToDelete.Add( comp ); + } + + bool compRemoved = false; + foreach ( VolumeEffectComponent comp in compsToDelete ) + { + effectVol.RemoveEffectComponent( comp ); + compRemoved = true; + } + + if ( compRemoved && effectVol.components.Count <= 0 ) + effectsToDelete.Add( effectVol ); + } + + foreach ( VolumeEffect effectVol in effectsToDelete ) + volume.EffectContainer.RemoveVolumeEffect( effectVol ); + #endregion CurrentEffectFields + + #region NewLines + List linesToDelete = new List(); + foreach ( NewLineContainer line in volumeLines ) + { + EditorGUILayout.BeginHorizontal(); + GUILayout.Label( "", GUILayout.MinWidth( minIndentWidth ), GUILayout.MaxWidth( maxIndentWidth ) ); + GUILayout.Space( 0 ); + + if ( GUILayout.Button( "", minusStyle, GUILayout.MinWidth( 18 ), GUILayout.MaxWidth( 18 ), GUILayout.Height( 20 ) ) ) + linesToDelete.Add( line ); + + Camera selectedCamera = EditorGUILayout.ObjectField( line.camera, typeof( Camera ), true, GUILayout.MinWidth( minColumnWidth * 1.5f ), GUILayout.MaxWidth( maxColumnWidth * 1.5f ) ) as Camera; + AmplifyColorBase selectedEffect = ( selectedCamera != null ) ? selectedCamera.GetComponent() : null; + if ( selectedEffect != null && selectedEffect != line.camera ) + line.SetCamera( selectedEffect ); + + VolumeEffect effectVol = null; + if ( line.camera != null ) + effectVol = volume.EffectContainer.GetVolumeEffect( line.camera ); + + if ( line.camera != null ) + { + Component[] compArray = VolumeEffect.ListAcceptableComponents( line.camera ); + List names = compArray.Select( s => s.GetType().Name ).ToList(); + int popupSelected = names.IndexOf( line.component ) + 1; + names.Insert( 0, "" ); + int selectedComponent = popupSelected; + selectedComponent = EditorGUILayout.Popup( selectedComponent, names.ToArray(), GUILayout.MinWidth( minColumnWidth ), GUILayout.MaxWidth( maxColumnWidth ) ); + if ( selectedComponent != popupSelected ) + line.SetComponent( selectedComponent == 0 ? null : names[ selectedComponent ] ); + } + else + { + GUI.enabled = false; + EditorGUILayout.Popup( 0, new string[] { "" }, GUILayout.MaxWidth( maxColumnWidth ) ); + GUI.enabled = true; + } + + Component c = ( line.camera == null ) ? null : line.camera.GetComponent( line.component ); + + VolumeEffectComponent comp = null; + if ( effectVol != null ) + comp = effectVol.GetEffectComponent( line.component ); + + if ( c != null ) + { + FieldInfo[] fieldArray = VolumeEffectComponent.ListAcceptableFields( c ); + string[] fieldFlagsArray = fieldArray.Select( s => s.Name ).ToArray(); + if ( comp != null ) + { + string[] fieldNamesArray = comp.GetFieldNames(); + fieldFlagsArray = fieldFlagsArray.Except( fieldNamesArray ).ToArray(); + } + + List names = fieldFlagsArray.ToList(); + for ( int i = 0; i < names.Count; i++ ) + { + FieldInfo fi = Array.Find( fieldArray, s => ( names[ i ] == s.Name ) ); + if ( fi != null ) + names[ i ] += " : " + fi.FieldType.Name; + } + names.Insert( 0, "" ); + + int selectedField = 0; + selectedField = EditorGUILayout.Popup( selectedField, names.ToArray(), GUILayout.MinWidth( minColumnWidth ), GUILayout.MaxWidth( maxColumnWidth ) ); + if ( selectedField > 0 ) + { + FieldInfo pi = c.GetType().GetField( fieldFlagsArray[ selectedField - 1 ] ); + if ( pi != null ) + { + if ( effectVol == null ) + effectVol = volume.EffectContainer.AddJustColorEffect( line.camera ); + + if ( comp == null ) + comp = effectVol.AddComponent( c, null ); + + comp.AddField( pi, c ); + linesToDelete.Add( line ); + dirtyVolumeFlags = true; + } + } + + EditorGUILayout.LabelField( "", GUILayout.MinWidth( minValueWidth ), GUILayout.MaxWidth( maxValueWidth ) ); + } + else + { + GUI.enabled = false; + EditorGUILayout.Popup( 0, new string[] { "" }, GUILayout.MaxWidth( maxColumnWidth ) ); + EditorGUILayout.TextField( "", GUILayout.MinWidth( minValueWidth ), GUILayout.MaxWidth( maxValueWidth ) ); + GUI.enabled = true; + } + + if ( line.camera != null ) + { + string luid = NewLineContainer.GenerateUniqueID( line.camera, line.component, line.fieldName ); + bool copied = copyLines.ContainsKey( luid ); + bool keep = GUILayout.Toggle( copied, "c", removeButtonStyle, GUILayout.Width( removeButtonSize ), GUILayout.Height( removeButtonSize ) ); + if ( keep != copied ) + { + if ( keep ) + copyLines.Add( luid, new NewLineContainer( line.camera, line.component, line.fieldName, line.fieldType, line.value ) ); + else + copyLines.Remove( luid ); + + //Debug.Log( "CopyIncomplete: " + luid + ", " + keep + ", " + volume.name ); + } + } + else + { + GUI.enabled = false; + GUILayout.Button( "c", removeButtonStyle, GUILayout.Width( removeButtonSize ), GUILayout.Height( removeButtonSize ) ); + GUI.enabled = true; + } + + EditorGUILayout.EndHorizontal(); + GUILayout.Space( 2 ); + } + + foreach ( NewLineContainer line in linesToDelete ) + { + copyLines.Remove( line.GenerateUniqueID() ); + //Debug.Log( "Removed " + line.GenerateUniqueID() ); + volumeLines.Remove( line ); + } + #endregion NewLines + + #region AddPaste + EditorGUILayout.BeginHorizontal(); + GUILayout.Label( "", GUILayout.MinWidth( minIndentWidth ), GUILayout.MaxWidth( maxIndentWidth ) ); + GUILayout.Space( 0 ); + + bool add = GUILayout.Button( "", plusStyle, GUILayout.MinWidth( 18 ), GUILayout.MaxWidth( 18 ), GUILayout.Height( 20 ) ); + if ( add || GUILayout.Button( "Add New", GUILayout.MinWidth( minColumnWidth ), GUILayout.MaxWidth( maxColumnWidth ), GUILayout.Height( 20 ) ) ) + volumeLines.Add( new NewLineContainer() ); + + GUI.enabled = ( copyLines.Count > 0 ); + if ( GUILayout.Button( "Paste", GUILayout.MinWidth( minColumnWidth ), GUILayout.MaxWidth( maxColumnWidth ), GUILayout.Height( 20 ) ) ) + { + foreach ( var pair in copyLines ) + { + NewLineContainer line = pair.Value; + Component c = ( line.camera == null ) ? null : line.camera.GetComponent( line.component ); + FieldInfo pi = ( c != null ) ? c.GetType().GetField( line.fieldName ) : null; + + if ( pi == null ) + volumeLines.Add( new NewLineContainer( line.camera, line.component, line.fieldName, line.fieldType, line.value ) ); + else + { + VolumeEffect effectVol = volume.EffectContainer.GetVolumeEffect( line.camera ); + if ( effectVol == null ) + effectVol = volume.EffectContainer.AddJustColorEffect( line.camera ); + + VolumeEffectComponent comp = effectVol.GetEffectComponent( line.component ); + if ( comp == null ) + comp = effectVol.AddComponent( c, null ); + + VolumeEffectField field = comp.GetEffectField( line.fieldName ); + if ( field == null ) + field = comp.AddField( pi, c ); + else + Debug.LogWarning( "[AmplifyColor] Blend Effect field already added to Volume " + volume.name + "." ); + + field.UpdateValue( line.value ); + } + } + + dirtyVolumeFlags = true; + } + GUI.enabled = true; + + EditorGUILayout.EndHorizontal(); + GUILayout.Space( 5 ); + #endregion AddPaste + } + + void DrawLut( AmplifyColorVolume volume ) + { + GUILayout.Space( 0 ); + volume.LutTexture = ( Texture2D ) EditorGUILayout.ObjectField( volume.LutTexture, typeof( Texture2D ), false, GUILayout.Width( lutWidth ), GUILayout.Height( lutWidth ) ); + GUILayout.FlexibleSpace(); + GUILayout.Space( 5 ); + } + + void DrawLineSeparator() + { + GUILayout.BeginHorizontal(); + GUILayout.Space( 10 ); + GUILayout.Label( "", GUILayout.MinWidth( iconMinWidth ), GUILayout.MaxWidth( iconMaxWidth - 10 ) ); + GUILayout.Space( 4 ); + GUILayout.BeginVertical(); + GUILayout.Box( "", GUILayout.MaxWidth( 538 ), GUILayout.Height( 1 ) ); + GUILayout.EndVertical(); + GUILayout.Space( 5 ); + GUILayout.EndHorizontal(); + } + + private double searchDelayDuration = 0.25f; + private double searchDelayStart = EditorApplication.timeSinceStartup; + private AmplifyColorVolume[] volumeList; + + private void DrawVolumeList() + { + double searchDelayElapsed = EditorApplication.timeSinceStartup - searchDelayStart; + if ( volumeList == null || searchDelayElapsed > searchDelayDuration ) + { + volumeList = Resources.FindObjectsOfTypeAll( typeof( AmplifyColorVolume ) ) as AmplifyColorVolume[]; + searchDelayStart = EditorApplication.timeSinceStartup; + } + + List filtered = volumeList.OrderBy( o => o.name ).ToList(); + + GUILayout.BeginVertical(); + GUILayout.Space( 15 ); + + DrawHeader( filtered ); + + GUILayout.Space( 15 ); + + dirtyVolumeFlags = false; + + foreach ( AmplifyColorVolume volume in filtered ) + { + GUILayout.BeginHorizontal(); + GUILayout.BeginVertical(); + + DrawVolumeProperties( volume ); + + EditorGUILayout.Separator(); + + DrawVolumeEffects( volume ); + + GUILayout.Space( 3 ); + GUILayout.EndVertical(); + + DrawLut( volume ); + + GUILayout.EndHorizontal(); + + DrawLineSeparator(); + } + + if ( dirtyVolumeFlags ) + { + GUI.FocusControl( "" ); + AmplifyColorBase[] effects = Resources.FindObjectsOfTypeAll( typeof( AmplifyColorBase ) ) as AmplifyColorBase[]; + AmplifyColorVolumeBase[] volumes = Resources.FindObjectsOfTypeAll( typeof( AmplifyColorVolumeBase ) ) as AmplifyColorVolumeBase[]; + VolumeEffectFlags.UpdateCamFlags( effects, volumes ); + } + + GUILayout.EndVertical(); + + if ( GUI.changed ) + SceneView.RepaintAll(); + } + + [MenuItem( "GameObject/Create Other/Amplify Color Volume", false, 12409 )] + private static void createColorVolume() + { + GameObject go = new GameObject( "Amplify Color Volume" ); + BoxCollider bc = go.AddComponent(); + bc.isTrigger = true; + go.AddComponent( Type.GetType( "AmplifyColorVolume, Assembly-CSharp" ) ); + Selection.activeObject = go; + } +} diff --git a/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorVolumeEditor.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorVolumeEditor.cs.meta new file mode 100644 index 0000000..c7299f7 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/AmplifyColorVolumeEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6c081e84f351b6b41bf1be4754c33340 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/BackBufferHandler.cs b/Assets/External/AmplifyColor/Plugins/Editor/BackBufferHandler.cs new file mode 100644 index 0000000..3b44d4d --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/BackBufferHandler.cs @@ -0,0 +1,98 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using UnityEditor; +using UnityEngine; + +namespace AmplifyColor +{ + public class BackBufferHandler + { + private readonly CameraCollection _cameras; + + public BackBufferHandler( CameraCollection cameras ) + { + _cameras = cameras; + } + + public bool ReadBackBuffer( out ImageResult imageResult ) + { + imageResult = null; + + if ( _cameras == null ) + { + Debug.LogError( "[AmplifyColor] Camera collection is invalid." ); + return false; + } + + var camera = _cameras.SelectedCamera; + + if ( camera == null ) + { + Debug.LogError( "[AmplifyColor] Selected camera is invalid." ); + return false; + } + + var component = ( MonoBehaviour ) camera.GetComponent(); + bool enabled = false; + + if ( !ToolSettings.Instance.ApplyLUT ) + { + if ( component != null ) + { + enabled = component.enabled; + component.enabled = false; + } + } + + var width = ToolSettings.Instance.Resolution.TargetWidth; + var height = ToolSettings.Instance.Resolution.TargetHeight; + + //if (ToolSettings.Instance.Resolution.IsGameWindowSize) + //{ + // width = Screen.width; + // height = Screen.height; + //} + + var cameratarget = camera.targetTexture; + + var rt = RenderTexture.GetTemporary( width, height, 24, RenderTextureFormat.ARGB32 ); + camera.targetTexture = rt; + camera.Render(); + camera.targetTexture = cameratarget; + + var activert = RenderTexture.active; + RenderTexture.active = rt; + var text = new Texture2D( width, height, TextureFormat.ARGB32, false ); + text.ReadPixels( new Rect( 0, 0, width, height ), 0, 0 ); + text.Apply(); + RenderTexture.active = activert; + var colors = text.GetPixels( 0, 0, width, height ); + + var colordata = new Color[ width, height ]; + + for ( int i = height - 1; i >= 0; i-- ) + { + for ( int j = 0; j < width; j++ ) + { + colordata[ j, ( height - 1 - i ) ] = colors[ i * width + j ]; + colordata[ j, ( height - 1 - i ) ].a = 1; + } + } + + if ( !ToolSettings.Instance.ApplyLUT ) + { + if ( component != null ) + component.enabled = enabled; + } + + imageResult = new ImageResult( colordata ); + + return true; + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/BackBufferHandler.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/BackBufferHandler.cs.meta new file mode 100644 index 0000000..23f50a7 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/BackBufferHandler.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a17467deec097824e81d75a962e828cf +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/CameraCollection.cs b/Assets/External/AmplifyColor/Plugins/Editor/CameraCollection.cs new file mode 100644 index 0000000..e50121a --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/CameraCollection.cs @@ -0,0 +1,146 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace AmplifyColor +{ + public class CameraCollection + { + private string[] _cameraNames; + private Camera _selectedCamera; + private int _selectedIndex = -1; + private string _selectedCameraName; + private List _camerasList; + private List _namesList; + + public string SelectedCameraName + { + get { return _selectedCameraName; } + } + + public string[] CameraNames + { + get + { + return _cameraNames; + } + } + + public int SelectedIndex + { + get { return _selectedIndex; } + set + { + _selectedIndex = value; + SetupCamera(); + } + } + + public Camera SelectedCamera + { + get { return _selectedCamera; } + } + + private void SetupCamera() + { + try + { + _selectedCameraName = _camerasList[ _selectedIndex ].name; + } + catch ( Exception ) + { + _selectedIndex = 0; + _selectedCameraName = ""; + + return; + } + } + + public void GenerateCameraList() + { + var cameras = Camera.allCameras; + + if ( cameras == null || cameras.Length == 0 ) + { + _selectedCameraName = "No cameras were found in the scene"; + _selectedCamera = null; + _selectedIndex = 0; + _camerasList = new List(); + _cameraNames = new[] { _selectedCameraName }; + _namesList = new List( _cameraNames ); + + return; + } + + _camerasList = new List(); + + for ( int i = 0; i < cameras.Length; i++ ) + { + //bool hidden = (cameras[i].hideFlags & HideFlags.HideAndDontSave) != 0 || + // (cameras[i].hideFlags & HideFlags.HideInHierarchy) != 0 || + // (cameras[i].hideFlags & HideFlags.HideInInspector) != 0; + + //if (!hidden) + _camerasList.Add( cameras[ i ] ); + } + + _namesList = new List(); + + foreach ( var camera in _camerasList ) + { + _namesList.Add( camera.name ); + } + + int index = _namesList.IndexOf( _selectedCameraName ?? "" ); + + if ( index >= 0 ) + { + _selectedIndex = index; + } + else + { + if ( Camera.main == null ) + index = 0; + else + index = _namesList.IndexOf( Camera.main.name ); + + _selectedIndex = index >= 0 ? index : 0; + } + + _cameraNames = _namesList.ToArray(); + _selectedCamera = _camerasList[ _selectedIndex ]; + _selectedCameraName = _selectedCamera.name; + } + + public Texture2D GetCurrentEffectTexture() + { + var camera = SelectedCamera; + + if ( camera == null ) + { + return null; + } + + var component = ( MonoBehaviour ) camera.GetComponent(); + + if ( component != null ) + { + Texture2D texture = null; + try + { + var propInfo = component.GetType().GetField( "LutTexture" ); + texture = ( Texture2D ) propInfo.GetValue( component ); + } + catch ( System.Exception ) + { + } + return texture; + } + + return null; + } + } +} diff --git a/Assets/External/AmplifyColor/Plugins/Editor/CameraCollection.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/CameraCollection.cs.meta new file mode 100644 index 0000000..1280d89 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/CameraCollection.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 45784efbbdcc7064681835eac45c4ea1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/EncryptDecrypt.cs b/Assets/External/AmplifyColor/Plugins/Editor/EncryptDecrypt.cs new file mode 100644 index 0000000..eb0807f --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/EncryptDecrypt.cs @@ -0,0 +1,57 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using System.Security.Cryptography; +using System.Text; + +namespace AmplifyColor +{ + public class EncryptDecrypt + { + private readonly ICryptoTransform _eCipher; + private readonly ICryptoTransform _dCipher; + + // these must match the values used in Photoshop DO NOT CHANGE + // get the password from the dialog settings in Photoshop + private readonly char[] _salt = { 'A', 'd', 'o', 'b', 'e', ' ', 'P', 'h', 'o', 't', 'o', 's', 'h', 'o', 'p' }; + private const int IterationCount = 1000; + private const int KeyLength = 24; + + public EncryptDecrypt( String passPhrase ) + { + var encoder = new ASCIIEncoding(); + //byte[] bytepass = encoder.GetBytes(passPhrase); + byte[] bytesalt = encoder.GetBytes( _salt ); + + var tripleDes = new TripleDESCryptoServiceProvider + { + Mode = CipherMode.CBC, + Padding = PaddingMode.PKCS7, + }; + + + + var rfc2898DeriveBytes = new Rfc2898DeriveBytes( passPhrase, bytesalt, IterationCount ); + var key = rfc2898DeriveBytes.GetBytes( KeyLength ); + + var empty = new byte[ 8 ]; + _eCipher = tripleDes.CreateEncryptor( key, empty ); + _dCipher = tripleDes.CreateDecryptor( key, empty ); + + } + + public byte[] encrypt( byte[] data ) + { + byte[] encryptedBytes = _eCipher.TransformFinalBlock( data, 0, data.Length ); + return encryptedBytes; + } + + + public byte[] decrypt( byte[] data ) + { + byte[] decryptedBytes = _dCipher.TransformFinalBlock( data, 0, data.Length ); + return decryptedBytes; + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/EncryptDecrypt.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/EncryptDecrypt.cs.meta new file mode 100644 index 0000000..78c6c07 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/EncryptDecrypt.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f7b3a08005fb4a046836ee6a570501b4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/FileHandler.cs b/Assets/External/AmplifyColor/Plugins/Editor/FileHandler.cs new file mode 100644 index 0000000..ae07b5b --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/FileHandler.cs @@ -0,0 +1,139 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System.IO; +using UnityEngine; +using UnityEditor; + +namespace AmplifyColor +{ + public class FileHandler + { + private readonly BackBufferHandler _backBufferHandler; + private readonly LUTWriter _lutWriter; + private readonly ToolSettings _settings; + private readonly CameraCollection _cameraCollection; + + public FileHandler( BackBufferHandler backBufferHandler, LUTWriter lutWriter, ToolSettings settings, CameraCollection cameraCollection ) + { + _backBufferHandler = backBufferHandler; + _lutWriter = lutWriter; + _settings = settings; + _cameraCollection = cameraCollection; + } + + public void SaveToFile() + { + ImageResult imageResult; + if ( _backBufferHandler.ReadBackBuffer( out imageResult ) ) + { + var path = EditorUtility.SaveFilePanel( "Save reference file", _settings.FilePath ?? "", "reference", "png" ); + if ( !string.IsNullOrEmpty( path ) ) + { + _settings.FilePath = path; + + if ( _settings.AddLut ) + { + Texture2D luttexture = _cameraCollection.GetCurrentEffectTexture(); + + if ( _settings.ApplyLUT && luttexture != null ) + { + if ( !imageResult.AddLUTFromTexture( _settings.LUT, luttexture ) ) + { + _settings.Message = "Couldnt add the LUT to the image. Try changing the lut size or settings"; + + return; + } + } + else + { + if ( !imageResult.AddLUT( _settings.LUT ) ) + { + _settings.Message = "Couldnt add the LUT to the image. Try changing the lut size or settings"; + + return; + } + } + } + + var texture = imageResult.GenerateTexture2D(); + + if ( texture != null ) + { + File.WriteAllBytes( _settings.FilePath, texture.EncodeToPNG() ); + }; + } + } + else + { + _settings.Message = "No camera selected"; + } + } + + public void ReadFromFile() + { + var path = EditorUtility.OpenFilePanel( "Load graded file", _settings.FilePath ?? "", "png" ); + if ( !string.IsNullOrEmpty( path ) ) + { + _settings.FilePath = path; + + if ( File.Exists( _settings.FilePath ) ) + { + var data = File.ReadAllBytes( _settings.FilePath ); + + var screenshottexture = new Texture2D( 16, 16, TextureFormat.ARGB32, false ); + screenshottexture.LoadImage( data ); + + var imageResult = ImageResult.FromTexture( screenshottexture ); + + if ( imageResult != null ) + { + LUTResult lutResult = imageResult.GetLUT( _settings.LUT ); + + if ( lutResult != null ) + { + _lutWriter.SaveLUT( lutResult ); + } + } + } + } + } + + public void Reload() + { + if ( string.IsNullOrEmpty( _settings.FilePath ) ) + { + ReadFromFile(); + return; + } + + if ( File.Exists( _settings.FilePath ) ) + { + var data = File.ReadAllBytes( _settings.FilePath ); + + var screenshottexture = new Texture2D( 16, 16, TextureFormat.ARGB32, false ); + screenshottexture.LoadImage( data ); + + var imageResult = ImageResult.FromTexture( screenshottexture ); + + if ( imageResult != null ) + { + LUTResult lutResult = imageResult.GetLUT( _settings.LUT ); + + if ( lutResult != null ) + { + _lutWriter.SaveLUT( lutResult ); + } + } + } + else + { + if ( EditorUtility.DisplayDialog( "File doesnt exist", "Target file doesn't exit. Please select a new one.", "ok", "cancel" ) ) + { + ReadFromFile(); + return; + } + } + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/FileHandler.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/FileHandler.cs.meta new file mode 100644 index 0000000..3d888a1 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/FileHandler.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ad3b4a7acbb8cd54aa0a0eb6739e92f3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/ImageResult.cs b/Assets/External/AmplifyColor/Plugins/Editor/ImageResult.cs new file mode 100644 index 0000000..92999e7 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/ImageResult.cs @@ -0,0 +1,288 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using System.Linq; +using UnityEngine; + +namespace AmplifyColor +{ + public class ImageResult + { + public ImageResult( Color[ , ] colorData ) + { + ColorData = colorData; + Width = colorData.GetLength( 0 ); + Height = colorData.GetLength( 1 ); + } + + public Color[ , ] ColorData { get; private set; } + + public int Width { get; private set; } + + public int Height { get; private set; } + + public Texture2D GenerateTexture2D() + { + var data = new Color[ Width * Height ]; + + for ( int h = Height - 1, i = 0; h >= 0; h-- ) + { + for ( int w = 0; w < Width; w++ ) + { + data[ i++ ] = ColorData[ w, h ]; + } + } + + var texture = new Texture2D( Width, Height ); + texture.SetPixels( data ); + + return texture; + } + + public Color[] GenerateColorArray() + { + var data = new Color[ Width * Height ]; + + for ( int h = 0, i = 0; h < Height; h++ ) + { + for ( int w = 0; w < Width; w++ ) + { + data[ i++ ] = ColorData[ w, h ]; + } + } + + return data; + } + + public byte[] GenerateRGBData() + { + var data = new byte[ Width * Height * 3 ]; + + for ( int h = 0, i = 0; h < Height; h++ ) + { + for ( int w = 0; w < Width; w++ ) + { + var color = ColorData[ w, h ]; + data[ i++ ] = ( byte ) ( color.r * 255 ); + data[ i++ ] = ( byte ) ( color.g * 255 ); + data[ i++ ] = ( byte ) ( color.b * 255 ); + } + } + + return data; + } + + public bool AddLUT( LUTSettings settings ) + { + int size = settings.Size; + int columns = settings.Columns; + int rows = settings.Rows; + + if ( Width < columns * size ) + { + return false; + } + + if ( Height < rows * size ) + { + return false; + } + + var data = ColorData; + + for ( int r = 0; r < rows; r++ ) + { + for ( int c = 0; c < columns; c++ ) + { + for ( int h = 0; h < size; h++ ) + { + for ( int w = 0; w < size; w++ ) + { + int row = r * size + h; + int col = c * size + w; + float rf = ( float ) w / ( size - 1 ); + float gf = ( float ) h / ( size - 1 ); + float bf = ( float ) ( c + r * columns ) / ( size - 1 ); + data[ col, row ] = new Color( rf, gf, bf ); + } + } + } + } + + return true; + } + + public static ImageResult FromPhotoshopResult( byte[] decryptedBytes ) + { + int imageWidth = GetBigEndianInt( decryptedBytes, 1 ); + int imageHeight = GetBigEndianInt( decryptedBytes, 5 ); + + var bytesize = imageWidth * imageHeight * 3; + + const int headerLength = 16; + + if ( bytesize + headerLength > decryptedBytes.Length ) + { + return null; + } + + var imageData = new Color[ imageWidth, imageHeight ]; + + for ( int i = 0, k = headerLength; i < imageHeight; i++ ) + { + for ( int j = 0; j < imageWidth; j++ ) + { + imageData[ j, i ] = new Color( decryptedBytes[ k++ ] / 255f, decryptedBytes[ k++ ] / 255f, decryptedBytes[ k++ ] / 255f, 1f ); + } + } + + return new ImageResult( imageData ); + } + + private static readonly byte[] Temp = new byte[ 4 ]; + private static int GetBigEndianInt( byte[] bytes, int offset ) + { + if ( bytes.Length <= offset + 4 ) + { + return -1; + } + + for ( int j = 0, i = 3; j < 4; j++, i-- ) + { + Temp[ j ] = bytes[ offset + i ]; + } + + return BitConverter.ToInt32( Temp, 0 ); + } + + public static ImageResult FromTexture( Texture2D texture ) + { + if ( texture == null ) + { + return null; + } + + var width = texture.width; + var height = texture.height; + + if ( width == 0 || height == 0 ) + { + return null; + } + + var data = texture.GetPixels(); + + var colorData = new Color[ width, height ]; + + for ( int h = 0; h < height; h++ ) + { + for ( int w = 0; w < width; w++ ) + { + int index = w + ( height - h - 1 ) * width; + colorData[ w, h ] = data[ index ]; + } + } + + return new ImageResult( colorData ); + } + + public LUTResult GetLUT( LUTSettings lutSettings ) + { + int size = lutSettings.Size; + int columns = lutSettings.Columns; + int rows = lutSettings.Rows; + + if ( Width < columns * size ) + { + return null; + } + + if ( Height < rows * size ) + { + return null; + } + + Color[ , , ] data = new Color[ size, size, size ]; + var colorData = ColorData; + + for ( int r = 0; r < rows; r++ ) + { + for ( int c = 0; c < columns; c++ ) + { + for ( int h = 0; h < size; h++ ) + { + for ( int w = 0; w < size; w++ ) + { + int row = r * size + h; + int col = c * size + w; + int stack = ( c + r * columns ); + data[ w, h, stack ] = colorData[ col, row ]; + } + } + } + } + + return new LUTResult( data ); + } + + public bool AddLUTFromTexture( LUTSettings lutSettings, Texture2D lutTexture ) + { + if ( lutSettings == null || lutTexture == null ) + { + return false; + } + + var size = lutTexture.height; + + if ( size != lutSettings.Size ) + { + return false; + } + + var irt = FromTexture( lutTexture ); + + var lut = irt.GetLUT( new LUTSettings( size, 1 ) ); + + if ( lut == null ) + { + return false; + } + + int columns = lutSettings.Columns; + int rows = lutSettings.Rows; + + if ( Width < columns * size ) + { + return false; + } + + if ( Height < rows * size ) + { + return false; + } + + var lutdata = lut.Data; + var data = ColorData; + + for ( int r = 0; r < rows; r++ ) + { + for ( int c = 0; c < columns; c++ ) + { + for ( int h = 0; h < size; h++ ) + { + for ( int w = 0; w < size; w++ ) + { + int row = r * size + h; + int col = c * size + w; + //data[col, row] = new Color((float)w / size, (float)h / size, (float)(c + r * columns) / size); + data[ col, row ] = lutdata[ w, size - h - 1, ( c + r * columns ) ]; + } + } + } + } + + return true; + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/ImageResult.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/ImageResult.cs.meta new file mode 100644 index 0000000..795fd9e --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/ImageResult.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b4a9c4655c6830d42a6546458c862981 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/LUTEditor.cs b/Assets/External/AmplifyColor/Plugins/Editor/LUTEditor.cs new file mode 100644 index 0000000..e2526e8 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/LUTEditor.cs @@ -0,0 +1,310 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System.IO; +using UnityEditor; +using UnityEngine; + +// For Unity3 compatability +public class LUTEditor : AmplifyColor.LUTEditorInternal +{ +} + +namespace AmplifyColor +{ + public class LUTEditorInternal : EditorWindow + { + public ToolSettings Settings { get { return ToolSettings.Instance; } } + + protected PhotoshopConnection Connection { get; set; } + + protected PhotoshopProtocol PhotoshopProtocol { get; set; } + + protected CameraCollection Cameras { get; set; } + + protected BackBufferHandler BackBufferHandler { get; set; } + + protected LUTWriter LUTWriter { get; set; } + + protected PhotoshopHandler PhotoshopHandler { get; set; } + + protected FileHandler FileHandler { get; set; } + + private bool lut_foldout = false; + private bool conn_foldout = false; + + [MenuItem( "Window/Amplify Color/LUT Editor", false, 0 )] + public static void Init() + { + GetWindow( false, "LUT Editor", true ); + } + + void OnEnable() + { + Connection = new PhotoshopConnection(); + + PhotoshopProtocol = new PhotoshopProtocol( Connection ); + + Cameras = new CameraCollection(); + + BackBufferHandler = new BackBufferHandler( Cameras ); + + LUTWriter = new LUTWriter(); + + PhotoshopHandler = new PhotoshopHandler( PhotoshopProtocol, BackBufferHandler, LUTWriter, Settings, Cameras ); + + FileHandler = new FileHandler( BackBufferHandler, LUTWriter, Settings, Cameras ); + + Cameras.GenerateCameraList(); + } + + + void OnDestroy() + { + } + + Vector2 _scrollPosition = new Vector2( 0, 0 ); + + void OnGUI() + { + _scrollPosition = GUILayout.BeginScrollView( _scrollPosition ); + + Settings.SelectedTab = EditorPrefs.GetInt( "AmplifyColor.SelectedTab", 3 ); + + Settings.SelectedTab = GUILayout.Toolbar( Settings.SelectedTab, new[] { "Photoshop", "File", "Settings" } ); + + EditorPrefs.SetInt( "AmplifyColor.SelectedTab", Settings.SelectedTab ); + + switch ( Settings.SelectedTab ) + { + case 0: + ShowReadBackBufferGUI(); + ShowGUIPhotoshop(); + ShowGUITargetFile(); + ShowGUIStatusBar(); + ShowLUTChecklist(); + break; + case 1: + ShowReadBackBufferGUI(); + ShowGUIFile(); + ShowGUITargetFile(); + ShowGUIStatusBar(); + break; + case 2: + ShowGUISettings(); + ShowGUIStatusBar(); + ShowConnectionChecklist(); + break; + } + + GUILayout.EndScrollView(); + } + + + + private void ShowLUTChecklist() + { + EditorGUILayout.Space(); + EditorGUILayout.Separator(); + EditorGUILayout.Space(); + + lut_foldout = EditorGUILayout.Foldout( lut_foldout, "Help: Your LUT doesn't look right?" ); + if ( lut_foldout ) + { + GUILayout.BeginHorizontal(); + GUILayout.Space( 10 ); + GUILayout.BeginVertical(); + GUILayout.Label( "1) Go to your LUT import settings and set \"Texture Type\" to Advanced.", EditorStyles.wordWrappedLabel ); + GUILayout.Label( "2) Enable \"Bypass sRGB Sampling\".", EditorStyles.wordWrappedLabel ); + GUILayout.Label( "3) Disable \"Generate Mip Maps\".", EditorStyles.wordWrappedLabel ); + GUILayout.Label( "4) Set \"Wrap Mode\" to Clamp.", EditorStyles.wordWrappedLabel ); + GUILayout.Label( "5) Set \"Filter Mode\" to Bilinear.", EditorStyles.wordWrappedLabel ); + GUILayout.Label( "6) Set \"Aniso Level\" to 0.", EditorStyles.wordWrappedLabel ); + GUILayout.Label( "7) Set \"Max Size\" to 1024.", EditorStyles.wordWrappedLabel ); + GUILayout.Label( "8) Set \"Format\" to Automatic Truecolor.", EditorStyles.wordWrappedLabel ); + GUILayout.EndVertical(); + GUILayout.EndHorizontal(); + } + } + + private void ShowConnectionChecklist() + { + EditorGUILayout.Space(); + EditorGUILayout.Separator(); + EditorGUILayout.Space(); + + conn_foldout = EditorGUILayout.Foldout( conn_foldout, "Help: Having trouble connecting?" ); + if ( conn_foldout ) + { + GUILayout.BeginHorizontal(); + GUILayout.Space( 10 ); + GUILayout.BeginVertical(); + GUILayout.Label( "1) Use Photoshop CS 5.1 or above.", EditorStyles.wordWrappedLabel ); + GUILayout.Label( "2) Enable Remote access in Photoshop \"Edit/Remote Connections...\"", EditorStyles.wordWrappedLabel ); + GUILayout.Label( "3) Make sure both passwords match. Reset them just in case.", EditorStyles.wordWrappedLabel ); + GUILayout.Label( "4) Add Unity and Photoshop to firewall as exceptions.", EditorStyles.wordWrappedLabel ); + GUILayout.Label( "5) Set your active Build Target to Standalone.", EditorStyles.wordWrappedLabel ); + GUILayout.EndVertical(); + GUILayout.EndHorizontal(); + } + } + + private void ShowGUITargetFile() + { + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.LabelField( "", "Save preset to" ); + + EditorGUILayout.BeginVertical(); + + EditorGUILayout.BeginHorizontal(); + var lutpath = EditorGUILayout.TextField( "Path", LUTWriter.TexturePath ); + + if ( GUILayout.Button( "Browse" ) ) + { + var path = EditorUtility.SaveFilePanelInProject( "Save as", Path.GetFileName( LUTWriter.TexturePath ), "png", "Please enter a file name to save the texture to" ); + + if ( !string.IsNullOrEmpty( path ) ) + { + lutpath = path; + } + } + EditorGUILayout.EndHorizontal(); + + //var lutobject = (Texture2D)EditorGUILayout.ObjectField("Texture", LUTWriter.TextureObject, typeof(Texture2D), false); + + //LUTWriter.Update(lutpath, lutobject); + LUTWriter.TexturePath = lutpath; + + EditorGUILayout.EndVertical(); + } + + private void ShowGUIStatusBar() + { + EditorGUILayout.Space(); + EditorGUILayout.Separator(); + EditorGUILayout.Space(); + EditorGUILayout.LabelField( "Status", Settings.Message ?? "", EditorStyles.wordWrappedLabel ); + } + + private void ShowGUIFile() + { + EditorGUILayout.Space(); + + if ( GUILayout.Button( "Save reference file" ) ) + { + FileHandler.SaveToFile(); + } + + if ( GUILayout.Button( "Load graded file" ) ) + { + FileHandler.ReadFromFile(); + } + + EditorGUILayout.BeginHorizontal(); + + Settings.FilePath = EditorGUILayout.TextField( Settings.FilePath ?? "" ); + + if ( GUILayout.Button( "Reload" ) ) + { + FileHandler.Reload(); + } + + EditorGUILayout.EndHorizontal(); + } + + private void ShowGUIPhotoshop() + { + EditorGUILayout.Space(); + + if ( GUILayout.Button( "Send screenshot to Photoshop" ) ) + { + PhotoshopHandler.SendToPhotoshop(); + } + if ( GUILayout.Button( "Read preset from Photoshop" ) ) + { + PhotoshopHandler.ReadFromPhotoshopTools(); + } + } + + private void ShowReadBackBufferGUI() + { + EditorGUILayout.BeginVertical(); + EditorGUILayout.LabelField( "", "Screenshot settings" ); + + EditorGUILayout.Space(); + + Cameras.GenerateCameraList(); + Cameras.SelectedIndex = EditorGUILayout.Popup( "Camera", Cameras.SelectedIndex, Cameras.CameraNames ); + + EditorGUILayout.Space(); + + ShowGUIResolution(); + + Settings.AddLut = EditorGUILayout.Toggle( "Add LUT", Settings.AddLut ); + Settings.ApplyLUT = EditorGUILayout.Toggle( "Apply effect", Settings.ApplyLUT ); + + EditorGUILayout.EndVertical(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + } + + private void ShowGUIResolution() + { + Settings.Resolution.SelectedResolution = EditorPrefs.GetInt( "AmplifyColor.SelectedResolution", 3 ); + + Settings.Resolution.SelectedResolution = EditorGUILayout.Popup( "Resolution", Settings.Resolution.SelectedResolution, Settings.Resolution.ResolutionOptions ); + + EditorPrefs.SetInt( "AmplifyColor.SelectedResolution", Settings.Resolution.SelectedResolution ); + + if ( Settings.Resolution.IsCustom ) + { + Settings.Resolution.TargetWidth = EditorGUILayout.IntField( "Width", Settings.Resolution.TargetWidth ); + Settings.Resolution.TargetHeight = EditorGUILayout.IntField( "Height", Settings.Resolution.TargetHeight ); + } + + EditorGUILayout.Space(); + } + + private void ShowGUISettings() + { + EditorGUILayout.LabelField( "", "Setup Photoshop connection" ); + + EditorGUILayout.Space(); + + Settings.Host = EditorPrefs.GetString( "AmplifyColor.NetworkHost", "localhost" ); + Settings.Password = EditorPrefs.GetString( "AmplifyColor.NetworkPassword", "password" ); + bool showPassword = EditorPrefs.GetBool( "AmplifyColor.ShowPassword", false ); + + Settings.Host = EditorGUILayout.TextField( "Host", Settings.Host ); + if ( showPassword ) + Settings.Password = EditorGUILayout.TextField( "Password", Settings.Password ); + else + Settings.Password = EditorGUILayout.PasswordField( "Password", Settings.Password ); + + showPassword = EditorGUILayout.Toggle( "Show Password", showPassword ); + + EditorPrefs.SetString( "AmplifyColor.NetworkHost", Settings.Host ); + EditorPrefs.SetString( "AmplifyColor.NetworkPassword", Settings.Password ); + EditorPrefs.SetBool( "AmplifyColor.ShowPassword", showPassword ); + + EditorGUILayout.Separator(); + + if ( GUILayout.Button( "Test Connection" ) ) + { + Connection.TestConnection(); + } + + //EditorGUILayout.Space(); + //EditorGUILayout.Space(); + //EditorGUILayout.LabelField("", "LUT Settings"); + //var size = EditorGUILayout.IntSlider("Size", Settings.LUT.Size, 0, 64); + //var columns = EditorGUILayout.IntField("Columns", Settings.LUT.Columns); + //var rows = EditorGUILayout.IntField("Rows", Settings.LUT.Rows); + + //Settings.LUT.Update(size, columns, rows); + + //bool toggle = true; + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/LUTEditor.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/LUTEditor.cs.meta new file mode 100644 index 0000000..27495d4 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/LUTEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: db7a7573b0762094b87789612826a2a0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/LUTResult.cs b/Assets/External/AmplifyColor/Plugins/Editor/LUTResult.cs new file mode 100644 index 0000000..abb17aa --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/LUTResult.cs @@ -0,0 +1,68 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using UnityEngine; + +namespace AmplifyColor +{ + public class LUTResult + { + private readonly Color[ , , ] _data; + private Texture2D _texture; + + public LUTResult( Color[ , , ] data ) + { + _data = data; + + GenerateTexture(); + } + + private void GenerateTexture() + { + if ( _data == null ) + { + throw new ArgumentNullException(); + } + + int width = _data.GetLength( 0 ); + int length = _data.GetLength( 1 ); + int height = _data.GetLength( 2 ); + + if ( width != length || width != height || length != height ) + { + throw new ArgumentOutOfRangeException(); + } + + int size = width; + + _texture = new Texture2D( size * size, size, TextureFormat.ARGB32, false ); + + var textureData = new Color[ size * size * size ]; + + for ( int w = 0; w < size; w++ ) + { + for ( int l = 0; l < size; l++ ) + { + for ( int h = 0; h < size; h++ ) + { + int index = w + h * size + l * size * size; + textureData[ index ] = _data[ w, l, h ]; + } + } + } + + _texture.SetPixels( textureData ); + } + + public Texture2D Texture + { + get { return _texture; } + } + + public Color[ , , ] Data + { + get { return _data; } + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/LUTResult.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/LUTResult.cs.meta new file mode 100644 index 0000000..14e6d06 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/LUTResult.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 04e1ecc030e6b3b48ba2e412e1d674a4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/LUTSettings.cs b/Assets/External/AmplifyColor/Plugins/Editor/LUTSettings.cs new file mode 100644 index 0000000..37e7bb0 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/LUTSettings.cs @@ -0,0 +1,112 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; + +namespace AmplifyColor +{ + public class LUTSettings + { + private int _columns; + private int _rows; + private int _size; + + public LUTSettings() + { + _size = 32; + _columns = 8; + _rows = 4; + } + + public LUTSettings( int size ) + { + _size = size; + + RecalcLutSize(); + } + + public LUTSettings( int columns, int rows ) + { + _columns = columns; + _rows = rows; + _size = columns * rows; + } + + public int Size + { + get { return _size; } + } + + public int Columns + { + get { return _columns; } + } + + public int Rows + { + get { return _rows; } + } + + public int Height + { + get { return _rows * _size; } + } + + public int Width + { + get { return _columns * _size; } + } + + private void RecalcLutSize() + { + _size = Math.Min( _size, 256 ); + + if ( _size == 0 ) + { + _columns = 1; + _rows = 1; + _size = 1; + + return; + } + + double colsize; + double rowsize; + + double root = Math.Sqrt( _size ); + rowsize = Math.Floor( root ); + + do + { + colsize = _size / rowsize; + rowsize -= 1.0; + } while ( colsize != Math.Floor( colsize ) ); + + rowsize += 1.0; + + _columns = ( int ) colsize; + _rows = ( int ) rowsize; + } + + public void Update( int size, int columns, int rows ) + { + if ( _size != size ) + { + _size = Math.Min( size, 64 ); + RecalcLutSize(); + } + else + { + _size = columns * rows; + _columns = columns; + _rows = rows; + + if ( size > 64 ) + { + _size = 64; + RecalcLutSize(); + } + } + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/LUTSettings.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/LUTSettings.cs.meta new file mode 100644 index 0000000..2312f98 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/LUTSettings.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: aadba7bf2fdd71b4d91cbdddd9929510 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/LUTWriter.cs b/Assets/External/AmplifyColor/Plugins/Editor/LUTWriter.cs new file mode 100644 index 0000000..1fc981b --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/LUTWriter.cs @@ -0,0 +1,85 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace AmplifyColor +{ + public class LUTWriter + { + private string _texturePath; + + public string TexturePath + { + get { return _texturePath; } + set { _texturePath = value; } + } + + public void SaveLUT( LUTResult lutResult ) + { + if ( lutResult == null ) + { + ToolSettings.Instance.Message = "Error while reading LUT data."; + return; + } + + var assetpath = _texturePath; + + bool justBrowsed = false; + + if ( string.IsNullOrEmpty( assetpath ) ) + { + if ( EditorUtility.DisplayDialog( "Browse?", "There is no current path to save the file to.", "Browse", "Cancel" ) ) + { + var path = EditorUtility.SaveFilePanelInProject( "Save as", Path.GetFileName( _texturePath ), "png", "Please enter a file name to save the texture to" ); + + justBrowsed = true; + + if ( string.IsNullOrEmpty( path ) ) + { + return; + } + + _texturePath = path; + } + else + { + return; + } + } + + if ( File.Exists( _texturePath ) && !justBrowsed ) + { + if ( !EditorUtility.DisplayDialog( "Overwrite?", "File already exists. This action will overwrite the current file. Do you want to continue?", "Overwrite", "Cancel" ) ) + { + return; + } + } + + File.WriteAllBytes( _texturePath, lutResult.Texture.EncodeToPNG() ); + AssetDatabase.Refresh(); + var text = AssetDatabase.LoadAssetAtPath( _texturePath, typeof( Texture2D ) ) as Texture2D; + if ( text != null ) + { + text.wrapMode = TextureWrapMode.Clamp; + text.filterMode = FilterMode.Bilinear; + } + + TextureImporter tImporter = AssetImporter.GetAtPath( _texturePath ) as TextureImporter; + if ( tImporter != null ) + { + tImporter.mipmapEnabled = false; + tImporter.isReadable = true; + tImporter.textureType = TextureImporterType.Advanced; + tImporter.filterMode = FilterMode.Bilinear; + tImporter.anisoLevel = 0; + tImporter.textureFormat = TextureImporterFormat.AutomaticTruecolor; + tImporter.wrapMode = TextureWrapMode.Clamp; + tImporter.linearTexture = true; + AssetDatabase.ImportAsset( _texturePath, ImportAssetOptions.ForceUpdate ); + } + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/LUTWriter.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/LUTWriter.cs.meta new file mode 100644 index 0000000..6617b98 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/LUTWriter.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 783bdcee9e603da40beecc70fc0c54df +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopConnection.cs b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopConnection.cs new file mode 100644 index 0000000..30aa0a2 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopConnection.cs @@ -0,0 +1,247 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net.Sockets; +using System.Text; +using UnityEngine; +using UnityEditor; + +namespace AmplifyColor +{ + public class PhotoshopConnection + { + private const int ServerPort = 49494; + private string _lastHost; + private string _lastPassword; + private TcpClient _socket; + private NetworkStream _stream; + + public NetworkStream Stream { get; private set; } + + static int SwapEndian( int x ) + { + uint ux = ( uint ) x; + ux = ( ( ux & 0x000000ff ) << 24 ) + ( ( ux & 0x0000ff00 ) << 8 ) + + ( ( ux & 0x00ff0000 ) >> 8 ) + ( ( ux & 0xff000000 ) >> 24 ); + return ( int ) ux; + } + + string FlushRead() + { + _stream.Flush(); + + string result = ""; + while ( _stream.DataAvailable ) + { + var buf = new byte[ 4 ]; + _stream.Read( buf, 0, 4 ); + int inLength = BitConverter.ToInt32( buf.Reverse().ToArray(), 0 ); + + _stream.Read( buf, 0, 4 ); + //int inComStatus = BitConverter.ToInt32( buf.Reverse().ToArray(), 0 ); + + //Debug.Log("Reading length: " + inLength); + //Debug.Log("Reading com status: " + inComStatus); + + var skip = new byte[ inLength ]; + _stream.Read( skip, 0, inLength ); + + result += Encoding.UTF8.GetString( skip ); + } + return result; + } + + string SendTestImage( PhotoshopProtocol pp ) + { + string result = ""; + + result += FlushRead(); + + byte[] image = { + 0x02, + 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x01, + 0x01, + 0x03, + 0x08, + 0xff, 0x00, 0x00 }; + + MemoryStream temp_stream = new MemoryStream(); + BinaryWriter bw = new BinaryWriter( temp_stream ); + + bw.Write( SwapEndian( PhotoshopProtocol.ProtocolVersion ) ); // Protocol version + bw.Write( SwapEndian( pp._transactionId++ ) ); // Transaction ID + bw.Write( SwapEndian( 3 ) ); // Content Type + bw.Write( image ); // Image data + bw.Flush(); + + long len = temp_stream.Length; + temp_stream.Seek( 0, SeekOrigin.Begin ); + + BinaryReader br = new BinaryReader( temp_stream ); + + var message = new byte[ len ]; + br.Read( message, 0, ( int ) len ); + + string password = EditorPrefs.GetString( "AmplifyColor.NetworkPassword", "password" ); + EncryptDecrypt encryptDecrypt = new EncryptDecrypt( password ); + var encryptedMessage = encryptDecrypt.encrypt( message ); + + //string str = ""; + //for (int i = 0; i < message.Length; i++) + //{ + // str += ( ( message[i] & 0xff ) + 0x100 ).ToString( "x" ).Substring( 1 ) + " "; + // if (i > 0 && (((i+1) % 8) == 0)) + // str += "\n"; + //} + //Debug.Log( str ); + //str = ""; + //for (int i = 0; i < encryptedMessage.Length; i++) + //{ + // str += ( ( encryptedMessage[i] & 0xff ) + 0x100 ).ToString( "x" ).Substring( 1 ) + " "; + // if (i > 0 && (((i+1) % 8) == 0)) + // str += "\n"; + //} + //Debug.Log( str ); + + int messageLength = PhotoshopProtocol.CommLength + encryptedMessage.Length; + _stream.Write( BitConverter.GetBytes( messageLength ).Reverse().ToArray(), 0, 4 ); + _stream.Write( BitConverter.GetBytes( PhotoshopProtocol.NoCommError ).Reverse().ToArray(), 0, 4 ); + _stream.Write( encryptedMessage, 0, encryptedMessage.Length ); + _stream.Flush(); + + System.Threading.Thread.Sleep( 1000 ); + + result += FlushRead(); + + return result; + } + + public void TestConnection() + { + if ( string.IsNullOrEmpty( ToolSettings.Instance.Host ) ) + { + ToolSettings.Instance.Message = "Host can't be empty"; + return; + } + + try + { + if ( !Connect() ) + { + ToolSettings.Instance.Message = + "There was an error. Check if the host is available to this machine."; + return; + } + + var pp = new PhotoshopProtocol( this ); + + //string result = pp.SendJSCommand("scriptingVersion"); + string result = SendTestImage( pp ); + + /* + while ( _stream.DataAvailable ) + { + var buf = new byte[ 4 ]; + _stream.Read( buf, 0, 4); + int inLength = BitConverter.ToInt32( buf.Reverse().ToArray(), 0 ); + _stream.Read( buf, 0, 4); + int inComStatus = BitConverter.ToInt32( buf.Reverse().ToArray(), 0 ); + + Debug.Log("Reading length: " + inLength); + Debug.Log("Reading com status: " + inComStatus); + + var skip = new byte[ inLength ]; + _stream.Read( skip, 0, inLength ); + + result += Encoding.UTF8.GetString( skip ); + } + */ + + if ( result.ToLowerInvariant().Contains( "error" ) ) + { + ToolSettings.Instance.Message = "There was an error. Try checking the password."; + CleanConnection(); + } + else + { + ToolSettings.Instance.Message = "Test successfull"; + } + } + catch ( Exception ) + { + ToolSettings.Instance.Message = "Connection could not be established"; + } + } + + public bool Connect() + { + if ( string.IsNullOrEmpty( ToolSettings.Instance.Host ) ) + { + ToolSettings.Instance.Message = "Host can't be empty"; + return false; + } + + if ( string.IsNullOrEmpty( ToolSettings.Instance.Password ) ) + { + ToolSettings.Instance.Message = "Password can't be empty"; + return false; + } + + if ( _socket != null ) + { + if ( _socket.Connected ) + { + if ( string.Equals( _lastHost, ToolSettings.Instance.Host ) ) + { + if ( string.Equals( _lastPassword, ToolSettings.Instance.Password ) ) + { + return true; + } + } + } + } + + try + { + _socket = new TcpClient( ToolSettings.Instance.Host, ServerPort ); + + _stream = _socket.GetStream(); + + Stream = _stream; + + _lastHost = ToolSettings.Instance.Host; + _lastPassword = ToolSettings.Instance.Password; + } + catch ( Exception ) + { + CleanConnection(); + + return false; + } + + return true; + } + + public void CleanConnection() + { + if ( _stream != null ) + { + _stream.Flush(); + _stream.Close(); + _stream = null; + } + + if ( _socket != null ) + { + _socket.Client.Close(); + _socket = null; + } + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopConnection.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopConnection.cs.meta new file mode 100644 index 0000000..621714c --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopConnection.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 97de723f1ed73ae4c8454c1c7a10d738 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopEncryptDecrypt.cs b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopEncryptDecrypt.cs new file mode 100644 index 0000000..4311ab0 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopEncryptDecrypt.cs @@ -0,0 +1,57 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using System.Security.Cryptography; +using System.Text; + +namespace AmplifyColor +{ + public class PhotoshopEncryptDecrypt + { + private readonly ICryptoTransform _eCipher; + private readonly ICryptoTransform _dCipher; + + // these must match the values used in Photoshop DO NOT CHANGE + // get the password from the dialog settings in Photoshop + private readonly char[] _salt = { 'A', 'd', 'o', 'b', 'e', ' ', 'P', 'h', 'o', 't', 'o', 's', 'h', 'o', 'p' }; + private const int IterationCount = 1000; + private const int KeyLength = 24; + + public PhotoshopEncryptDecrypt( String passPhrase ) + { + var encoder = new ASCIIEncoding(); + //byte[] bytepass = encoder.GetBytes(passPhrase); + byte[] bytesalt = encoder.GetBytes( _salt ); + + var tripleDes = new TripleDESCryptoServiceProvider + { + Mode = CipherMode.CBC, + Padding = PaddingMode.PKCS7, + }; + + + + var rfc2898DeriveBytes = new Rfc2898DeriveBytes( passPhrase, bytesalt, IterationCount ); + var key = rfc2898DeriveBytes.GetBytes( KeyLength ); + + var empty = new byte[ 8 ]; + _eCipher = tripleDes.CreateEncryptor( key, empty ); + _dCipher = tripleDes.CreateDecryptor( key, empty ); + + } + + public byte[] Encrypt( byte[] data ) + { + byte[] encryptedBytes = _eCipher.TransformFinalBlock( data, 0, data.Length ); + return encryptedBytes; + } + + + public byte[] Decrypt( byte[] data ) + { + byte[] decryptedBytes = _dCipher.TransformFinalBlock( data, 0, data.Length ); + return decryptedBytes; + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopEncryptDecrypt.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopEncryptDecrypt.cs.meta new file mode 100644 index 0000000..7b0a997 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopEncryptDecrypt.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 9f9f97ff14f42ab4b843a92f5dd9668b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopHandler.cs b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopHandler.cs new file mode 100644 index 0000000..24d24c8 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopHandler.cs @@ -0,0 +1,150 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using System.IO; +using UnityEngine; +using UnityEditor; +using System.Net.Sockets; + +namespace AmplifyColor +{ + public class PhotoshopHandler + { + private readonly PhotoshopProtocol _photoshopProtocol; + private readonly BackBufferHandler _backBufferHandler; + private readonly LUTWriter _lutWriter; + private readonly ToolSettings _settings; + private readonly CameraCollection _cameraCollection; + + public PhotoshopHandler( PhotoshopProtocol photoshopProtocol, BackBufferHandler backBufferHandler, LUTWriter lutWriter, ToolSettings settings, CameraCollection cameraCollection ) + { + _photoshopProtocol = photoshopProtocol; + _backBufferHandler = backBufferHandler; + _lutWriter = lutWriter; + _settings = settings; + _cameraCollection = cameraCollection; + } + + public void SendToPhotoshop() + { + ImageResult imageResult; + + if ( _backBufferHandler.ReadBackBuffer( out imageResult ) ) + { + if ( _settings.AddLut ) + { + Texture2D luttexture = _cameraCollection.GetCurrentEffectTexture(); + + if ( _settings.ApplyLUT && luttexture != null ) + { + if ( !imageResult.AddLUTFromTexture( _settings.LUT, luttexture ) ) + { + _settings.Message = "Couldnt add the LUT to the image. Try changing the lut size or settings"; + + return; + } + } + else + { + if ( !imageResult.AddLUT( _settings.LUT ) ) + { + _settings.Message = "Couldnt add the LUT to the image. Try changing the lut size or settings"; + + return; + } + } + } + + if ( SendImage( imageResult ) ) + { + _photoshopProtocol.SendJSCommand( "app.activeDocument.bitsPerChannel = BitsPerChannelType.SIXTEEN;" + + "takeSnapshot();" + + " function takeSnapshot ()" + + " { var desc = new ActionDescriptor();" + + " var sref = new ActionReference(); sref.putClass(charIDToTypeID(\"SnpS\"));" + + "desc.putReference(charIDToTypeID(\"null\"), sref);" + + "var fref = new ActionReference();" + + " fref.putProperty(charIDToTypeID(\"HstS\")," + + " charIDToTypeID(\"CrnH\")); " + + "desc.putReference(charIDToTypeID(\"From\"), fref );" + + " executeAction(charIDToTypeID(\"Mk \"), desc, DialogModes.NO );} " ); + + ToolSettings.Instance.Message = "Sent"; + } + else + { + ToolSettings.Instance.Message = "Error sending the image to Photoshop"; + } + } + else + { + _settings.Message = "No camera selected"; + } + } + + public void ReadFromPhotoshopTools() + { + LUTResult lutResult; + + if ( ReadLUT( out lutResult ) ) + _lutWriter.SaveLUT( lutResult ); + } + + public bool ReadLUT( out LUTResult lutResult ) + { + _photoshopProtocol.SendJSCommand( "takeSnapshot();" + + " function takeSnapshot ()" + + " { var desc = new ActionDescriptor();" + + " var sref = new ActionReference(); sref.putClass(charIDToTypeID(\"SnpS\"));" + + "desc.putReference(charIDToTypeID(\"null\"), sref);" + + "var fref = new ActionReference();" + + " fref.putProperty(charIDToTypeID(\"HstS\")," + + " charIDToTypeID(\"CrnH\")); " + + "desc.putReference(charIDToTypeID(\"From\"), fref );" + + " executeAction(charIDToTypeID(\"Mk \"), desc, DialogModes.NO );} " ); + + var rulerunits = _photoshopProtocol.SendJSCommand( "app.preferences.rulerUnits;" ); + _photoshopProtocol.SendJSCommand( "app.preferences.rulerUnits = Units.PIXELS;" ); + _photoshopProtocol.SendJSCommand( string.Format( "app.activeDocument.crop(new Array(0,0,{0},{1}), 0, {0}, {1})", ToolSettings.Instance.LUT.Width, ToolSettings.Instance.LUT.Height ) ); + + ImageResult imageData; + _photoshopProtocol.ReceiveImage( "", out imageData ); + + _photoshopProtocol.SendJSCommand( "revertToLastSnapshot(); " + + "function revertToLastSnapshot() " + + "{ var docRef = app.activeDocument; " + + "var hsObj = docRef.historyStates; " + + "var hsLength = hsObj.length; " + + "for (var i=hsLength - 1;i>-1;i--) { " + + "if (hsObj[i].snapshot) { " + + "docRef.activeHistoryState = docRef.historyStates[i]; break; } } }" ); + + _photoshopProtocol.SendJSCommand( string.Format( "app.preferences.rulerUnits = {0};", rulerunits ) ); + + lutResult = null; + + if ( imageData != null ) + { + lutResult = imageData.GetLUT( _settings.LUT ); + ToolSettings.Instance.Message = "Done."; + return true; + } + + ToolSettings.Instance.Message = "Error reading LUT from Photoshop Image."; + return false; + } + + public bool SendImage( ImageResult imageResult ) + { + if ( imageResult == null ) + { + return false; + } + + _photoshopProtocol.SendImage( imageResult ); + + return true; + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopHandler.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopHandler.cs.meta new file mode 100644 index 0000000..65f6578 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopHandler.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: e44b84c92f880434f888e3d8243a9bc5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopProtocol.cs b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopProtocol.cs new file mode 100644 index 0000000..103f828 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopProtocol.cs @@ -0,0 +1,398 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Net.Sockets; +using UnityEngine; +using UnityEditor; + +namespace AmplifyColor +{ + public class PhotoshopProtocol + { + private readonly PhotoshopConnection _connection; + /** values for transaction type */ + internal const int IllegalType = 0; + internal const int ErrorstringType = 1; + internal const int JavascriptType = 2; + internal const int ImageType = 3; + internal const int ProfileType = 4; + internal const int DataType = 5; + + /** current protocol version */ + internal const int ProtocolVersion = 1; + + /** length of the header not including the actual length byte or the communication status */ + internal const int ProtocolLength = 4 + 4 + 4; + internal const int CommLength = 4; + internal const int NoCommError = 0; + + /** messages are encrypted, helper class to encrypt and decrypt messages */ + private EncryptDecrypt _encryptDecrypt; + private readonly UTF8Encoding _utf8Encoding; + internal int _transactionId; + + public PhotoshopProtocol( PhotoshopConnection connection ) + { + _connection = connection; + _utf8Encoding = new UTF8Encoding(); + } + + public string SendJSCommand( string command ) + { + if ( !_connection.Connect() ) + { + return "Error connecting to Photoshop."; + } + + var stream = _connection.Stream; + + string password = EditorPrefs.GetString( "AmplifyColor.NetworkPassword", "password" ); + _encryptDecrypt = new EncryptDecrypt( password ); + + try + { + /* WRITE */ + byte[] strBytes = _utf8Encoding.GetBytes( command + "\n" ); + byte[] allBytes; + + using ( var memoryStream = new MemoryStream() ) + { + BitConverter.GetBytes( ProtocolVersion ); + memoryStream.Write( BitConverter.GetBytes( ProtocolVersion ).Reverse().ToArray(), 0, 4 ); + _transactionId++; + memoryStream.Write( BitConverter.GetBytes( _transactionId ).Reverse().ToArray(), 0, 4 ); + memoryStream.Write( BitConverter.GetBytes( JavascriptType ).Reverse().ToArray(), 0, 4 ); + memoryStream.Write( strBytes, 0, strBytes.Length ); + + allBytes = memoryStream.GetBuffer().Take( ProtocolLength + strBytes.Length ).ToArray(); + } + + var encryptedBytes = _encryptDecrypt.encrypt( allBytes ); + + int messageLength = CommLength + encryptedBytes.Length; + + stream.Write( BitConverter.GetBytes( messageLength ).Reverse().ToArray(), 0, 4 ); + stream.Write( BitConverter.GetBytes( NoCommError ).Reverse().ToArray(), 0, 4 ); + stream.Write( encryptedBytes, 0, encryptedBytes.Length ); + + /* READ */ + + var buffer = new byte[ 4 ]; + + stream.Read( buffer, 0, 4 ); + buffer = buffer.Reverse().ToArray(); + int inLength = BitConverter.ToInt32( buffer, 0 ); + + + stream.Read( buffer, 0, 4 ); + buffer = buffer.Reverse().ToArray(); + int inComStatus = BitConverter.ToInt32( buffer, 0 ); + + if ( inComStatus != 0 ) + { + stream.Read( buffer, 0, 4 ); + buffer = buffer.Reverse().ToArray(); + //int inVersion = BitConverter.ToInt32(buffer, 0); + + stream.Read( buffer, 0, 4 ); + buffer = buffer.Reverse().ToArray(); + //int inTransaction = BitConverter.ToInt32(buffer, 0); + + stream.Read( buffer, 0, 4 ); + buffer = buffer.Reverse().ToArray(); + int inType = BitConverter.ToInt32( buffer, 0 ); + + if ( inType == JavascriptType || inType == ErrorstringType ) + { + inLength -= ProtocolLength; + var bytemessage = new byte[ inLength + 1 ]; + int rr = stream.Read( bytemessage, 0, inLength ); + + if ( rr > 0 ) + { + var encoder = new UTF8Encoding(); + var message = encoder.GetString( bytemessage ); + Debug.LogWarning( "[AmplifyColor] Uncoded Message: " + message + ". Please check your password." ); + return message.Trim( new[] { '\0' } ); + } + } + else + { + return "Message types: " + inType; + } + } + else + { + inLength = inLength - 4; + + var messageBytes = new byte[ inLength ]; + stream.Read( messageBytes, 0, inLength ); + + IEnumerable decryptedBytes = _encryptDecrypt.decrypt( messageBytes ); + + byte[] tempbytes; + //tempbytes = decryptedBytes.Take(4).Reverse().ToArray(); + decryptedBytes = decryptedBytes.Skip( 4 ); + //int messageVersion = BitConverter.ToInt32(tempbytes, 0); + + //tempbytes = decryptedBytes.Take(4).Reverse().ToArray(); + decryptedBytes = decryptedBytes.Skip( 4 ); + //int messageId = BitConverter.ToInt32(tempbytes, 0); + + tempbytes = decryptedBytes.Take( 4 ).Reverse().ToArray(); + decryptedBytes = decryptedBytes.Skip( 4 ); + int messageType = BitConverter.ToInt32( tempbytes, 0 ); + + if ( messageType == JavascriptType || messageType == ErrorstringType ) + { + var encoder = new UTF8Encoding(); + var message = encoder.GetString( decryptedBytes.ToArray() ); + return message.Trim( new[] { '\0' } ); + } + + return "Message types: " + messageType; + } + } + catch ( Exception e ) + { + return "Exception: " + e.Message; + } + + return string.Empty; + } + + public string ReceiveImage( string documentName, out ImageResult imageData ) + { + imageData = null; + + if ( !_connection.Connect() ) + { + return "Error connecting to Photoshop."; + } + + var stream = _connection.Stream; + + string password = EditorPrefs.GetString( "AmplifyColor.NetworkPassword", "password" ); + _encryptDecrypt = new EncryptDecrypt( password ); + + var commandBuilder = new StringBuilder(); + + if ( !string.IsNullOrEmpty( documentName ) ) + { + commandBuilder.Append( "app.activeDocument = app.documents.getByName('" + documentName + "');\n" ); + } + + commandBuilder.Append( "var idNS = stringIDToTypeID('sendDocumentThumbnailToNetworkClient');\n" ); + commandBuilder.Append( "var desc1 = new ActionDescriptor();\n" ); + commandBuilder.Append( "desc1.putInteger( stringIDToTypeID('width'), app.activeDocument.width );\n" ); + commandBuilder.Append( "desc1.putInteger( stringIDToTypeID('height'), app.activeDocument.height );\n" ); + commandBuilder.Append( "desc1.putInteger( stringIDToTypeID('format'), 2 );\n" ); + commandBuilder.Append( "executeAction( idNS, desc1, DialogModes.NO );" ); + string command = commandBuilder.ToString(); + + try + { + /* WRITE */ + byte[] strBytes = _utf8Encoding.GetBytes( command + "\n" ); + byte[] allBytes; + + using ( var memoryStream = new MemoryStream() ) + { + BitConverter.GetBytes( ProtocolVersion ); + memoryStream.Write( BitConverter.GetBytes( ProtocolVersion ).Reverse().ToArray(), 0, 4 ); + _transactionId++; + memoryStream.Write( BitConverter.GetBytes( _transactionId ).Reverse().ToArray(), 0, 4 ); + memoryStream.Write( BitConverter.GetBytes( JavascriptType ).Reverse().ToArray(), 0, 4 ); + memoryStream.Write( strBytes, 0, strBytes.Length ); + + allBytes = memoryStream.GetBuffer().Take( ProtocolLength + strBytes.Length ).ToArray(); + } + + var encryptedBytes = _encryptDecrypt.encrypt( allBytes ); + + int messageLength = CommLength + encryptedBytes.Length; + + stream.Write( BitConverter.GetBytes( messageLength ).Reverse().ToArray(), 0, 4 ); + stream.Write( BitConverter.GetBytes( NoCommError ).Reverse().ToArray(), 0, 4 ); + stream.Write( encryptedBytes, 0, encryptedBytes.Length ); + + /* READ */ + DateTime start = DateTime.Now; + int messageType = 0; + while ( messageType != ImageType && ( DateTime.Now - start ).TotalMilliseconds < 1000 ) + { + if ( !stream.DataAvailable ) + continue; + + var buffer = new byte[ 4 ]; + + stream.Read( buffer, 0, 4 ); + buffer = buffer.Reverse().ToArray(); + int inLength = BitConverter.ToInt32( buffer, 0 ); + + + stream.Read( buffer, 0, 4 ); + buffer = buffer.Reverse().ToArray(); + int inComStatus = BitConverter.ToInt32( buffer, 0 ); + + if ( inComStatus != 0 ) + { + stream.Read( buffer, 0, 4 ); + buffer = buffer.Reverse().ToArray(); + //int inVersion = BitConverter.ToInt32(buffer, 0); + + stream.Read( buffer, 0, 4 ); + buffer = buffer.Reverse().ToArray(); + //int inTransaction = BitConverter.ToInt32(buffer, 0); + + stream.Read( buffer, 0, 4 ); + buffer = buffer.Reverse().ToArray(); + messageType = BitConverter.ToInt32( buffer, 0 ); + + if ( messageType == JavascriptType || messageType == ErrorstringType ) + { + inLength -= ProtocolLength; + var bytemessage = new byte[ inLength + 1 ]; + int rr = stream.Read( bytemessage, 0, inLength ); + + if ( rr > 0 ) + { + var encoder = new UTF8Encoding(); + var message = encoder.GetString( bytemessage ); + return message.Trim( new[] { '\0' } ); + } + } + else + { + return "Message types: " + messageType; + } + } + else + { + inLength = inLength - 4; + + var messageBytes = new List(); + var messagebuffer = new byte[ 1000 ]; + int totalread = 0; + + while ( totalread < inLength || stream.DataAvailable ) + { + int bytesread = stream.Read( messagebuffer, 0, 1000 ); + totalread += bytesread; + messageBytes.AddRange( messagebuffer.Take( bytesread ) ); + } + + IEnumerable decryptedBytes = _encryptDecrypt.decrypt( messageBytes.ToArray() ); + + decryptedBytes = decryptedBytes.Skip( 4 ); + decryptedBytes = decryptedBytes.Skip( 4 ); + + byte[] tempbytes = decryptedBytes.Take( 4 ).Reverse().ToArray(); + decryptedBytes = decryptedBytes.Skip( 4 ); + + messageType = BitConverter.ToInt32( tempbytes, 0 ); + + if ( messageType == ImageType ) + imageData = ImageResult.FromPhotoshopResult( decryptedBytes.ToArray() ); + else if ( messageType == ErrorstringType ) + return Encoding.UTF8.GetString( decryptedBytes.ToArray() ); + } + } + + //return "Message types: " + messageType; + return "Image Received"; + } + catch ( Exception e ) + { + return e.Message; + } + } + + static int SwapEndian( int x ) + { + uint ux = ( uint ) x; + ux = ( ( ux & 0x000000ff ) << 24 ) + ( ( ux & 0x0000ff00 ) << 8 ) + + ( ( ux & 0x00ff0000 ) >> 8 ) + ( ( ux & 0xff000000 ) >> 24 ); + return ( int ) ux; + } + + public string SendImage( ImageResult imageData ) + { + if ( !_connection.Connect() ) + { + return "Error connecting to Photoshop."; + } + + var stream = _connection.Stream; + + int width = imageData.Width; + int height = imageData.Height; + + string password = EditorPrefs.GetString( "AmplifyColor.NetworkPassword", "password" ); + _encryptDecrypt = new EncryptDecrypt( password ); + + try + { + /* WRITE */ + var temp_stream = new MemoryStream(); + var w = new BinaryWriter( temp_stream ); + + w.Write( SwapEndian( ProtocolVersion ) ); + w.Write( SwapEndian( _transactionId++ ) ); + w.Write( SwapEndian( ImageType ) ); + + w.Write( ( byte ) 2 ); //imagetype (2 for PixMap); + w.Write( SwapEndian( width ) ); + w.Write( SwapEndian( height ) ); + w.Write( SwapEndian( width * 3 ) ); //bytesPerScanLine + w.Write( ( byte ) 1 ); //color mode RGB + w.Write( ( byte ) 3 ); //channel count + w.Write( ( byte ) 8 ); //bits per channel + + var data = imageData.GenerateRGBData(); + w.Write( data, 0, data.Length ); + w.Flush(); + + long len = temp_stream.Length; + temp_stream.Seek( 0, SeekOrigin.Begin ); + BinaryReader r = new BinaryReader( temp_stream ); + var message = new byte[ len ]; + r.Read( message, 0, ( int ) len ); + + var encryptedMessage = _encryptDecrypt.encrypt( message ); + int messageLength = CommLength + encryptedMessage.Length; + + stream.Write( BitConverter.GetBytes( messageLength ).Reverse().ToArray(), 0, 4 ); + stream.Write( BitConverter.GetBytes( NoCommError ).Reverse().ToArray(), 0, 4 ); + stream.Write( encryptedMessage, 0, encryptedMessage.Length ); + + // Photoshop CS6 will issue a response, make sure we skip it (small timeout) + DateTime start = DateTime.Now; + while ( ( DateTime.Now - start ).TotalMilliseconds < 100 ) + { + if ( !stream.DataAvailable ) + continue; + + var buf = new byte[ 4 ]; + stream.Read( buf, 0, 4 ); + int length = BitConverter.ToInt32( buf.Reverse().ToArray(), 0 ); + + buf = new byte[ length ]; + stream.Read( buf, 0, length ); + } + + return "Sent"; + } + catch ( Exception e ) + { + //Debug.Log( e.Message ); + return e.Message; + } + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopProtocol.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopProtocol.cs.meta new file mode 100644 index 0000000..61ec47b --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopProtocol.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3b27e57967578884a9bf3a9a37dc4834 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopTouchHelper.cs b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopTouchHelper.cs new file mode 100644 index 0000000..6352747 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopTouchHelper.cs @@ -0,0 +1,112 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using System.Linq; +using UnityEngine; + +namespace AmplifyColor +{ + public static class PhotoshopTouchHelper + { + public static bool LoadTexture2DLutFromPhotoshopData( byte[] data, LUTSettings settings, out Texture2D texture ) + { + int columns = settings.Columns; + int rows = settings.Rows; + int size = settings.Size; + + var decryptedBytes = data.AsEnumerable(); + //byte imageType = decryptedBytes.Take(1).First(); + decryptedBytes = decryptedBytes.Skip( 1 ); + + var tempbytes = decryptedBytes.Take( 4 ).Reverse().ToArray(); + decryptedBytes = decryptedBytes.Skip( 4 ); + int imageWidth = BitConverter.ToInt32( tempbytes, 0 ); + + tempbytes = decryptedBytes.Take( 4 ).Reverse().ToArray(); + decryptedBytes = decryptedBytes.Skip( 4 ); + int imageHeight = BitConverter.ToInt32( tempbytes, 0 ); + + //tempbytes = decryptedBytes.Take(4).Reverse().ToArray(); + decryptedBytes = decryptedBytes.Skip( 4 ); + //int rowBytes = BitConverter.ToInt32(tempbytes, 0); + + //byte colorMode = decryptedBytes.Take(1).First(); + decryptedBytes = decryptedBytes.Skip( 1 ); + + //byte channelCount = decryptedBytes.Take(1).First(); + decryptedBytes = decryptedBytes.Skip( 1 ); + + //byte bitsChannel = decryptedBytes.Take(1).First(); + decryptedBytes = decryptedBytes.Skip( 1 ); + + var imageData = new Color[ imageWidth, imageHeight ]; + + var bytesarray = decryptedBytes.ToArray(); + + for ( int i = 0, k = 0; i < imageHeight; i++ ) + { + for ( int j = 0; j < imageWidth; j++ ) + { + imageData[ j, i ] = new Color( bytesarray[ k++ ] / 255f, bytesarray[ k++ ] / 255f, bytesarray[ k++ ] / 255f, 1f ); + } + } + + var lutTexture = new Texture2D( size * size, size, TextureFormat.ARGB32, false ); + var lutData = new Color[ size * size * size ]; + + for ( int h = 0, i = 0; h < size; h++ ) + { + for ( int r = 0; r < rows; r++ ) + { + for ( int w = 0; w < size * columns; w++ ) + { + lutData[ i++ ] = imageData[ w, h + r * size ]; + } + } + } + + lutTexture.SetPixels( lutData ); + lutTexture.Apply(); + texture = lutTexture; + + return true; + } + + public static bool LoadTexture2DLutFromImage( Texture2D texture, ToolSettings settings, out Texture2D lutTexture ) + { + var width = settings.Resolution.TargetWidth; + var height = settings.Resolution.TargetHeight; + + var size = settings.LUT.Size; + var cols = settings.LUT.Columns; + var rows = settings.LUT.Rows; + + var imageData = texture.GetPixels(); + + var lutText = new Texture2D( size * size, size, TextureFormat.ARGB32, false ); + var lutData = new Color[ size * size * size ]; + + + for ( int h = 0, i = 0; h < size; h++ ) + { + for ( int r = 0; r < rows; r++ ) + { + for ( int w = 0; w < size * cols; w++ ) + { + var x = w; + var y = h + r * size; + y = height - 1 - y; + lutData[ i++ ] = imageData[ x + y * width ]; + } + } + } + + lutText.SetPixels( lutData ); + lutText.Apply(); + lutTexture = lutText; + + return true; + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopTouchHelper.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopTouchHelper.cs.meta new file mode 100644 index 0000000..2fb4918 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/PhotoshopTouchHelper.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7b4fc7d9717fb1f48821f596ddd2fff0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/ResolutionSettings.cs b/Assets/External/AmplifyColor/Plugins/Editor/ResolutionSettings.cs new file mode 100644 index 0000000..7a1375e --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/ResolutionSettings.cs @@ -0,0 +1,96 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +namespace AmplifyColor +{ + public class ResolutionSettings + { + private readonly string[] _resolutionOptions = new[] + { + //"Game Window", + "640x480", + "800x600", + "1024x768", + "1280x720", + "1680x1050", + "1920x1080", + "Custom", + }; + + private int _selectedResolution = 3; + private int _targetWidth = 1280; + private int _targetHeight = 720; + + public int TargetWidth + { + get { return _targetWidth; } + set + { + if ( IsCustom ) + _targetWidth = value; + } + } + + public int TargetHeight + { + get { return _targetHeight; } + set + { + if ( IsCustom ) + _targetHeight = value; + } + } + + public int SelectedResolution + { + get { return _selectedResolution; } + set + { + _selectedResolution = value; + + SetResolution(); + } + } + + public bool IsCustom + { + get { return SelectedResolution == ( _resolutionOptions.Length - 1 ); } + } + + public string[] ResolutionOptions + { + get { return _resolutionOptions; } + } + + private void SetResolution() + { + switch ( _selectedResolution ) + { + case 0: + _targetWidth = 640; + _targetHeight = 480; + break; + case 1: + _targetWidth = 800; + _targetHeight = 600; + break; + case 2: + _targetWidth = 1024; + _targetHeight = 768; + break; + case 3: + _targetWidth = 1280; + _targetHeight = 720; + break; + case 4: + _targetWidth = 1680; + _targetHeight = 1050; + break; + case 5: + _targetWidth = 1920; + _targetHeight = 1080; + break; + } + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/ResolutionSettings.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/ResolutionSettings.cs.meta new file mode 100644 index 0000000..6f30f65 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/ResolutionSettings.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1359f2bc92c6caf4db87f92cb2e0e0e9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/Resources.meta b/Assets/External/AmplifyColor/Plugins/Editor/Resources.meta new file mode 100644 index 0000000..316b2d9 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/Resources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8ed03f9a4c976d6499b12b36976038db +folderAsset: yes +timeCreated: 1448992503 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/Resources/volume-icon.png b/Assets/External/AmplifyColor/Plugins/Editor/Resources/volume-icon.png new file mode 100644 index 0000000..6ecde42 Binary files /dev/null and b/Assets/External/AmplifyColor/Plugins/Editor/Resources/volume-icon.png differ diff --git a/Assets/External/AmplifyColor/Plugins/Editor/Resources/volume-icon.png.meta b/Assets/External/AmplifyColor/Plugins/Editor/Resources/volume-icon.png.meta new file mode 100644 index 0000000..860f955 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/Resources/volume-icon.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: 3195bd47429d27441b1730777de2e0ac +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Editor/ToolSettings.cs b/Assets/External/AmplifyColor/Plugins/Editor/ToolSettings.cs new file mode 100644 index 0000000..6eb69a2 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/ToolSettings.cs @@ -0,0 +1,48 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using UnityEditor; + +namespace AmplifyColor +{ + public class ToolSettings + { + private static readonly ToolSettings _instance = new ToolSettings(); + public bool AddLut = true; + public bool ApplyLUT; + public string FilePath = ""; + + public string Host = "localhost"; + public LUTSettings LUT = new LUTSettings(); + + public string Message = string.Empty; + public string Password = "password"; + + public ResolutionSettings Resolution = new ResolutionSettings(); + + public int SelectedTab; + + private ToolSettings() + { + if ( !EditorPrefs.HasKey( "AmplifyColor.NetworkHost" ) ) + EditorPrefs.SetString( "AmplifyColor.NetworkHost", Host ); + else + Host = EditorPrefs.GetString( "AmplifyColor.NetworkHost", "localhost" ); + + if ( !EditorPrefs.HasKey( "AmplifyColor.NetworkPassword" ) ) + EditorPrefs.SetString( "AmplifyColor.NetworkPassword", Password ); + else + Password = EditorPrefs.GetString( "AmplifyColor.NetworkPassword", "password" ); + + if ( !EditorPrefs.HasKey( "AmplifyColor.SelectedTab" ) ) + EditorPrefs.SetInt( "AmplifyColor.SelectedTab", SelectedTab ); + else + SelectedTab = EditorPrefs.GetInt( "AmplifyColor.SelectedTab", 0 ); + } + + public static ToolSettings Instance + { + get { return _instance; } + } + } +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Editor/ToolSettings.cs.meta b/Assets/External/AmplifyColor/Plugins/Editor/ToolSettings.cs.meta new file mode 100644 index 0000000..ada9d2f --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Editor/ToolSettings.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 03edf517f5868b041b0229b6dd449426 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Runtime.meta b/Assets/External/AmplifyColor/Plugins/Runtime.meta new file mode 100644 index 0000000..70d6f65 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Runtime.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f3a1c18151a4d8a45b5d7f3cd7e30235 +folderAsset: yes +timeCreated: 1448992503 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Runtime/VersionInfo.cs b/Assets/External/AmplifyColor/Plugins/Runtime/VersionInfo.cs new file mode 100644 index 0000000..e061172 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Runtime/VersionInfo.cs @@ -0,0 +1,64 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +using System; +using UnityEngine; + +namespace AmplifyColor +{ + [Serializable] + public class VersionInfo + { + public const byte Major = 1; + public const byte Minor = 4; + public const byte Release = 4; + + private static string StageSuffix = "_dev007"; + + #if TRIAL + private static string TrialSuffix = " Trial"; + #else + private static string TrialSuffix = ""; + #endif + + public static string StaticToString() + { + return string.Format( "{0}.{1}.{2}", Major, Minor, Release ) + StageSuffix + TrialSuffix; + } + + public override string ToString() + { + return string.Format( "{0}.{1}.{2}", m_major, m_minor, m_release ) + StageSuffix + TrialSuffix; + } + + public int Number { get { return m_major * 100 + m_minor * 10 + m_release; } } + + [SerializeField] private int m_major; + [SerializeField] private int m_minor; + [SerializeField] private int m_release; + + VersionInfo() + { + m_major = Major; + m_minor = Minor; + m_release = Release; + } + + VersionInfo( byte major, byte minor, byte release ) + { + m_major = major; + m_minor = minor; + m_release = release; + } + + public static VersionInfo Current() + { + return new VersionInfo( Major, Minor, Release ); + } + + public static bool Matches( VersionInfo version ) + { + return ( Major == version.m_major ) && ( Minor == version.m_minor ) && ( Release == version.m_release ); + } + } +} diff --git a/Assets/External/AmplifyColor/Plugins/Runtime/VersionInfo.cs.meta b/Assets/External/AmplifyColor/Plugins/Runtime/VersionInfo.cs.meta new file mode 100644 index 0000000..aa1d8ae --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Runtime/VersionInfo.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5e5b349ef10703d459eecdd138c96ea7 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffects.cs b/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffects.cs new file mode 100644 index 0000000..888c6bf --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffects.cs @@ -0,0 +1,422 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using System.Runtime.Serialization; +using System; +using System.Linq; + +namespace AmplifyColor +{ +[Serializable] +public class VolumeEffectField +{ + public string fieldName; + public string fieldType; + public System.Single valueSingle; + public UnityEngine.Color valueColor; + public System.Boolean valueBoolean; + public UnityEngine.Vector2 valueVector2; + public UnityEngine.Vector3 valueVector3; + public UnityEngine.Vector4 valueVector4; + + public VolumeEffectField( string fieldName, string fieldType ) + { + this.fieldName = fieldName; + this.fieldType = fieldType; + } + + public VolumeEffectField( FieldInfo pi, Component c ) + : this( pi.Name, pi.FieldType.FullName ) + { + object val = pi.GetValue( c ); + UpdateValue( val ); + } + + public static bool IsValidType( string type ) + { + switch ( type ) + { + case "System.Single": + case "System.Boolean": + case "UnityEngine.Color": + case "UnityEngine.Vector2": + case "UnityEngine.Vector3": + case "UnityEngine.Vector4": + return true; + } + return false; + } + + public void UpdateValue( object val ) + { + switch ( fieldType ) + { + case "System.Single": valueSingle = ( System.Single ) val; break; + case "System.Boolean": valueBoolean = ( System.Boolean ) val; break; + case "UnityEngine.Color": valueColor = ( UnityEngine.Color ) val; break; + case "UnityEngine.Vector2": valueVector2 = ( UnityEngine.Vector2 ) val; break; + case "UnityEngine.Vector3": valueVector3 = ( UnityEngine.Vector3 ) val; break; + case "UnityEngine.Vector4": valueVector4 = ( UnityEngine.Vector4 ) val; break; + } + } +} + +[Serializable] +public class VolumeEffectComponent +{ + public string componentName; + public List fields; + + public VolumeEffectComponent( string name ) + { + componentName = name; + fields = new List(); + } + + public VolumeEffectField AddField( FieldInfo pi, Component c ) + { + return AddField( pi, c, -1 ); + } + + public VolumeEffectField AddField( FieldInfo pi, Component c, int position ) + { + VolumeEffectField field = VolumeEffectField.IsValidType( pi.FieldType.FullName ) ? new VolumeEffectField( pi, c ) : null; + if ( field != null ) + { + if ( position < 0 || position >= fields.Count ) + fields.Add( field ); + else + fields.Insert( position, field ); + } + return field; + } + + public void RemoveEffectField( VolumeEffectField field ) + { + fields.Remove( field ); + } + + public VolumeEffectComponent( Component c, VolumeEffectComponentFlags compFlags ) + : this( compFlags.componentName ) + { + foreach ( VolumeEffectFieldFlags fieldFlags in compFlags.componentFields ) + { + if ( !fieldFlags.blendFlag ) + continue; + + #if !UNITY_EDITOR && UNITY_METRO + FieldInfo pi = c.GetType ().GetRuntimeField (fieldFlags.fieldName); + #else + FieldInfo pi = c.GetType().GetField( fieldFlags.fieldName ); + #endif + VolumeEffectField field = VolumeEffectField.IsValidType( pi.FieldType.FullName ) ? new VolumeEffectField( pi, c ) : null; + if ( field != null ) + fields.Add( field ); + } + } + + public void UpdateComponent( Component c, VolumeEffectComponentFlags compFlags ) + { + foreach ( VolumeEffectFieldFlags fieldFlags in compFlags.componentFields ) + { + if ( !fieldFlags.blendFlag ) + continue; + + if ( !fields.Exists( s => s.fieldName == fieldFlags.fieldName ) ) + { + #if !UNITY_EDITOR && UNITY_METRO + FieldInfo pi=c.GetType().GetRuntimeField(fieldFlags.fieldName); + #else + FieldInfo pi = c.GetType().GetField( fieldFlags.fieldName ); + #endif + VolumeEffectField field = VolumeEffectField.IsValidType( pi.FieldType.FullName ) ? new VolumeEffectField( pi, c ) : null; + if ( field != null ) + fields.Add( field ); + } + } + } + + public VolumeEffectField GetEffectField( string fieldName ) + { + return fields.Find( s => s.fieldName == fieldName ); + } + + public static FieldInfo[] ListAcceptableFields( Component c ) + { + if ( c == null ) + return new FieldInfo[ 0 ]; + + #if !UNITY_EDITOR && UNITY_METRO + FieldInfo[] fields=c.GetType().GetRuntimeFields().ToArray(); + #else + FieldInfo[] fields = c.GetType().GetFields(); + #endif + + return ( fields.Where( f => VolumeEffectField.IsValidType( f.FieldType.FullName ) ) ).ToArray(); + } + + public string[] GetFieldNames() + { + return ( from r in fields select r.fieldName ).ToArray(); + } +} + +[Serializable] +public class VolumeEffect +{ + public AmplifyColorBase gameObject; + public List components; + + public VolumeEffect( AmplifyColorBase effect ) + { + gameObject = effect; + components = new List(); + } + + public static VolumeEffect BlendValuesToVolumeEffect( VolumeEffectFlags flags, VolumeEffect volume1, VolumeEffect volume2, float blend ) + { + VolumeEffect resultVolume = new VolumeEffect( volume1.gameObject ); + foreach ( VolumeEffectComponentFlags compFlags in flags.components ) + { + if ( !compFlags.blendFlag ) + continue; + + VolumeEffectComponent ec1 = volume1.components.Find( s => s.componentName == compFlags.componentName ); + VolumeEffectComponent ec2 = volume2.components.Find( s => s.componentName == compFlags.componentName ); + if ( ec1 == null || ec2 == null ) + continue; + + VolumeEffectComponent resultComp = new VolumeEffectComponent( ec1.componentName ); + foreach ( VolumeEffectFieldFlags fieldFlags in compFlags.componentFields ) + { + if ( fieldFlags.blendFlag ) + { + VolumeEffectField ef1 = ec1.fields.Find( s => s.fieldName == fieldFlags.fieldName ); + VolumeEffectField ef2 = ec2.fields.Find( s => s.fieldName == fieldFlags.fieldName ); + if ( ef1 == null || ef2 == null ) + continue; + + VolumeEffectField resultField = new VolumeEffectField( ef1.fieldName, ef1.fieldType ); + + switch ( resultField.fieldType ) + { + case "System.Single": resultField.valueSingle = Mathf.Lerp( ef1.valueSingle, ef2.valueSingle, blend ); break; + case "System.Boolean": resultField.valueBoolean = ef2.valueBoolean; break; + case "UnityEngine.Vector2": resultField.valueVector2 = Vector2.Lerp( ef1.valueVector2, ef2.valueVector2, blend ); break; + case "UnityEngine.Vector3": resultField.valueVector3 = Vector3.Lerp( ef1.valueVector3, ef2.valueVector3, blend ); break; + case "UnityEngine.Vector4": resultField.valueVector4 = Vector4.Lerp( ef1.valueVector4, ef2.valueVector4, blend ); break; + case "UnityEngine.Color": resultField.valueColor = Color.Lerp( ef1.valueColor, ef2.valueColor, blend ); break; + } + + resultComp.fields.Add( resultField ); + } + } + resultVolume.components.Add( resultComp ); + } + return resultVolume; + } + + public VolumeEffectComponent AddComponent( Component c, VolumeEffectComponentFlags compFlags ) + { + if ( compFlags == null ) + { + VolumeEffectComponent created = new VolumeEffectComponent( c.GetType() + "" ); + components.Add( created ); + return created; + } + else + { + VolumeEffectComponent component; + if ( ( component = components.Find( s => s.componentName == c.GetType() + "" ) ) != null ) + { + component.UpdateComponent( c, compFlags ); + return component; + } + else + { + VolumeEffectComponent created = new VolumeEffectComponent( c, compFlags ); + components.Add( created ); + return created; + } + } + } + public void RemoveEffectComponent( VolumeEffectComponent comp ) + { + components.Remove( comp ); + } + + public void UpdateVolume() + { + if ( gameObject == null ) + return; + + VolumeEffectFlags effectFlags = gameObject.EffectFlags; + foreach ( VolumeEffectComponentFlags compFlags in effectFlags.components ) + { + if ( !compFlags.blendFlag ) + continue; + + Component c = gameObject.GetComponent( compFlags.componentName ); + if ( c != null ) + AddComponent( c, compFlags ); + } + } + + public void SetValues( AmplifyColorBase targetColor ) + { + VolumeEffectFlags effectFlags = targetColor.EffectFlags; + GameObject go = targetColor.gameObject; + foreach ( VolumeEffectComponentFlags compFlags in effectFlags.components ) + { + if ( !compFlags.blendFlag ) + continue; + + Component c = go.GetComponent( compFlags.componentName ); + VolumeEffectComponent effectComp = components.Find( s => s.componentName == compFlags.componentName ); + if ( c == null || effectComp == null ) + continue; + + foreach ( VolumeEffectFieldFlags fieldFlags in compFlags.componentFields ) + { + if ( !fieldFlags.blendFlag ) + continue; + + #if !UNITY_EDITOR && UNITY_METRO + FieldInfo fi = c.GetType().GetRuntimeField(fieldFlags.fieldName); + #else + FieldInfo fi = c.GetType().GetField( fieldFlags.fieldName ); + #endif + VolumeEffectField effectField = effectComp.fields.Find( s => s.fieldName == fieldFlags.fieldName ); + if ( fi == null || effectField == null ) + continue; + + switch ( fi.FieldType.FullName ) + { + case "System.Single": fi.SetValue( c, effectField.valueSingle ); break; + case "System.Boolean": fi.SetValue( c, effectField.valueBoolean ); break; + case "UnityEngine.Vector2": fi.SetValue( c, effectField.valueVector2 ); break; + case "UnityEngine.Vector3": fi.SetValue( c, effectField.valueVector3 ); break; + case "UnityEngine.Vector4": fi.SetValue( c, effectField.valueVector4 ); break; + case "UnityEngine.Color": fi.SetValue( c, effectField.valueColor ); break; + } + } + } + } + + public void BlendValues( AmplifyColorBase targetColor, VolumeEffect other, float blendAmount ) + { + VolumeEffectFlags effectFlags = targetColor.EffectFlags; + GameObject go = targetColor.gameObject; + foreach ( VolumeEffectComponentFlags compFlags in effectFlags.components ) + { + if ( !compFlags.blendFlag ) + continue; + + Component c = go.GetComponent( compFlags.componentName ); + VolumeEffectComponent effectComp = components.Find( s => s.componentName == compFlags.componentName ); + VolumeEffectComponent effectCompOther = other.components.Find( s => s.componentName == compFlags.componentName ); + if ( c == null || effectComp == null || effectCompOther == null ) + continue; + + foreach ( VolumeEffectFieldFlags fieldFlags in compFlags.componentFields ) + { + if ( !fieldFlags.blendFlag ) + continue; + + #if !UNITY_EDITOR && UNITY_METRO + FieldInfo fi = c.GetType().GetRuntimeField(fieldFlags.fieldName); + #else + FieldInfo fi = c.GetType().GetField( fieldFlags.fieldName ); + #endif + VolumeEffectField effectField = effectComp.fields.Find( s => s.fieldName == fieldFlags.fieldName ); + VolumeEffectField effectFieldOther = effectCompOther.fields.Find( s => s.fieldName == fieldFlags.fieldName ); + + if ( fi == null || effectField == null || effectFieldOther == null ) + continue; + + switch ( fi.FieldType.FullName ) + { + case "System.Single": fi.SetValue( c, Mathf.Lerp( effectField.valueSingle, effectFieldOther.valueSingle, blendAmount ) ); break; + case "System.Boolean": fi.SetValue( c, effectFieldOther.valueBoolean ); break; + case "UnityEngine.Vector2": fi.SetValue( c, Vector2.Lerp( effectField.valueVector2, effectFieldOther.valueVector2, blendAmount ) ); break; + case "UnityEngine.Vector3": fi.SetValue( c, Vector3.Lerp( effectField.valueVector3, effectFieldOther.valueVector3, blendAmount ) ); break; + case "UnityEngine.Vector4": fi.SetValue( c, Vector4.Lerp( effectField.valueVector4, effectFieldOther.valueVector4, blendAmount ) ); break; + case "UnityEngine.Color": fi.SetValue( c, Color.Lerp( effectField.valueColor, effectFieldOther.valueColor, blendAmount ) ); break; + } + } + } + } + + public VolumeEffectComponent GetEffectComponent( string compName ) + { + return components.Find( s => s.componentName == compName ); + } + + public static Component[] ListAcceptableComponents( AmplifyColorBase go ) + { + if ( go == null ) + return new Component[ 0 ]; + + Component[] comps = go.GetComponents( typeof( Component ) ); + return ( comps.Where( comp => comp != null && ( !( ( comp.GetType() + "" ).StartsWith( "UnityEngine." ) || comp.GetType() == typeof( AmplifyColorBase ) ) ) ) ).ToArray(); + } + + public string[] GetComponentNames() + { + return ( from r in components select r.componentName ).ToArray(); + } +} + +[Serializable] +public class VolumeEffectContainer +{ + public List volumes; + + public VolumeEffectContainer() + { + volumes = new List(); + } + + public void AddColorEffect( AmplifyColorBase colorEffect ) + { + VolumeEffect volume; + if ( ( volume = volumes.Find( s => s.gameObject == colorEffect ) ) != null ) + volume.UpdateVolume(); + else + { + volume = new VolumeEffect( colorEffect ); + volumes.Add( volume ); + volume.UpdateVolume(); + } + } + + public VolumeEffect AddJustColorEffect( AmplifyColorBase colorEffect ) + { + VolumeEffect created = new VolumeEffect( colorEffect ); + volumes.Add( created ); + return created; + } + + public VolumeEffect GetVolumeEffect( AmplifyColorBase colorEffect ) + { + VolumeEffect volumeEffect = ( volumes.Find( s => s.gameObject == colorEffect ) ); + if ( volumeEffect == null ) + volumeEffect = volumes.Find( s => s.gameObject != null && s.gameObject.SharedInstanceID == colorEffect.SharedInstanceID ); + return volumeEffect; + } + + public void RemoveVolumeEffect( VolumeEffect volume ) + { + volumes.Remove( volume ); + } + + public AmplifyColorBase[] GetStoredEffects() + { + return ( from r in volumes select r.gameObject ).ToArray(); + } +} +} + + + diff --git a/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffects.cs.meta b/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffects.cs.meta new file mode 100644 index 0000000..908cbd3 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffects.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7d3fd1d6655eb04499053fa75ba87ace +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffectsFlags.cs b/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffectsFlags.cs new file mode 100644 index 0000000..944c5ce --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffectsFlags.cs @@ -0,0 +1,170 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using System; +using System.Reflection; +using System.Linq; + +namespace AmplifyColor +{ +[Serializable] +public class VolumeEffectFieldFlags +{ + public string fieldName; + public string fieldType; + public bool blendFlag = false; + + public VolumeEffectFieldFlags( FieldInfo pi ) + { + fieldName = pi.Name; + fieldType = pi.FieldType.FullName; + } + + public VolumeEffectFieldFlags( VolumeEffectField field ) + { + fieldName = field.fieldName; + fieldType = field.fieldType; + blendFlag = true; // why?... + } +} + +[Serializable] +public class VolumeEffectComponentFlags +{ + public string componentName; + public List componentFields; + public bool blendFlag = false; + + public VolumeEffectComponentFlags( string name ) + { + componentName = name; + componentFields = new List(); + } + + public VolumeEffectComponentFlags( VolumeEffectComponent comp ) + : this( comp.componentName ) + { + blendFlag = true; + foreach ( VolumeEffectField field in comp.fields ) + { + if ( VolumeEffectField.IsValidType( field.fieldType ) ) + componentFields.Add( new VolumeEffectFieldFlags( field ) ); + } + } + + public VolumeEffectComponentFlags( Component c ) + : this( c.GetType() + "" ) + { + #if !UNITY_EDITOR && UNITY_METRO + FieldInfo[] fields=c.GetType().GetRuntimeFields().ToArray(); + #else + FieldInfo[] fields = c.GetType().GetFields(); + #endif + foreach ( FieldInfo pi in fields ) + { + if ( VolumeEffectField.IsValidType( pi.FieldType.FullName ) ) + componentFields.Add( new VolumeEffectFieldFlags( pi ) ); + } + + } + + public void UpdateComponentFlags( VolumeEffectComponent comp ) + { + foreach ( VolumeEffectField field in comp.fields ) + { + if ( componentFields.Find( s => s.fieldName == field.fieldName ) == null && VolumeEffectField.IsValidType( field.fieldType ) ) + componentFields.Add( new VolumeEffectFieldFlags( field ) ); + } + } + + public void UpdateComponentFlags( Component c ) + { + #if !UNITY_EDITOR && UNITY_METRO + FieldInfo[] fields=c.GetType().GetRuntimeFields().ToArray(); + #else + FieldInfo[] fields = c.GetType().GetFields(); + #endif + foreach ( FieldInfo pi in fields ) + { + if ( !componentFields.Exists( s => s.fieldName == pi.Name ) && VolumeEffectField.IsValidType( pi.FieldType.FullName ) ) + componentFields.Add( new VolumeEffectFieldFlags( pi ) ); + } + } + + public string[] GetFieldNames() + { + return ( from r in componentFields where r.blendFlag select r.fieldName ).ToArray(); + } +} + +[Serializable] +public class VolumeEffectFlags +{ + public List components; + + public VolumeEffectFlags() + { + components = new List(); + } + + public void AddComponent( Component c ) + { + VolumeEffectComponentFlags componentFlags; + if ( ( componentFlags = components.Find( s => s.componentName == c.GetType() + "" ) ) != null ) + componentFlags.UpdateComponentFlags( c ); + else + components.Add( new VolumeEffectComponentFlags( c ) ); + } + + public void UpdateFlags( VolumeEffect effectVol ) + { + foreach ( VolumeEffectComponent comp in effectVol.components ) + { + VolumeEffectComponentFlags compFlags = null; + if ( ( compFlags = components.Find( s => s.componentName == comp.componentName ) ) == null ) + components.Add( new VolumeEffectComponentFlags( comp ) ); + else + compFlags.UpdateComponentFlags( comp ); + } + } + + public static void UpdateCamFlags( AmplifyColorBase[] effects, AmplifyColorVolumeBase[] volumes ) + { + foreach ( AmplifyColorBase effect in effects ) + { + effect.EffectFlags = new VolumeEffectFlags(); + foreach ( AmplifyColorVolumeBase volume in volumes ) + { + VolumeEffect effectVolume = volume.EffectContainer.GetVolumeEffect( effect ); + if ( effectVolume != null ) + effect.EffectFlags.UpdateFlags( effectVolume ); + } + } + } + + public VolumeEffect GenerateEffectData( AmplifyColorBase go ) + { + VolumeEffect result = new VolumeEffect( go ); + foreach ( VolumeEffectComponentFlags compFlags in components ) + { + if ( !compFlags.blendFlag ) + continue; + + Component c = go.GetComponent( compFlags.componentName ); + if ( c != null ) + result.AddComponent( c, compFlags ); + } + return result; + } + + public VolumeEffectComponentFlags GetComponentFlags( string compName ) + { + return components.Find( s => s.componentName == compName ); + } + + public string[] GetComponentNames() + { + return ( from r in components where r.blendFlag select r.componentName ).ToArray(); + } +} +} \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffectsFlags.cs.meta b/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffectsFlags.cs.meta new file mode 100644 index 0000000..f71eb50 --- /dev/null +++ b/Assets/External/AmplifyColor/Plugins/Runtime/VolumeEffectsFlags.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0b8c14f1da8837b42bc65996a3507400 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Readme.txt b/Assets/External/AmplifyColor/Readme.txt new file mode 100644 index 0000000..27ac4d5 --- /dev/null +++ b/Assets/External/AmplifyColor/Readme.txt @@ -0,0 +1,77 @@ +About + + Amplify Color (c) Amplify Creations, Lda. All rights reserved. + + Amplify Color is an Advanced Color Grading extension for Unity Pro + + Redistribution of Amplify Color is frowned upon. If you want to share the + software, please refer others to the official download page: + + http://amplify.pt/unity/amplify-color + +Description + + Amplify Color, previously known as Color3 Advanced Grading, brings industry-level + color grading to your game by mimicking the color transforms made inside a tool + like Photoshop; e.g. change contrast, color curves, exposure, saturation, hue and + more, or a combination of all transforms at once. So fast, it runs on mobile. + +Features + + * Advanced color grading + * Semi-automated Photoshop workflow + * File-based standard workflow + * Dynamic blending between profiles + * Texture-based per-pixel masking + +Supported Platforms + + * All platforms + +Minimum Requirements + + Software + + Unity 3.5.7f6 + +Quick Guide + + 1) Export a reference screenshot from Unity, using "Window/Amplify Color/LUT Editor" + + 2) Open reference screenshot in your favorite image editing software + + 3) Apply any color changes you desire. E.g. hue, exposure + + 4) Save and load it into Unity using "Window/Amplify Color/LUT Editor" + + 5) Amplify Color automatically generates a texture containing a color grading + look-up-table (LUT). + + 6) Apply a "Amplify Color" component to your main camera. + + 7) Assign the previously generated LUT texture to the effect + + 8) Enjoy changes you made to the reference screenshot applied to every frame of your game. + +Documentation + + Please refer to the following website for an up-to-date online manual: + + http://amplify.pt/unity/amplify-color/manual + +Feedback + + To file error reports, questions or suggestions, you may use + our feedback form online: + + http://amplify.pt/contact + + Or contact us directly: + + For general inquiries - info@amplify.pt + For technical support - support@amplify.pt (customers only) + +Acknowledgements + + This project was originally built in partnership with Tiago Carvalho + http://pt.linkedin.com/pub/tiago-carvalho/18/aa1/306 \ No newline at end of file diff --git a/Assets/External/AmplifyColor/Readme.txt.meta b/Assets/External/AmplifyColor/Readme.txt.meta new file mode 100644 index 0000000..ea22884 --- /dev/null +++ b/Assets/External/AmplifyColor/Readme.txt.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: eb2e41e7c0fd793468bb8d374d4c40fa +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Resources.meta b/Assets/External/AmplifyColor/Resources.meta new file mode 100644 index 0000000..d56870c --- /dev/null +++ b/Assets/External/AmplifyColor/Resources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: af380f538edd08c4d8f107ad2daa59ff +folderAsset: yes +timeCreated: 1448992503 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Resources/Base.shader b/Assets/External/AmplifyColor/Resources/Base.shader new file mode 100644 index 0000000..26d432f --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/Base.shader @@ -0,0 +1,52 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +Shader "Hidden/Amplify Color/Base" { + Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + } + + Subshader { + ZTest Always Cull Off ZWrite Off Blend Off + Fog { Mode off } + + // LDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + return apply( tex2D( _MainTex, i.uv ) ); + } + ENDCG + } + + // HDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + #if SHADER_API_D3D9 + return apply( min( tex2D( _MainTex, i.uv ), 1.0 ) ); + #else + return apply( saturate( tex2D( _MainTex, i.uv ) ) ); + #endif + } + ENDCG + } + } + +Fallback off + +} // shader diff --git a/Assets/External/AmplifyColor/Resources/Base.shader.meta b/Assets/External/AmplifyColor/Resources/Base.shader.meta new file mode 100644 index 0000000..5d34e2f --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/Base.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 68f9938c7bf52e94bb37d6a74297f0ae +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Resources/BaseLinear.shader b/Assets/External/AmplifyColor/Resources/BaseLinear.shader new file mode 100644 index 0000000..2e53975 --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/BaseLinear.shader @@ -0,0 +1,54 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +Shader "Hidden/Amplify Color/BaseLinear" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + Subshader { + ZTest Always Cull Off ZWrite Off Blend Off + Fog { Mode off } + + // LDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + fixed4 color = tex2D( _MainTex, i.uv ); + return to_linear( apply( to_srgb( color ) ) ); + } + ENDCG + } + + // HDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + #if SHADER_API_D3D9 + fixed4 color = min( tex2D( _MainTex, i.uv ), 1.0 ); + #else + fixed4 color = saturate( tex2D( _MainTex, i.uv ) ); + #endif + return to_linear( apply( to_srgb( color ) ) ); + } + ENDCG + } + } + +Fallback off + +} // shader diff --git a/Assets/External/AmplifyColor/Resources/BaseLinear.shader.meta b/Assets/External/AmplifyColor/Resources/BaseLinear.shader.meta new file mode 100644 index 0000000..ca54e5b --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/BaseLinear.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5f8d98a4447275d44adeafd07a446a34 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Resources/Blend.shader b/Assets/External/AmplifyColor/Resources/Blend.shader new file mode 100644 index 0000000..ab1e5e6 --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/Blend.shader @@ -0,0 +1,53 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +Shader "Hidden/Amplify Color/Blend" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + Subshader { + ZTest Always Cull Off ZWrite Off Blend Off + Fog { Mode off } + + // LDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + return apply_blend( tex2D( _MainTex, i.uv ) ); + } + ENDCG + } + + // HDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + #if SHADER_API_D3D9 + return apply_blend( min( tex2D( _MainTex, i.uv ), 1.0 ) ); + #else + return apply_blend( saturate( tex2D( _MainTex, i.uv ) ) ); + #endif + + } + ENDCG + } + } + +Fallback off + +} // shader diff --git a/Assets/External/AmplifyColor/Resources/Blend.shader.meta b/Assets/External/AmplifyColor/Resources/Blend.shader.meta new file mode 100644 index 0000000..7939918 --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/Blend.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ce4cea5500fd1664ab8ec906187a8f6e +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Resources/BlendCache.shader b/Assets/External/AmplifyColor/Resources/BlendCache.shader new file mode 100644 index 0000000..66282d6 --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/BlendCache.shader @@ -0,0 +1,33 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +Shader "Hidden/Amplify Color/BlendCache" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + Subshader { + ZTest Always Cull Off ZWrite Off Blend Off + Fog { Mode off } + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + fixed4 lut1 = tex2D( _RgbTex, i.uv ); + fixed4 lut2 = tex2D( _LerpRgbTex, i.uv ); + return lerp( lut1, lut2, _lerpAmount ); + } + ENDCG + } + } + +Fallback off + +} // shader diff --git a/Assets/External/AmplifyColor/Resources/BlendCache.shader.meta b/Assets/External/AmplifyColor/Resources/BlendCache.shader.meta new file mode 100644 index 0000000..cc625f8 --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/BlendCache.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9f3f6f752b5025443bac6d8a81d38478 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Resources/BlendLinear.shader b/Assets/External/AmplifyColor/Resources/BlendLinear.shader new file mode 100644 index 0000000..c9fc8a3 --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/BlendLinear.shader @@ -0,0 +1,54 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +Shader "Hidden/Amplify Color/BlendLinear" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + Subshader { + ZTest Always Cull Off ZWrite Off Blend Off + Fog { Mode off } + + // LDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + fixed4 color = tex2D( _MainTex, i.uv ); + return to_linear( apply_blend( to_srgb( color ) ) ); + } + ENDCG + } + + // HDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + #if SHADER_API_D3D9 + fixed4 color = min( tex2D( _MainTex, i.uv ), 1.0 ); + #else + fixed4 color = saturate( tex2D( _MainTex, i.uv ) ); + #endif + return to_linear( apply_blend( to_srgb( color ) ) ); + } + ENDCG + } + } + +Fallback off + +} // shader diff --git a/Assets/External/AmplifyColor/Resources/BlendLinear.shader.meta b/Assets/External/AmplifyColor/Resources/BlendLinear.shader.meta new file mode 100644 index 0000000..79a0425 --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/BlendLinear.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e92679d64d902bc419e69fd521ed2014 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Resources/BlendMask.shader b/Assets/External/AmplifyColor/Resources/BlendMask.shader new file mode 100644 index 0000000..0dfe10a --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/BlendMask.shader @@ -0,0 +1,56 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +Shader "Hidden/Amplify Color/BlendMask" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + Subshader { + ZTest Always Cull Off ZWrite Off Blend Off + Fog { Mode off } + + // LDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + fixed4 color = tex2D( _MainTex, i.uv ); + fixed mask = tex2D( _MaskTex, i.uv1 ).r; + return lerp( color, apply_blend( color ), mask ); + } + ENDCG + } + + // HDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + #if SHADER_API_D3D9 + fixed4 color = min( tex2D( _MainTex, i.uv ), 1.0 ); + #else + fixed4 color = saturate( tex2D( _MainTex, i.uv ) ); + #endif + fixed mask = tex2D( _MaskTex, i.uv1 ).r; + return lerp( color, apply_blend( color ), mask ); + } + ENDCG + } + } + +Fallback off + +} // shader diff --git a/Assets/External/AmplifyColor/Resources/BlendMask.shader.meta b/Assets/External/AmplifyColor/Resources/BlendMask.shader.meta new file mode 100644 index 0000000..f1ac710 --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/BlendMask.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8975e132e9972254ebd4aae17e269a03 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Resources/BlendMaskLinear.shader b/Assets/External/AmplifyColor/Resources/BlendMaskLinear.shader new file mode 100644 index 0000000..e0d245d --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/BlendMaskLinear.shader @@ -0,0 +1,56 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +Shader "Hidden/Amplify Color/BlendMaskLinear" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + Subshader { + ZTest Always Cull Off ZWrite Off Blend Off + Fog { Mode off } + + // LDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + fixed4 color = tex2D( _MainTex, i.uv ); + fixed mask = tex2D( _MaskTex, i.uv1 ).r; + return lerp( color, to_linear( apply_blend( to_srgb( color ) ) ), mask ); + } + ENDCG + } + + // HDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + #if SHADER_API_D3D9 + fixed4 color = min( tex2D( _MainTex, i.uv ), 1.0 ); + #else + fixed4 color = saturate( tex2D( _MainTex, i.uv ) ); + #endif + fixed mask = tex2D( _MaskTex, i.uv1 ).r; + return lerp( color, to_linear( apply_blend( to_srgb( color ) ) ), mask ); + } + ENDCG + } + } + +Fallback off + +} // shader diff --git a/Assets/External/AmplifyColor/Resources/BlendMaskLinear.shader.meta b/Assets/External/AmplifyColor/Resources/BlendMaskLinear.shader.meta new file mode 100644 index 0000000..c43cf19 --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/BlendMaskLinear.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 67e06ac6adb61c848a57a25d13cee3d2 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Resources/Common.cginc b/Assets/External/AmplifyColor/Resources/Common.cginc new file mode 100644 index 0000000..0d2eb1d --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/Common.cginc @@ -0,0 +1,95 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +#ifndef AMPLIFY_COLOR_COMMON_INCLUDED +#define AMPLIFY_COLOR_COMMON_INCLUDED + +#include "UnityCG.cginc" + +uniform sampler2D _MainTex; +uniform float4 _MainTex_TexelSize; +uniform sampler2D _RgbTex; +uniform sampler2D _LerpRgbTex; +uniform sampler2D _RgbBlendCacheTex; +uniform sampler2D _MaskTex; +uniform float4 _MaskTex_TexelSize; +uniform half _lerpAmount; + +struct v2f +{ + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 uv1 : TEXCOORD1; +}; + +v2f vert( appdata_img v ) +{ + v2f o; + o.pos = mul( UNITY_MATRIX_MVP, v.vertex ); + o.uv = v.texcoord.xy; + o.uv1 = v.texcoord.xy; +#if defined( UNITY_UV_STARTS_AT_TOP ) + if ( _MainTex_TexelSize.y < 0 ) + o.uv1.y = 1 - o.uv1.y; +#endif +#if defined( UNITY_HALF_TEXEL_OFFSET ) + o.uv1.xy += _MaskTex_TexelSize.xy * float2( -0.5, 0.5 ); +#endif + return o; +} + +inline fixed4 to_srgb( fixed4 c ) +{ + c.rgb = ( c.rgb < half3( 0.0031308, 0.0031308, 0.0031308 ) ) ? 12.92 * c.rgb : 1.055 * pow( c.rgb, 0.41666 ) - 0.055; + return c; +} + +inline fixed4 to_linear( fixed4 c ) +{ + c.rgb = ( c.rgb <= half3( 0.04045, 0.04045, 0.04045 ) ) ? c.rgb * ( 1.0 / 12.92 ) : pow( c.rgb * ( 1.0 / 1.055 ) + ( 0.055 / 1.055 ), 2.4 ); + return c; +} + +inline fixed4 apply_lut( fixed4 color, sampler2D lut ) +{ + const float4 coord_scale = float4( 0.0302734375, 0.96875, 31.0, 0.0 ); + const float4 coord_offset = float4( 0.00048828125, 0.015625, 0.0, 0.0 ); + const float2 texel_height_X0 = float2( 0.03125, 0.0 ); + + float4 coord = color * coord_scale + coord_offset; + +#if AC_QUALITY_STANDARD + fixed4 coord_frac = frac( coord ); + float4 coord_floor = coord - coord_frac; + + float2 coord_bot = coord.xy + coord_floor.zz * texel_height_X0; + float2 coord_top = coord_bot + texel_height_X0; + + fixed3 lutcol_bot = tex2D( lut, coord_bot ).rgb; + fixed3 lutcol_top = tex2D( lut, coord_top ).rgb; + + color.rgb = lerp( lutcol_bot, lutcol_top, coord_frac.z ); +#endif + +#if AC_QUALITY_MOBILE + float4 coord_floor = floor( coord + 0.5 ); + + float2 coord_bot = coord.xy + coord_floor.zz * texel_height_X0; + + color.rgb = tex2D( lut, coord_bot ).rgb; +#endif + + return color; +} + +inline fixed4 apply( fixed4 color ) +{ + return apply_lut( color, _RgbTex ); +} + +inline fixed4 apply_blend( fixed4 color ) +{ + return apply_lut( color, _RgbBlendCacheTex ); +} + +#endif diff --git a/Assets/External/AmplifyColor/Resources/Common.cginc.meta b/Assets/External/AmplifyColor/Resources/Common.cginc.meta new file mode 100644 index 0000000..95c688b --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/Common.cginc.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4b705e0ba3258d04eb414afd584acaa2 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Resources/Mask.shader b/Assets/External/AmplifyColor/Resources/Mask.shader new file mode 100644 index 0000000..30072d1 --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/Mask.shader @@ -0,0 +1,56 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +Shader "Hidden/Amplify Color/Mask" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + Subshader { + ZTest Always Cull Off ZWrite Off Blend Off + Fog { Mode off } + + // LDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + fixed4 color = tex2D( _MainTex, i.uv ); + fixed mask = tex2D( _MaskTex, i.uv1 ).r; + return lerp( color, apply( color ), mask ); + } + ENDCG + } + + // HDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + #if SHADER_API_D3D9 + fixed4 color = min( tex2D( _MainTex, i.uv ), 1.0 ); + #else + fixed4 color = saturate( tex2D( _MainTex, i.uv ) ); + #endif + fixed mask = tex2D( _MaskTex, i.uv1 ).r; + return lerp( color, apply( color ), mask ); + } + ENDCG + } + } + +Fallback off + +} // shader diff --git a/Assets/External/AmplifyColor/Resources/Mask.shader.meta b/Assets/External/AmplifyColor/Resources/Mask.shader.meta new file mode 100644 index 0000000..0c429fb --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/Mask.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ed6c30a513efa1e49af4a791bd4675b7 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Resources/MaskLinear.shader b/Assets/External/AmplifyColor/Resources/MaskLinear.shader new file mode 100644 index 0000000..11e08ce --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/MaskLinear.shader @@ -0,0 +1,56 @@ +// Amplify Color - Advanced Color Grading for Unity Pro +// Copyright (c) Amplify Creations, Lda + +Shader "Hidden/Amplify Color/MaskLinear" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + Subshader { + ZTest Always Cull Off ZWrite Off Blend Off + Fog { Mode off } + + // LDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + fixed4 color = tex2D( _MainTex, i.uv ); + fixed mask = tex2D( _MaskTex, i.uv1 ).r; + return lerp( color, to_linear( apply( to_srgb( color ) ) ), mask ); + } + ENDCG + } + + // HDR + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile AC_QUALITY_STANDARD AC_QUALITY_MOBILE + #include "Common.cginc" + + fixed4 frag( v2f i ) : SV_Target + { + #if SHADER_API_D3D9 + fixed4 color = min( tex2D( _MainTex, i.uv ), 1.0 ); + #else + fixed4 color = saturate( tex2D( _MainTex, i.uv ) ); + #endif + fixed mask = tex2D( _MaskTex, i.uv1 ).r; + return lerp( color, to_linear( apply( to_srgb( color ) ) ), mask ); + } + ENDCG + } + } + +Fallback off + +} // shader diff --git a/Assets/External/AmplifyColor/Resources/MaskLinear.shader.meta b/Assets/External/AmplifyColor/Resources/MaskLinear.shader.meta new file mode 100644 index 0000000..84a55f6 --- /dev/null +++ b/Assets/External/AmplifyColor/Resources/MaskLinear.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f541cfc28f7350f479584d49af7f0bcb +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples.meta b/Assets/External/AmplifyColor/Samples.meta new file mode 100644 index 0000000..b72588f --- /dev/null +++ b/Assets/External/AmplifyColor/Samples.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7e018cf6b6b98124796ecdc2e0aedd68 +folderAsset: yes +timeCreated: 1448992503 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Bleach Bypass.png b/Assets/External/AmplifyColor/Samples/Bleach Bypass.png new file mode 100644 index 0000000..437a23d Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Bleach Bypass.png differ diff --git a/Assets/External/AmplifyColor/Samples/Bleach Bypass.png.meta b/Assets/External/AmplifyColor/Samples/Bleach Bypass.png.meta new file mode 100644 index 0000000..368e05b --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Bleach Bypass.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: 985121459dea4a342b37beba48f3ab5e +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Blue Hue.png b/Assets/External/AmplifyColor/Samples/Blue Hue.png new file mode 100644 index 0000000..4269964 Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Blue Hue.png differ diff --git a/Assets/External/AmplifyColor/Samples/Blue Hue.png.meta b/Assets/External/AmplifyColor/Samples/Blue Hue.png.meta new file mode 100644 index 0000000..18a4c04 --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Blue Hue.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: a4bbd576c596831439c71e3c468616de +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Color.png b/Assets/External/AmplifyColor/Samples/Color.png new file mode 100644 index 0000000..9e34d24 Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Color.png differ diff --git a/Assets/External/AmplifyColor/Samples/Color.png.meta b/Assets/External/AmplifyColor/Samples/Color.png.meta new file mode 100644 index 0000000..ea6f3c9 --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Color.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: 6ed4ceed295eb0749b63fc72b6b7edb2 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Dusty Orange.png b/Assets/External/AmplifyColor/Samples/Dusty Orange.png new file mode 100644 index 0000000..c02e6d5 Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Dusty Orange.png differ diff --git a/Assets/External/AmplifyColor/Samples/Dusty Orange.png.meta b/Assets/External/AmplifyColor/Samples/Dusty Orange.png.meta new file mode 100644 index 0000000..60234f8 --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Dusty Orange.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: 64fcdd4051c478d4f9927a2ef774440a +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Exposure.png b/Assets/External/AmplifyColor/Samples/Exposure.png new file mode 100644 index 0000000..bec22a1 Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Exposure.png differ diff --git a/Assets/External/AmplifyColor/Samples/Exposure.png.meta b/Assets/External/AmplifyColor/Samples/Exposure.png.meta new file mode 100644 index 0000000..54e8fb7 --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Exposure.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: f737291184f45b5489d196ec71858a61 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Invert.png b/Assets/External/AmplifyColor/Samples/Invert.png new file mode 100644 index 0000000..e5463d8 Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Invert.png differ diff --git a/Assets/External/AmplifyColor/Samples/Invert.png.meta b/Assets/External/AmplifyColor/Samples/Invert.png.meta new file mode 100644 index 0000000..9bc1599 --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Invert.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: 4b5db12eed1bc394bb66a60e0923c6ba +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Mask.png b/Assets/External/AmplifyColor/Samples/Mask.png new file mode 100644 index 0000000..5a85f58 Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Mask.png differ diff --git a/Assets/External/AmplifyColor/Samples/Mask.png.meta b/Assets/External/AmplifyColor/Samples/Mask.png.meta new file mode 100644 index 0000000..2bd05c0 --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Mask.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: d23d80103f4b1e8459cb343997491986 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Normal.png b/Assets/External/AmplifyColor/Samples/Normal.png new file mode 100644 index 0000000..5effd2f Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Normal.png differ diff --git a/Assets/External/AmplifyColor/Samples/Normal.png.meta b/Assets/External/AmplifyColor/Samples/Normal.png.meta new file mode 100644 index 0000000..532bd24 --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Normal.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: 5059551652c0f0c40b563a0c2aba4516 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Red Dawn.png b/Assets/External/AmplifyColor/Samples/Red Dawn.png new file mode 100644 index 0000000..cdf6d17 Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Red Dawn.png differ diff --git a/Assets/External/AmplifyColor/Samples/Red Dawn.png.meta b/Assets/External/AmplifyColor/Samples/Red Dawn.png.meta new file mode 100644 index 0000000..7521931 --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Red Dawn.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: a66002ae3fc6d44469e1af7370218be3 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Setting Sun.png b/Assets/External/AmplifyColor/Samples/Setting Sun.png new file mode 100644 index 0000000..e65431c Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Setting Sun.png differ diff --git a/Assets/External/AmplifyColor/Samples/Setting Sun.png.meta b/Assets/External/AmplifyColor/Samples/Setting Sun.png.meta new file mode 100644 index 0000000..27268ca --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Setting Sun.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: 1d5cc3f6c9262554f854fba129f60a54 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Toxic.png b/Assets/External/AmplifyColor/Samples/Toxic.png new file mode 100644 index 0000000..3116530 Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Toxic.png differ diff --git a/Assets/External/AmplifyColor/Samples/Toxic.png.meta b/Assets/External/AmplifyColor/Samples/Toxic.png.meta new file mode 100644 index 0000000..0c58d74 --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Toxic.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: 44b309e6344dd9244a5660cc3d608f05 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Vibrance 2.png b/Assets/External/AmplifyColor/Samples/Vibrance 2.png new file mode 100644 index 0000000..09dccdc Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Vibrance 2.png differ diff --git a/Assets/External/AmplifyColor/Samples/Vibrance 2.png.meta b/Assets/External/AmplifyColor/Samples/Vibrance 2.png.meta new file mode 100644 index 0000000..856a055 --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Vibrance 2.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: bb3eefaffac30f84ba7b9771ed2eb6f4 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Vibrance.png b/Assets/External/AmplifyColor/Samples/Vibrance.png new file mode 100644 index 0000000..7343801 Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Vibrance.png differ diff --git a/Assets/External/AmplifyColor/Samples/Vibrance.png.meta b/Assets/External/AmplifyColor/Samples/Vibrance.png.meta new file mode 100644 index 0000000..6bb425f --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Vibrance.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: 2d6a9c80173276b4a83cd556305ca09b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Samples/Warm Purple.png b/Assets/External/AmplifyColor/Samples/Warm Purple.png new file mode 100644 index 0000000..c02e6d5 Binary files /dev/null and b/Assets/External/AmplifyColor/Samples/Warm Purple.png differ diff --git a/Assets/External/AmplifyColor/Samples/Warm Purple.png.meta b/Assets/External/AmplifyColor/Samples/Warm Purple.png.meta new file mode 100644 index 0000000..a036f5b --- /dev/null +++ b/Assets/External/AmplifyColor/Samples/Warm Purple.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: ae2a8ef8c1b5eb849a89b462e10de3ae +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Textures.meta b/Assets/External/AmplifyColor/Textures.meta new file mode 100644 index 0000000..181af38 --- /dev/null +++ b/Assets/External/AmplifyColor/Textures.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 33e00c8dcac0ff84283aaa8377b4dd0e +folderAsset: yes +timeCreated: 1448992503 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/AmplifyColor/Textures/About.png b/Assets/External/AmplifyColor/Textures/About.png new file mode 100644 index 0000000..909cf37 Binary files /dev/null and b/Assets/External/AmplifyColor/Textures/About.png differ diff --git a/Assets/External/AmplifyColor/Textures/About.png.meta b/Assets/External/AmplifyColor/Textures/About.png.meta new file mode 100644 index 0000000..f346fbc --- /dev/null +++ b/Assets/External/AmplifyColor/Textures/About.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: ab75e8f12bda12c46a2124ff051a96cb +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: 3 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cardboard.meta b/Assets/External/Cardboard.meta similarity index 67% rename from Assets/Cardboard.meta rename to Assets/External/Cardboard.meta index a00763e..e62e8de 100644 --- a/Assets/Cardboard.meta +++ b/Assets/External/Cardboard.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: db8c31ff543c16942bf027b21ae13a8f +guid: f7872792432fdf94888cc81ff9b87dba folderAsset: yes -timeCreated: 1445544382 +timeCreated: 1446065138 licenseType: Free DefaultImporter: userData: diff --git a/Assets/Cardboard/DemoScene.meta b/Assets/External/Cardboard/DemoScene.meta similarity index 100% rename from Assets/Cardboard/DemoScene.meta rename to Assets/External/Cardboard/DemoScene.meta diff --git a/Assets/Cardboard/DemoScene/DemoScene.unity b/Assets/External/Cardboard/DemoScene/DemoScene.unity similarity index 100% rename from Assets/Cardboard/DemoScene/DemoScene.unity rename to Assets/External/Cardboard/DemoScene/DemoScene.unity diff --git a/Assets/Cardboard/DemoScene/DemoScene.unity.meta b/Assets/External/Cardboard/DemoScene/DemoScene.unity.meta similarity index 100% rename from Assets/Cardboard/DemoScene/DemoScene.unity.meta rename to Assets/External/Cardboard/DemoScene/DemoScene.unity.meta diff --git a/Assets/Cardboard/DemoScene/FPS.cs b/Assets/External/Cardboard/DemoScene/FPS.cs similarity index 100% rename from Assets/Cardboard/DemoScene/FPS.cs rename to Assets/External/Cardboard/DemoScene/FPS.cs diff --git a/Assets/Cardboard/DemoScene/FPS.cs.meta b/Assets/External/Cardboard/DemoScene/FPS.cs.meta similarity index 100% rename from Assets/Cardboard/DemoScene/FPS.cs.meta rename to Assets/External/Cardboard/DemoScene/FPS.cs.meta diff --git a/Assets/Cardboard/DemoScene/GazePointer.mat b/Assets/External/Cardboard/DemoScene/GazePointer.mat similarity index 100% rename from Assets/Cardboard/DemoScene/GazePointer.mat rename to Assets/External/Cardboard/DemoScene/GazePointer.mat diff --git a/Assets/Cardboard/DemoScene/GazePointer.mat.meta b/Assets/External/Cardboard/DemoScene/GazePointer.mat.meta similarity index 100% rename from Assets/Cardboard/DemoScene/GazePointer.mat.meta rename to Assets/External/Cardboard/DemoScene/GazePointer.mat.meta diff --git a/Assets/Cardboard/DemoScene/GroundPlane.mat b/Assets/External/Cardboard/DemoScene/GroundPlane.mat similarity index 100% rename from Assets/Cardboard/DemoScene/GroundPlane.mat rename to Assets/External/Cardboard/DemoScene/GroundPlane.mat diff --git a/Assets/Cardboard/DemoScene/GroundPlane.mat.meta b/Assets/External/Cardboard/DemoScene/GroundPlane.mat.meta similarity index 100% rename from Assets/Cardboard/DemoScene/GroundPlane.mat.meta rename to Assets/External/Cardboard/DemoScene/GroundPlane.mat.meta diff --git a/Assets/Cardboard/DemoScene/GroundPlane.png b/Assets/External/Cardboard/DemoScene/GroundPlane.png similarity index 100% rename from Assets/Cardboard/DemoScene/GroundPlane.png rename to Assets/External/Cardboard/DemoScene/GroundPlane.png diff --git a/Assets/Cardboard/DemoScene/GroundPlane.png.meta b/Assets/External/Cardboard/DemoScene/GroundPlane.png.meta similarity index 100% rename from Assets/Cardboard/DemoScene/GroundPlane.png.meta rename to Assets/External/Cardboard/DemoScene/GroundPlane.png.meta diff --git a/Assets/Cardboard/DemoScene/Teleport.cs b/Assets/External/Cardboard/DemoScene/Teleport.cs similarity index 100% rename from Assets/Cardboard/DemoScene/Teleport.cs rename to Assets/External/Cardboard/DemoScene/Teleport.cs diff --git a/Assets/Cardboard/DemoScene/Teleport.cs.meta b/Assets/External/Cardboard/DemoScene/Teleport.cs.meta similarity index 100% rename from Assets/Cardboard/DemoScene/Teleport.cs.meta rename to Assets/External/Cardboard/DemoScene/Teleport.cs.meta diff --git a/Assets/Cardboard/Distortion.meta b/Assets/External/Cardboard/Distortion.meta similarity index 100% rename from Assets/Cardboard/Distortion.meta rename to Assets/External/Cardboard/Distortion.meta diff --git a/Assets/Cardboard/Distortion/CardboardDistortion.cginc b/Assets/External/Cardboard/Distortion/CardboardDistortion.cginc similarity index 100% rename from Assets/Cardboard/Distortion/CardboardDistortion.cginc rename to Assets/External/Cardboard/Distortion/CardboardDistortion.cginc diff --git a/Assets/Cardboard/Distortion/CardboardDistortion.cginc.meta b/Assets/External/Cardboard/Distortion/CardboardDistortion.cginc.meta similarity index 100% rename from Assets/Cardboard/Distortion/CardboardDistortion.cginc.meta rename to Assets/External/Cardboard/Distortion/CardboardDistortion.cginc.meta diff --git a/Assets/Cardboard/Editor.meta b/Assets/External/Cardboard/Editor.meta similarity index 100% rename from Assets/Cardboard/Editor.meta rename to Assets/External/Cardboard/Editor.meta diff --git a/Assets/Cardboard/Editor/CardboardEditor.cs b/Assets/External/Cardboard/Editor/CardboardEditor.cs similarity index 100% rename from Assets/Cardboard/Editor/CardboardEditor.cs rename to Assets/External/Cardboard/Editor/CardboardEditor.cs diff --git a/Assets/Cardboard/Editor/CardboardEditor.cs.meta b/Assets/External/Cardboard/Editor/CardboardEditor.cs.meta similarity index 100% rename from Assets/Cardboard/Editor/CardboardEditor.cs.meta rename to Assets/External/Cardboard/Editor/CardboardEditor.cs.meta diff --git a/Assets/Cardboard/Editor/StereoControllerEditor.cs b/Assets/External/Cardboard/Editor/StereoControllerEditor.cs similarity index 100% rename from Assets/Cardboard/Editor/StereoControllerEditor.cs rename to Assets/External/Cardboard/Editor/StereoControllerEditor.cs diff --git a/Assets/Cardboard/Editor/StereoControllerEditor.cs.meta b/Assets/External/Cardboard/Editor/StereoControllerEditor.cs.meta similarity index 100% rename from Assets/Cardboard/Editor/StereoControllerEditor.cs.meta rename to Assets/External/Cardboard/Editor/StereoControllerEditor.cs.meta diff --git a/Assets/Cardboard/Legacy.meta b/Assets/External/Cardboard/Legacy.meta similarity index 100% rename from Assets/Cardboard/Legacy.meta rename to Assets/External/Cardboard/Legacy.meta diff --git a/Assets/Cardboard/Legacy/DemoScene.meta b/Assets/External/Cardboard/Legacy/DemoScene.meta similarity index 100% rename from Assets/Cardboard/Legacy/DemoScene.meta rename to Assets/External/Cardboard/Legacy/DemoScene.meta diff --git a/Assets/Cardboard/Legacy/DemoScene/CardboardPointer.png b/Assets/External/Cardboard/Legacy/DemoScene/CardboardPointer.png similarity index 100% rename from Assets/Cardboard/Legacy/DemoScene/CardboardPointer.png rename to Assets/External/Cardboard/Legacy/DemoScene/CardboardPointer.png diff --git a/Assets/Cardboard/Legacy/DemoScene/CardboardPointer.png.meta b/Assets/External/Cardboard/Legacy/DemoScene/CardboardPointer.png.meta similarity index 100% rename from Assets/Cardboard/Legacy/DemoScene/CardboardPointer.png.meta rename to Assets/External/Cardboard/Legacy/DemoScene/CardboardPointer.png.meta diff --git a/Assets/Cardboard/Legacy/DemoScene/DemoScene.unity b/Assets/External/Cardboard/Legacy/DemoScene/DemoScene.unity similarity index 100% rename from Assets/Cardboard/Legacy/DemoScene/DemoScene.unity rename to Assets/External/Cardboard/Legacy/DemoScene/DemoScene.unity diff --git a/Assets/Cardboard/Legacy/DemoScene/DemoScene.unity.meta b/Assets/External/Cardboard/Legacy/DemoScene/DemoScene.unity.meta similarity index 100% rename from Assets/Cardboard/Legacy/DemoScene/DemoScene.unity.meta rename to Assets/External/Cardboard/Legacy/DemoScene/DemoScene.unity.meta diff --git a/Assets/Cardboard/Legacy/DemoScene/TeleportLegacyUI.cs b/Assets/External/Cardboard/Legacy/DemoScene/TeleportLegacyUI.cs similarity index 100% rename from Assets/Cardboard/Legacy/DemoScene/TeleportLegacyUI.cs rename to Assets/External/Cardboard/Legacy/DemoScene/TeleportLegacyUI.cs diff --git a/Assets/Cardboard/Legacy/DemoScene/TeleportLegacyUI.cs.meta b/Assets/External/Cardboard/Legacy/DemoScene/TeleportLegacyUI.cs.meta similarity index 100% rename from Assets/Cardboard/Legacy/DemoScene/TeleportLegacyUI.cs.meta rename to Assets/External/Cardboard/Legacy/DemoScene/TeleportLegacyUI.cs.meta diff --git a/Assets/Cardboard/Legacy/Prefabs.meta b/Assets/External/Cardboard/Legacy/Prefabs.meta similarity index 100% rename from Assets/Cardboard/Legacy/Prefabs.meta rename to Assets/External/Cardboard/Legacy/Prefabs.meta diff --git a/Assets/Cardboard/Legacy/Prefabs/CardboardGUI.prefab b/Assets/External/Cardboard/Legacy/Prefabs/CardboardGUI.prefab similarity index 100% rename from Assets/Cardboard/Legacy/Prefabs/CardboardGUI.prefab rename to Assets/External/Cardboard/Legacy/Prefabs/CardboardGUI.prefab diff --git a/Assets/Cardboard/Legacy/Prefabs/CardboardGUI.prefab.meta b/Assets/External/Cardboard/Legacy/Prefabs/CardboardGUI.prefab.meta similarity index 100% rename from Assets/Cardboard/Legacy/Prefabs/CardboardGUI.prefab.meta rename to Assets/External/Cardboard/Legacy/Prefabs/CardboardGUI.prefab.meta diff --git a/Assets/Cardboard/Legacy/Prefabs/CardboardMain.prefab b/Assets/External/Cardboard/Legacy/Prefabs/CardboardMain.prefab similarity index 100% rename from Assets/Cardboard/Legacy/Prefabs/CardboardMain.prefab rename to Assets/External/Cardboard/Legacy/Prefabs/CardboardMain.prefab diff --git a/Assets/Cardboard/Legacy/Prefabs/CardboardMain.prefab.meta b/Assets/External/Cardboard/Legacy/Prefabs/CardboardMain.prefab.meta similarity index 100% rename from Assets/Cardboard/Legacy/Prefabs/CardboardMain.prefab.meta rename to Assets/External/Cardboard/Legacy/Prefabs/CardboardMain.prefab.meta diff --git a/Assets/Cardboard/Legacy/Prefabs/LegacyPrefabs.md b/Assets/External/Cardboard/Legacy/Prefabs/LegacyPrefabs.md similarity index 100% rename from Assets/Cardboard/Legacy/Prefabs/LegacyPrefabs.md rename to Assets/External/Cardboard/Legacy/Prefabs/LegacyPrefabs.md diff --git a/Assets/Cardboard/Legacy/Prefabs/LegacyPrefabs.md.meta b/Assets/External/Cardboard/Legacy/Prefabs/LegacyPrefabs.md.meta similarity index 100% rename from Assets/Cardboard/Legacy/Prefabs/LegacyPrefabs.md.meta rename to Assets/External/Cardboard/Legacy/Prefabs/LegacyPrefabs.md.meta diff --git a/Assets/Cardboard/Legacy/Resources.meta b/Assets/External/Cardboard/Legacy/Resources.meta similarity index 100% rename from Assets/Cardboard/Legacy/Resources.meta rename to Assets/External/Cardboard/Legacy/Resources.meta diff --git a/Assets/Cardboard/Legacy/Resources/GUIScreen.shader b/Assets/External/Cardboard/Legacy/Resources/GUIScreen.shader similarity index 100% rename from Assets/Cardboard/Legacy/Resources/GUIScreen.shader rename to Assets/External/Cardboard/Legacy/Resources/GUIScreen.shader diff --git a/Assets/Cardboard/Legacy/Resources/GUIScreen.shader.meta b/Assets/External/Cardboard/Legacy/Resources/GUIScreen.shader.meta similarity index 100% rename from Assets/Cardboard/Legacy/Resources/GUIScreen.shader.meta rename to Assets/External/Cardboard/Legacy/Resources/GUIScreen.shader.meta diff --git a/Assets/Cardboard/Legacy/Scripts.meta b/Assets/External/Cardboard/Legacy/Scripts.meta similarity index 100% rename from Assets/Cardboard/Legacy/Scripts.meta rename to Assets/External/Cardboard/Legacy/Scripts.meta diff --git a/Assets/Cardboard/Legacy/Scripts/CardboardOnGUI.cs b/Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUI.cs similarity index 100% rename from Assets/Cardboard/Legacy/Scripts/CardboardOnGUI.cs rename to Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUI.cs diff --git a/Assets/Cardboard/Legacy/Scripts/CardboardOnGUI.cs.meta b/Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUI.cs.meta similarity index 100% rename from Assets/Cardboard/Legacy/Scripts/CardboardOnGUI.cs.meta rename to Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUI.cs.meta diff --git a/Assets/Cardboard/Legacy/Scripts/CardboardOnGUIMouse.cs b/Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUIMouse.cs similarity index 100% rename from Assets/Cardboard/Legacy/Scripts/CardboardOnGUIMouse.cs rename to Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUIMouse.cs diff --git a/Assets/Cardboard/Legacy/Scripts/CardboardOnGUIMouse.cs.meta b/Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUIMouse.cs.meta similarity index 100% rename from Assets/Cardboard/Legacy/Scripts/CardboardOnGUIMouse.cs.meta rename to Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUIMouse.cs.meta diff --git a/Assets/Cardboard/Legacy/Scripts/CardboardOnGUIWindow.cs b/Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUIWindow.cs similarity index 100% rename from Assets/Cardboard/Legacy/Scripts/CardboardOnGUIWindow.cs rename to Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUIWindow.cs diff --git a/Assets/Cardboard/Legacy/Scripts/CardboardOnGUIWindow.cs.meta b/Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUIWindow.cs.meta similarity index 100% rename from Assets/Cardboard/Legacy/Scripts/CardboardOnGUIWindow.cs.meta rename to Assets/External/Cardboard/Legacy/Scripts/CardboardOnGUIWindow.cs.meta diff --git a/Assets/Cardboard/Legacy/Scripts/SkyboxMesh.cs b/Assets/External/Cardboard/Legacy/Scripts/SkyboxMesh.cs similarity index 100% rename from Assets/Cardboard/Legacy/Scripts/SkyboxMesh.cs rename to Assets/External/Cardboard/Legacy/Scripts/SkyboxMesh.cs diff --git a/Assets/Cardboard/Legacy/Scripts/SkyboxMesh.cs.meta b/Assets/External/Cardboard/Legacy/Scripts/SkyboxMesh.cs.meta similarity index 100% rename from Assets/Cardboard/Legacy/Scripts/SkyboxMesh.cs.meta rename to Assets/External/Cardboard/Legacy/Scripts/SkyboxMesh.cs.meta diff --git a/Assets/Cardboard/Legacy/Scripts/StereoLensFlare.cs b/Assets/External/Cardboard/Legacy/Scripts/StereoLensFlare.cs similarity index 100% rename from Assets/Cardboard/Legacy/Scripts/StereoLensFlare.cs rename to Assets/External/Cardboard/Legacy/Scripts/StereoLensFlare.cs diff --git a/Assets/Cardboard/Legacy/Scripts/StereoLensFlare.cs.meta b/Assets/External/Cardboard/Legacy/Scripts/StereoLensFlare.cs.meta similarity index 100% rename from Assets/Cardboard/Legacy/Scripts/StereoLensFlare.cs.meta rename to Assets/External/Cardboard/Legacy/Scripts/StereoLensFlare.cs.meta diff --git a/Assets/Cardboard/Prefabs.meta b/Assets/External/Cardboard/Prefabs.meta similarity index 100% rename from Assets/Cardboard/Prefabs.meta rename to Assets/External/Cardboard/Prefabs.meta diff --git a/Assets/Cardboard/Prefabs/CardboardAdapter.prefab b/Assets/External/Cardboard/Prefabs/CardboardAdapter.prefab similarity index 100% rename from Assets/Cardboard/Prefabs/CardboardAdapter.prefab rename to Assets/External/Cardboard/Prefabs/CardboardAdapter.prefab diff --git a/Assets/Cardboard/Prefabs/CardboardAdapter.prefab.meta b/Assets/External/Cardboard/Prefabs/CardboardAdapter.prefab.meta similarity index 100% rename from Assets/Cardboard/Prefabs/CardboardAdapter.prefab.meta rename to Assets/External/Cardboard/Prefabs/CardboardAdapter.prefab.meta diff --git a/Assets/Cardboard/Prefabs/CardboardCamera.prefab b/Assets/External/Cardboard/Prefabs/CardboardCamera.prefab similarity index 100% rename from Assets/Cardboard/Prefabs/CardboardCamera.prefab rename to Assets/External/Cardboard/Prefabs/CardboardCamera.prefab diff --git a/Assets/Cardboard/Prefabs/CardboardCamera.prefab.meta b/Assets/External/Cardboard/Prefabs/CardboardCamera.prefab.meta similarity index 100% rename from Assets/Cardboard/Prefabs/CardboardCamera.prefab.meta rename to Assets/External/Cardboard/Prefabs/CardboardCamera.prefab.meta diff --git a/Assets/Cardboard/Prefabs/CardboardHead.prefab b/Assets/External/Cardboard/Prefabs/CardboardHead.prefab similarity index 100% rename from Assets/Cardboard/Prefabs/CardboardHead.prefab rename to Assets/External/Cardboard/Prefabs/CardboardHead.prefab diff --git a/Assets/Cardboard/Prefabs/CardboardHead.prefab.meta b/Assets/External/Cardboard/Prefabs/CardboardHead.prefab.meta similarity index 100% rename from Assets/Cardboard/Prefabs/CardboardHead.prefab.meta rename to Assets/External/Cardboard/Prefabs/CardboardHead.prefab.meta diff --git a/Assets/Cardboard/Prefabs/CardboardMain.prefab b/Assets/External/Cardboard/Prefabs/CardboardMain.prefab similarity index 100% rename from Assets/Cardboard/Prefabs/CardboardMain.prefab rename to Assets/External/Cardboard/Prefabs/CardboardMain.prefab diff --git a/Assets/Cardboard/Prefabs/CardboardMain.prefab.meta b/Assets/External/Cardboard/Prefabs/CardboardMain.prefab.meta similarity index 100% rename from Assets/Cardboard/Prefabs/CardboardMain.prefab.meta rename to Assets/External/Cardboard/Prefabs/CardboardMain.prefab.meta diff --git a/Assets/Cardboard/Prefabs/Prefabs.md b/Assets/External/Cardboard/Prefabs/Prefabs.md similarity index 100% rename from Assets/Cardboard/Prefabs/Prefabs.md rename to Assets/External/Cardboard/Prefabs/Prefabs.md diff --git a/Assets/Cardboard/Prefabs/Prefabs.md.meta b/Assets/External/Cardboard/Prefabs/Prefabs.md.meta similarity index 100% rename from Assets/Cardboard/Prefabs/Prefabs.md.meta rename to Assets/External/Cardboard/Prefabs/Prefabs.md.meta diff --git a/Assets/Cardboard/Resources.meta b/Assets/External/Cardboard/Resources.meta similarity index 100% rename from Assets/Cardboard/Resources.meta rename to Assets/External/Cardboard/Resources.meta diff --git a/Assets/Cardboard/Resources/RadialUndistortionEffect.shader b/Assets/External/Cardboard/Resources/RadialUndistortionEffect.shader similarity index 100% rename from Assets/Cardboard/Resources/RadialUndistortionEffect.shader rename to Assets/External/Cardboard/Resources/RadialUndistortionEffect.shader diff --git a/Assets/Cardboard/Resources/RadialUndistortionEffect.shader.meta b/Assets/External/Cardboard/Resources/RadialUndistortionEffect.shader.meta similarity index 100% rename from Assets/Cardboard/Resources/RadialUndistortionEffect.shader.meta rename to Assets/External/Cardboard/Resources/RadialUndistortionEffect.shader.meta diff --git a/Assets/Cardboard/Resources/SkyboxMesh.shader b/Assets/External/Cardboard/Resources/SkyboxMesh.shader similarity index 100% rename from Assets/Cardboard/Resources/SkyboxMesh.shader rename to Assets/External/Cardboard/Resources/SkyboxMesh.shader diff --git a/Assets/Cardboard/Resources/SkyboxMesh.shader.meta b/Assets/External/Cardboard/Resources/SkyboxMesh.shader.meta similarity index 100% rename from Assets/Cardboard/Resources/SkyboxMesh.shader.meta rename to Assets/External/Cardboard/Resources/SkyboxMesh.shader.meta diff --git a/Assets/Cardboard/Resources/SolidColor.shader b/Assets/External/Cardboard/Resources/SolidColor.shader similarity index 100% rename from Assets/Cardboard/Resources/SolidColor.shader rename to Assets/External/Cardboard/Resources/SolidColor.shader diff --git a/Assets/Cardboard/Resources/SolidColor.shader.meta b/Assets/External/Cardboard/Resources/SolidColor.shader.meta similarity index 100% rename from Assets/Cardboard/Resources/SolidColor.shader.meta rename to Assets/External/Cardboard/Resources/SolidColor.shader.meta diff --git a/Assets/Cardboard/Resources/UnlitTexture.shader b/Assets/External/Cardboard/Resources/UnlitTexture.shader similarity index 100% rename from Assets/Cardboard/Resources/UnlitTexture.shader rename to Assets/External/Cardboard/Resources/UnlitTexture.shader diff --git a/Assets/Cardboard/Resources/UnlitTexture.shader.meta b/Assets/External/Cardboard/Resources/UnlitTexture.shader.meta similarity index 100% rename from Assets/Cardboard/Resources/UnlitTexture.shader.meta rename to Assets/External/Cardboard/Resources/UnlitTexture.shader.meta diff --git a/Assets/Cardboard/Scripts.meta b/Assets/External/Cardboard/Scripts.meta similarity index 100% rename from Assets/Cardboard/Scripts.meta rename to Assets/External/Cardboard/Scripts.meta diff --git a/Assets/Cardboard/Scripts/Cardboard.cs b/Assets/External/Cardboard/Scripts/Cardboard.cs similarity index 100% rename from Assets/Cardboard/Scripts/Cardboard.cs rename to Assets/External/Cardboard/Scripts/Cardboard.cs diff --git a/Assets/Cardboard/Scripts/Cardboard.cs.meta b/Assets/External/Cardboard/Scripts/Cardboard.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/Cardboard.cs.meta rename to Assets/External/Cardboard/Scripts/Cardboard.cs.meta diff --git a/Assets/Cardboard/Scripts/CardboardEye.cs b/Assets/External/Cardboard/Scripts/CardboardEye.cs similarity index 100% rename from Assets/Cardboard/Scripts/CardboardEye.cs rename to Assets/External/Cardboard/Scripts/CardboardEye.cs diff --git a/Assets/Cardboard/Scripts/CardboardEye.cs.meta b/Assets/External/Cardboard/Scripts/CardboardEye.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/CardboardEye.cs.meta rename to Assets/External/Cardboard/Scripts/CardboardEye.cs.meta diff --git a/Assets/Cardboard/Scripts/CardboardHead.cs b/Assets/External/Cardboard/Scripts/CardboardHead.cs similarity index 100% rename from Assets/Cardboard/Scripts/CardboardHead.cs rename to Assets/External/Cardboard/Scripts/CardboardHead.cs diff --git a/Assets/Cardboard/Scripts/CardboardHead.cs.meta b/Assets/External/Cardboard/Scripts/CardboardHead.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/CardboardHead.cs.meta rename to Assets/External/Cardboard/Scripts/CardboardHead.cs.meta diff --git a/Assets/Cardboard/Scripts/CardboardPostRender.cs b/Assets/External/Cardboard/Scripts/CardboardPostRender.cs similarity index 100% rename from Assets/Cardboard/Scripts/CardboardPostRender.cs rename to Assets/External/Cardboard/Scripts/CardboardPostRender.cs diff --git a/Assets/Cardboard/Scripts/CardboardPostRender.cs.meta b/Assets/External/Cardboard/Scripts/CardboardPostRender.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/CardboardPostRender.cs.meta rename to Assets/External/Cardboard/Scripts/CardboardPostRender.cs.meta diff --git a/Assets/Cardboard/Scripts/CardboardPreRender.cs b/Assets/External/Cardboard/Scripts/CardboardPreRender.cs similarity index 100% rename from Assets/Cardboard/Scripts/CardboardPreRender.cs rename to Assets/External/Cardboard/Scripts/CardboardPreRender.cs diff --git a/Assets/Cardboard/Scripts/CardboardPreRender.cs.meta b/Assets/External/Cardboard/Scripts/CardboardPreRender.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/CardboardPreRender.cs.meta rename to Assets/External/Cardboard/Scripts/CardboardPreRender.cs.meta diff --git a/Assets/Cardboard/Scripts/CardboardProfile.cs b/Assets/External/Cardboard/Scripts/CardboardProfile.cs similarity index 100% rename from Assets/Cardboard/Scripts/CardboardProfile.cs rename to Assets/External/Cardboard/Scripts/CardboardProfile.cs diff --git a/Assets/Cardboard/Scripts/CardboardProfile.cs.meta b/Assets/External/Cardboard/Scripts/CardboardProfile.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/CardboardProfile.cs.meta rename to Assets/External/Cardboard/Scripts/CardboardProfile.cs.meta diff --git a/Assets/Cardboard/Scripts/GazeInputModule.cs b/Assets/External/Cardboard/Scripts/GazeInputModule.cs similarity index 100% rename from Assets/Cardboard/Scripts/GazeInputModule.cs rename to Assets/External/Cardboard/Scripts/GazeInputModule.cs diff --git a/Assets/Cardboard/Scripts/GazeInputModule.cs.meta b/Assets/External/Cardboard/Scripts/GazeInputModule.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/GazeInputModule.cs.meta rename to Assets/External/Cardboard/Scripts/GazeInputModule.cs.meta diff --git a/Assets/Cardboard/Scripts/Pose3D.cs b/Assets/External/Cardboard/Scripts/Pose3D.cs similarity index 100% rename from Assets/Cardboard/Scripts/Pose3D.cs rename to Assets/External/Cardboard/Scripts/Pose3D.cs diff --git a/Assets/Cardboard/Scripts/Pose3D.cs.meta b/Assets/External/Cardboard/Scripts/Pose3D.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/Pose3D.cs.meta rename to Assets/External/Cardboard/Scripts/Pose3D.cs.meta diff --git a/Assets/Cardboard/Scripts/RadialUndistortionEffect.cs b/Assets/External/Cardboard/Scripts/RadialUndistortionEffect.cs similarity index 100% rename from Assets/Cardboard/Scripts/RadialUndistortionEffect.cs rename to Assets/External/Cardboard/Scripts/RadialUndistortionEffect.cs diff --git a/Assets/Cardboard/Scripts/RadialUndistortionEffect.cs.meta b/Assets/External/Cardboard/Scripts/RadialUndistortionEffect.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/RadialUndistortionEffect.cs.meta rename to Assets/External/Cardboard/Scripts/RadialUndistortionEffect.cs.meta diff --git a/Assets/Cardboard/Scripts/StereoController.cs b/Assets/External/Cardboard/Scripts/StereoController.cs similarity index 100% rename from Assets/Cardboard/Scripts/StereoController.cs rename to Assets/External/Cardboard/Scripts/StereoController.cs diff --git a/Assets/Cardboard/Scripts/StereoController.cs.meta b/Assets/External/Cardboard/Scripts/StereoController.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/StereoController.cs.meta rename to Assets/External/Cardboard/Scripts/StereoController.cs.meta diff --git a/Assets/Cardboard/Scripts/StereoRenderEffect.cs b/Assets/External/Cardboard/Scripts/StereoRenderEffect.cs similarity index 100% rename from Assets/Cardboard/Scripts/StereoRenderEffect.cs rename to Assets/External/Cardboard/Scripts/StereoRenderEffect.cs diff --git a/Assets/Cardboard/Scripts/StereoRenderEffect.cs.meta b/Assets/External/Cardboard/Scripts/StereoRenderEffect.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/StereoRenderEffect.cs.meta rename to Assets/External/Cardboard/Scripts/StereoRenderEffect.cs.meta diff --git a/Assets/Cardboard/Scripts/VRDevices.meta b/Assets/External/Cardboard/Scripts/VRDevices.meta similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices.meta rename to Assets/External/Cardboard/Scripts/VRDevices.meta diff --git a/Assets/Cardboard/Scripts/VRDevices/BaseAndroidDevice.cs b/Assets/External/Cardboard/Scripts/VRDevices/BaseAndroidDevice.cs similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/BaseAndroidDevice.cs rename to Assets/External/Cardboard/Scripts/VRDevices/BaseAndroidDevice.cs diff --git a/Assets/Cardboard/Scripts/VRDevices/BaseAndroidDevice.cs.meta b/Assets/External/Cardboard/Scripts/VRDevices/BaseAndroidDevice.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/BaseAndroidDevice.cs.meta rename to Assets/External/Cardboard/Scripts/VRDevices/BaseAndroidDevice.cs.meta diff --git a/Assets/Cardboard/Scripts/VRDevices/BaseCardboardDevice.cs b/Assets/External/Cardboard/Scripts/VRDevices/BaseCardboardDevice.cs similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/BaseCardboardDevice.cs rename to Assets/External/Cardboard/Scripts/VRDevices/BaseCardboardDevice.cs diff --git a/Assets/Cardboard/Scripts/VRDevices/BaseCardboardDevice.cs.meta b/Assets/External/Cardboard/Scripts/VRDevices/BaseCardboardDevice.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/BaseCardboardDevice.cs.meta rename to Assets/External/Cardboard/Scripts/VRDevices/BaseCardboardDevice.cs.meta diff --git a/Assets/Cardboard/Scripts/VRDevices/BaseVRDevice.cs b/Assets/External/Cardboard/Scripts/VRDevices/BaseVRDevice.cs similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/BaseVRDevice.cs rename to Assets/External/Cardboard/Scripts/VRDevices/BaseVRDevice.cs diff --git a/Assets/Cardboard/Scripts/VRDevices/BaseVRDevice.cs.meta b/Assets/External/Cardboard/Scripts/VRDevices/BaseVRDevice.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/BaseVRDevice.cs.meta rename to Assets/External/Cardboard/Scripts/VRDevices/BaseVRDevice.cs.meta diff --git a/Assets/Cardboard/Scripts/VRDevices/CardboardAndroidDevice.cs b/Assets/External/Cardboard/Scripts/VRDevices/CardboardAndroidDevice.cs similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/CardboardAndroidDevice.cs rename to Assets/External/Cardboard/Scripts/VRDevices/CardboardAndroidDevice.cs diff --git a/Assets/Cardboard/Scripts/VRDevices/CardboardAndroidDevice.cs.meta b/Assets/External/Cardboard/Scripts/VRDevices/CardboardAndroidDevice.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/CardboardAndroidDevice.cs.meta rename to Assets/External/Cardboard/Scripts/VRDevices/CardboardAndroidDevice.cs.meta diff --git a/Assets/Cardboard/Scripts/VRDevices/CardboardiOSDevice.cs b/Assets/External/Cardboard/Scripts/VRDevices/CardboardiOSDevice.cs similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/CardboardiOSDevice.cs rename to Assets/External/Cardboard/Scripts/VRDevices/CardboardiOSDevice.cs diff --git a/Assets/Cardboard/Scripts/VRDevices/CardboardiOSDevice.cs.meta b/Assets/External/Cardboard/Scripts/VRDevices/CardboardiOSDevice.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/CardboardiOSDevice.cs.meta rename to Assets/External/Cardboard/Scripts/VRDevices/CardboardiOSDevice.cs.meta diff --git a/Assets/Cardboard/Scripts/VRDevices/UnityEditorDevice.cs b/Assets/External/Cardboard/Scripts/VRDevices/UnityEditorDevice.cs similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/UnityEditorDevice.cs rename to Assets/External/Cardboard/Scripts/VRDevices/UnityEditorDevice.cs diff --git a/Assets/Cardboard/Scripts/VRDevices/UnityEditorDevice.cs.meta b/Assets/External/Cardboard/Scripts/VRDevices/UnityEditorDevice.cs.meta similarity index 100% rename from Assets/Cardboard/Scripts/VRDevices/UnityEditorDevice.cs.meta rename to Assets/External/Cardboard/Scripts/VRDevices/UnityEditorDevice.cs.meta diff --git a/Assets/External/DFVoice.meta b/Assets/External/DFVoice.meta new file mode 100644 index 0000000..b360822 --- /dev/null +++ b/Assets/External/DFVoice.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 42533156b744a6e4799072aeea6b3b81 +folderAsset: yes +timeCreated: 1446065138 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Badge.meta b/Assets/External/DFVoice/Badge.meta new file mode 100644 index 0000000..1390015 --- /dev/null +++ b/Assets/External/DFVoice/Badge.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 65c6a831014d30c4683e1120de92b06e +folderAsset: yes +timeCreated: 1445627589 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Badge/DaikonForgeLogoBlack.png b/Assets/External/DFVoice/Badge/DaikonForgeLogoBlack.png new file mode 100644 index 0000000..db73483 Binary files /dev/null and b/Assets/External/DFVoice/Badge/DaikonForgeLogoBlack.png differ diff --git a/Assets/External/DFVoice/Badge/DaikonForgeLogoBlack.png.meta b/Assets/External/DFVoice/Badge/DaikonForgeLogoBlack.png.meta new file mode 100644 index 0000000..be0f116 --- /dev/null +++ b/Assets/External/DFVoice/Badge/DaikonForgeLogoBlack.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 8282081fda0f8c748be6b2bac3dd784a +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/External/DFVoice/Badge/DaikonForgeLogoDark.png b/Assets/External/DFVoice/Badge/DaikonForgeLogoDark.png new file mode 100644 index 0000000..0581a8a Binary files /dev/null and b/Assets/External/DFVoice/Badge/DaikonForgeLogoDark.png differ diff --git a/Assets/External/DFVoice/Badge/DaikonForgeLogoDark.png.meta b/Assets/External/DFVoice/Badge/DaikonForgeLogoDark.png.meta new file mode 100644 index 0000000..c3e0958 --- /dev/null +++ b/Assets/External/DFVoice/Badge/DaikonForgeLogoDark.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 3d4fab423328fda40a2f401406dadb76 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/External/DFVoice/Badge/DaikonForgeLogoLight.png b/Assets/External/DFVoice/Badge/DaikonForgeLogoLight.png new file mode 100644 index 0000000..66e576d Binary files /dev/null and b/Assets/External/DFVoice/Badge/DaikonForgeLogoLight.png differ diff --git a/Assets/External/DFVoice/Badge/DaikonForgeLogoLight.png.meta b/Assets/External/DFVoice/Badge/DaikonForgeLogoLight.png.meta new file mode 100644 index 0000000..1f913e1 --- /dev/null +++ b/Assets/External/DFVoice/Badge/DaikonForgeLogoLight.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: c3c921702b53fea4dae4b146aa818b2a +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/External/DFVoice/Badge/DaikonForgeLogoWhite.png b/Assets/External/DFVoice/Badge/DaikonForgeLogoWhite.png new file mode 100644 index 0000000..8872bd3 Binary files /dev/null and b/Assets/External/DFVoice/Badge/DaikonForgeLogoWhite.png differ diff --git a/Assets/External/DFVoice/Badge/DaikonForgeLogoWhite.png.meta b/Assets/External/DFVoice/Badge/DaikonForgeLogoWhite.png.meta new file mode 100644 index 0000000..d643030 --- /dev/null +++ b/Assets/External/DFVoice/Badge/DaikonForgeLogoWhite.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 24302d8a8ec9ad74fa081d8d8cb2909c +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/External/DFVoice/Docs.pdf b/Assets/External/DFVoice/Docs.pdf new file mode 100644 index 0000000..32ef7dc Binary files /dev/null and b/Assets/External/DFVoice/Docs.pdf differ diff --git a/Assets/External/DFVoice/Docs.pdf.meta b/Assets/External/DFVoice/Docs.pdf.meta new file mode 100644 index 0000000..0675085 --- /dev/null +++ b/Assets/External/DFVoice/Docs.pdf.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 4d700a7065bf7964d84cc7de62dbeb91 +DefaultImporter: + userData: diff --git a/Assets/External/DFVoice/Example.meta b/Assets/External/DFVoice/Example.meta new file mode 100644 index 0000000..7a86b4e --- /dev/null +++ b/Assets/External/DFVoice/Example.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 30537a32cd64f7e4a952b1bf8d52613e +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Example/LocalDemo.unity b/Assets/External/DFVoice/Example/LocalDemo.unity new file mode 100644 index 0000000..d8d55fa --- /dev/null +++ b/Assets/External/DFVoice/Example/LocalDemo.unity @@ -0,0 +1,319 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} + m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} + m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 1 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 1 + m_BakeResolution: 50 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666657 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &732922925 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 732922930} + - 20: {fileID: 732922929} + - 92: {fileID: 732922928} + - 124: {fileID: 732922927} + - 81: {fileID: 732922926} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &732922926 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 732922925} + m_Enabled: 1 +--- !u!124 &732922927 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 732922925} + m_Enabled: 1 +--- !u!92 &732922928 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 732922925} + m_Enabled: 1 +--- !u!20 &732922929 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 732922925} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + 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: 3 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &732922930 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 732922925} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &939624742 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 939624746} + - 114: {fileID: 939624745} + - 114: {fileID: 939624743} + - 82: {fileID: 939624747} + - 114: {fileID: 939624744} + m_Layer: 0 + m_Name: VoiceController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &939624743 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 939624742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6e00d42098a712e4bb865682007cfe50, type: 3} + m_Name: + m_EditorClassIdentifier: + IsThreeDimensional: 0 + Equalize: 0 + EqualizeSpeed: 1 + TargetEqualizeVolume: .75 + MaxEqualization: 5 +--- !u!114 &939624744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 939624742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca697a6f27a261442a2c082beee1b411, type: 3} + m_Name: + m_EditorClassIdentifier: + ChunkSize: 640 + Mode: 1 + PushToTalk: 0 + AmplitudeThreshold: 0 +--- !u!114 &939624745 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 939624742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1bb25d2ec38162e44bc48af2fd16b223, type: 3} + m_Name: + m_EditorClassIdentifier: + DebugAudio: 1 + Mute: 0 + PacketLoss: 0 +--- !u!4 &939624746 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 939624742} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!82 &939624747 +AudioSource: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 939624742} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 diff --git a/Assets/External/DFVoice/Example/LocalDemo.unity.meta b/Assets/External/DFVoice/Example/LocalDemo.unity.meta new file mode 100644 index 0000000..f5be217 --- /dev/null +++ b/Assets/External/DFVoice/Example/LocalDemo.unity.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: ec045c7ca1fe6804db8a47b3e5d727c2 +DefaultImporter: + userData: diff --git a/Assets/External/DFVoice/OpusSupport.unitypackage b/Assets/External/DFVoice/OpusSupport.unitypackage new file mode 100644 index 0000000..eef45f7 Binary files /dev/null and b/Assets/External/DFVoice/OpusSupport.unitypackage differ diff --git a/Assets/External/DFVoice/OpusSupport.unitypackage.meta b/Assets/External/DFVoice/OpusSupport.unitypackage.meta new file mode 100644 index 0000000..244ba36 --- /dev/null +++ b/Assets/External/DFVoice/OpusSupport.unitypackage.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 609ba2406c6dd544e82c4888b22e9f80 +timeCreated: 1431819782 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Plugins.meta b/Assets/External/DFVoice/Plugins.meta new file mode 100644 index 0000000..0e583fd --- /dev/null +++ b/Assets/External/DFVoice/Plugins.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f86f56fe83d2d2a4bafc1df6cf32a3b5 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Plugins/NSpeex.dll b/Assets/External/DFVoice/Plugins/NSpeex.dll new file mode 100644 index 0000000..8e4b8f4 Binary files /dev/null and b/Assets/External/DFVoice/Plugins/NSpeex.dll differ diff --git a/Assets/External/DFVoice/Plugins/NSpeex.dll.meta b/Assets/External/DFVoice/Plugins/NSpeex.dll.meta new file mode 100644 index 0000000..6c6a11f --- /dev/null +++ b/Assets/External/DFVoice/Plugins/NSpeex.dll.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 8e1a495990ca2b94f9935416b28ae866 +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 1 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Plugins/NSpeexLicense.txt b/Assets/External/DFVoice/Plugins/NSpeexLicense.txt new file mode 100644 index 0000000..149eeba --- /dev/null +++ b/Assets/External/DFVoice/Plugins/NSpeexLicense.txt @@ -0,0 +1,12 @@ +Copyright (c) 2010, Christoph Fröschl +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of Christoph Fröschl nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/Assets/External/DFVoice/Plugins/NSpeexLicense.txt.meta b/Assets/External/DFVoice/Plugins/NSpeexLicense.txt.meta new file mode 100644 index 0000000..f9db5c4 --- /dev/null +++ b/Assets/External/DFVoice/Plugins/NSpeexLicense.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 8b324bf9acc257d4e99d29e94a94afcc +TextScriptImporter: + userData: diff --git a/Assets/External/DFVoice/Plugins/Opus.meta b/Assets/External/DFVoice/Plugins/Opus.meta new file mode 100644 index 0000000..e7586c8 --- /dev/null +++ b/Assets/External/DFVoice/Plugins/Opus.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f2adb0f49e9a9b443874f9b252d12886 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Plugins/Opus/x86_64.meta b/Assets/External/DFVoice/Plugins/Opus/x86_64.meta new file mode 100644 index 0000000..eeee601 --- /dev/null +++ b/Assets/External/DFVoice/Plugins/Opus/x86_64.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 85f1209843bfc3740bc35c50468eb115 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Plugins/Opus/x86_64/opus.dll b/Assets/External/DFVoice/Plugins/Opus/x86_64/opus.dll new file mode 100644 index 0000000..aae9266 Binary files /dev/null and b/Assets/External/DFVoice/Plugins/Opus/x86_64/opus.dll differ diff --git a/Assets/External/DFVoice/Plugins/Opus/x86_64/opus.dll.meta b/Assets/External/DFVoice/Plugins/Opus/x86_64/opus.dll.meta new file mode 100644 index 0000000..14d5cf9 --- /dev/null +++ b/Assets/External/DFVoice/Plugins/Opus/x86_64/opus.dll.meta @@ -0,0 +1,76 @@ +fileFormatVersion: 2 +guid: 66b2b536e42b51c4f8ca3828abe1aa4f +timeCreated: 1431804546 +licenseType: Store +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 1 + settings: + CPU: x86 + Linux64: + enabled: 1 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 1 + settings: + CPU: AnyCPU + OSXIntel: + enabled: 1 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 1 + settings: + CPU: AnyCPU + OSXUniversal: + enabled: 1 + settings: + CPU: AnyCPU + WP8: + enabled: 0 + settings: + CPU: AnyCPU + DontProcess: False + PlaceholderPath: + Win: + enabled: 1 + settings: + CPU: None + Win64: + enabled: 1 + settings: + CPU: AnyCPU + WindowsStoreApps: + enabled: 0 + settings: + CPU: AnyCPU + DontProcess: False + PlaceholderPath: + SDK: AnySDK + iOS: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Plugins/OpusLicense.txt b/Assets/External/DFVoice/Plugins/OpusLicense.txt new file mode 100644 index 0000000..b46f88b --- /dev/null +++ b/Assets/External/DFVoice/Plugins/OpusLicense.txt @@ -0,0 +1,27 @@ +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +- Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +- Neither the name of Internet Society, IETF or IETF Trust, nor the +names of specific contributors, may be used to endorse or promote +products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/Assets/External/DFVoice/Plugins/OpusLicense.txt.meta b/Assets/External/DFVoice/Plugins/OpusLicense.txt.meta new file mode 100644 index 0000000..58eec02 --- /dev/null +++ b/Assets/External/DFVoice/Plugins/OpusLicense.txt.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a0f3e963c6a7b04cb254f46050e85b9 +timeCreated: 1431821079 +licenseType: Store +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/README.txt b/Assets/External/DFVoice/README.txt new file mode 100644 index 0000000..73491ab --- /dev/null +++ b/Assets/External/DFVoice/README.txt @@ -0,0 +1,47 @@ +Thank you for choosing DaikonForge technology to power your game. +When using DaikonForge middleware in a game or application, we allow you to: + 1.) Display one of the included splash screens on game startup. + 2.) Display a small logo badge somewhere in your game + 3.) Add a section on DaikonForge products to your credits + +However, these are all totally optional - if you don't want to, it's entirely up to you. + +SPLASH SCREEN +Two such splash screens are included - one with a white background, and one with a black background. +The splash screen displays a “Powered By DaikonForge” logo. In addition to this, it includes placeholder copyright text at the bottom of the screen. +This placeholder should be replaced with text of the following form: + + This software application includes [used products here] + Copyright © 2014 DaikonForge All Rights Reserved + +Where products are separated as such: “X, Y, and Z” + +LOGO BADGE +A selection of DaikonForge logo badges can be found in the Badge subfolder of the DFVoice folder. This can be placed anywhere of your choosing in the game. + +END CREDITS +When mentioning DaikonForge products in your credits, it should take the following form: + + POWERED BY DAIKONFORGE TECHNOLOGY + +Followed by a list of plugins used. For instance, if your game used DFVoice, it would appear as follows: + + POWERED BY DAIKONFORGE TECHNOLOGY + - DFVoice + +EXPERIMENTAL OPUS SUPPORT +While the default codec is a managed port of Speex called NSpeex, DFVoice includes experimental support for the successor to Speex, called Opus. +To enable this support, import the included "OpusSupport.unitypackage", and reboot Unity in order to enable unsafe compilation. +Then, override GetCodec() to the following: + +public override IAudioCodec GetCodec() +{ + AudioUtils.FrequencyProvider = new OpusCodec.FrequencyProvider(); + return new OpusCodec( 64000 ); +} + +You'll also probably want to change the chunk size of the Microphone component for best results - I recommend a chunk size of 960 (this is the frame size of the Opus codec internally). + +The Opus codec wrapper takes the desired bitrate as a parameter. 64 kb/s is a good starting point - you can adjust it up if you need more quality, or adjust it down for lower bandwidth. +Included are two DLLs - one is a 32-bit version of the native Opus DLL, the other is a 64-bit version. These are Windows only. If you would like to get Opus working on other platforms, +you will need to download the Opus source code and compile it for your platform of choice. \ No newline at end of file diff --git a/Assets/External/DFVoice/README.txt.meta b/Assets/External/DFVoice/README.txt.meta new file mode 100644 index 0000000..5a1a4e9 --- /dev/null +++ b/Assets/External/DFVoice/README.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: de27eaa9120bcac4c8d8289d0223b9bd +TextScriptImporter: + userData: diff --git a/Assets/External/DFVoice/Scripts.meta b/Assets/External/DFVoice/Scripts.meta new file mode 100644 index 0000000..799435a --- /dev/null +++ b/Assets/External/DFVoice/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1b1ddd61943cf204788214a2f36b3d5c +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Scripts/Codec.meta b/Assets/External/DFVoice/Scripts/Codec.meta new file mode 100644 index 0000000..7b1e236 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Codec.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 511408d4558ba2144a695ef00422c69b +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Scripts/Codec/IAudioCodec.cs b/Assets/External/DFVoice/Scripts/Codec/IAudioCodec.cs new file mode 100644 index 0000000..843467b --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Codec/IAudioCodec.cs @@ -0,0 +1,30 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + /// + /// Represents an audio codec + /// + public interface IAudioCodec + { + /// + /// Called when new audio data is received from the microphone + /// + void OnAudioAvailable( BigArray rawPCM ); + + /// + /// Returns the next encoded frame, or NULL if there isn't one + /// + VoicePacketWrapper? GetNextEncodedFrame( int frequency ); + + /// + /// Decode the raw encoded frame into 32-bit float PCM + /// + BigArray DecodeFrame( VoicePacketWrapper data ); + + /// + /// Generate filler data for a missing frame + /// + BigArray GenerateMissingFrame( int frequency ); + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Codec/IAudioCodec.cs.meta b/Assets/External/DFVoice/Scripts/Codec/IAudioCodec.cs.meta new file mode 100644 index 0000000..4286451 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Codec/IAudioCodec.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a644c5faa0c475c4d8cb23fceb0c33b5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/Codec/SpeexCodec.cs b/Assets/External/DFVoice/Scripts/Codec/SpeexCodec.cs new file mode 100644 index 0000000..6f1f96f --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Codec/SpeexCodec.cs @@ -0,0 +1,157 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + using System.Collections.Generic; + + public class SpeexCodec : IAudioCodec + { + public class FrequencyProvider : IFrequencyProvider + { + public int GetFrequency( FrequencyMode mode ) + { + switch( mode ) + { + case FrequencyMode.Narrow: + return 8000; + case FrequencyMode.Wide: + return 16000; + case FrequencyMode.UltraWide: + return 32000; + default: + return 16000; + } + } + } + + private class codecWrapper + { + public NSpeex.SpeexEncoder encoder; + public NSpeex.SpeexDecoder decoder; + + public codecWrapper( NSpeex.BandMode mode, bool vbr ) + { + encoder = new NSpeex.SpeexEncoder( mode ); + decoder = new NSpeex.SpeexDecoder( mode, false ); + + encoder.VBR = vbr; + encoder.Quality = 5; + } + } + + private Dictionary encoders; + + private Dictionary frameSizes = new Dictionary() + { + { 8000, 160 }, + { 16000, 320 }, + { 32000, 640 }, + }; + + private ChunkBuffer chunkBuffer; + private BigArray tempOutputArray; + private VoicePacketWrapper tempPacketWrapper; + + public SpeexCodec( bool VBR ) + { + encoders = new Dictionary() + { + { 8000, new codecWrapper( NSpeex.BandMode.Narrow, VBR ) }, + { 16000, new codecWrapper( NSpeex.BandMode.Wide, VBR ) }, + { 32000, new codecWrapper( NSpeex.BandMode.UltraWide, VBR ) }, + }; + + chunkBuffer = new ChunkBuffer(); + tempOutputArray = new BigArray( 1024, 0 ); + tempPacketWrapper = new VoicePacketWrapper( 0, 16, new byte[ 0 ] ); + } + + public void OnAudioAvailable( BigArray rawPCM ) + { + chunkBuffer.AddSamples( rawPCM ); + } + + public VoicePacketWrapper? GetNextEncodedFrame( int frequency ) + { + int frameSize = frameSizes[ frequency ]; + codecWrapper codec = encoders[ frequency ]; + + float[] chunk = TempArray.Obtain( frameSize ); + bool chunkAvailable = chunkBuffer.RetrieveChunk( chunk ); + if( !chunkAvailable ) + { + TempArray.Release( chunk ); + return null; + } + + tempPacketWrapper = new VoicePacketWrapper(); + tempPacketWrapper.Frequency = (byte)( frequency / 1000 ); + + short[] audio16bit = TempArray.Obtain( frameSize ); + for( int i = 0; i < frameSize; i++ ) + { + float val = chunk[ i ] * short.MaxValue; + audio16bit[ i ] = (short)val; + } + TempArray.Release( chunk ); + + byte[] buffer = TempArray.Obtain( audio16bit.Length * 2 ); + + int encoded = codec.encoder.Encode( audio16bit, 0, frameSize, buffer, 0, buffer.Length ); + + TempArray.Release( audio16bit ); + + tempPacketWrapper.RawData = new byte[ encoded ]; + + System.Buffer.BlockCopy( buffer, 0, tempPacketWrapper.RawData, 0, encoded ); + + TempArray.Release( buffer ); + + return tempPacketWrapper; + } + + public BigArray DecodeFrame( VoicePacketWrapper data ) + { + int frameSize = frameSizes[ data.Frequency * 1000 ]; + codecWrapper codec = encoders[ data.Frequency * 1000 ]; + + short[] decodedFrame16Bit = TempArray.Obtain( frameSize * 4 ); + int decoded = codec.decoder.Decode( data.RawData, 0, data.RawData.Length, decodedFrame16Bit, 0, false ); + + if( tempOutputArray.Length != decoded ) tempOutputArray.Resize( decoded ); + + for( int i = 0; i < decoded; i++ ) + { + float val = (float)decodedFrame16Bit[ i ]; + val /= short.MaxValue; + tempOutputArray[ i ] = val; + } + + TempArray.Release( decodedFrame16Bit ); + + return tempOutputArray; + } + + public BigArray GenerateMissingFrame( int frequency ) + { + int frameSize = frameSizes[ frequency * 1000 ]; + codecWrapper codec = encoders[ frequency * 1000 ]; + + short[] decodedFrame16Bit = TempArray.Obtain( frameSize * 4 ); + int decoded = codec.decoder.Decode( null, 0, 0, decodedFrame16Bit, 0, true ); + + if( tempOutputArray.Length != decoded ) tempOutputArray.Resize( decoded ); + + for( int i = 0; i < decoded; i++ ) + { + float val = (float)decodedFrame16Bit[ i ]; + val /= short.MaxValue; + tempOutputArray[ i ] = val; + } + + TempArray.Release( decodedFrame16Bit ); + + return tempOutputArray; + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Codec/SpeexCodec.cs.meta b/Assets/External/DFVoice/Scripts/Codec/SpeexCodec.cs.meta new file mode 100644 index 0000000..23a4b57 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Codec/SpeexCodec.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8495bcd6d39ea2149b087be58f649136 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/Components.meta b/Assets/External/DFVoice/Scripts/Components.meta new file mode 100644 index 0000000..c9a1e34 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Components.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0627ffb256aa33b4aa0421de645840d7 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Scripts/Components/TestLocalVoiceController.cs b/Assets/External/DFVoice/Scripts/Components/TestLocalVoiceController.cs new file mode 100644 index 0000000..ffd9cd6 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Components/TestLocalVoiceController.cs @@ -0,0 +1,26 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + using UnityEngine; + + public class TestLocalVoiceController : VoiceControllerBase + { + public float PacketLoss = 0.1f; + + protected override void OnAudioDataEncoded( VoicePacketWrapper encodedFrame ) + { + if( Random.Range( 0f, 1f ) <= PacketLoss ) + { + return; + } + + ReceiveAudioData( encodedFrame ); + } + + public override bool IsLocal + { + get { return true; } + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Components/TestLocalVoiceController.cs.meta b/Assets/External/DFVoice/Scripts/Components/TestLocalVoiceController.cs.meta new file mode 100644 index 0000000..c61b078 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Components/TestLocalVoiceController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1bb25d2ec38162e44bc48af2fd16b223 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/Components/VoiceControllerBase.cs b/Assets/External/DFVoice/Scripts/Components/VoiceControllerBase.cs new file mode 100644 index 0000000..f1b9b89 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Components/VoiceControllerBase.cs @@ -0,0 +1,181 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + using UnityEngine; + using System.Collections.Generic; + + public abstract class VoiceControllerBase : MonoBehaviour + { + /// + /// Gets whether this voice controller belongs to the local client or not + /// + public abstract bool IsLocal + { + get; + } + + /// + /// Gets the audio input device attached to this voice controller + /// + public AudioInputDeviceBase AudioInputDevice + { + get + { + return this.microphone; + } + } + + /// + /// Gets the audio output device attached to this voice controller + /// + public IAudioPlayer AudioOutputDevice + { + get + { + return this.speaker; + } + } + + /// + /// If true, play back received audio even if this belongs to the local client + /// + public bool DebugAudio = false; + + /// + /// If true, voice controller won't decode and play back received frames + /// + public bool Mute = false; + + protected AudioInputDeviceBase microphone; + protected IAudioPlayer speaker; + protected IAudioCodec codec; + + protected ulong nextFrameIndex = 0; + protected ulong nextExpectedIndex = 0; + + protected virtual void Awake() + { + codec = GetCodec(); + + microphone = GetComponent(); + speaker = GetComponent( typeof( IAudioPlayer ) ) as IAudioPlayer; + + if( microphone == null ) + { + Debug.LogError( "No audio input component attached to speaker", this ); + return; + } + + if( speaker == null ) + { + Debug.LogError( "No audio output component attached to speaker", this ); + return; + } + + if( IsLocal ) + { + microphone.OnAudioBufferReady += this.OnMicrophoneDataReady; + microphone.StartRecording(); + } + } + + protected virtual void OnDestroy() + { + if( IsLocal && microphone != null ) + { + microphone.OnAudioBufferReady -= this.OnMicrophoneDataReady; + microphone.StopRecording(); + } + } + + /// + /// Called when a frame of audio is encoded and ready to send + /// + protected virtual void OnAudioDataEncoded( VoicePacketWrapper encodedFrame ) + { + // TODO: send audio over network + } + + /// + /// Create a new codec + /// + protected virtual IAudioCodec GetCodec() + { + AudioUtils.FrequencyProvider = new SpeexCodec.FrequencyProvider(); + return new SpeexCodec( true ); + } + + /// + /// If you need to skip receiving a frame, you should call this function so it can advance the next expected index counter + /// + protected void SkipFrame() + { + nextExpectedIndex++; + } + + /// + /// Decode and play back received audio data + /// + protected virtual void ReceiveAudioData( VoicePacketWrapper encodedFrame ) + { + if( !IsLocal || DebugAudio ) + { + //Debug.Log("encoded index" + encodedFrame.Index + " next expected" + nextExpectedIndex); + // discard old samples + if( encodedFrame.Index < nextExpectedIndex ) return; + + + // voice controller is muted - don't bother decoding or buffering audio data + if( Mute ) + { + nextExpectedIndex = encodedFrame.Index + 1; + return; + } + + speaker.SetSampleRate( encodedFrame.Frequency * 1000 ); + + // some frames were lost, generate filler data for them + // unless the speaker isn't playing any sound, in which case filler data will only delay the stream further + // OR unless nextExpectedIndex is zero, implying that we haven't received any frames yet + if( nextExpectedIndex != 0 && encodedFrame.Index != nextExpectedIndex && speaker.PlayingSound ) + { + int numMissingFrames = (int)( encodedFrame.Index - nextExpectedIndex ); + + for( int i = 0; i < numMissingFrames; i++ ) + { + BigArray filler = codec.GenerateMissingFrame( encodedFrame.Frequency ); + speaker.BufferAudio( filler ); + } + } + + BigArray decoded = codec.DecodeFrame( encodedFrame ); + speaker.BufferAudio( decoded ); + + nextExpectedIndex = encodedFrame.Index + 1; + } + } + + /// + /// Called when new audio is available from the microphone + /// + protected virtual void OnMicrophoneDataReady( BigArray newData, int frequency ) + { + if( !IsLocal ) return; + + codec.OnAudioAvailable( newData ); + + VoicePacketWrapper? enc = codec.GetNextEncodedFrame( frequency ); + while( enc.HasValue ) + { + // assign index + VoicePacketWrapper packet = enc.Value; + packet.Index = nextFrameIndex++; + enc = packet; + + OnAudioDataEncoded( enc.Value ); + enc = codec.GetNextEncodedFrame( frequency ); + } + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Components/VoiceControllerBase.cs.meta b/Assets/External/DFVoice/Scripts/Components/VoiceControllerBase.cs.meta new file mode 100644 index 0000000..d441508 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Components/VoiceControllerBase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d417da3dc9eadb24793f13fbb74b7e09 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/IO.meta b/Assets/External/DFVoice/Scripts/IO.meta new file mode 100644 index 0000000..88e5b16 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/IO.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 779cfff33833cd84aba3105211eaad36 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Scripts/IO/AudioInputDeviceBase.cs b/Assets/External/DFVoice/Scripts/IO/AudioInputDeviceBase.cs new file mode 100644 index 0000000..32122f3 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/IO/AudioInputDeviceBase.cs @@ -0,0 +1,38 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + using UnityEngine; + + /// + /// Event handler for when new audio data becomes available + /// + public delegate void AudioBufferReadyHandler( BigArray newData, int frequency ); + + /// + /// Base class for audio input devices + /// + public abstract class AudioInputDeviceBase : MonoBehaviour + { + /// + /// Called when new audio data becomes available + /// + public event AudioBufferReadyHandler OnAudioBufferReady; + + /// + /// Start recording audio data + /// + public abstract void StartRecording(); + + /// + /// Stop recording audio data + /// + public abstract void StopRecording(); + + protected void bufferReady( BigArray newData, int frequency ) + { + if( OnAudioBufferReady != null ) + OnAudioBufferReady( newData, frequency ); + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/IO/AudioInputDeviceBase.cs.meta b/Assets/External/DFVoice/Scripts/IO/AudioInputDeviceBase.cs.meta new file mode 100644 index 0000000..074ff58 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/IO/AudioInputDeviceBase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51a1dfa85ff93f340aaff134a7a5cb88 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/IO/IAudioPlayer.cs b/Assets/External/DFVoice/Scripts/IO/IAudioPlayer.cs new file mode 100644 index 0000000..a13f411 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/IO/IAudioPlayer.cs @@ -0,0 +1,14 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + /// + /// Interface for classes which can play received audio + /// + public interface IAudioPlayer + { + bool PlayingSound { get; } + void SetSampleRate( int sampleRate ); + void BufferAudio( BigArray audioData ); + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/IO/IAudioPlayer.cs.meta b/Assets/External/DFVoice/Scripts/IO/IAudioPlayer.cs.meta new file mode 100644 index 0000000..bb559f6 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/IO/IAudioPlayer.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 02df04439ff9f7444bc43a4154e5af15 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/IO/MicrophoneInputDevice.cs b/Assets/External/DFVoice/Scripts/IO/MicrophoneInputDevice.cs new file mode 100644 index 0000000..81d3d7b --- /dev/null +++ b/Assets/External/DFVoice/Scripts/IO/MicrophoneInputDevice.cs @@ -0,0 +1,174 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + using UnityEngine; + + [AddComponentMenu( "DFVoice/Microphone Input Device" )] + public class MicrophoneInputDevice : AudioInputDeviceBase + { + public static string DefaultMicrophone = null; + + /// + /// Gets the device that is actively being used to record audio + /// + public string ActiveDevice + { + get + { + return device; + } + } + + public int ChunkSize = 640; + public FrequencyMode Mode = FrequencyMode.Wide; + + public KeyCode PushToTalk = KeyCode.None; + + public float AmplitudeThreshold = 0f; + + private AudioClip recordedAudio; + private int prevReadPosition = 0; + private BigArray resampleBuffer; + + private string device = null; + private int recordingFrequency; + + private float pushToTalkTimer = 0f; + + public override void StartRecording() + { + if( !Application.HasUserAuthorization( UserAuthorization.Microphone ) ) + { + Debug.LogWarning( "StartRecording(): Webplayer microphone access denied" ); + return; + } + + device = DefaultMicrophone; + + prevReadPosition = 0; + + this.recordingFrequency = AudioUtils.GetFrequency( Mode ); + + int min, max; + Microphone.GetDeviceCaps( device, out min, out max ); + + if( max == 0 ) max = 48000; + //if( max == 0 ) max = 16000; + + int frequency = Mathf.Clamp( this.recordingFrequency, min, max ); + + resampleBuffer = new BigArray( ChunkSize, 0 ); + recordedAudio = Microphone.Start( device, true, 5, frequency ); + } + + public override void StopRecording() + { + Microphone.End( device ); + } + + /// + /// Switch over to a new device + /// + public void ChangeMicrophoneDevice( string newDevice ) + { + StopRecording(); + + DefaultMicrophone = newDevice; + + StartRecording(); + } + + void Update() + { + if( !Microphone.IsRecording( device ) || recordedAudio == null ) + { + return; + } + + float[] tempArray = TempArray.Obtain( ChunkSize ); + + // in case of recompile + if( resampleBuffer == null ) + { + resampleBuffer = new BigArray( ChunkSize, 0 ); + } + + int readPosition = Microphone.GetPosition( device ); + + if( readPosition >= ( prevReadPosition + ChunkSize ) ) + { + while( readPosition >= ( prevReadPosition + ChunkSize ) ) + { + if( canTalk() ) + { + recordedAudio.GetData( tempArray, prevReadPosition ); + if( exceedsVolumeThreshold( tempArray ) ) + { + resample( tempArray ); + bufferReady( resampleBuffer, this.recordingFrequency ); + } + } + + prevReadPosition += ChunkSize; + } + } + else if( prevReadPosition > readPosition ) + { + var endReadPos = readPosition + recordedAudio.samples; + var diff = endReadPos - prevReadPosition; + while( diff >= ChunkSize ) + { + if( canTalk() ) + { + recordedAudio.GetData( tempArray, prevReadPosition ); + if( exceedsVolumeThreshold( tempArray ) ) + { + resample( tempArray ); + bufferReady( resampleBuffer, this.recordingFrequency ); + } + } + + prevReadPosition += ChunkSize; + if( prevReadPosition >= recordedAudio.samples ) + { + prevReadPosition -= recordedAudio.samples; + break; + } + + endReadPos = readPosition + recordedAudio.samples; + diff = endReadPos - prevReadPosition; + } + } + + TempArray.Release( tempArray ); + } + + bool exceedsVolumeThreshold( float[] data ) + { + if( AmplitudeThreshold == 0f ) + return true; + + var max = Mathf.Max( data ); + return max >= AmplitudeThreshold; + } + + void resample( float[] tempArray ) + { + //resampleBuffer = new BigArray( tempArray.Length, tempArray.Length ); + resampleBuffer.Resize( tempArray.Length ); + resampleBuffer.CopyFrom( tempArray, 0, 0, tempArray.Length * 4 ); + //Debug.Log( "Resampling from: " + recordedAudio.frequency + ", to: " + this.recordingFrequency ); + AudioUtils.Resample( resampleBuffer, recordedAudio.frequency, this.recordingFrequency ); + } + + bool canTalk() + { + if( PushToTalk == KeyCode.None ) return true; + if( Input.GetKey( PushToTalk ) ) pushToTalkTimer = 0.2f; + + pushToTalkTimer -= Time.deltaTime; + return pushToTalkTimer > 0f; + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/IO/MicrophoneInputDevice.cs.meta b/Assets/External/DFVoice/Scripts/IO/MicrophoneInputDevice.cs.meta new file mode 100644 index 0000000..6dc80f3 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/IO/MicrophoneInputDevice.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca697a6f27a261442a2c082beee1b411 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/IO/UnityAudioPlayer.cs b/Assets/External/DFVoice/Scripts/IO/UnityAudioPlayer.cs new file mode 100644 index 0000000..d23e296 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/IO/UnityAudioPlayer.cs @@ -0,0 +1,147 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + using UnityEngine; + + /// + /// Implements an audio player which writes to a streaming audio clip + /// + [AddComponentMenu( "DFVoice/Unity Audio Player" )] + [RequireComponent( typeof( AudioSource ) )] + public class UnityAudioPlayer : MonoBehaviour, IAudioPlayer + { + public bool PlayingSound + { + get + { + return GetComponent().isPlaying; + } + } + + public bool IsThreeDimensional = false; + + public bool Equalize = false; + public float EqualizeSpeed = 1f; + public float TargetEqualizeVolume = 0.75f; + public float MaxEqualization = 5f; + + private int frequency = 16000; + + private int writeHead = 0; + private int totalWritten = 0; + private AudioClip playClip; + + private int delayForFrames = 0; + private int lastTime = 0; + private int played = 0; + + private float currentGain = 1f; + private float targetGain = 1f; + + void Start() + { + playClip = AudioClip.Create( "vc", frequency * 10, 1, frequency, false ); + + // backwards compatibility + if( GetComponent() == null ) + gameObject.AddComponent(); + + GetComponent().clip = playClip; + GetComponent().Stop(); + GetComponent().loop = true; + GetComponent().spatialBlend = IsThreeDimensional ? 1f : 0f; + } + + void Update() + { + if( GetComponent().isPlaying ) + { + //Debug.Log("lastTime: " + lastTime + " samples: " + GetComponent().timeSamples); + if( lastTime > GetComponent().timeSamples ) + { + played += GetComponent().clip.samples; + //Debug.Log("adding " + played); + } + + lastTime = GetComponent().timeSamples; + + currentGain = Mathf.MoveTowards( currentGain, targetGain, Time.deltaTime * EqualizeSpeed ); + + if( played + GetComponent().timeSamples >= totalWritten ) + { + GetComponent().Pause(); + delayForFrames = 2; + } + } + } + + void OnDestroy() + { + Destroy( GetComponent().clip ); + } + + public void SetSampleRate( int sampleRate ) + { + if( GetComponent() == null ) return; + + if( GetComponent().clip != null && GetComponent().clip.frequency == sampleRate ) return; + + this.frequency = sampleRate; + + if( GetComponent().clip != null ) + Destroy( GetComponent().clip ); + + playClip = AudioClip.Create( "vc", frequency * 10, 1, frequency, false ); + GetComponent().clip = playClip; + GetComponent().Stop(); + GetComponent().loop = true; + + writeHead = 0; + totalWritten = 0; + delayForFrames = 0; + lastTime = 0; + played = 0; + } + + public void BufferAudio( BigArray audioData ) + { + if( GetComponent() == null ) return; + + float[] temp = TempArray.Obtain( audioData.Length ); + audioData.CopyTo( 0, temp, 0, audioData.Length * 4 ); + + if( Equalize ) + { + float maxAmp = AudioUtils.GetMaxAmplitude( temp ); + targetGain = TargetEqualizeVolume / maxAmp; + + if( targetGain > MaxEqualization ) + targetGain = MaxEqualization; + + if( targetGain < currentGain ) + { + currentGain = targetGain; + } + + AudioUtils.ApplyGain( temp, currentGain ); + } + + playClip.SetData( temp, writeHead ); + TempArray.Release( temp ); + + writeHead += audioData.Length; + totalWritten += audioData.Length; + writeHead %= playClip.samples; + + if( !GetComponent().isPlaying ) + { + delayForFrames--; + if( delayForFrames <= 0 ) + { + GetComponent().Play(); + } + } + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/IO/UnityAudioPlayer.cs.meta b/Assets/External/DFVoice/Scripts/IO/UnityAudioPlayer.cs.meta new file mode 100644 index 0000000..dfc87cd --- /dev/null +++ b/Assets/External/DFVoice/Scripts/IO/UnityAudioPlayer.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6e00d42098a712e4bb865682007cfe50 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/Misc.meta b/Assets/External/DFVoice/Scripts/Misc.meta new file mode 100644 index 0000000..a27e251 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Misc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5a6cf394e44efd6448ee023d2fe00696 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Scripts/Misc/VoicePacketWrapper.cs b/Assets/External/DFVoice/Scripts/Misc/VoicePacketWrapper.cs new file mode 100644 index 0000000..bdf0c27 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Misc/VoicePacketWrapper.cs @@ -0,0 +1,84 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + public struct VoicePacketWrapper + { + /// + /// The index of this voice packet (used to detect lost frames) + /// + public ulong Index; + + /// + /// The frequency (audio frequency = freqID * 1000) + /// + public byte Frequency; + + /// + /// The raw data which was sent + /// + public byte[] RawData; + + private byte[] tempHeaderData; + + public VoicePacketWrapper( ulong Index, int Frequency, byte[] RawData ) + { + tempHeaderData = null; + + this.Index = Index; + this.Frequency = (byte)( Frequency / 1000 ); + this.RawData = RawData; + } + + public VoicePacketWrapper( ulong Index, byte Frequency, byte[] RawData ) + { + tempHeaderData = null; + + this.Index = Index; + this.Frequency = Frequency; + this.RawData = RawData; + } + + public VoicePacketWrapper( byte[] headers, byte[] rawData ) + { + tempHeaderData = null; + + this.Index = System.BitConverter.ToUInt64( headers, 0 ); + this.Frequency = headers[ 8 ]; + this.RawData = rawData; + } + + public byte[] ObtainHeaders() + { + tempHeaderData = TempArray.Obtain( 9 ); // 8 bytes for ulong + 1 byte + + // extract bytes from ulong + byte b0 = (byte)( Index & 0x00000000000000ff ); + byte b1 = (byte)( ( Index & 0x000000000000ff00 ) >> 8 ); + byte b2 = (byte)( ( Index & 0x0000000000ff0000 ) >> 16 ); + byte b3 = (byte)( ( Index & 0x00000000ff000000 ) >> 24 ); + byte b4 = (byte)( ( Index & 0x000000ff00000000 ) >> 32 ); + byte b5 = (byte)( ( Index & 0x0000ff0000000000 ) >> 40 ); + byte b6 = (byte)( ( Index & 0x00ff000000000000 ) >> 48 ); + byte b7 = (byte)( ( Index & 0xff00000000000000 ) >> 56 ); + + tempHeaderData[ 0 ] = b0; + tempHeaderData[ 1 ] = b1; + tempHeaderData[ 2 ] = b2; + tempHeaderData[ 3 ] = b3; + tempHeaderData[ 4 ] = b4; + tempHeaderData[ 5 ] = b5; + tempHeaderData[ 6 ] = b6; + tempHeaderData[ 7 ] = b7; + + tempHeaderData[ 8 ] = Frequency; + + return tempHeaderData; + } + + public void ReleaseHeaders() + { + TempArray.Release( tempHeaderData ); + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Misc/VoicePacketWrapper.cs.meta b/Assets/External/DFVoice/Scripts/Misc/VoicePacketWrapper.cs.meta new file mode 100644 index 0000000..234dd08 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Misc/VoicePacketWrapper.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1309269c62ff78d4b9929415ee7f18ac +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/Utils.meta b/Assets/External/DFVoice/Scripts/Utils.meta new file mode 100644 index 0000000..b16b2aa --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: da8853dfd29ad994789e95c1f9245539 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Scripts/Utils/AudioUtils.cs b/Assets/External/DFVoice/Scripts/Utils/AudioUtils.cs new file mode 100644 index 0000000..019176e --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/AudioUtils.cs @@ -0,0 +1,63 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + using UnityEngine; + + public enum FrequencyMode + { + Narrow, + Wide, + UltraWide + } + + public interface IFrequencyProvider + { + int GetFrequency( FrequencyMode mode ); + } + + public class AudioUtils + { + public static IFrequencyProvider FrequencyProvider = new SpeexCodec.FrequencyProvider(); + private static FastList temp = new FastList(); + + public static int GetFrequency( FrequencyMode mode ) + { + return FrequencyProvider.GetFrequency( mode ); + } + + public static void Resample( BigArray samples, int oldFrequency, int newFrequency ) + { + if( oldFrequency == newFrequency ) return; + + temp.Clear(); + float ratio = (float)oldFrequency / (float)newFrequency; + int outSample = 0; + while( true ) + { + int inBufferIndex = (int)( outSample++ * ratio ); + if( inBufferIndex < samples.Length ) + temp.Add( samples[ inBufferIndex ] ); + else + break; + } + + samples.Resize( temp.Count ); + samples.CopyFrom( temp.Items, 0, 0, temp.Count * 4 ); + } + + public static void ApplyGain( float[] samples, float gain ) + { + for( int i = 0; i < samples.Length; i++ ) + samples[ i ] *= gain; + } + + public static float GetMaxAmplitude( float[] samples ) + { + float max = 0f; + for( int i = 0; i < samples.Length; i++ ) + max = Mathf.Max( max, Mathf.Abs( samples[ i ] ) ); + return max; + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Utils/AudioUtils.cs.meta b/Assets/External/DFVoice/Scripts/Utils/AudioUtils.cs.meta new file mode 100644 index 0000000..30ea0d1 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/AudioUtils.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3c02370e0d553ba4abc46b1410180db4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/Utils/BigArray.cs b/Assets/External/DFVoice/Scripts/Utils/BigArray.cs new file mode 100644 index 0000000..d09465c --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/BigArray.cs @@ -0,0 +1,74 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + public class BigArray + { + private T[] items; + private int count; + + public BigArray( int capacity, int count ) + { + items = new T[ capacity ]; + this.count = count; + } + + public T this[ int index ] + { + get + { + if( index >= count ) + throw new System.IndexOutOfRangeException(); + + return items[ index ]; + } + set + { + if( index >= count ) + throw new System.IndexOutOfRangeException(); + + items[ index ] = value; + } + } + + public int Length + { + get + { + return count; + } + } + + public T[] Items + { + get + { + return items; + } + } + + public void Resize( int newSize ) + { + this.count = newSize; + if( this.items.Length < newSize ) + { + System.Array.Resize( ref this.items, newSize * 2 ); + } + } + + public void CopyTo( int startIndex, BigArray destination, int destIndex, int count ) + { + System.Buffer.BlockCopy( items, startIndex, destination.items, destIndex, count ); + } + + public void CopyTo( int startIndex, T[] destination, int destIndex, int count ) + { + System.Buffer.BlockCopy( items, startIndex, destination, destIndex, count ); + } + + public void CopyFrom( T[] source, int sourceIndex, int destIndex, int count ) + { + System.Buffer.BlockCopy( source, sourceIndex, this.items, destIndex, count ); + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Utils/BigArray.cs.meta b/Assets/External/DFVoice/Scripts/Utils/BigArray.cs.meta new file mode 100644 index 0000000..8eb239a --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/BigArray.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba3ab656ee82c4f43884683c0e1c7cf5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/Utils/ChunkBuffer.cs b/Assets/External/DFVoice/Scripts/Utils/ChunkBuffer.cs new file mode 100644 index 0000000..3eb4a5c --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/ChunkBuffer.cs @@ -0,0 +1,46 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + /// + /// Helper class for separating input microphone data into chunks of a certain number of samples + /// + public class ChunkBuffer + { + //private List samples = new List(); + private FastList samples = new FastList(); + + /// + /// Add incoming samples to the buffer + /// + public void AddSamples( BigArray incomingSamples ) + { + int writeIndex = samples.Count * 4; + int newLength = samples.Count + incomingSamples.Length; + int writeBytes = incomingSamples.Length * 4; + samples.EnsureCapacity( newLength ); + samples.ForceCount( newLength ); + incomingSamples.CopyTo( 0, samples.Items, writeIndex, writeBytes ); + + //for( int i = 0; i < incomingSamples.Length; i++ ) + //{ + // samples[ writeIndex + i ] = incomingSamples[ i ]; + //} + } + + /// + /// Retrieve a chunk of the given size and fill destination array with samples + /// + /// True if a chunk is available, false otherwise + public bool RetrieveChunk( float[] destination ) + { + if( samples.Count < destination.Length ) return false; + for( int i = 0; i < destination.Length; i++ ) + { + destination[ i ] = samples[ i ]; + } + samples.RemoveRange( 0, destination.Length ); + return true; + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Utils/ChunkBuffer.cs.meta b/Assets/External/DFVoice/Scripts/Utils/ChunkBuffer.cs.meta new file mode 100644 index 0000000..38a8c10 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/ChunkBuffer.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f9a6d1b38ea00c44d93f1b0d1dc2ab83 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/Utils/FastList.cs b/Assets/External/DFVoice/Scripts/Utils/FastList.cs new file mode 100644 index 0000000..9e07999 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/FastList.cs @@ -0,0 +1,1144 @@ +/* Copyright 2013-2014 Daikon Forge */ + +namespace DaikonForge.VoIP +{ + using System; + using System.Collections; + using System.Collections.Generic; + + /// + /// Defines a simplified Generic List customized specifically for + /// game development - Implements object pooling, minimizes memory + /// allocations during common operations, replaces common extension + /// methods with bespoke implementations that do not allocate + /// iterators, etc. + /// + public class FastList : IList, IDisposable + { + #region Object pooling + + #region Static variables + + // NOTE: Switched to Queue in an attempt to work around + // a bug in the version of Mono used by Unity on iOS - http://stackoverflow.com/q/16542915 + private static Queue pool = new Queue( 1024 ); + + #endregion + + /// + /// Releases all instances in the object pool. + /// + public static void ClearPool() + { + lock( pool ) + { + pool.Clear(); + pool.TrimExcess(); + } + } + + /// + /// Returns a reference to a instance. If there are + /// available instances in the object pool, the first available instance will + /// be returned. If there are no instances available, then a new instance + /// will be created. Use the function to return the instance + /// to the object pool. + /// + public static FastList Obtain() + { + lock( pool ) + { + if( pool.Count == 0 ) + return new FastList(); + + return (FastList)pool.Dequeue(); + } + } + + /// + /// Returns a reference to a instance. If there are + /// available instances in the object pool, the first available instance will + /// be returned. If there are no instances available, then a new instance + /// will be created. Use the function to return the instance + /// to the object pool. + /// + public static FastList Obtain( int capacity ) + { + var list = Obtain(); + + list.EnsureCapacity( capacity ); + + return list; + } + + /// + /// Releases the back to the object pool + /// + public void Release() + { + Clear(); + + lock( pool ) + { + pool.Enqueue( this ); + } + } + + #endregion + + #region Private instance fields + + private const int DEFAULT_CAPACITY = 128; + + private T[] items = new T[ DEFAULT_CAPACITY ]; + private int count = 0; + + private bool isElementTypeValueType = false; + //private bool isElementTypePoolable = false; + + #endregion + + #region Constructor + + internal FastList() + { +#if !UNITY_EDITOR && UNITY_METRO + isElementTypeValueType = typeof( T ).GetTypeInfo().IsValueType; + isElementTypePoolable = typeof( IPoolable ).GetTypeInfo().IsAssignableFrom( typeof( T ).GetTypeInfo() ); +#else + isElementTypeValueType = typeof( T ).IsValueType; + //isElementTypePoolable = typeof( IPoolable ).IsAssignableFrom( typeof( T ) ); +#endif + } + + internal FastList( IList listToClone ) + : this() + { + AddRange( listToClone ); + } + + internal FastList( int capacity ) + : this() + { + EnsureCapacity( capacity ); + } + + #endregion + + #region Public properties + + /// + /// Returns the number of items in the list + /// + public int Count + { + get { return this.count; } + } + + /// + /// Returns the number of items this list can hold without needing to + /// resize the internal array (for internal use only) + /// + internal int Capacity + { + get { return this.items.Length; } + } + + /// + /// Gets a value indicating whether the list is read-only. Inherited from IList<> + /// + public bool IsReadOnly + { + get { return false; } + } + + /// + /// Gets/Sets the item at the specified index + /// + public T this[ int index ] + { + get + { + if( index < 0 || index > this.count - 1 ) + throw new IndexOutOfRangeException(); + return this.items[ index ]; + } + set + { + if( index < 0 || index > this.count - 1 ) + throw new IndexOutOfRangeException(); + this.items[ index ] = value; + } + } + + /// + /// Allows direct access to the underlying + /// containing this list's data. This array will most likely contain more + /// elements than the list reports via the property. + /// This property is intended for internal use by the UI library and should + /// not be accessed by other code. + /// + internal T[] Items + { + get { return this.items; } + } + + #endregion + + #region Public methods + + /// + /// Adds a new item to the end of the list. Provided only for call-level + /// compatability with code that treats this collection as a Queue. + /// + public void Enqueue( T item ) + { + lock( items ) + { + this.Add( item ); + } + } + + /// + /// Returns the first item in the collection and removes it from the list. + /// Provided only for call-level compatability with code that treats this + /// collection as a Queue. + /// + public T Dequeue() + { + lock( items ) + { + if( this.count == 0 ) + throw new IndexOutOfRangeException(); + + var item = this.items[ 0 ]; + + this.RemoveAt( 0 ); + + return item; + } + } + + /// + /// Returns the last item in the collection and removes it frm the list. + /// Provided only for call-level compatibility with code that treats this + /// collection as a Stack. + /// + /// + public T Pop() + { + lock( items ) + { + if( this.count == 0 ) + throw new IndexOutOfRangeException(); + + var item = this.items[ this.count - 1 ]; + + this.count -= 1; + + return item; + } + } + + /// + /// Returns a shallow copy of this instance + /// + /// + public FastList Clone() + { + var clone = Obtain( this.count ); + + Array.Copy( this.items, 0, clone.items, 0, this.count ); + + clone.count = this.count; + + return clone; + } + + /// + /// Reverses the order of the elements in the list + /// + public void Reverse() + { + Array.Reverse( this.items, 0, this.count ); + } + + /// + /// Sorts the elements in the entire using the default comparer. + /// + public void Sort() + { + Array.Sort( this.items, 0, this.count, null ); + } + + /// + /// Sorts the elements in the entire using the specified comparer. + /// + public void Sort( IComparer comparer ) + { + Array.Sort( this.items, 0, this.count, comparer ); + } + + /// + /// Sorts the elements in the entire using the specified . + /// + /// The to use when comparing elements. + public void Sort( Comparison comparison ) + { + if( comparison == null ) + { + throw new ArgumentNullException( "comparison" ); + } + if( this.count > 0 ) + { + using( var comparer = FunctorComparer.Obtain( comparison ) ) + { + Array.Sort( this.items, 0, this.count, comparer ); + } + } + } + + /// + /// Ensures that the has enough capacity to store elements + /// + /// + public void EnsureCapacity( int Size ) + { + if( items.Length < Size ) + { + var newSize = ( Size / DEFAULT_CAPACITY ) * DEFAULT_CAPACITY + DEFAULT_CAPACITY; + Array.Resize( ref this.items, newSize ); + } + } + + public void ForceCount( int count ) + { + this.count = count; + } + + /// + /// Adds the elements of the specified collection to the end of the + /// + public void AddRange( FastList list ) + { + var listCount = list.count; + + EnsureCapacity( this.count + listCount ); + Array.Copy( list.items, 0, this.items, this.count, listCount ); + this.count += listCount; + } + + /// + /// Adds the elements of the specified collection to the end of the + /// + public void AddRange( IList list ) + { + var listCount = list.Count; + + EnsureCapacity( this.count + listCount ); + + for( int i = 0; i < listCount; i++ ) + { + this.items[ count++ ] = list[ i ]; + } + } + + /// + /// Adds the elements of the specified collection to the end of the + /// + public void AddRange( T[] list ) + { + var listLength = list.Length; + + EnsureCapacity( this.count + listLength ); + Array.Copy( list, 0, this.items, this.count, listLength ); + this.count += listLength; + } + + /// + /// Determines the index of a specific item in the collection + /// + public int IndexOf( T item ) + { + return Array.IndexOf( this.items, item, 0, this.count ); + } + + /// + /// Inserts an item to the collection at the specified index + /// + /// + /// + public void Insert( int index, T item ) + { + EnsureCapacity( this.count + 1 ); + + if( index < this.count ) + { + Array.Copy( this.items, index, this.items, index + 1, this.count - index ); + } + + this.items[ index ] = item; + this.count += 1; + } + + /// + /// Inserts an array of items at the specified index + /// + public void InsertRange( int index, T[] array ) + { + if( array == null ) + throw new ArgumentNullException( "items" ); + + if( index < 0 || index > this.count ) + throw new ArgumentOutOfRangeException( "index" ); + + EnsureCapacity( this.count + array.Length ); + + if( index < this.count ) + { + Array.Copy( this.items, index, this.items, index + array.Length, this.count - index ); + } + + array.CopyTo( this.items, index ); + + this.count += array.Length; + } + + /// + /// Inserts a collection of items at the specified index + /// + public void InsertRange( int index, FastList list ) + { + if( list == null ) + throw new ArgumentNullException( "items" ); + + if( index < 0 || index > this.count ) + throw new ArgumentOutOfRangeException( "index" ); + + EnsureCapacity( this.count + list.count ); + + if( index < this.count ) + { + Array.Copy( this.items, index, this.items, index + list.count, this.count - index ); + } + + Array.Copy( list.items, 0, this.items, index, list.count ); + + this.count += list.count; + } + + /// + /// Removes all items matching the predicate condition from the list + /// + public void RemoveAll( Predicate predicate ) + { + var index = 0; + while( index < this.count ) + { + if( predicate( items[ index ] ) ) + { + RemoveAt( index ); + } + else + { + index += 1; + } + } + } + + /// + /// Removes the item at the specified index + /// + public void RemoveAt( int index ) + { + if( index >= this.count ) + { + throw new ArgumentOutOfRangeException(); + } + + this.count -= 1; + + if( index < this.count ) + { + Array.Copy( this.items, index + 1, this.items, index, this.count - index ); + } + + this.items[ this.count ] = default( T ); + } + + /// + /// Removes items from the collection at the specified index + /// + public void RemoveRange( int index, int length ) + { + if( index < 0 || length < 0 || this.count - index < length ) + { + throw new ArgumentOutOfRangeException(); + } + + if( count > 0 ) + { + this.count -= length; + if( index < this.count ) + { + Array.Copy( this.items, index + length, this.items, index, this.count - index ); + } + + Array.Clear( this.items, this.count, length ); + } + } + + /// + /// Adds an item to the collection + /// + public void Add( T item ) + { + EnsureCapacity( this.count + 1 ); + this.items[ this.count++ ] = item; + } + + /// + /// Adds two items to the collection + /// + public void Add( T item0, T item1 ) + { + EnsureCapacity( this.count + 2 ); + this.items[ this.count++ ] = item0; + this.items[ this.count++ ] = item1; + } + + /// + /// Adds three items to the collection + /// + public void Add( T item0, T item1, T item2 ) + { + EnsureCapacity( this.count + 3 ); + this.items[ this.count++ ] = item0; + this.items[ this.count++ ] = item1; + this.items[ this.count++ ] = item2; + } + + /// + /// Adds four items to the collection + /// + public void Add( T item0, T item1, T item2, T item3 ) + { + EnsureCapacity( this.count + 3 ); + this.items[ this.count++ ] = item0; + this.items[ this.count++ ] = item1; + this.items[ this.count++ ] = item2; + this.items[ this.count++ ] = item3; + } + + /// + /// Removes all items from the collection + /// + public void Clear() + { + if( !isElementTypeValueType ) + { + Array.Clear( this.items, 0, this.items.Length ); + } + + this.count = 0; + } + + /// + /// Resizes the internal buffer to exactly match the number of elements in the collection + /// + public void TrimExcess() + { + Array.Resize( ref this.items, this.count ); + } + + /// + /// Determines whether the collection contains the specified value + /// + public bool Contains( T item ) + { + if( item == null ) + { + for( int i = 0; i < this.count; i++ ) + { + if( this.items[ i ] == null ) + { + return true; + } + } + return false; + } + + EqualityComparer comparer = EqualityComparer.Default; + + for( int j = 0; j < this.count; j++ ) + { + if( comparer.Equals( this.items[ j ], item ) ) + { + return true; + } + } + + return false; + } + + /// + /// Copies the elements of the collection to a instance + /// + /// + public void CopyTo( T[] array ) + { + CopyTo( array, 0 ); + } + + /// + /// Copies the elements of the collection to an starting at the specified index + /// + public void CopyTo( T[] array, int arrayIndex ) + { + Array.Copy( this.items, 0, array, arrayIndex, this.count ); + } + + /// + /// Copies the elements of the collection to an + /// + /// The starting position in the collection + /// The destination array + /// The position in the array to start copying to + /// How many elements to copy + public void CopyTo( int sourceIndex, T[] dest, int destIndex, int length ) + { + if( sourceIndex + length > this.count ) + throw new IndexOutOfRangeException( "sourceIndex" ); + + if( dest == null ) + throw new ArgumentNullException( "dest" ); + + if( destIndex + length > dest.Length ) + throw new IndexOutOfRangeException( "destIndex" ); + + Array.Copy( this.items, sourceIndex, dest, destIndex, length ); + } + + /// + /// Removes the first occurrence of a specific object from the collection + /// + public bool Remove( T item ) + { + var index = IndexOf( item ); + if( index == -1 ) + return false; + + RemoveAt( index ); + + return true; + } + + /// + /// Returns a List<T> collection containing all elements of this collection + /// + /// + public List ToList() + { + var list = new List( this.count ); + list.AddRange( this.ToArray() ); + return list; + } + + /// + /// For internal use only. + /// + // @private + internal T[] ToTempArray() + { + var result = TempArray.Obtain( this.count ); + Array.Copy( items, 0, result, 0, this.count ); + return result; + } + + /// + /// Returns an array containing all elements of this collection + /// + public T[] ToArray() + { + var array = new T[ this.count ]; + + Array.Copy( this.items, 0, array, 0, this.count ); + + return array; + } + + /// + /// Returns a subset of the collection's items as an array + /// + public T[] ToArray( int index, int length ) + { + var array = new T[ this.count ]; + + if( this.count > 0 ) + { + CopyTo( index, array, 0, length ); + } + + return array; + } + + /// + /// Returns a subset of the collection's items as another dfList + /// + public FastList GetRange( int index, int length ) + { + var range = Obtain( length ); + CopyTo( 0, range.items, index, length ); + return range; + } + + #endregion + + #region LINQ replacement methods (avoids allocating enumerators) + + /// + /// Returns whether any items in the collection match the condition + /// defined by the predicate. + /// + /// A function to test each element for a condition. + /// true if any elements in the source sequence pass the test in the specified + /// predicate; otherwise, false. + public bool Any( Func predicate ) + { + for( int i = 0; i < this.count; i++ ) + { + if( predicate( this.items[ i ] ) ) + return true; + } + + return false; + } + + /// + /// Returns the first element in the list. Throws an exception if the list is empty. + /// + /// + public T First() + { + if( this.count == 0 ) + { + throw new IndexOutOfRangeException(); + } + + return this.items[ 0 ]; + } + + /// + /// Returns the first element of the collection, or a default value + /// if the collection contains no elements. + /// + public T FirstOrDefault() + { + if( this.count > 0 ) + return this.items[ 0 ]; + + return default( T ); + } + + /// + /// Returns the first element of the collection matching the condition defined by + /// , or the default value for the element type if the + /// collection contains no elements. + /// + public T FirstOrDefault( Func predicate ) + { + for( int i = 0; i < this.count; i++ ) + { + if( predicate( items[ i ] ) ) + return items[ i ]; + } + + return default( T ); + } + + /// + /// Returns the last element in the list. Throws an exception if the list is empty. + /// + public T Last() + { + if( this.count == 0 ) + { + throw new IndexOutOfRangeException(); + } + + return this.items[ this.count - 1 ]; + } + + /// + /// Returns the last element of the collection, or a default value + /// if the collection contains no elements. + /// + public T LastOrDefault() + { + if( this.count == 0 ) + { + return default( T ); + } + + return this.items[ this.count - 1 ]; + } + + /// + /// Returns the last element of the collection matching the condition defined by + /// , or the default value for the element type if the + /// collection contains no elements. + /// + public T LastOrDefault( Func predicate ) + { + var result = default( T ); + + for( int i = 0; i < this.count; i++ ) + { + if( predicate( items[ i ] ) ) + { + result = items[ i ]; + } + } + + return result; + } + + /// + /// Returns a list containing all elements + /// of the collection matching the condition specified by + /// + public FastList Where( Func predicate ) + { + var result = FastList.Obtain( this.count ); + + for( int i = 0; i < this.count; i++ ) + { + if( predicate( items[ i ] ) ) + { + result.Add( items[ i ] ); + } + } + + return result; + } + + /// + /// Returns the count of elements in the list that satisfy the + /// condition defined by + /// + public int Matching( Func predicate ) + { + var matching = 0; + + for( int i = 0; i < this.count; i++ ) + { + if( predicate( items[ i ] ) ) + matching += 1; + } + + return matching; + } + + /// + /// Projects each element of a sequence into a new form defined by + /// + public FastList Select( Func selector ) + { + var result = FastList.Obtain( this.count ); + + for( int i = 0; i < this.count; i++ ) + { + result.Add( selector( items[ i ] ) ); + } + + return result; + } + + /// + /// Returns a concatenated list containing all elements both lists + /// + public FastList Concat( FastList list ) + { + var result = FastList.Obtain( this.count + list.count ); + + result.AddRange( this ); + result.AddRange( list ); + + return result; + } + + /// + /// Converts all elements of the list to the specified target type + /// + public FastList Convert() + { + var result = FastList.Obtain( this.count ); + + for( int i = 0; i < this.count; i++ ) + { + result.Add( (TResult)System.Convert.ChangeType( this.items[ i ], typeof( TResult ) ) ); + } + + return result; + } + + /// + /// Performs an action on each element of the list + /// + /// The action to be performed on each element + public void ForEach( Action action ) + { + var index = 0; + while( index < this.Count ) + { + action( items[ index++ ] ); + } + } + + #endregion + + #region IEnumerable implementation + + // NOTE: The IEnumerable implementation here is horribly broken on iOS, and until + // I can figure out a way to implement typed enumerators that do work on iOS, please + // use a for(;;) loop instead of foreach(). Note that this may also apply to using + // LINQ queries, which may use foreach() or an GetEnumerator() internally. + + /// + /// Returns an IEnumerator instance that can be used to iterate through + /// the elements in this list. + /// + public IEnumerator GetEnumerator() + { + return PooledEnumerator.Obtain( this, null ); + } + + /// + /// Returns an IEnumerator instance that can be used to iterate through + /// the elements in this list. + /// + IEnumerator IEnumerable.GetEnumerator() + { + return PooledEnumerator.Obtain( this, null ); + } + + #endregion + + #region IDisposable implementation + + /// + /// Releases the memory used by this object and returns it to the object pool + /// + public void Dispose() + { + Release(); + } + + #endregion + + #region Nested classes + + /// + /// This custom enumerator class implements object pooling in order + /// to reduce the number and frequency of memory allocations. It is + /// primarily expected to be used by framework and library code which + /// treats the associated collection as an IEnumerable<T> rather + /// than as a . For instance, LINQ contains + /// several extension methods which will treat the collection as + /// an IEnumerable<T> and will create, use, and Dispose() of + /// the enumerator while performing the query. Similarly, many + /// third-party libraries will use a foreach() loop over a collection + /// rather than using for() with numeric indices, and the object pooling + /// implemented by this class will help to mitigate the number of + /// allocations typically caused by using such code. + /// + private class PooledEnumerator : IEnumerator, IEnumerable + { + + #region Static variables + + private static Queue pool = new Queue(); + + #endregion + + #region Private variables + + private FastList list; + private Func predicate; + private int currentIndex; + private T currentValue; + private bool isValid = false; + + #endregion + + #region Pooling + + public static PooledEnumerator Obtain( FastList list, Func predicate ) + { + var enumerator = ( pool.Count > 0 ) ? pool.Dequeue() : new PooledEnumerator(); + enumerator.ResetInternal( list, predicate ); + + return enumerator; + } + + public void Release() + { + if( this.isValid ) + { + this.isValid = false; + pool.Enqueue( this ); + } + } + + #endregion + + #region IEnumerator Members + + public T Current + { + get + { + if( !this.isValid ) + throw new InvalidOperationException( "The enumerator is no longer valid" ); + + return this.currentValue; + } + } + + #endregion + + #region Private utility methods + + private void ResetInternal( FastList list, Func predicate ) + { + this.isValid = true; + this.list = list; + this.predicate = predicate; + this.currentIndex = 0; + this.currentValue = default( T ); + } + + #endregion + + #region IDisposable Members + + public void Dispose() + { + Release(); + } + + #endregion + + #region IEnumerator Members + + object IEnumerator.Current + { + get + { + return this.Current; + } + } + + public bool MoveNext() + { + if( !this.isValid ) + throw new InvalidOperationException( "The enumerator is no longer valid" ); + + while( this.currentIndex < this.list.Count ) + { + var valueAtIndex = this.list[ currentIndex++ ]; + if( predicate != null ) + { + if( !predicate( valueAtIndex ) ) + continue; + } + + this.currentValue = valueAtIndex; + return true; + } + + Release(); + + this.currentValue = default( T ); + return false; + } + + public void Reset() + { + throw new NotImplementedException(); + } + + #endregion + + #region IEnumerable Members + + public IEnumerator GetEnumerator() + { + return this; + } + + IEnumerator IEnumerable.GetEnumerator() + { + return this; + } + + #endregion + } + + private class FunctorComparer : IComparer, IDisposable + { + #region Static variables + + private static Queue pool = new Queue(); + + #endregion + + #region Private instance variables + + private Comparison comparison; + + #endregion + + #region Object pooling + + public static FunctorComparer Obtain( Comparison comparison ) + { + var comparer = ( pool.Count > 0 ) ? pool.Dequeue() : new FunctorComparer(); + comparer.comparison = comparison; + return comparer; + } + + public void Release() + { + this.comparison = null; + + if( !pool.Contains( this ) ) + { + pool.Enqueue( this ); + } + } + + #endregion + + #region IComparer implementation + + public int Compare( T x, T y ) + { + return this.comparison( x, y ); + } + + #endregion + + #region IDisposable implementation + + public void Dispose() + { + this.Release(); + } + + #endregion + } + + #endregion + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Utils/FastList.cs.meta b/Assets/External/DFVoice/Scripts/Utils/FastList.cs.meta new file mode 100644 index 0000000..799d50b --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/FastList.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 502cfd4e9701ec9468330d30344ded39 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/Utils/TempArray.cs b/Assets/External/DFVoice/Scripts/Utils/TempArray.cs new file mode 100644 index 0000000..332b294 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/TempArray.cs @@ -0,0 +1,44 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + using System.Collections.Generic; + + /// + /// Helper class for working with pooled arrays + /// + public class TempArray + { + private static Dictionary> pool = new Dictionary>(); + + /// + /// Obtain an array of the given length + /// + public static T[] Obtain( int length ) + { + Queue pool = getPool( length ); + if( pool.Count > 0 ) + { + return pool.Dequeue(); + } + return new T[ length ]; + } + + /// + /// Release an array back to the pool + /// + public static void Release( T[] array ) + { + pool[ array.Length ].Enqueue( array ); + } + + private static Queue getPool( int length ) + { + if( !pool.ContainsKey( length ) ) + { + pool[ length ] = new Queue(); + } + return pool[ length ]; + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Utils/TempArray.cs.meta b/Assets/External/DFVoice/Scripts/Utils/TempArray.cs.meta new file mode 100644 index 0000000..e7e3d1f --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/TempArray.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5da0784531b4e9a43b5dccfe281696a9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/Utils/VoiceControllerCollection.cs b/Assets/External/DFVoice/Scripts/Utils/VoiceControllerCollection.cs new file mode 100644 index 0000000..ad18ecd --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/VoiceControllerCollection.cs @@ -0,0 +1,24 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + using System.Collections.Generic; + + /// + /// Helper class for when you need a fast way to iterate voice controllers in the scene + /// + public class VoiceControllerCollection where T : VoiceControllerBase + { + public static List VoiceControllers = new List(); + + public static void RegisterVoiceController( T controller ) + { + VoiceControllers.Add( controller ); + } + + public static void UnregisterVoiceController( T controller ) + { + VoiceControllers.Remove( controller ); + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Utils/VoiceControllerCollection.cs.meta b/Assets/External/DFVoice/Scripts/Utils/VoiceControllerCollection.cs.meta new file mode 100644 index 0000000..5325651 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/VoiceControllerCollection.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fc9c446086ab0d940ba525da4590eb6a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs b/Assets/External/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs new file mode 100644 index 0000000..a70a141 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs @@ -0,0 +1,33 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + using System.Collections.Generic; + + /// + /// Helper class for when you need a way to index voice controllers by some key + /// + public class VoiceControllerKeyedCollection where T : VoiceControllerBase + { + protected static Dictionary voiceControllers = new Dictionary(); + + public static void RegisterVoiceController( K key, T controller ) + { + voiceControllers.Add( key, controller ); + } + + public static void UnregisterVoiceController( K key ) + { + voiceControllers.Remove( key ); + } + + public static T GetVoiceController( K key ) + { + if( !voiceControllers.ContainsKey( key ) ) + { + return null; + } + return voiceControllers[ key ]; + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs.meta b/Assets/External/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs.meta new file mode 100644 index 0000000..5d054a2 --- /dev/null +++ b/Assets/External/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81d7f79eb5e8efe48ab96ea5fa969640 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Splash.meta b/Assets/External/DFVoice/Splash.meta new file mode 100644 index 0000000..c416198 --- /dev/null +++ b/Assets/External/DFVoice/Splash.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 824bb37caa114de449a1f2d5f49adb09 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Splash/Animation.meta b/Assets/External/DFVoice/Splash/Animation.meta new file mode 100644 index 0000000..53e8ff1 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Animation.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fa7ffe1ba128a1f4988e91c0fbb4fdb2 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Splash/Animation/Fader.controller b/Assets/External/DFVoice/Splash/Animation/Fader.controller new file mode 100644 index 0000000..4805dc6 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Animation/Fader.controller @@ -0,0 +1,67 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Fader + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 110700000} + 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 &110200000 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: SplashFader + 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_Motion: {fileID: 7400000, guid: f366061147b28d3408ad5877385e8da9, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: +--- !u!1107 &110700000 +AnimatorStateMachine: + serializedVersion: 5 + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 110200000} + m_Position: {x: 50, y: 50, 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: 110200000} diff --git a/Assets/External/DFVoice/Splash/Animation/Fader.controller.meta b/Assets/External/DFVoice/Splash/Animation/Fader.controller.meta new file mode 100644 index 0000000..a99bf24 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Animation/Fader.controller.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: a06ead484ad59b74b902fcf8e7c3fae8 +NativeFormatImporter: + userData: diff --git a/Assets/External/DFVoice/Splash/Animation/SplashFader.anim b/Assets/External/DFVoice/Splash/Animation/SplashFader.anim new file mode 100644 index 0000000..02c61a8 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Animation/SplashFader.anim @@ -0,0 +1,113 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: SplashFader + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: .5 + inSlope: -1 + outSlope: -1 + tangentMode: 10 + - time: .5 + value: 0 + inSlope: -.5 + outSlope: -.5 + tangentMode: 10 + - time: 3 + value: 0 + inSlope: .5 + outSlope: .5 + tangentMode: 10 + - time: 3.5 + value: .5 + inSlope: 1 + outSlope: 1 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_Color.a + path: + classID: 131 + script: {fileID: 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: + - path: 0 + attribute: 304273561 + script: {fileID: 0} + classID: 131 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_StartTime: 0 + m_StopTime: 3.5 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_LoopTime: 0 + 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: + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: .5 + inSlope: -1 + outSlope: -1 + tangentMode: 10 + - time: .5 + value: 0 + inSlope: -.5 + outSlope: -.5 + tangentMode: 10 + - time: 3 + value: 0 + inSlope: .5 + outSlope: .5 + tangentMode: 10 + - time: 3.5 + value: .5 + inSlope: 1 + outSlope: 1 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_Color.a + path: + classID: 131 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_GenerateMotionCurves: 0 + m_Events: [] diff --git a/Assets/External/DFVoice/Splash/Animation/SplashFader.anim.meta b/Assets/External/DFVoice/Splash/Animation/SplashFader.anim.meta new file mode 100644 index 0000000..861b1ca --- /dev/null +++ b/Assets/External/DFVoice/Splash/Animation/SplashFader.anim.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: f366061147b28d3408ad5877385e8da9 +NativeFormatImporter: + userData: diff --git a/Assets/External/DFVoice/Splash/DFSplashDark.unity b/Assets/External/DFVoice/Splash/DFSplashDark.unity new file mode 100644 index 0000000..2e3cea7 --- /dev/null +++ b/Assets/External/DFVoice/Splash/DFSplashDark.unity @@ -0,0 +1,458 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} + m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} + m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 1 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 1 + m_BakeResolution: 50 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666657 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &4596545 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4596546} + - 114: {fileID: 4596547} + m_Layer: 0 + m_Name: splash + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4596546 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 4596545} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 14510493} + - {fileID: 648983241} + - {fileID: 1182347998} + - {fileID: 609945526} + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!114 &4596547 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 4596545} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4d03e230922d32a4085e4e8f8ff663b7, type: 3} + m_Name: + m_EditorClassIdentifier: + SplashDuration: 3.5 + LoadScene: +--- !u!1 &14510491 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 14510493} + - 132: {fileID: 14510492} + m_Layer: 0 + m_Name: copyright + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!132 &14510492 +GUIText: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 14510491} + m_Enabled: 1 + serializedVersion: 3 + m_Text: "Copyright \xA9 2014 DaikonForge All Rights Reserved" + m_Anchor: 7 + m_Alignment: 0 + m_PixelOffset: {x: 0, y: 0} + m_LineSpacing: 1 + m_TabSize: 4 + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_Material: {fileID: 0} + m_FontSize: 0 + m_FontStyle: 0 + m_Color: + serializedVersion: 2 + rgba: 4294967295 + m_PixelCorrect: 1 + m_RichText: 1 +--- !u!4 &14510493 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 14510491} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .5, y: .0500000007, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4596546} + m_RootOrder: 0 +--- !u!1 &609945522 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 609945526} + - 33: {fileID: 609945525} + - 64: {fileID: 609945524} + - 23: {fileID: 609945523} + m_Layer: 0 + m_Name: splashImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &609945523 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 609945522} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 8ad9f8ccfc7201d4daa411af2aa69af6, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &609945524 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 609945522} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &609945525 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 609945522} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &609945526 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 609945522} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.778, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4596546} + m_RootOrder: 3 +--- !u!1 &648983238 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 648983241} + - 131: {fileID: 648983240} + - 95: {fileID: 648983239} + m_Layer: 0 + m_Name: Fader + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!95 &648983239 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 648983238} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: a06ead484ad59b74b902fcf8e7c3fae8, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!131 &648983240 +GUITexture: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 648983238} + m_Enabled: 1 + m_Texture: {fileID: 2800000, guid: f57f8c038f00f934782c10c54e9fb8c5, type: 3} + m_Color: {r: 0, g: 0, b: 0, a: .501960814} + m_PixelInset: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_LeftBorder: 0 + m_RightBorder: 0 + m_TopBorder: 0 + m_BottomBorder: 0 +--- !u!4 &648983241 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 648983238} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .5, y: .5, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4596546} + m_RootOrder: 1 +--- !u!1 &960060042 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 960060047} + - 20: {fileID: 960060046} + - 92: {fileID: 960060045} + - 124: {fileID: 960060044} + - 81: {fileID: 960060043} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &960060043 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 960060042} + m_Enabled: 1 +--- !u!124 &960060044 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 960060042} + m_Enabled: 1 +--- !u!92 &960060045 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 960060042} + m_Enabled: 1 +--- !u!20 &960060046 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 960060042} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 3 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &960060047 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 960060042} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &1182347996 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1182347998} + - 132: {fileID: 1182347997} + m_Layer: 0 + m_Name: productList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!132 &1182347997 +GUIText: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1182347996} + m_Enabled: 1 + serializedVersion: 3 + m_Text: This software product includes DFVoice + m_Anchor: 7 + m_Alignment: 0 + m_PixelOffset: {x: 0, y: 12} + m_LineSpacing: 1 + m_TabSize: 4 + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_Material: {fileID: 0} + m_FontSize: 0 + m_FontStyle: 0 + m_Color: + serializedVersion: 2 + rgba: 4294967295 + m_PixelCorrect: 1 + m_RichText: 1 +--- !u!4 &1182347998 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1182347996} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .5, y: .0500000007, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4596546} + m_RootOrder: 2 diff --git a/Assets/External/DFVoice/Splash/DFSplashDark.unity.meta b/Assets/External/DFVoice/Splash/DFSplashDark.unity.meta new file mode 100644 index 0000000..e297aff --- /dev/null +++ b/Assets/External/DFVoice/Splash/DFSplashDark.unity.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 50420d3b4e87ebf43b617739dbefc8ae +DefaultImporter: + userData: diff --git a/Assets/External/DFVoice/Splash/DFSplashLight.unity b/Assets/External/DFVoice/Splash/DFSplashLight.unity new file mode 100644 index 0000000..0012245 --- /dev/null +++ b/Assets/External/DFVoice/Splash/DFSplashLight.unity @@ -0,0 +1,458 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} + m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} + m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 1 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 1 + m_BakeResolution: 50 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666657 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &4596545 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4596546} + - 114: {fileID: 4596547} + m_Layer: 0 + m_Name: splash + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4596546 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 4596545} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 14510493} + - {fileID: 648983241} + - {fileID: 1182347998} + - {fileID: 609945526} + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!114 &4596547 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 4596545} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4d03e230922d32a4085e4e8f8ff663b7, type: 3} + m_Name: + m_EditorClassIdentifier: + SplashDuration: 3.5 + LoadScene: +--- !u!1 &14510491 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 14510493} + - 132: {fileID: 14510492} + m_Layer: 0 + m_Name: copyright + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!132 &14510492 +GUIText: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 14510491} + m_Enabled: 1 + serializedVersion: 3 + m_Text: "Copyright \xA9 2014 DaikonForge All Rights Reserved" + m_Anchor: 7 + m_Alignment: 0 + m_PixelOffset: {x: 0, y: 0} + m_LineSpacing: 1 + m_TabSize: 4 + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_Material: {fileID: 0} + m_FontSize: 0 + m_FontStyle: 0 + m_Color: + serializedVersion: 2 + rgba: 4278190080 + m_PixelCorrect: 1 + m_RichText: 1 +--- !u!4 &14510493 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 14510491} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .5, y: .0500000007, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4596546} + m_RootOrder: 0 +--- !u!1 &609945522 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 609945526} + - 33: {fileID: 609945525} + - 64: {fileID: 609945524} + - 23: {fileID: 609945523} + m_Layer: 0 + m_Name: splashImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &609945523 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 609945522} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 226e4c6d02e72d945bc9cccc8b6615c1, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &609945524 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 609945522} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &609945525 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 609945522} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &609945526 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 609945522} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.778, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4596546} + m_RootOrder: 3 +--- !u!1 &648983238 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 648983241} + - 131: {fileID: 648983240} + - 95: {fileID: 648983239} + m_Layer: 0 + m_Name: Fader + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!95 &648983239 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 648983238} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: a06ead484ad59b74b902fcf8e7c3fae8, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!131 &648983240 +GUITexture: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 648983238} + m_Enabled: 1 + m_Texture: {fileID: 2800000, guid: f57f8c038f00f934782c10c54e9fb8c5, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: .501960814} + m_PixelInset: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_LeftBorder: 0 + m_RightBorder: 0 + m_TopBorder: 0 + m_BottomBorder: 0 +--- !u!4 &648983241 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 648983238} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .5, y: .5, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4596546} + m_RootOrder: 1 +--- !u!1 &960060042 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 960060047} + - 20: {fileID: 960060046} + - 92: {fileID: 960060045} + - 124: {fileID: 960060044} + - 81: {fileID: 960060043} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &960060043 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 960060042} + m_Enabled: 1 +--- !u!124 &960060044 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 960060042} + m_Enabled: 1 +--- !u!92 &960060045 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 960060042} + m_Enabled: 1 +--- !u!20 &960060046 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 960060042} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 1, g: 1, b: 1, a: .0196078438} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 3 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &960060047 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 960060042} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &1182347996 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1182347998} + - 132: {fileID: 1182347997} + m_Layer: 0 + m_Name: productList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!132 &1182347997 +GUIText: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1182347996} + m_Enabled: 1 + serializedVersion: 3 + m_Text: This software product includes DFVoice + m_Anchor: 7 + m_Alignment: 0 + m_PixelOffset: {x: 0, y: 12} + m_LineSpacing: 1 + m_TabSize: 4 + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_Material: {fileID: 0} + m_FontSize: 0 + m_FontStyle: 0 + m_Color: + serializedVersion: 2 + rgba: 4278190080 + m_PixelCorrect: 1 + m_RichText: 1 +--- !u!4 &1182347998 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1182347996} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .5, y: .0500000007, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4596546} + m_RootOrder: 2 diff --git a/Assets/External/DFVoice/Splash/DFSplashLight.unity.meta b/Assets/External/DFVoice/Splash/DFSplashLight.unity.meta new file mode 100644 index 0000000..8a94883 --- /dev/null +++ b/Assets/External/DFVoice/Splash/DFSplashLight.unity.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: c07532603a0e02149afb018e380d6bb6 +DefaultImporter: + userData: diff --git a/Assets/External/DFVoice/Splash/Materials.meta b/Assets/External/DFVoice/Splash/Materials.meta new file mode 100644 index 0000000..9e78a95 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 16837374005fd5747a7959c63adb6837 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Splash/Materials/SplashDark.mat b/Assets/External/DFVoice/Splash/Materials/SplashDark.mat new file mode 100644 index 0000000..f4bb5a3 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Materials/SplashDark.mat @@ -0,0 +1,30 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: SplashDark + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: b1f1de25cd92b234f9ac044291736bce, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: {} + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/External/DFVoice/Splash/Materials/SplashDark.mat.meta b/Assets/External/DFVoice/Splash/Materials/SplashDark.mat.meta new file mode 100644 index 0000000..8b05745 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Materials/SplashDark.mat.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 8ad9f8ccfc7201d4daa411af2aa69af6 +NativeFormatImporter: + userData: diff --git a/Assets/External/DFVoice/Splash/Materials/SplashLight.mat b/Assets/External/DFVoice/Splash/Materials/SplashLight.mat new file mode 100644 index 0000000..a848875 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Materials/SplashLight.mat @@ -0,0 +1,30 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: SplashLight + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: ff8dd18f2f10d284ab6434824157a6fb, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: {} + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/External/DFVoice/Splash/Materials/SplashLight.mat.meta b/Assets/External/DFVoice/Splash/Materials/SplashLight.mat.meta new file mode 100644 index 0000000..aee213f --- /dev/null +++ b/Assets/External/DFVoice/Splash/Materials/SplashLight.mat.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 226e4c6d02e72d945bc9cccc8b6615c1 +NativeFormatImporter: + userData: diff --git a/Assets/External/DFVoice/Splash/Scripts.meta b/Assets/External/DFVoice/Splash/Scripts.meta new file mode 100644 index 0000000..7a9fa33 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 24f60d9283fdeec4b900569e405f82c3 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Splash/Scripts/SplashScreen.cs b/Assets/External/DFVoice/Splash/Scripts/SplashScreen.cs new file mode 100644 index 0000000..3a291c0 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Scripts/SplashScreen.cs @@ -0,0 +1,26 @@ +/* Copyright (C) 2014 DaikonForge */ + +using UnityEngine; +using System.Collections; + +namespace DaikonForge +{ + public class SplashScreen : MonoBehaviour + { + public float SplashDuration = 3.5f; + public string LoadScene = ""; + + IEnumerator Start() + { + if( string.IsNullOrEmpty( LoadScene ) ) + { + Debug.LogWarning( "SplashScreen: Load scene not set" ); + } + else + { + yield return new WaitForSeconds( SplashDuration ); + Application.LoadLevel( LoadScene ); + } + } + } +} \ No newline at end of file diff --git a/Assets/External/DFVoice/Splash/Scripts/SplashScreen.cs.meta b/Assets/External/DFVoice/Splash/Scripts/SplashScreen.cs.meta new file mode 100644 index 0000000..abf7514 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Scripts/SplashScreen.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4d03e230922d32a4085e4e8f8ff663b7 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/External/DFVoice/Splash/Source.meta b/Assets/External/DFVoice/Splash/Source.meta new file mode 100644 index 0000000..1fd981c --- /dev/null +++ b/Assets/External/DFVoice/Splash/Source.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9993d3d74327c204fa995640f1eb7637 +folderAsset: yes +timeCreated: 1437240622 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/DFVoice/Splash/Source/Blank.png b/Assets/External/DFVoice/Splash/Source/Blank.png new file mode 100644 index 0000000..0bbe4b4 Binary files /dev/null and b/Assets/External/DFVoice/Splash/Source/Blank.png differ diff --git a/Assets/External/DFVoice/Splash/Source/Blank.png.meta b/Assets/External/DFVoice/Splash/Source/Blank.png.meta new file mode 100644 index 0000000..863c6cf --- /dev/null +++ b/Assets/External/DFVoice/Splash/Source/Blank.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: f57f8c038f00f934782c10c54e9fb8c5 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/External/DFVoice/Splash/Source/DaikonForgeSplash.png b/Assets/External/DFVoice/Splash/Source/DaikonForgeSplash.png new file mode 100644 index 0000000..2813435 Binary files /dev/null and b/Assets/External/DFVoice/Splash/Source/DaikonForgeSplash.png differ diff --git a/Assets/External/DFVoice/Splash/Source/DaikonForgeSplash.png.meta b/Assets/External/DFVoice/Splash/Source/DaikonForgeSplash.png.meta new file mode 100644 index 0000000..4e81807 --- /dev/null +++ b/Assets/External/DFVoice/Splash/Source/DaikonForgeSplash.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: b1f1de25cd92b234f9ac044291736bce +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 2 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/External/DFVoice/Splash/Source/DaikonForgeSplashAlt.png b/Assets/External/DFVoice/Splash/Source/DaikonForgeSplashAlt.png new file mode 100644 index 0000000..7c2d5ef Binary files /dev/null and b/Assets/External/DFVoice/Splash/Source/DaikonForgeSplashAlt.png differ diff --git a/Assets/External/DFVoice/Splash/Source/DaikonForgeSplashAlt.png.meta b/Assets/External/DFVoice/Splash/Source/DaikonForgeSplashAlt.png.meta new file mode 100644 index 0000000..146df5f --- /dev/null +++ b/Assets/External/DFVoice/Splash/Source/DaikonForgeSplashAlt.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: ff8dd18f2f10d284ab6434824157a6fb +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 2 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Gizmos.meta b/Assets/Gizmos.meta new file mode 100644 index 0000000..cab9cf8 --- /dev/null +++ b/Assets/Gizmos.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 75583b8e348d6e345841148ef284530f +folderAsset: yes +timeCreated: 1448992503 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Gizmos/lut-volume.png b/Assets/Gizmos/lut-volume.png new file mode 100644 index 0000000..c42e7f2 Binary files /dev/null and b/Assets/Gizmos/lut-volume.png differ diff --git a/Assets/Gizmos/lut-volume.png.meta b/Assets/Gizmos/lut-volume.png.meta new file mode 100644 index 0000000..4e4cbd3 --- /dev/null +++ b/Assets/Gizmos/lut-volume.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: a18f735034f422242aed9494977a37a7 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Misc/Box.prefab b/Assets/Misc/Box.prefab deleted file mode 100644 index 28ef0ac..0000000 Binary files a/Assets/Misc/Box.prefab and /dev/null differ diff --git a/Assets/Models.meta b/Assets/Models.meta new file mode 100644 index 0000000..90bd977 --- /dev/null +++ b/Assets/Models.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6cc3107ede1142b43896e3e65f10db78 +folderAsset: yes +timeCreated: 1445680452 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/libs/armeabi-v7a/libvrunity.so.meta b/Assets/Plugins/Android/libs/armeabi-v7a/libvrunity.so.meta index e0c1f27..37ffd08 100644 --- a/Assets/Plugins/Android/libs/armeabi-v7a/libvrunity.so.meta +++ b/Assets/Plugins/Android/libs/armeabi-v7a/libvrunity.so.meta @@ -1,6 +1,22 @@ fileFormatVersion: 2 guid: 823199b39582e46e487118f18630d60c -DefaultImporter: +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 1 + settings: + CPU: ARMv7 + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Plugins/Android/libs/x86/libvrunity.so.meta b/Assets/Plugins/Android/libs/x86/libvrunity.so.meta index 7bff927..f0912b2 100644 --- a/Assets/Plugins/Android/libs/x86/libvrunity.so.meta +++ b/Assets/Plugins/Android/libs/x86/libvrunity.so.meta @@ -1,6 +1,22 @@ fileFormatVersion: 2 guid: ef2ee25abf6ff4a018f8f56612a14e87 -DefaultImporter: +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 1 + settings: + CPU: x86 + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Plugins/Android/unityvractivity.jar.meta b/Assets/Plugins/Android/unityvractivity.jar.meta index 4dfba5e..1b4a6dd 100644 --- a/Assets/Plugins/Android/unityvractivity.jar.meta +++ b/Assets/Plugins/Android/unityvractivity.jar.meta @@ -1,6 +1,21 @@ fileFormatVersion: 2 guid: 3a317079cab5c4517ac81fd44a14f880 -DefaultImporter: +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 1 + settings: {} + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Plugins/Editor.meta b/Assets/Plugins/Editor.meta new file mode 100644 index 0000000..610c70d --- /dev/null +++ b/Assets/Plugins/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4543b3c22751b464f84f6f15c3bb5c43 +folderAsset: yes +timeCreated: 1448752939 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Editor/VSCode.cs b/Assets/Plugins/Editor/VSCode.cs new file mode 100644 index 0000000..ca65b48 --- /dev/null +++ b/Assets/Plugins/Editor/VSCode.cs @@ -0,0 +1,1024 @@ +/* + * Unity VSCode Support + * + * Seamless support for Microsoft Visual Studio Code in Unity + * + * Version: + * 2.3 + * + * Authors: + * Matthew Davey + */ +// REQUIRES: VSCode 0.8.0 - Settings directory moved to .vscode +// TODO: Currently VSCode will not debug mono on Windows -- need a solution. +namespace dotBunny.Unity +{ + using System; + using System.IO; + using System.Text.RegularExpressions; + using UnityEditor; + using UnityEngine; + + public static class VSCode + { + /// + /// Current Version Number + /// + public const float Version = 2.3f; + + /// + /// Current Version Code + /// + public const string VersionCode = "-RELEASE"; + + #region Properties + + /// + /// Should debug information be displayed in the Unity terminal? + /// + public static bool Debug + { + get + { + return EditorPrefs.GetBool("VSCode_Debug", false); + } + set + { + EditorPrefs.SetBool("VSCode_Debug", value); + } + } + + /// + /// Is the Visual Studio Code Integration Enabled? + /// + /// + /// We do not want to automatically turn it on, for in larger projects not everyone is using VSCode + /// + public static bool Enabled + { + get + { + return EditorPrefs.GetBool("VSCode_Enabled", false); + } + set + { + EditorPrefs.SetBool("VSCode_Enabled", value); + } + } + + /// + /// Should the launch.json file be written? + /// + /// + /// Useful to disable if someone has their own custom one rigged up + /// + public static bool WriteLaunchFile + { + get + { + return EditorPrefs.GetBool("VSCode_WriteLaunchFile", true); + } + set + { + EditorPrefs.SetBool("VSCode_WriteLaunchFile", value); + } + } + + /// + /// Should the plugin automatically update itself. + /// + static bool AutomaticUpdates + { + get + { + return EditorPrefs.GetBool("VSCode_AutomaticUpdates", false); + } + set + { + EditorPrefs.SetBool("VSCode_AutomaticUpdates", value); + } + } + + static float GitHubVersion + { + get + { + return EditorPrefs.GetFloat("VSCode_GitHubVersion", Version); + } + set + { + EditorPrefs.SetFloat("VSCode_GitHubVersion", value); + } + } + + /// + /// When was the last time that the plugin was updated? + /// + static DateTime LastUpdate + { + get + { + // Feature creation date. + DateTime lastTime = new DateTime(2015, 10, 8); + + if (EditorPrefs.HasKey("VSCode_LastUpdate")) + { + DateTime.TryParse(EditorPrefs.GetString("VSCode_LastUpdate"), out lastTime); + } + return lastTime; + } + set + { + EditorPrefs.SetString("VSCode_LastUpdate", value.ToString()); + } + } + + /// + /// Quick reference to the VSCode launch settings file + /// + static string LaunchPath + { + get + { + return SettingsFolder + System.IO.Path.DirectorySeparatorChar + "launch.json"; + } + } + + /// + /// The full path to the project + /// + static string ProjectPath + { + get + { + return System.IO.Path.GetDirectoryName(UnityEngine.Application.dataPath); + } + } + + /// + /// Quick reference to the VSCode settings folder + /// + static string SettingsFolder + { + get + { + return ProjectPath + System.IO.Path.DirectorySeparatorChar + ".vscode"; + } + } + + static string SettingsPath + { + + get + { + return SettingsFolder + System.IO.Path.DirectorySeparatorChar + "settings.json"; + } + } + + static int UpdateTime + { + get + { + return EditorPrefs.GetInt("VSCode_UpdateTime", 7); + } + set + { + EditorPrefs.SetInt("VSCode_UpdateTime", value); + } + } + + #endregion + + /// + /// Integration Constructor + /// + static VSCode() + { + if (Enabled) + { + UpdateUnityPreferences(true); + + // Add Update Check + DateTime targetDate = LastUpdate.AddDays(UpdateTime); + if (DateTime.Now >= targetDate) + { + CheckForUpdate(); + } + } + + + + + //System.AppDomain.CurrentDomain.DomainUnload += System_AppDomain_CurrentDomain_DomainUnload; + } + + + // static void System_AppDomain_CurrentDomain_DomainUnload (object sender, System.EventArgs e) + // { + // if (Enabled) { + // UpdateUnityPreferences (false); + // } + // } + + #region Public Members + + /// + /// Force Unity To Write Project File + /// + /// + /// Reflection! + /// + public static void SyncSolution() + { + System.Type T = System.Type.GetType("UnityEditor.SyncVS,UnityEditor"); + System.Reflection.MethodInfo SyncSolution = T.GetMethod("SyncSolution", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + SyncSolution.Invoke(null, null); + + } + + /// + /// Update the solution files so that they work with VS Code + /// + public static void UpdateSolution() + { + + // No need to process if we are not enabled + if (!VSCode.Enabled) + { + return; + } + + if (VSCode.Debug) + { + UnityEngine.Debug.Log("[VSCode] Updating Solution & Project Files"); + } + + var currentDirectory = Directory.GetCurrentDirectory(); + var solutionFiles = Directory.GetFiles(currentDirectory, "*.sln"); + var projectFiles = Directory.GetFiles(currentDirectory, "*.csproj"); + + foreach (var filePath in solutionFiles) + { + string content = File.ReadAllText(filePath); + content = ScrubSolutionContent(content); + + File.WriteAllText(filePath, content); + + ScrubFile(filePath); + } + + foreach (var filePath in projectFiles) + { + string content = File.ReadAllText(filePath); + content = ScrubProjectContent(content); + + File.WriteAllText(filePath, content); + + ScrubFile(filePath); + } + + } + + #endregion + + #region Private Members + + /// + /// Call VSCode with arguements + /// + static void CallVSCode(string args) + { + System.Diagnostics.Process proc = new System.Diagnostics.Process(); + +#if UNITY_EDITOR_OSX + proc.StartInfo.FileName = "open"; + proc.StartInfo.Arguments = " -n -b \"com.microsoft.VSCode\" --args " + args; + proc.StartInfo.UseShellExecute = false; +#elif UNITY_EDITOR_WIN + proc.StartInfo.FileName = "code"; + proc.StartInfo.Arguments = args; + proc.StartInfo.UseShellExecute = false; +#else + //TODO: Allow for manual path to code? + proc.StartInfo.FileName = "code"; + proc.StartInfo.Arguments = args; + proc.StartInfo.UseShellExecute = false; +#endif + proc.StartInfo.CreateNoWindow = true; + proc.StartInfo.RedirectStandardOutput = true; + proc.Start(); + } + + /// + /// Check for Updates with GitHub + /// + static void CheckForUpdate() + { + var fileContent = string.Empty; + + EditorUtility.DisplayProgressBar("VSCode", "Checking for updates ...", 0.5f); + + // Because were not a runtime framework, lets just use the simplest way of doing this + try + { + using (var webClient = new System.Net.WebClient()) + { + fileContent = webClient.DownloadString("https://raw.githubusercontent.com/dotBunny/VSCode/master/Plugins/Editor/VSCode.cs"); + } + } + catch (Exception e) + { + if (Debug) + { + UnityEngine.Debug.Log("[VSCode] " + e.Message); + } + } + finally + { + EditorUtility.ClearProgressBar(); + } + + // Set the last update time + LastUpdate = DateTime.Now; + + string[] fileExploded = fileContent.Split('\n'); + if (fileExploded.Length > 7) + { + float github = Version; + if (float.TryParse(fileExploded[6].Replace("*", "").Trim(), out github)) + { + GitHubVersion = github; + } + + if (github > Version) + { + var GUIDs = AssetDatabase.FindAssets("t:Script VSCode"); + var path = Application.dataPath.Substring(0, Application.dataPath.Length - "/Assets".Length) + System.IO.Path.DirectorySeparatorChar + + AssetDatabase.GUIDToAssetPath(GUIDs[0]).Replace('/', System.IO.Path.DirectorySeparatorChar); + + if (EditorUtility.DisplayDialog("VSCode Update", "A newer version of the VSCode plugin is available, would you like to update your version?", "Yes", "No")) + { + File.WriteAllText(path, fileContent); + } + } + } + } + + /// + /// Force Unity Preferences Window To Read From Settings + /// + static void FixUnityPreferences() + { + // I want that window, please and thank you + System.Type T = System.Type.GetType("UnityEditor.PreferencesWindow,UnityEditor"); + + if (EditorWindow.focusedWindow == null) + return; + + // Only run this when the editor window is visible (cause its what screwed us up) + if (EditorWindow.focusedWindow.GetType() == T) + { + var window = EditorWindow.GetWindow(T, true, "Unity Preferences"); + + + if (window == null) + { + if (Debug) + { + UnityEngine.Debug.Log("[VSCode] No Preferences Window Found (really?)"); + } + return; + } + + var invokerType = window.GetType(); + var invokerMethod = invokerType.GetMethod("ReadPreferences", + System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); + + if (invokerMethod != null) + { + invokerMethod.Invoke(window, null); + } + else if (Debug) + { + UnityEngine.Debug.Log("[VSCode] No Reflection Method Found For Preferences"); + } + } + + // // Get internal integration class + // System.Type iT = System.Type.GetType("UnityEditor.VisualStudioIntegration.UnityVSSupport,UnityEditor.VisualStudioIntegration"); + // var iinvokerMethod = iT.GetMethod("ScriptEditorChanged", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + // var temp = EditorPrefs.GetString("kScriptsDefaultApp"); + // iinvokerMethod.Invoke(null,new object[] { temp } ); + + } + + /// + /// Determine what port Unity is listening for on Windows + /// + static int GetDebugPort() + { +#if UNITY_EDITOR_WIN + System.Diagnostics.Process process = new System.Diagnostics.Process(); + process.StartInfo.FileName = "netstat"; + process.StartInfo.Arguments = "-a -n -o -p TCP"; + process.StartInfo.UseShellExecute = false; + process.StartInfo.RedirectStandardOutput = true; + process.Start(); + + string output = process.StandardOutput.ReadToEnd(); + string[] lines = output.Split('\n'); + + process.WaitForExit(); + + foreach (string line in lines) + { + string[] tokens = Regex.Split(line, "\\s+"); + if (tokens.Length > 4) + { + int test = -1; + int.TryParse(tokens[5], out test); + + if (test > 1023) + { + try + { + var p = System.Diagnostics.Process.GetProcessById(test); + if (p.ProcessName == "Unity") + { + return test; + } + } + catch + { + + } + } + } + } +#else + System.Diagnostics.Process process = new System.Diagnostics.Process(); + process.StartInfo.FileName = "lsof"; + process.StartInfo.Arguments = "-c /^Unity$/ -i 4tcp -a"; + process.StartInfo.UseShellExecute = false; + process.StartInfo.RedirectStandardOutput = true; + process.Start(); + + // Not thread safe (yet!) + string output = process.StandardOutput.ReadToEnd(); + string[] lines = output.Split('\n'); + + process.WaitForExit(); + + foreach (string line in lines) + { + int port = -1; + if (line.StartsWith("Unity")) + { + string[] portions = line.Split(new string[] { "TCP *:" }, System.StringSplitOptions.None); + if (portions.Length >= 2) + { + Regex digitsOnly = new Regex(@"[^\d]"); + string cleanPort = digitsOnly.Replace(portions[1], ""); + if (int.TryParse(cleanPort, out port)) + { + if (port > -1) + { + return port; + } + } + } + } + } +#endif + return -1; + } + + // HACK: This is in until Unity can figure out why MD keeps opening even though a different program is selected. + [MenuItem("Assets/Open C# Project In Code", false, 1000)] + static void MenuOpenProject() + { + // Force the project files to be sync + SyncSolution(); + + // Load Project + CallVSCode("\"" + ProjectPath + "\" -r"); + } + + [MenuItem("Assets/Open C# Project In Code", true, 1000)] + static bool ValidateMenuOpenProject() + { + return Enabled; + } + + /// + /// VS Code Integration Preferences Item + /// + /// + /// Contains all 3 toggles: Enable/Disable; Debug On/Off; Writing Launch File On/Off + /// + [PreferenceItem("VSCode")] + static void VSCodePreferencesItem() + { + EditorGUILayout.BeginVertical(); + + EditorGUILayout.HelpBox("Support development of this plugin, follow @reapazor and @dotbunny on Twitter.", MessageType.Info); + + EditorGUI.BeginChangeCheck(); + + Enabled = EditorGUILayout.Toggle(new GUIContent("Enable Integration", "Should the integration work its magic for you?"), Enabled); + + EditorGUILayout.Space(); + + EditorGUI.BeginDisabledGroup(!Enabled); + + Debug = EditorGUILayout.Toggle(new GUIContent("Output Messages To Console", "Should informational messages be sent to Unity's Console?"), Debug); + + WriteLaunchFile = EditorGUILayout.Toggle(new GUIContent("Always Write Launch File", "Always write the launch.json settings when entering play mode?"), WriteLaunchFile); + + EditorGUILayout.Space(); + + AutomaticUpdates = EditorGUILayout.Toggle(new GUIContent("Automatic Updates", "Should the plugin automatically update itself?"), AutomaticUpdates); + + EditorGUI.BeginDisabledGroup(!AutomaticUpdates); + + UpdateTime = EditorGUILayout.IntSlider(new GUIContent("Update Timer (Days)", "After how many days should updates be checked for?"), UpdateTime, 1, 31); + + EditorGUI.EndDisabledGroup(); + + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.Space(); + EditorGUILayout.Space(); + + if (EditorGUI.EndChangeCheck()) + { + UpdateUnityPreferences(Enabled); + + //UnityEditor.PreferencesWindow.Read + + // TODO: Force Unity To Reload Preferences + // This seems to be a hick up / issue + + if (VSCode.Debug) + { + if (Enabled) + { + UnityEngine.Debug.Log("[VSCode] Integration Enabled"); + } + else + { + UnityEngine.Debug.Log("[VSCode] Integration Disabled"); + } + } + } + + if (GUILayout.Button(new GUIContent("Force Update", "Check for updates to the plugin, right NOW!"))) + { + CheckForUpdate(); + EditorGUILayout.EndVertical(); + return; + } + if (GUILayout.Button(new GUIContent("Write Workspace Settings", "Output a default set of workspace settings for VSCode to use, ignoring many different types of files."))) + { + WriteWorkspaceSettings(); + EditorGUILayout.EndVertical(); + return; + } + + GUILayout.FlexibleSpace(); + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + + GUILayout.Label( + new GUIContent( + string.Format("{0:0.00}", Version) + VersionCode, + "GitHub's Version @ " + string.Format("{0:0.00}", GitHubVersion))); + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.EndVertical(); + + } + + /// + /// Asset Open Callback (from Unity) + /// + /// + /// Called when Unity is about to open an asset. + /// + [UnityEditor.Callbacks.OnOpenAssetAttribute()] + static bool OnOpenedAsset(int instanceID, int line) + { + // bail out if we are not on a Mac or if we don't want to use VSCode + if (!Enabled) + { + return false; + } + + // current path without the asset folder + string appPath = ProjectPath; + + // determine asset that has been double clicked in the project view + UnityEngine.Object selected = EditorUtility.InstanceIDToObject(instanceID); + + if (selected.GetType().ToString() == "UnityEditor.MonoScript") + { + string completeFilepath = appPath + Path.DirectorySeparatorChar + AssetDatabase.GetAssetPath(selected); + + string args = null; + if (line == -1) + { + + args = "\"" + ProjectPath + "\" \"" + completeFilepath + "\" -r"; + } + else + { + args = "\"" + ProjectPath + "\" -g \"" + completeFilepath + ":" + line.ToString() + "\" -r"; + } + // call 'open' + CallVSCode(args); + + return true; + } + + // Didnt find a code file? let Unity figure it out + return false; + + } + + /// + /// Executed when the Editor's playmode changes allowing for capture of required data + /// + static void OnPlaymodeStateChanged() + { + if (VSCode.Enabled && VSCode.WriteLaunchFile && UnityEngine.Application.isPlaying && EditorApplication.isPlayingOrWillChangePlaymode) + { + int port = GetDebugPort(); + if (port > -1) + { + if (!Directory.Exists(VSCode.SettingsFolder)) + System.IO.Directory.CreateDirectory(VSCode.SettingsFolder); + UpdateLaunchFile(port); + + if (VSCode.Debug) + { + UnityEngine.Debug.Log("[VSCode] Debug Port Found (" + port + ")"); + } + } + else + { + if (VSCode.Debug) + { + UnityEngine.Debug.LogWarning("[VSCode] Unable to determine debug port."); + } + } + } + } + + /// + /// Detect when scripts are reloaded and relink playmode detection + /// + [UnityEditor.Callbacks.DidReloadScripts()] + static void OnScriptReload() + { + EditorApplication.playmodeStateChanged -= OnPlaymodeStateChanged; + EditorApplication.playmodeStateChanged += OnPlaymodeStateChanged; + } + + + /// + /// Remove extra/erroneous lines from a file. + static void ScrubFile(string path) + { + string[] lines = File.ReadAllLines(path); + System.Collections.Generic.List newLines = new System.Collections.Generic.List(); + for (int i = 0; i < lines.Length; i++) + { + // Check Empty + if (string.IsNullOrEmpty(lines[i].Trim()) || lines[i].Trim() == "\t" || lines[i].Trim() == "\t\t") + { + + } + else + { + newLines.Add(lines[i]); + } + } + File.WriteAllLines(path, newLines.ToArray()); + } + + /// + /// Remove extra/erroneous data from project file (content). + /// + static string ScrubProjectContent(string content) + { + if (content.Length == 0) + return ""; + +// Note: it causes OmniSharp faults on Windows, such as "not seeing UnityEngine.UI". 3.5 target works fine +#if !UNITY_EDITOR_WIN + // Make sure our reference framework is 2.0, still the base for Unity + if (content.IndexOf("v3.5") != -1) + { + content = Regex.Replace(content, "v3.5", "v2.0"); + } +#endif + + string targetPath = "";// "Temp" + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar + "Debug" + Path.DirectorySeparatorChar + ""; //OutputPath + string langVersion = "default"; + + + bool found = true; + int location = 0; + string addedOptions = ""; + int startLocation = -1; + int endLocation = -1; + int endLength = 0; + + while (found) + { + startLocation = -1; + endLocation = -1; + endLength = 0; + addedOptions = ""; + startLocation = content.IndexOf("", startLocation); + endLength = (endLocation - startLocation); + + + if (endLocation == -1) + { + found = false; + continue; + } + else + { + found = true; + location = endLocation; + } + + if (content.Substring(startLocation, endLength).IndexOf("") == -1) + { + addedOptions += "\n\r\t" + targetPath + "\n\r"; + } + + if (content.Substring(startLocation, endLength).IndexOf("") == -1) + { + addedOptions += "\n\r\t" + langVersion + "\n\r"; + } + + if (!string.IsNullOrEmpty(addedOptions)) + { + content = content.Substring(0, endLocation) + addedOptions + content.Substring(endLocation); + } + } + else + { + found = false; + } + } + + return content; + } + + /// + /// Remove extra/erroneous data from solution file (content). + /// + static string ScrubSolutionContent(string content) + { + // Replace Solution Version + content = content.Replace( + "Microsoft Visual Studio Solution File, Format Version 11.00\r\n# Visual Studio 2008\r\n", + "\r\nMicrosoft Visual Studio Solution File, Format Version 12.00\r\n# Visual Studio 2012"); + + // Remove Solution Properties (Unity Junk) + int startIndex = content.IndexOf("GlobalSection(SolutionProperties) = preSolution"); + if (startIndex != -1) + { + int endIndex = content.IndexOf("EndGlobalSection", startIndex); + content = content.Substring(0, startIndex) + content.Substring(endIndex + 16); + } + + + return content; + } + + /// + /// Update Visual Studio Code Launch file + /// + static void UpdateLaunchFile(int port) + { + // Write out proper formatted JSON (hence no more SimpleJSON here) + string fileContent = "{\n\t\"version\":\"0.2.0\",\n\t\"configurations\":[ \n\t\t{\n\t\t\t\"name\":\"Unity\",\n\t\t\t\"type\":\"mono\",\n\t\t\t\"request\":\"attach\",\n\t\t\t\"address\":\"localhost\",\n\t\t\t\"port\":" + port + "\n\t\t}\n\t]\n}"; + File.WriteAllText(VSCode.LaunchPath, fileContent); + } + + /// + /// Update Unity Editor Preferences + static void UpdateUnityPreferences(bool enabled) + { + if (enabled) + { +#if UNITY_EDITOR_OSX + var newPath = "/Applications/Visual Studio Code.app"; +#elif UNITY_EDITOR_WIN + var newPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData) + Path.DirectorySeparatorChar + "Code" + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar + "code.cmd"; +#else + var newPath = "/usr/local/bin/code"; +#endif + + // App + if (EditorPrefs.GetString("kScriptsDefaultApp") != newPath) + { + EditorPrefs.SetString("VSCode_PreviousApp", EditorPrefs.GetString("kScriptsDefaultApp")); + } + EditorPrefs.SetString("kScriptsDefaultApp", newPath); + + // Arguments + if (EditorPrefs.GetString("kScriptEditorArgs") != "-r -g \"$(File):$(Line)\"") + { + EditorPrefs.SetString("VSCode_PreviousArgs", EditorPrefs.GetString("kScriptEditorArgs")); + } + + EditorPrefs.SetString("kScriptEditorArgs", "-r -g \"$(File):$(Line)\""); + EditorPrefs.SetString("kScriptEditorArgs" + newPath, "-r -g \"$(File):$(Line)\""); + + + // MonoDevelop Solution + if (EditorPrefs.GetBool("kMonoDevelopSolutionProperties", false)) + { + EditorPrefs.SetBool("VSCode_PreviousMD", true); + } + EditorPrefs.SetBool("kMonoDevelopSolutionProperties", false); + + // Support Unity Proj (JS) + if (EditorPrefs.GetBool("kExternalEditorSupportsUnityProj", false)) + { + EditorPrefs.SetBool("VSCode_PreviousUnityProj", true); + } + EditorPrefs.SetBool("kExternalEditorSupportsUnityProj", false); + + // Attach to Editor + if (!EditorPrefs.GetBool("AllowAttachedDebuggingOfEditor", false)) + { + EditorPrefs.SetBool("VSCode_PreviousAttach", false); + } + EditorPrefs.SetBool("AllowAttachedDebuggingOfEditor", true); + } + else + { + + // Restore previous app + if (!string.IsNullOrEmpty(EditorPrefs.GetString("VSCode_PreviousApp"))) + { + EditorPrefs.SetString("kScriptsDefaultApp", EditorPrefs.GetString("VSCode_PreviousApp")); + } + + // Restore previous args + if (!string.IsNullOrEmpty(EditorPrefs.GetString("VSCode_PreviousArgs"))) + { + EditorPrefs.SetString("kScriptEditorArgs", EditorPrefs.GetString("VSCode_PreviousArgs")); + } + + // Restore MD setting + if (EditorPrefs.GetBool("VSCode_PreviousMD", false)) + { + EditorPrefs.SetBool("kMonoDevelopSolutionProperties", true); + } + + // Restore MD setting + if (EditorPrefs.GetBool("VSCode_PreviousUnityProj", false)) + { + EditorPrefs.SetBool("kExternalEditorSupportsUnityProj", true); + } + + + // Restore previous attach + if (!EditorPrefs.GetBool("VSCode_PreviousAttach", true)) + { + EditorPrefs.SetBool("AllowAttachedDebuggingOfEditor", false); + } + } + + FixUnityPreferences(); + } + + /// + /// Write Default Workspace Settings + /// + static void WriteWorkspaceSettings() + { + if (Debug) + { + UnityEngine.Debug.Log("[VSCode] Workspace Settings Written"); + } + + if (!Directory.Exists(VSCode.SettingsFolder)) + { + System.IO.Directory.CreateDirectory(VSCode.SettingsFolder); + } + + string exclusions = + "{\n" + + "\t\"files.exclude\":\n" + + "\t{\n" + + // Hidden Files + "\t\t\"**/.DS_Store\":true,\n" + + "\t\t\"**/.git\":true,\n" + + "\t\t\"**/.gitignore\":true,\n" + + "\t\t\"**/.gitmodules\":true,\n" + + + + // Project Files + "\t\t\"**/*.booproj\":true,\n" + + "\t\t\"**/*.pidb\":true,\n" + + "\t\t\"**/*.suo\":true,\n" + + "\t\t\"**/*.user\":true,\n" + + "\t\t\"**/*.userprefs\":true,\n" + + "\t\t\"**/*.unityproj\":true,\n" + + "\t\t\"**/*.dll\":true,\n" + + "\t\t\"**/*.exe\":true,\n" + + + // Media Files + "\t\t\"**/*.pdf\":true,\n" + + + // Audio + "\t\t\"**/*.mid\":true,\n" + + "\t\t\"**/*.midi\":true,\n" + + "\t\t\"**/*.wav\":true,\n" + + + // Textures + "\t\t\"**/*.gif\":true,\n" + + "\t\t\"**/*.ico\":true,\n" + + "\t\t\"**/*.jpg\":true,\n" + + "\t\t\"**/*.jpeg\":true,\n" + + "\t\t\"**/*.png\":true,\n" + + "\t\t\"**/*.psd\":true,\n" + + "\t\t\"**/*.tga\":true,\n" + + "\t\t\"**/*.tif\":true,\n" + + "\t\t\"**/*.tiff\":true,\n" + + + // Models + "\t\t\"**/*.3ds\":true,\n" + + "\t\t\"**/*.3DS\":true,\n" + + "\t\t\"**/*.fbx\":true,\n" + + "\t\t\"**/*.FBX\":true,\n" + + "\t\t\"**/*.lxo\":true,\n" + + "\t\t\"**/*.LXO\":true,\n" + + "\t\t\"**/*.ma\":true,\n" + + "\t\t\"**/*.MA\":true,\n" + + "\t\t\"**/*.obj\":true,\n" + + "\t\t\"**/*.OBJ\":true,\n" + + + // Unity File Types + "\t\t\"**/*.asset\":true,\n" + + "\t\t\"**/*.cubemap\":true,\n" + + "\t\t\"**/*.flare\":true,\n" + + "\t\t\"**/*.mat\":true,\n" + + "\t\t\"**/*.meta\":true,\n" + + "\t\t\"**/*.prefab\":true,\n" + + "\t\t\"**/*.unity\":true,\n" + + + // Folders + "\t\t\"build/\":true,\n" + + "\t\t\"Build/\":true,\n" + + "\t\t\"Library/\":true,\n" + + "\t\t\"library/\":true,\n" + + "\t\t\"obj/\":true,\n" + + "\t\t\"Obj/\":true,\n" + + "\t\t\"ProjectSettings/\":true,\r" + + "\t\t\"temp/\":true,\n" + + "\t\t\"Temp/\":true\n" + + "\t}\n" + + "}"; + + // Dont like the replace but it fixes the issue with the JSON + File.WriteAllText(VSCode.SettingsPath, exclusions); + } + + #endregion + } + + + + /// + /// VSCode Asset AssetPostprocessor + /// This will ensure any time that the project files are generated the VSCode versions will be made + /// + /// Undocumented Event + public class VSCodeAssetPostprocessor : AssetPostprocessor + { + /// + /// On documented, project generation event callback + /// + private static void OnGeneratedCSProjectFiles() + { + // Force execution of VSCode update + VSCode.UpdateSolution(); + } + } +} diff --git a/Assets/Plugins/Editor/VSCode.cs.meta b/Assets/Plugins/Editor/VSCode.cs.meta new file mode 100644 index 0000000..0fe617b --- /dev/null +++ b/Assets/Plugins/Editor/VSCode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5a572ac26e29b8841ad6857e68840039 +timeCreated: 1448752946 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/iOS/CardboardAppController.h.meta b/Assets/Plugins/iOS/CardboardAppController.h.meta index 2f97d18..f00cee0 100644 --- a/Assets/Plugins/iOS/CardboardAppController.h.meta +++ b/Assets/Plugins/iOS/CardboardAppController.h.meta @@ -1,6 +1,21 @@ fileFormatVersion: 2 guid: 88eaf09c69df6474e9d0b7f635b70099 -DefaultImporter: +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true + iOS: + enabled: 1 + settings: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Plugins/iOS/CardboardAppController.mm.meta b/Assets/Plugins/iOS/CardboardAppController.mm.meta index d8aff7a..febc840 100644 --- a/Assets/Plugins/iOS/CardboardAppController.mm.meta +++ b/Assets/Plugins/iOS/CardboardAppController.mm.meta @@ -1,6 +1,21 @@ fileFormatVersion: 2 guid: 1c8519bfc3a1c4d7b9dc239b18c66d6d -DefaultImporter: +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true + iOS: + enabled: 1 + settings: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Plugins/iOS/CardboardSDK.bundle.meta b/Assets/Plugins/iOS/CardboardSDK.bundle.meta index ef76b43..3cdbb77 100644 --- a/Assets/Plugins/iOS/CardboardSDK.bundle.meta +++ b/Assets/Plugins/iOS/CardboardSDK.bundle.meta @@ -10,6 +10,13 @@ PluginImporter: isPreloaded: 0 platformData: Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true + iOS: enabled: 1 settings: {} userData: diff --git a/Assets/Plugins/iOS/libvrunity.a.meta b/Assets/Plugins/iOS/libvrunity.a.meta index fc22fc6..e8cc1cd 100644 --- a/Assets/Plugins/iOS/libvrunity.a.meta +++ b/Assets/Plugins/iOS/libvrunity.a.meta @@ -1,6 +1,21 @@ fileFormatVersion: 2 guid: 53c4be73b12fd471eab7117aa54d6624 -DefaultImporter: +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true + iOS: + enabled: 1 + settings: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Prefabs.meta b/Assets/Prefabs.meta new file mode 100644 index 0000000..c585536 --- /dev/null +++ b/Assets/Prefabs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 59caca7a7c87de341b81c3e6503a541c +folderAsset: yes +timeCreated: 1448833364 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/GamePlayer_Role1.prefab b/Assets/Prefabs/GamePlayer_Role1.prefab new file mode 100644 index 0000000..c757be5 --- /dev/null +++ b/Assets/Prefabs/GamePlayer_Role1.prefab @@ -0,0 +1,4040 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100838 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 477096} + m_Layer: 0 + m_Name: RightLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &101556 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 414442} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &101798 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 475154} + m_Layer: 0 + m_Name: LeftUpLid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &102472 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 413882} + m_Layer: 0 + m_Name: LeftHandIndex1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &102482 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 487326} + m_Layer: 0 + m_Name: RightHandRing1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &108640 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 455520} + m_Layer: 0 + m_Name: LeftHandPinky3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &109256 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 448208} + m_Layer: 0 + m_Name: RightUprLipDn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &109500 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 484032} + m_Layer: 0 + m_Name: RightLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &109610 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 446230} + m_Layer: 0 + m_Name: RightBrow2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &109754 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 452774} + m_Layer: 0 + m_Name: LeftLid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &109968 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 479566} + m_Layer: 0 + m_Name: RightHandIndex2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &110920 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 483366} + m_Layer: 0 + m_Name: Reference + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &111196 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400126} + m_Layer: 0 + m_Name: Jaw + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &111712 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 444920} + m_Layer: 0 + m_Name: RightHandPinky2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &111818 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 431218} + m_Layer: 0 + m_Name: RightHandThumb2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &112952 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 490966} + m_Layer: 0 + m_Name: RightBrow1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &113072 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 436490} + - 20: {fileID: 2097702} + - 92: {fileID: 9231482} + - 114: {fileID: 11487534} + m_Layer: 0 + m_Name: PostRender + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &113126 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 475052} + m_Layer: 0 + m_Name: LeftHandThumb2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &114562 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 465664} + m_Layer: 0 + m_Name: LeftHandMiddle2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &114846 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 447756} + m_Layer: 0 + m_Name: RightHandThumb3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &115334 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 423930} + m_Layer: 0 + m_Name: RightUprLipUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &116110 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 483622} + m_Layer: 0 + m_Name: LeftHandMiddle3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &118992 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 421978} + m_Layer: 0 + m_Name: LeftHandPinky4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &120468 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 443272} + m_Layer: 0 + m_Name: LeftForeArmRoll + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &120618 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 446784} + m_Layer: 0 + m_Name: LeftForeArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &120816 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 498162} + m_Layer: 0 + m_Name: Spine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &120978 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 485904} + m_Layer: 0 + m_Name: LeftCheek + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &121630 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 429746} + m_Layer: 0 + m_Name: RightArmRoll + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &121676 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 495378} + m_Layer: 0 + m_Name: RightForeArmRoll + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &123686 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 459794} + m_Layer: 0 + m_Name: LeftHandIndex2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &125404 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 495182} + m_Layer: 0 + m_Name: LeftHandThumb3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &127708 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 439032} + m_Layer: 0 + m_Name: RightArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &127856 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 496554} + m_Layer: 0 + m_Name: RightHandMiddle2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &131332 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 481958} + m_Layer: 0 + m_Name: LeftLwrLipUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &134586 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 452564} + m_Layer: 0 + m_Name: LeftHandRing4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &135376 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 451422} + m_Layer: 0 + m_Name: LeftHandThumb4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &135658 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 468636} + m_Layer: 0 + m_Name: LeftHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &135710 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 466652} + m_Layer: 0 + m_Name: RightHandIndex3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &136344 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 431618} + m_Layer: 0 + m_Name: Spine2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &138276 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 458636} + m_Layer: 0 + m_Name: RightHandThumb1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &138918 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 455026} + - 114: {fileID: 11415270} + m_Layer: 0 + m_Name: HeadController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &139006 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 459090} + m_Layer: 0 + m_Name: LeftHandMiddle4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &139098 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 461520} + m_Layer: 0 + m_Name: LeftLwrLipDn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &139340 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 479958} + m_Layer: 0 + m_Name: RightToeBase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &139904 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 407836} + m_Layer: 0 + m_Name: LeftHandPinky2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &139916 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 461718} + m_Layer: 0 + m_Name: RightHandRing4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140072 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 497574} + m_Layer: 0 + m_Name: LeftEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140726 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 487404} + m_Layer: 0 + m_Name: RightHandMiddle3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140758 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 414548} + m_Layer: 0 + m_Name: LeftLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140780 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 420538} + - 20: {fileID: 2071584} + - 124: {fileID: 12446010} + - 114: {fileID: 11454846} + m_Layer: 0 + m_Name: Main Camera Left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &141630 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 432940} + m_Layer: 0 + m_Name: LeftHandRing2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &141808 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 427864} + m_Layer: 0 + m_Name: RightHandIndex4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &142434 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 463238} + m_Layer: 0 + m_Name: RightHandIndex1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &142648 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 467280} + m_Layer: 0 + m_Name: RightHandPinky1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &142708 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 440906} + m_Layer: 0 + m_Name: Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &143402 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 427168} + m_Layer: 0 + m_Name: LeftHandRing3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &145638 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 453404} + m_Layer: 0 + m_Name: RightLwrLipDn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &146100 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 402664} + m_Layer: 0 + m_Name: RightBrow3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &146732 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 479532} + m_Layer: 0 + m_Name: RightHandRing3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &147048 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 411400} + m_Layer: 0 + m_Name: LwrLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &147814 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 432460} + m_Layer: 0 + m_Name: RightUpLid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &149230 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 489152} + - 95: {fileID: 9599784} + - 114: {fileID: 11435454} + - 114: {fileID: 11486432} + - 114: {fileID: 11481448} + - 114: {fileID: 11441316} + - 114: {fileID: 11487130} + - 114: {fileID: 11471778} + - 114: {fileID: 11478582} + - 114: {fileID: 11435974} + - 114: {fileID: 11487702} + - 82: {fileID: 8254152} + - 114: {fileID: 11404754} + - 114: {fileID: 11413620} + - 114: {fileID: 11437892} + - 114: {fileID: 11459588} + m_Layer: 0 + m_Name: GamePlayer_Role1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &149454 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 451730} + m_Layer: 0 + m_Name: Spine1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &150220 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 428958} + m_Layer: 0 + m_Name: LeftArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &150670 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 455276} + m_Layer: 0 + m_Name: RightLwrLipUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &152472 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 433522} + - 137: {fileID: 13747272} + m_Layer: 0 + m_Name: CH_MR_Saint_Omair + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &153174 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 488542} + m_Layer: 0 + m_Name: LeftCheekBone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &153416 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 471244} + - 20: {fileID: 2073712} + - 124: {fileID: 12414138} + - 114: {fileID: 11457296} + m_Layer: 0 + m_Name: Main Camera Right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &155338 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 411848} + m_Layer: 0 + m_Name: Nose + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &155888 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 420956} + m_Layer: 0 + m_Name: LeftUpLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &156200 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 482534} + m_Layer: 0 + m_Name: LeftBrow3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &156554 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 457418} + m_Layer: 0 + m_Name: RightCheek + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &157112 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 407880} + m_Layer: 0 + m_Name: HeadWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &158616 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 415336} + m_Layer: 0 + m_Name: LeftBrow1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &159082 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 426518} + m_Layer: 0 + m_Name: RightHandMiddle1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160620 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 438110} + m_Layer: 0 + m_Name: Stereo Render + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160766 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 430936} + - 114: {fileID: 11496070} + m_Layer: 0 + m_Name: MeshRoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &163216 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 476128} + m_Layer: 0 + m_Name: LeftUprlipDn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &164774 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 435772} + m_Layer: 0 + m_Name: LeftHandIndex3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &165276 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 471364} + m_Layer: 0 + m_Name: Brow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &167140 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 432108} + m_Layer: 0 + m_Name: UprLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &168134 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 449184} + m_Layer: 0 + m_Name: Util + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &168900 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 401762} + m_Layer: 0 + m_Name: LeftHandIndex4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &169480 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 439404} + m_Layer: 0 + m_Name: RightShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &169910 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 443580} + - 114: {fileID: 11446104} + m_Layer: 0 + m_Name: CardboardMain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &171902 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 499862} + m_Layer: 0 + m_Name: RightCheekBone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &172204 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 404014} + m_Layer: 0 + m_Name: LeftHandRing1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &172786 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 461334} + m_Layer: 0 + m_Name: LeftToeBase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &175106 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 479214} + m_Layer: 0 + m_Name: RightLid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &175400 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 438884} + m_Layer: 0 + m_Name: LeftFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &175648 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 491224} + m_Layer: 0 + m_Name: Cloth + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &176182 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 460186} + m_Layer: 0 + m_Name: RightUpLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &177204 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 492732} + m_Layer: 0 + m_Name: RightHandRing2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &177594 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 430616} + m_Layer: 0 + m_Name: RightHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &178734 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 424664} + m_Layer: 0 + m_Name: RightHandPinky4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &178768 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 444522} + m_Layer: 0 + m_Name: LeftArmRoll + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &179712 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 462116} + m_Layer: 0 + m_Name: RightForeArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &181634 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 442932} + m_Layer: 0 + m_Name: RightHandThumb4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &182852 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 403414} + m_Layer: 0 + m_Name: LeftHandThumb1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &186186 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 452126} + m_Layer: 0 + m_Name: RightFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &186680 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 463958} + m_Layer: 0 + m_Name: LeftLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &188240 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 450990} + m_Layer: 0 + m_Name: Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &188660 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 468392} + m_Layer: 0 + m_Name: LeftHandPinky1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &191222 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 442568} + m_Layer: 0 + m_Name: LeftUprLipUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &191340 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 471890} + m_Layer: 0 + m_Name: LeftBrow2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &191358 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 460316} + m_Layer: 0 + m_Name: LeftHandMiddle1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &193002 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 419786} + m_Layer: 0 + m_Name: RightEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &193320 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 484706} + m_Layer: 0 + m_Name: RightHandPinky3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &194410 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 468894} + - 20: {fileID: 2021402} + - 114: {fileID: 11493516} + m_Layer: 0 + m_Name: PreRender + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195422 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 412072} + m_Layer: 0 + m_Name: LeftShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195656 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 437082} + m_Layer: 0 + m_Name: RightHandMiddle4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &198670 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 410280} + - 20: {fileID: 2072688} + - 124: {fileID: 12415336} + - 92: {fileID: 9268736} + - 81: {fileID: 8163276} + - 114: {fileID: 11408248} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400126 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 111196} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00996088795, y: .0301488657, z: -2.17686802e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 461520} + - {fileID: 481958} + - {fileID: 411400} + - {fileID: 453404} + - {fileID: 455276} + m_Father: {fileID: 414442} + m_RootOrder: 1 +--- !u!4 &401762 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168900} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0271437336, y: 5.1793448e-11, z: -1.68753898e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 435772} + m_RootOrder: 0 +--- !u!4 &402664 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146100} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0591900684, y: .0903356075, z: -.0504950881} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 16 +--- !u!4 &403414 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 182852} + m_LocalRotation: {x: -.0514524356, y: -.219866052, z: .0367920138, w: .973477244} + m_LocalPosition: {x: .0311512258, y: .021417629, z: .0305206999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 475052} + m_Father: {fileID: 468636} + m_RootOrder: 4 +--- !u!4 &404014 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 172204} + m_LocalRotation: {x: -.0925398842, y: -.00453527039, z: .0673239529, w: .993420005} + m_LocalPosition: {x: .0836419836, y: -.0212030616, z: -.0122214686} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 432940} + m_Father: {fileID: 468636} + m_RootOrder: 3 +--- !u!4 &407836 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 139904} + m_LocalRotation: {x: 0, y: 0, z: .127619579, w: .991823196} + m_LocalPosition: {x: .0305651203, y: 8.74428654e-11, z: -4.88498128e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 455520} + m_Father: {fileID: 468392} + m_RootOrder: 0 +--- !u!4 &407880 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157112} + m_LocalRotation: {x: .499999821, y: -.500000238, z: -.499999911, w: -.500000119} + m_LocalPosition: {x: -0, y: .0299999993, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 414442} + m_Father: {fileID: 450990} + m_RootOrder: 0 +--- !u!4 &410280 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198670} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 420538} + - {fileID: 471244} + m_Father: {fileID: 455026} + m_RootOrder: 0 +--- !u!4 &411400 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 147048} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00816208497, y: .0790965408, z: 2.89217517e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 400126} + m_RootOrder: 2 +--- !u!4 &411848 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155338} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.00565747404, y: .114476994, z: -3.11913495e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 13 +--- !u!4 &412072 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195422} + m_LocalRotation: {x: -.00448391354, y: .511044204, z: -.00900415238, w: .85949558} + m_LocalPosition: {x: -.182733744, y: .00686469488, z: .0454896428} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 428958} + m_Father: {fileID: 431618} + m_RootOrder: 0 +--- !u!4 &413882 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102472} + m_LocalRotation: {x: -.113674529, y: -.0158897489, z: .0632338002, w: .9913764} + m_LocalPosition: {x: .0823662803, y: -.0112508591, z: .0275165271} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 459794} + m_Father: {fileID: 468636} + m_RootOrder: 0 +--- !u!4 &414442 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101556} + m_LocalRotation: {x: .499999762, y: -.5, z: -.5, w: .500000298} + m_LocalPosition: {x: -.00200000009, y: .0810000002, z: -.00100000005} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 471364} + - {fileID: 400126} + - {fileID: 415336} + - {fileID: 471890} + - {fileID: 482534} + - {fileID: 485904} + - {fileID: 488542} + - {fileID: 497574} + - {fileID: 452774} + - {fileID: 463958} + - {fileID: 475154} + - {fileID: 476128} + - {fileID: 442568} + - {fileID: 411848} + - {fileID: 490966} + - {fileID: 446230} + - {fileID: 402664} + - {fileID: 457418} + - {fileID: 499862} + - {fileID: 419786} + - {fileID: 479214} + - {fileID: 477096} + - {fileID: 432460} + - {fileID: 448208} + - {fileID: 423930} + - {fileID: 432108} + m_Father: {fileID: 407880} + m_RootOrder: 0 +--- !u!4 &414548 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140758} + m_LocalRotation: {x: -6.06515869e-08, y: 1.48135532e-05, z: .0144902356, w: .999895036} + m_LocalPosition: {x: .494628936, y: -1.16653838e-13, z: 3.61465163e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 438884} + m_Father: {fileID: 420956} + m_RootOrder: 0 +--- !u!4 &415336 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 158616} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.057599999, y: .107299998, z: .0187999997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 2 +--- !u!4 &419786 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 193002} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: -.0305770766} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 19 +--- !u!4 &420538 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140780} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0299999993, y: -0, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 410280} + m_RootOrder: 0 +--- !u!4 &420956 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155888} + m_LocalRotation: {x: .000833461119, y: -.021019021, z: -.0396128111, w: .998993695} + m_LocalPosition: {x: .0702215806, y: .0710345283, z: .0971093997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 414548} + m_Father: {fileID: 440906} + m_RootOrder: 1 +--- !u!4 &421978 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118992} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0221604109, y: 4.10122422e-11, z: -1.53210777e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 455520} + m_RootOrder: 0 +--- !u!4 &423930 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115334} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0160356034, y: .104095101, z: -.0147310086} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 24 +--- !u!4 &424664 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178734} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0221563261, y: 3.69296828e-07, z: 5.56296911e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 484706} + m_RootOrder: 0 +--- !u!4 &426518 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 159082} + m_LocalRotation: {x: -.0872743204, y: -.00560249155, z: .0762198567, w: .993248403} + m_LocalPosition: {x: -.0853923559, y: .0200135447, z: -.00796600711} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 496554} + m_Father: {fileID: 430616} + m_RootOrder: 1 +--- !u!4 &427168 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 143402} + m_LocalRotation: {x: -.000272931356, y: .00240814942, z: .112615243, w: .993635714} + m_LocalPosition: {x: .0271798037, y: -5.28663691e-08, z: -1.95399251e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 452564} + m_Father: {fileID: 432940} + m_RootOrder: 0 +--- !u!4 &427864 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 141808} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0271438919, y: -1.37017665e-07, z: -1.29140947e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 466652} + m_RootOrder: 0 +--- !u!4 &428958 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 150220} + m_LocalRotation: {x: .421320796, y: .551505148, z: .58355093, w: -.42166236} + m_LocalPosition: {x: -.147668466, y: -4.1577851e-16, z: -1.79412039e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 444522} + - {fileID: 446784} + m_Father: {fileID: 412072} + m_RootOrder: 0 +--- !u!4 &429746 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121630} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.188728049, y: -5.59586397e-06, z: -2.25910185e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 439032} + m_RootOrder: 0 +--- !u!4 &430616 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 177594} + m_LocalRotation: {x: .0939245969, y: -0, z: -0, w: .995579302} + m_LocalPosition: {x: -.257634878, y: -2.14727024e-05, z: 1.18641786e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 463238} + - {fileID: 426518} + - {fileID: 467280} + - {fileID: 487326} + - {fileID: 458636} + m_Father: {fileID: 462116} + m_RootOrder: 1 +--- !u!4 &430936 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160766} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 483366} + m_Father: {fileID: 489152} + m_RootOrder: 2 +--- !u!4 &431218 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 111818} + m_LocalRotation: {x: .00211285567, y: .184666753, z: -.0112439105, w: .982734621} + m_LocalPosition: {x: -.0343776792, y: -1.42877582e-06, z: 1.02108686e-06} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 447756} + m_Father: {fileID: 458636} + m_RootOrder: 0 +--- !u!4 &431618 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 136344} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.100552984, y: -8.21564996e-16, z: -3.76930176e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 412072} + - {fileID: 450990} + - {fileID: 439404} + m_Father: {fileID: 451730} + m_RootOrder: 0 +--- !u!4 &432108 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 167140} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0138999997, y: .109999999, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 25 +--- !u!4 &432460 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 147814} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651801, y: .0809394345, z: -.0305771232} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 22 +--- !u!4 &432940 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 141630} + m_LocalRotation: {x: -.00246444694, y: .0109616453, z: .153728172, w: .988049328} + m_LocalPosition: {x: .0347805582, y: -1.98545926e-08, z: -8.881784e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 427168} + m_Father: {fileID: 404014} + m_RootOrder: 0 +--- !u!4 &433522 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152472} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 489152} + m_RootOrder: 0 +--- !u!4 &435772 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164774} + m_LocalRotation: {x: -7.47327504e-05, y: .00227256259, z: .0770248026, w: .997026622} + m_LocalPosition: {x: .0222387072, y: 2.71051235e-08, z: -5.3290704e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 401762} + m_Father: {fileID: 459794} + m_RootOrder: 0 +--- !u!4 &436490 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 113072} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 438110} + m_RootOrder: 1 +--- !u!4 &437082 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195656} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0259246603, y: 2.84189099e-07, z: 5.00731403e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 487404} + m_RootOrder: 0 +--- !u!4 &438110 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160620} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 468894} + - {fileID: 436490} + m_Father: {fileID: 443580} + m_RootOrder: 1 +--- !u!4 &438884 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175400} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .435410142, y: -3.31297482e-16, z: -2.42551179e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 461334} + m_Father: {fileID: 414548} + m_RootOrder: 0 +--- !u!4 &439032 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127708} + m_LocalRotation: {x: .421320796, y: .551505148, z: .58355093, w: -.42166236} + m_LocalPosition: {x: .147668734, y: 8.88750673e-09, z: -4.62733425e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 429746} + - {fileID: 462116} + m_Father: {fileID: 439404} + m_RootOrder: 0 +--- !u!4 &439404 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 169480} + m_LocalRotation: {x: -.511044204, y: -.00448391354, z: .85949558, w: .00900415238} + m_LocalPosition: {x: -.182736829, y: .0068647759, z: -.0454895981} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 439032} + m_Father: {fileID: 431618} + m_RootOrder: 2 +--- !u!4 &440906 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 142708} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.08493423, y: -.0491500609, z: -3.53089898e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 491224} + - {fileID: 420956} + - {fileID: 460186} + - {fileID: 498162} + m_Father: {fileID: 483366} + m_RootOrder: 0 +--- !u!4 &442568 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191222} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0160356034, y: .104095101, z: .0147310114} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 12 +--- !u!4 &442932 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 181634} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0252893846, y: -2.06338973e-06, z: 1.56527364e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 447756} + m_RootOrder: 0 +--- !u!4 &443272 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120468} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .130475, y: 4.85948677e-11, z: -4.73917545e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 446784} + m_RootOrder: 0 +--- !u!4 &443580 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 169910} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0549999997, y: 1.73199999, z: -.197999999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 455026} + - {fileID: 438110} + m_Father: {fileID: 489152} + m_RootOrder: 1 +--- !u!4 &444522 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178768} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .188723788, y: 4.02661762e-08, z: 8.8229174e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 428958} + m_RootOrder: 0 +--- !u!4 &444920 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 111712} + m_LocalRotation: {x: 0, y: 0, z: .127619579, w: .991823196} + m_LocalPosition: {x: -.0305646285, y: 4.78068607e-08, z: 1.9048402e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 484706} + m_Father: {fileID: 467280} + m_RootOrder: 0 +--- !u!4 &446230 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109610} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0615856871, y: .103986546, z: -.0348134749} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 15 +--- !u!4 &446784 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120618} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .327710956, y: 9.9840386e-11, z: 1.13732606e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 443272} + - {fileID: 468636} + m_Father: {fileID: 428958} + m_RootOrder: 1 +--- !u!4 &447756 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 114846} + m_LocalRotation: {x: 5.046148e-05, y: .0282719582, z: -.0017841435, w: .999598682} + m_LocalPosition: {x: -.0307725631, y: 2.93709923e-06, z: -3.89726097e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 442932} + m_Father: {fileID: 431218} + m_RootOrder: 0 +--- !u!4 &448208 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109256} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0167751256, y: .0936401039, z: -.0227790549} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 23 +--- !u!4 &449184 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168134} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 483366} + m_RootOrder: 1 +--- !u!4 &450990 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188240} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.309222013, y: -.0171652008, z: -1.01061399e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 407880} + m_Father: {fileID: 431618} + m_RootOrder: 1 +--- !u!4 &451422 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 135376} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .025287265, y: 4.60648394e-11, z: 8.88178367e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 495182} + m_RootOrder: 0 +--- !u!4 &451730 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149454} + m_LocalRotation: {x: 0, y: 0, z: .0698939264, w: .997554481} + m_LocalPosition: {x: -.0804908946, y: -5.3290704e-17, z: 2.47975557e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 431618} + m_Father: {fileID: 498162} + m_RootOrder: 0 +--- !u!4 &452126 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 186186} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.435410112, y: 5.30132489e-08, z: 8.22045578e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 479958} + m_Father: {fileID: 484032} + m_RootOrder: 0 +--- !u!4 &452564 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134586} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0252523087, y: 6.06640085e-11, z: -1.11022302e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 427168} + m_RootOrder: 0 +--- !u!4 &452774 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109754} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: .0305770561} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 8 +--- !u!4 &453404 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145638} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00714839995, y: .0636692718, z: -.0225833952} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 400126} + m_RootOrder: 3 +--- !u!4 &455026 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 138918} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 410280} + m_Father: {fileID: 443580} + m_RootOrder: 0 +--- !u!4 &455276 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 150670} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00700751599, y: .0729021206, z: -.014487437} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 400126} + m_RootOrder: 4 +--- !u!4 &455520 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 108640} + m_LocalRotation: {x: .000401834375, y: -.00392274139, z: .101903081, w: .994786561} + m_LocalPosition: {x: .0199357104, y: 8.18996398e-11, z: -1.08801852e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 421978} + m_Father: {fileID: 407836} + m_RootOrder: 0 +--- !u!4 &457418 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156554} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0125232236, y: .080358997, z: -.0433241874} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 17 +--- !u!4 &458636 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 138276} + m_LocalRotation: {x: -.0514524356, y: -.219866052, z: .0367920138, w: .973477244} + m_LocalPosition: {x: -.0311506763, y: -.0214181561, z: -.0305206031} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 431218} + m_Father: {fileID: 430616} + m_RootOrder: 4 +--- !u!4 &459090 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 139006} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0259261075, y: 5.76778798e-11, z: -1.62092553e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 483622} + m_RootOrder: 0 +--- !u!4 &459794 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 123686} + m_LocalRotation: {x: -.00267711561, y: .0114483275, z: .18181093, w: .983263195} + m_LocalPosition: {x: .0390093811, y: -4.56425253e-09, z: -2.6645352e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 435772} + m_Father: {fileID: 413882} + m_RootOrder: 0 +--- !u!4 &460186 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176182} + m_LocalRotation: {x: .021019021, y: .000833461119, z: .998993695, w: .0396128111} + m_LocalPosition: {x: .070224233, y: .0710345581, z: -.0971093997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 484032} + m_Father: {fileID: 440906} + m_RootOrder: 2 +--- !u!4 &460316 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191358} + m_LocalRotation: {x: -.0872743204, y: -.00560249155, z: .0762198567, w: .993248403} + m_LocalPosition: {x: .0853933617, y: -.020012619, z: .00796585344} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 465664} + m_Father: {fileID: 468636} + m_RootOrder: 1 +--- !u!4 &461334 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 172786} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0549334213, y: .136021703, z: .000442352553} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 438884} + m_RootOrder: 0 +--- !u!4 &461520 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 139098} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00714839995, y: .0636692718, z: .0225834008} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 400126} + m_RootOrder: 0 +--- !u!4 &461718 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 139916} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0252473634, y: 6.04304319e-07, z: 1.38754856e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 479532} + m_RootOrder: 0 +--- !u!4 &462116 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179712} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.327714354, y: -3.87124192e-06, z: -1.35457313e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 495378} + - {fileID: 430616} + m_Father: {fileID: 439032} + m_RootOrder: 1 +--- !u!4 &463238 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 142434} + m_LocalRotation: {x: -.113674529, y: -.0158897489, z: .0632338002, w: .9913764} + m_LocalPosition: {x: -.0823670775, y: .0112488028, z: -.0275161974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 479566} + m_Father: {fileID: 430616} + m_RootOrder: 0 +--- !u!4 &463958 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 186680} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0168897416, y: .0924546346, z: .0245227944} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 9 +--- !u!4 &465664 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 114562} + m_LocalRotation: {x: -.00271863816, y: .0103607196, z: .172953114, w: .984871805} + m_LocalPosition: {x: .0419410542, y: -5.55255619e-09, z: -6.21724896e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 483622} + m_Father: {fileID: 460316} + m_RootOrder: 0 +--- !u!4 &466652 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 135710} + m_LocalRotation: {x: -7.47327504e-05, y: .00227256259, z: .0770248026, w: .997026622} + m_LocalPosition: {x: -.022233583, y: 2.13626959e-06, z: 2.72467076e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 427864} + m_Father: {fileID: 479566} + m_RootOrder: 0 +--- !u!4 &467280 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 142648} + m_LocalRotation: {x: -.0704529881, y: .00882424507, z: .0378793851, w: .996756613} + m_LocalPosition: {x: -.0798528641, y: .0187283028, z: .0312162582} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 444920} + m_Father: {fileID: 430616} + m_RootOrder: 2 +--- !u!4 &468392 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188660} + m_LocalRotation: {x: -.0704529881, y: .00882424507, z: .0378793851, w: .996756613} + m_LocalPosition: {x: .0798489079, y: -.0187331177, z: -.031215474} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 407836} + m_Father: {fileID: 468636} + m_RootOrder: 2 +--- !u!4 &468636 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 135658} + m_LocalRotation: {x: .0939245969, y: -0, z: -0, w: .995579302} + m_LocalPosition: {x: .257637382, y: 2.4556959e-05, z: -4.6097405e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 413882} + - {fileID: 460316} + - {fileID: 468392} + - {fileID: 404014} + - {fileID: 403414} + m_Father: {fileID: 446784} + m_RootOrder: 1 +--- !u!4 &468894 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194410} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 438110} + m_RootOrder: 0 +--- !u!4 &471244 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153416} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0299999993, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 410280} + m_RootOrder: 1 +--- !u!4 &471364 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 165276} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0570879839, y: .109206691, z: 7.15307147e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 0 +--- !u!4 &471890 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191340} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0614, y: .103799999, z: .0355000012} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 3 +--- !u!4 &475052 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 113126} + m_LocalRotation: {x: .00211285567, y: .184666753, z: -.0112439105, w: .982734621} + m_LocalPosition: {x: .034375675, y: -7.36636929e-09, z: -3.19744217e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 495182} + m_Father: {fileID: 403414} + m_RootOrder: 0 +--- !u!4 &475154 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101798} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651801, y: .0809393823, z: .0305770058} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 10 +--- !u!4 &476128 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163216} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0167751256, y: .0936401039, z: .0227790549} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 11 +--- !u!4 &477096 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100838} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0168897416, y: .0924546346, z: -.0245227944} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 21 +--- !u!4 &479214 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175106} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: -.0305770766} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 20 +--- !u!4 &479532 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146732} + m_LocalRotation: {x: -.000272931356, y: .00240814942, z: .112615243, w: .993635714} + m_LocalPosition: {x: -.0271833446, y: -6.09150447e-07, z: -5.40290266e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 461718} + m_Father: {fileID: 492732} + m_RootOrder: 0 +--- !u!4 &479566 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109968} + m_LocalRotation: {x: -.00267711561, y: .0114483275, z: .18181093, w: .983263195} + m_LocalPosition: {x: -.0390104167, y: -7.26303085e-07, z: -1.65372196e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 466652} + m_Father: {fileID: 463238} + m_RootOrder: 0 +--- !u!4 &479958 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 139340} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0549334548, y: -.136021733, z: -.000442670193} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 452126} + m_RootOrder: 0 +--- !u!4 &481958 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131332} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00700751599, y: .0729021206, z: .0144874416} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 400126} + m_RootOrder: 1 +--- !u!4 &482534 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156200} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0590225533, y: .0898830369, z: .0504499152} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 4 +--- !u!4 &483366 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 110920} + m_LocalRotation: {x: .5, y: -.5, z: -.5, w: .5} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 440906} + - {fileID: 449184} + m_Father: {fileID: 430936} + m_RootOrder: 0 +--- !u!4 &483622 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116110} + m_LocalRotation: {x: -6.39292339e-05, y: .00306092156, z: .0949304402, w: .995479226} + m_LocalPosition: {x: .0311855301, y: -5.59699878e-08, z: -2.06501484e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 459090} + m_Father: {fileID: 465664} + m_RootOrder: 0 +--- !u!4 &484032 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109500} + m_LocalRotation: {x: 6.27731183e-08, y: 1.48153422e-05, z: .0144902356, w: .999895036} + m_LocalPosition: {x: -.494626373, y: 2.26263637e-07, z: -6.46953779e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 452126} + m_Father: {fileID: 460186} + m_RootOrder: 0 +--- !u!4 &484706 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 193320} + m_LocalRotation: {x: .000401834375, y: -.00392274139, z: .101903081, w: .994786561} + m_LocalPosition: {x: -.0199341793, y: 1.68434076e-06, z: -9.15705343e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 424664} + m_Father: {fileID: 444920} + m_RootOrder: 0 +--- !u!4 &485904 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120978} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0125232236, y: .080358997, z: .0433241874} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 5 +--- !u!4 &487326 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102482} + m_LocalRotation: {x: -.0925398842, y: -.00453527039, z: .0673239529, w: .993420005} + m_LocalPosition: {x: -.0836400986, y: .0212041996, z: .0122212935} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 492732} + m_Father: {fileID: 430616} + m_RootOrder: 3 +--- !u!4 &487404 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140726} + m_LocalRotation: {x: -6.39292339e-05, y: .00306092156, z: .0949304402, w: .995479226} + m_LocalPosition: {x: -.0311838295, y: 5.6587055e-07, z: 3.20835305e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 437082} + m_Father: {fileID: 496554} + m_RootOrder: 0 +--- !u!4 &488542 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153174} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0214312505, y: .0993375927, z: .0318590216} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 6 +--- !u!4 &489152 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_LocalRotation: {x: 0, y: .707106829, z: 0, w: .707106709} + m_LocalPosition: {x: -8.60437775, y: -3.45895815, z: -5.33868408} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 433522} + - {fileID: 443580} + - {fileID: 430936} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &490966 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 112952} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0575590841, y: .107257567, z: -.0182915516} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 14 +--- !u!4 &491224 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175648} + m_LocalRotation: {x: -.5, y: .5, z: .5, w: .5} + m_LocalPosition: {x: .0248704143, y: .0689594522, z: -2.49008758e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 440906} + m_RootOrder: 0 +--- !u!4 &492732 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 177204} + m_LocalRotation: {x: -.00246444694, y: .0109616453, z: .153728172, w: .988049328} + m_LocalPosition: {x: -.0347823761, y: -1.81911105e-06, z: -1.58105475e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 479532} + m_Father: {fileID: 487326} + m_RootOrder: 0 +--- !u!4 &495182 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 125404} + m_LocalRotation: {x: 5.046148e-05, y: .0282719582, z: -.0017841435, w: .999598682} + m_LocalPosition: {x: .0307760146, y: 7.64685666e-08, z: -1.86517462e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 451422} + m_Father: {fileID: 475052} + m_RootOrder: 0 +--- !u!4 &495378 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121676} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.130473956, y: 1.55037628e-06, z: 1.21442056e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 462116} + m_RootOrder: 0 +--- !u!4 &496554 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127856} + m_LocalRotation: {x: -.00271863816, y: .0103607196, z: .172953114, w: .984871805} + m_LocalPosition: {x: -.0419443212, y: -2.8696536e-06, z: -3.15868687e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 487404} + m_Father: {fileID: 426518} + m_RootOrder: 0 +--- !u!4 &497574 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140072} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: .0305770561} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 7 +--- !u!4 &498162 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120816} + m_LocalRotation: {x: 0, y: -0, z: -.0545257628, w: .998512387} + m_LocalPosition: {x: -.0328966007, y: .00924053602, z: -2.49008786e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 451730} + m_Father: {fileID: 440906} + m_RootOrder: 3 +--- !u!4 &499862 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 171902} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0217585694, y: .0993046463, z: -.0318967029} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 414442} + m_RootOrder: 18 +--- !u!20 &2021402 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194410} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -100 + m_CullingMask: + serializedVersion: 2 + m_Bits: 0 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2071584 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140780} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: .5 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2072688 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198670} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2073712 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153416} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: .5 + y: 0 + width: .5 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2097702 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 113072} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 3 + m_BackGroundColor: {r: 1, g: 0, b: 1, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: .5 + m_Depth: 100 + m_CullingMask: + serializedVersion: 2 + m_Bits: 0 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!81 &8163276 +AudioListener: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198670} + m_Enabled: 1 +--- !u!82 &8254152 +AudioSource: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 +--- !u!92 &9231482 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 113072} + m_Enabled: 1 +--- !u!92 &9268736 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198670} + m_Enabled: 1 +--- !u!95 &9599784 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: 5e139e3891d38c5438edd120d63fa57a, type: 3} + m_Controller: {fileID: 9100000, guid: c50c47c47d160ef4d9e09a9bc0d612cf, type: 2} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!114 &11404754 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6e00d42098a712e4bb865682007cfe50, type: 3} + m_Name: + m_EditorClassIdentifier: + IsThreeDimensional: 0 + Equalize: 0 + EqualizeSpeed: 1 + TargetEqualizeVolume: .75 + MaxEqualization: 5 +--- !u!114 &11408248 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198670} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b6788e8e1b3f7447db6657ef0959d3ce, type: 3} + m_Name: + m_EditorClassIdentifier: + directRender: 1 + keepStereoUpdated: 0 + stereoMultiplier: 1 + matchMonoFOV: 0 + matchByZoom: 0 + centerOfInterest: {fileID: 0} + radiusOfInterest: 0 + checkStereoComfort: 1 + stereoAdjustSmoothing: .100000001 + screenParallax: 0 + stereoPaddingX: 0 + stereoPaddingY: 0 +--- !u!114 &11413620 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df01baf1d8bb77b42992d2ac0e574866, type: 3} + m_Name: + m_EditorClassIdentifier: + VoipListeners: + - {fileID: 149230} + DebugListeners: [] +--- !u!114 &11415270 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 138918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1efaf164be351314abc0047a237032a0, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 407880} + targetRoot: {fileID: 489152} + updateEarly: 0 + xRotateUp: 45 + xRotateDown: 40 +--- !u!114 &11435454 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 372142912, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SceneId: + m_Value: 0 + m_AssetId: + i0: 17 + i1: 17 + i2: 77 + i3: 215 + i4: 43 + i5: 102 + i6: 132 + i7: 180 + i8: 57 + i9: 166 + i10: 253 + i11: 4 + i12: 110 + i13: 94 + i14: 173 + i15: 58 + m_ServerOnly: 0 + m_LocalPlayerAuthority: 1 +--- !u!114 &11435974 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ba5e7a4812412904abea60a6b5b9b345, type: 3} + m_Name: + m_EditorClassIdentifier: + DebugAudio: 0 + Mute: 0 +--- !u!114 &11437892 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f50ba37c4b95a194c907715146d79753, type: 3} + m_Name: + m_EditorClassIdentifier: + mouthMovement: {fileID: 11441316} + voiceTranceiver: {fileID: 11487702} + talkingTimeout: .5 +--- !u!114 &11441316 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 82494526d72b080449b2ce37c18d1c3e, type: 3} + m_Name: + m_EditorClassIdentifier: + talking: 0 + jaw: {fileID: 400126} + upperLip: {fileID: 432108} + jawRestPosition: 0 + jawFullOpenPosition: -11 + upperLipRestPosition: .0149576403 + upperLipOpenPosition: .0115 +--- !u!114 &11446104 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 169910} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a40b544b8c3553c40852ae7ad35a9343, type: 3} + m_Name: + m_EditorClassIdentifier: + vrModeEnabled: 1 + distortionCorrection: 2 + enableAlignmentMarker: 1 + enableSettingsButton: 1 + backButtonMode: 1 + tapIsTrigger: 1 + neckModelScale: 1 + autoDriftCorrection: 1 + electronicDisplayStabilization: 0 + autoUntiltHead: 1 + UseUnityRemoteInput: 0 + screenSize: 0 + deviceType: 0 + stereoScreenScale: 1 +--- !u!114 &11454846 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140780} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c9cfdc6c389e2742aa40f991195d828, type: 3} + m_Name: + m_EditorClassIdentifier: + eye: 0 + toggleCullingMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &11457296 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153416} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c9cfdc6c389e2742aa40f991195d828, type: 3} + m_Name: + m_EditorClassIdentifier: + eye: 1 + toggleCullingMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &11459588 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -1768714887, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransformSyncMode: 1 + m_SendInterval: .100000001 + m_SyncRotationAxis: 7 + m_RotationSyncCompression: 0 + m_SyncSpin: 0 + m_MovementTheshold: .00100000005 + m_SnapThreshold: 5 + m_InterpolateRotation: 1 + m_InterpolateMovement: 1 +--- !u!114 &11471778 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 37e648258903e5c4c82783517e051764, type: 3} + m_Name: + m_EditorClassIdentifier: + leftBrow: {fileID: 471890} + rightBrow: {fileID: 446230} + xUpperBound: -.0697000027 + xLowerBound: -.0614 + maxRandomEyeInterval: 5 +--- !u!114 &11478582 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca697a6f27a261442a2c082beee1b411, type: 3} + m_Name: + m_EditorClassIdentifier: + ChunkSize: 6400 + Mode: 0 + PushToTalk: 0 + AmplitudeThreshold: .25 +--- !u!114 &11481448 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1267208747, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Target: {fileID: 407880} + m_ChildIndex: 0 + m_SendInterval: .100000001 + m_SyncRotationAxis: 7 + m_RotationSyncCompression: 0 + m_MovementThreshold: .00100000005 + m_InterpolateRotation: .5 + m_InterpolateMovement: .5 +--- !u!114 &11486432 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5137a2f51fcebbd4bb76494d102fa8a3, type: 3} + m_Name: + m_EditorClassIdentifier: + ShowLobbyGUI: 1 + audioListener: {fileID: 8163276} + cardboard: {fileID: 169910} + meshRenderer: {fileID: 13747272} +--- !u!114 &11487130 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e65a7dca8d2d7547aa6097b95cd5835, type: 3} + m_Name: + m_EditorClassIdentifier: + leftEye: {fileID: 475154} + rightEye: {fileID: 432460} + zUpperBound: 0 + zLowerBound: -14 + xUpperBound: 14 + xLowerBound: -14 + maxRandomEyeInterval: 2 +--- !u!114 &11487534 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 113072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3995cc6db284649a793472ad14b220f6, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11487702 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e904559f96a703943a92e743db837fb8, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11493516 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194410} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20fb7fbcfb2e642bba6211eb9ea19962, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11496070 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160766} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 10e36fc3c514d0441ad10822ab9ac743, type: 3} + m_Name: + m_EditorClassIdentifier: + head: {fileID: 414442} + hips: {fileID: 440906} + maxAngle: 45 +--- !u!124 &12414138 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153416} + m_Enabled: 1 +--- !u!124 &12415336 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198670} + m_Enabled: 1 +--- !u!124 &12446010 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140780} + m_Enabled: 1 +--- !u!137 &13747272 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152472} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: b199a85b9ed58ff4c8105164ed28878f, type: 2} + - {fileID: 2100000, guid: 868f97b51136304489240940b3431c97, type: 2} + - {fileID: 2100000, guid: 41284ba0fecd37e4586034114a66deb3, type: 2} + - {fileID: 2100000, guid: e68e39a780dad574bb872a694955e3ab, type: 2} + - {fileID: 2100000, guid: d18f2f61f1c7b1746a48c9f1e9acbc07, type: 2} + - {fileID: 2100000, guid: b14d89b656943c34dbf57418628a3534, type: 2} + - {fileID: 2100000, guid: e8d063d716e310142b8cca064ae75110, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_Mesh: {fileID: 4300000, guid: 5e139e3891d38c5438edd120d63fa57a, type: 3} + m_Bones: + - {fileID: 483366} + - {fileID: 449184} + - {fileID: 440906} + - {fileID: 420956} + - {fileID: 414548} + - {fileID: 438884} + - {fileID: 461334} + - {fileID: 498162} + - {fileID: 451730} + - {fileID: 431618} + - {fileID: 450990} + - {fileID: 414442} + - {fileID: 400126} + - {fileID: 461520} + - {fileID: 481958} + - {fileID: 411400} + - {fileID: 455276} + - {fileID: 453404} + - {fileID: 463958} + - {fileID: 476128} + - {fileID: 442568} + - {fileID: 432108} + - {fileID: 423930} + - {fileID: 448208} + - {fileID: 477096} + - {fileID: 485904} + - {fileID: 457418} + - {fileID: 411848} + - {fileID: 499862} + - {fileID: 488542} + - {fileID: 432460} + - {fileID: 402664} + - {fileID: 446230} + - {fileID: 490966} + - {fileID: 471364} + - {fileID: 415336} + - {fileID: 471890} + - {fileID: 482534} + - {fileID: 419786} + - {fileID: 479214} + - {fileID: 475154} + - {fileID: 497574} + - {fileID: 452774} + - {fileID: 412072} + - {fileID: 428958} + - {fileID: 446784} + - {fileID: 468636} + - {fileID: 468392} + - {fileID: 407836} + - {fileID: 455520} + - {fileID: 421978} + - {fileID: 403414} + - {fileID: 475052} + - {fileID: 495182} + - {fileID: 451422} + - {fileID: 413882} + - {fileID: 459794} + - {fileID: 435772} + - {fileID: 401762} + - {fileID: 460316} + - {fileID: 465664} + - {fileID: 483622} + - {fileID: 459090} + - {fileID: 404014} + - {fileID: 432940} + - {fileID: 427168} + - {fileID: 452564} + - {fileID: 443272} + - {fileID: 444522} + - {fileID: 439404} + - {fileID: 439032} + - {fileID: 462116} + - {fileID: 430616} + - {fileID: 467280} + - {fileID: 444920} + - {fileID: 484706} + - {fileID: 424664} + - {fileID: 458636} + - {fileID: 431218} + - {fileID: 447756} + - {fileID: 442932} + - {fileID: 463238} + - {fileID: 479566} + - {fileID: 466652} + - {fileID: 427864} + - {fileID: 426518} + - {fileID: 496554} + - {fileID: 487404} + - {fileID: 437082} + - {fileID: 487326} + - {fileID: 492732} + - {fileID: 479532} + - {fileID: 461718} + - {fileID: 495378} + - {fileID: 429746} + - {fileID: 460186} + - {fileID: 484032} + - {fileID: 452126} + - {fileID: 479958} + - {fileID: 491224} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 483366} + m_AABB: + m_Center: {x: -.918489397, y: .00277423114, z: 0} + m_Extent: {x: .946511328, y: .186988622, z: .711749256} + m_DirtyAABB: 0 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: VoipListeners.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: talking + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: meshRenderer + value: + objectReference: {fileID: 13747272} + - target: {fileID: 0} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: AmplitudeThreshold + value: .25 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: IsThreeDimensional + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LocalPlayerAuthority + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SendInterval + value: .5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: mouthMovement + value: + objectReference: {fileID: 11441316} + - target: {fileID: 0} + propertyPath: voiceTranceiver + value: + objectReference: {fileID: 11487702} + - target: {fileID: 0} + propertyPath: ChunkSize + value: 6400 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: Mode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: PushToTalk + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Materials.Array.data[5] + value: + objectReference: {fileID: 2100000, guid: b14d89b656943c34dbf57418628a3534, type: 2} + - target: {fileID: 0} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: b199a85b9ed58ff4c8105164ed28878f, type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 149230} + m_IsPrefabParent: 1 diff --git a/Assets/Misc/Box.prefab.meta b/Assets/Prefabs/GamePlayer_Role1.prefab.meta similarity index 65% rename from Assets/Misc/Box.prefab.meta rename to Assets/Prefabs/GamePlayer_Role1.prefab.meta index 221e422..28aab55 100644 --- a/Assets/Misc/Box.prefab.meta +++ b/Assets/Prefabs/GamePlayer_Role1.prefab.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: fbedbab053afc6546a30521b6bdaa2f3 -timeCreated: 1445552547 +guid: 11114dd72b6684b439a6fd046e5ead3a +timeCreated: 1449395794 licenseType: Free NativeFormatImporter: userData: diff --git a/Assets/Prefabs/GamePlayer_Role2.prefab b/Assets/Prefabs/GamePlayer_Role2.prefab new file mode 100644 index 0000000..e48c78d --- /dev/null +++ b/Assets/Prefabs/GamePlayer_Role2.prefab @@ -0,0 +1,3837 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100766 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 489208} + m_Layer: 0 + m_Name: LeftForeArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &101084 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 495514} + m_Layer: 0 + m_Name: RightHandRing3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &101138 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 483280} + m_Layer: 0 + m_Name: RightBrow1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &101178 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 425468} + m_Layer: 0 + m_Name: LeftHandPinky2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &101718 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 483216} + m_Layer: 0 + m_Name: LeftHandMiddle3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &101958 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 429580} + m_Layer: 0 + m_Name: LeftHandThumb3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &102258 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 411762} + m_Layer: 0 + m_Name: RightHandMiddle2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &104004 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 424056} + m_Layer: 0 + m_Name: RightEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &104950 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 447960} + m_Layer: 0 + m_Name: LeftToeBase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106102 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 481882} + m_Layer: 0 + m_Name: RightHandMiddle3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106300 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 410948} + m_Layer: 0 + m_Name: RightHandIndex1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106304 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 418336} + m_Layer: 0 + m_Name: LeftHandPinky1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106370 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 486828} + m_Layer: 0 + m_Name: RightFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &108544 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 466614} + m_Layer: 0 + m_Name: RightCrease + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &110916 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 423816} + - 137: {fileID: 13750052} + m_Layer: 0 + m_Name: Model_ADVenture + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &111168 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 428066} + m_Layer: 0 + m_Name: RightShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &111330 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 482676} + m_Layer: 0 + m_Name: LeftHandRing4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &111662 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 414126} + m_Layer: 0 + m_Name: LeftHandThumb4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &112412 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 433610} + m_Layer: 0 + m_Name: LeftBrow1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &112612 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 447168} + m_Layer: 0 + m_Name: RightHandRing1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &112840 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 414586} + m_Layer: 0 + m_Name: LeftLwrLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &112844 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 468326} + m_Layer: 0 + m_Name: LeftEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &114060 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 413426} + - 20: {fileID: 2091264} + - 92: {fileID: 9226506} + - 114: {fileID: 11457850} + m_Layer: 0 + m_Name: PostRender + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &114918 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 469938} + - 114: {fileID: 11411654} + m_Layer: 0 + m_Name: Mesh root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &115004 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 409338} + m_Layer: 0 + m_Name: RightHandPinky3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &115034 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 401000} + m_Layer: 0 + m_Name: UprLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &115728 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 431854} + - 114: {fileID: 11482260} + m_Layer: 0 + m_Name: CardboardMain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &116372 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 413316} + m_Layer: 0 + m_Name: RightEyeLid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &120876 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 450716} + m_Layer: 0 + m_Name: LeftHandMiddle2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &122448 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 412706} + m_Layer: 0 + m_Name: RightUpLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &123104 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 497864} + - 20: {fileID: 2046618} + - 114: {fileID: 11434756} + m_Layer: 0 + m_Name: PreRender + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &123308 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 488526} + m_Layer: 0 + m_Name: RightLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &124454 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 447920} + m_Layer: 0 + m_Name: RightCheek + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &124498 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 456974} + m_Layer: 0 + m_Name: LwrLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &126590 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 458516} + m_Layer: 0 + m_Name: RightHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &127836 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 483208} + m_Layer: 0 + m_Name: LeftLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &128846 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 481370} + m_Layer: 0 + m_Name: RightHandMiddle4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &129026 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 417434} + m_Layer: 0 + m_Name: LeftHandIndex2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &129418 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 440572} + - 20: {fileID: 2008918} + - 124: {fileID: 12494420} + - 92: {fileID: 9280054} + - 81: {fileID: 8126114} + - 114: {fileID: 11409236} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &131370 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 480654} + m_Layer: 0 + m_Name: RightForeArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &133056 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 439290} + - 95: {fileID: 9501564} + - 114: {fileID: 11427152} + - 114: {fileID: 11490052} + - 114: {fileID: 11442524} + - 114: {fileID: 11426376} + - 114: {fileID: 11413222} + - 114: {fileID: 11456138} + - 114: {fileID: 11499084} + - 114: {fileID: 11436366} + - 114: {fileID: 11498328} + - 82: {fileID: 8202020} + - 114: {fileID: 11456178} + - 114: {fileID: 11402702} + - 114: {fileID: 11426614} + - 114: {fileID: 11445604} + - 114: {fileID: 11456136} + m_Layer: 0 + m_Name: GamePlayer_Role2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &133388 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 460592} + m_Layer: 0 + m_Name: LeftHandRing2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &133960 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 422842} + m_Layer: 0 + m_Name: RightHandPinky2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &134506 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 439866} + m_Layer: 0 + m_Name: LeftHandThumb2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &136906 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 462932} + m_Layer: 0 + m_Name: LeftArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &138752 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 489544} + m_Layer: 0 + m_Name: LeftHandIndex1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140254 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 431226} + m_Layer: 0 + m_Name: Brow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &141458 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 407934} + m_Layer: 0 + m_Name: LeftCheekBone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &141576 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 438498} + m_Layer: 0 + m_Name: RightHandIndex2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &143752 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 414392} + m_Layer: 0 + m_Name: RightHandIndex4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &145810 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 480492} + m_Layer: 0 + m_Name: Chin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &146862 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 443150} + m_Layer: 0 + m_Name: RightHandThumb2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &148522 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 440788} + m_Layer: 0 + m_Name: LeftHandMiddle1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &151584 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 401390} + m_Layer: 0 + m_Name: LeftCheek + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &152756 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 440152} + m_Layer: 0 + m_Name: LeftEyeLid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &152850 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 476164} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &153086 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 462380} + m_Layer: 0 + m_Name: RightUprLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &154700 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 467348} + m_Layer: 0 + m_Name: LeftHandRing1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &154822 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 435832} + m_Layer: 0 + m_Name: RightHandThumb1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &156432 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 490202} + m_Layer: 0 + m_Name: LeftHandRing3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &157572 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 497932} + m_Layer: 0 + m_Name: RightHandMiddle1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &157646 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 489742} + m_Layer: 0 + m_Name: LeftHandMiddle4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160104 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 409248} + m_Layer: 0 + m_Name: LeftCrease + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160272 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 470120} + m_Layer: 0 + m_Name: LeftUprLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &161020 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 497548} + m_Layer: 0 + m_Name: LeftBrow2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &161578 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 432856} + m_Layer: 0 + m_Name: RightToeBase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &161748 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 490448} + m_Layer: 0 + m_Name: RightLwrLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &163460 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 493128} + m_Layer: 0 + m_Name: RightCheekBone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &163866 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 467958} + m_Layer: 0 + m_Name: RightBrow2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &166512 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 449248} + m_Layer: 0 + m_Name: RightHandThumb3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &167720 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 405934} + m_Layer: 0 + m_Name: LeftFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &168904 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 497842} + m_Layer: 0 + m_Name: LeftHandIndex4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &169400 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 428470} + m_Layer: 0 + m_Name: Reference + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &172146 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 444680} + m_Layer: 0 + m_Name: LeftHandPinky4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &172902 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 482362} + m_Layer: 0 + m_Name: RightHandThumb4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173324 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 446660} + m_Layer: 0 + m_Name: Spine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173724 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 401534} + - 20: {fileID: 2037282} + - 124: {fileID: 12477620} + - 114: {fileID: 11463194} + m_Layer: 0 + m_Name: Main Camera Right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &174014 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 460114} + m_Layer: 0 + m_Name: RightHandPinky1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &174210 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 469708} + m_Layer: 0 + m_Name: Spine2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &174542 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 483296} + m_Layer: 0 + m_Name: RightHandRing4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &175898 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 444738} + m_Layer: 0 + m_Name: RightHandPinky4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &176574 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 463360} + - 20: {fileID: 2086726} + - 124: {fileID: 12475410} + - 114: {fileID: 11412092} + m_Layer: 0 + m_Name: Main Camera Left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &178080 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 442374} + m_Layer: 0 + m_Name: LeftUpLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &180072 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 491304} + m_Layer: 0 + m_Name: Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &180186 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 410682} + m_Layer: 0 + m_Name: Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &181058 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 438424} + m_Layer: 0 + m_Name: Nose_Left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &182958 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 440484} + m_Layer: 0 + m_Name: RightArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &183228 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 444416} + m_Layer: 0 + m_Name: LeftHandPinky3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185702 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 448076} + m_Layer: 0 + m_Name: Nose_Right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &186500 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 413058} + m_Layer: 0 + m_Name: Jaw + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &186854 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 469778} + m_Layer: 0 + m_Name: RightEyeLidUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &189978 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 440168} + m_Layer: 0 + m_Name: HeadWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &190218 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 417028} + m_Layer: 0 + m_Name: LeftHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &190250 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 450696} + m_Layer: 0 + m_Name: LeftLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &190320 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 460700} + m_Layer: 0 + m_Name: RightHandRing2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &191818 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 493524} + m_Layer: 0 + m_Name: RightLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &191842 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 441042} + m_Layer: 0 + m_Name: Spine1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &193224 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 413884} + m_Layer: 0 + m_Name: RightHandIndex3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &194214 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 421196} + m_Layer: 0 + m_Name: Util + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &194936 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 417940} + - 114: {fileID: 11409226} + m_Layer: 0 + m_Name: HeadController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195464 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 421606} + m_Layer: 0 + m_Name: LeftShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195770 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 430470} + m_Layer: 0 + m_Name: Stereo Render + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &196974 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 429684} + m_Layer: 0 + m_Name: LeftHandThumb1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &197650 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 496636} + m_Layer: 0 + m_Name: LeftHandIndex3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &199926 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 488516} + m_Layer: 0 + m_Name: LeftEyeLidUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &401000 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115034} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0137770372, y: .112018287, z: 7.15307147e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 24 +--- !u!4 &401390 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 151584} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0125232236, y: .080358997, z: .0433241874} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 4 +--- !u!4 &401534 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173724} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0299999993, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 440572} + m_RootOrder: 1 +--- !u!4 &405934 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 167720} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .435410142, y: -3.31297482e-16, z: -2.42551179e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 447960} + m_Father: {fileID: 483208} + m_RootOrder: 0 +--- !u!4 &407934 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 141458} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0214312505, y: .0993375927, z: .0318590216} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 5 +--- !u!4 &409248 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160104} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00219660299, y: .0993046463, z: .0217405725} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 6 +--- !u!4 &409338 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115004} + m_LocalRotation: {x: .000401834375, y: -.00392274139, z: .101903081, w: .994786561} + m_LocalPosition: {x: -.0199341793, y: 1.68434076e-06, z: -9.15705343e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 444738} + m_Father: {fileID: 422842} + m_RootOrder: 0 +--- !u!4 &410682 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 180186} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.08493423, y: -.0491500609, z: -3.53089898e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 442374} + - {fileID: 412706} + - {fileID: 446660} + m_Father: {fileID: 428470} + m_RootOrder: 0 +--- !u!4 &410948 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106300} + m_LocalRotation: {x: -.113674529, y: -.0158897489, z: .0632338002, w: .9913764} + m_LocalPosition: {x: -.0823670775, y: .0112488028, z: -.0275161974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 438498} + m_Father: {fileID: 458516} + m_RootOrder: 0 +--- !u!4 &411762 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102258} + m_LocalRotation: {x: -.00271863816, y: .0103607196, z: .172953114, w: .984871805} + m_LocalPosition: {x: -.0419443212, y: -2.8696536e-06, z: -3.15868687e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 481882} + m_Father: {fileID: 497932} + m_RootOrder: 0 +--- !u!4 &412706 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 122448} + m_LocalRotation: {x: .021019021, y: .000833461119, z: .998993695, w: .0396128111} + m_LocalPosition: {x: .070224233, y: .0710345581, z: -.0971093997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 493524} + m_Father: {fileID: 410682} + m_RootOrder: 1 +--- !u!4 &413058 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 186500} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00996088795, y: .0301488657, z: -2.17686802e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 480492} + - {fileID: 414586} + - {fileID: 456974} + - {fileID: 490448} + m_Father: {fileID: 476164} + m_RootOrder: 1 +--- !u!4 &413316 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116372} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.051265195, y: .0809394196, z: -.0305770766} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 20 +--- !u!4 &413426 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 114060} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430470} + m_RootOrder: 1 +--- !u!4 &413884 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 193224} + m_LocalRotation: {x: -7.47327504e-05, y: .00227256259, z: .0770248026, w: .997026622} + m_LocalPosition: {x: -.022233583, y: 2.13626959e-06, z: 2.72467076e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 414392} + m_Father: {fileID: 438498} + m_RootOrder: 0 +--- !u!4 &414126 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 111662} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .025287265, y: 4.60648394e-11, z: 8.88178367e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 429580} + m_RootOrder: 0 +--- !u!4 &414392 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 143752} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0271438919, y: -1.37017665e-07, z: -1.29140947e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 413884} + m_RootOrder: 0 +--- !u!4 &414586 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 112840} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00700751599, y: .0729021206, z: .0144874416} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 413058} + m_RootOrder: 1 +--- !u!4 &417028 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 190218} + m_LocalRotation: {x: .0939245969, y: -0, z: -0, w: .995579302} + m_LocalPosition: {x: .257637382, y: 2.4556959e-05, z: -4.6097405e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 489544} + - {fileID: 440788} + - {fileID: 418336} + - {fileID: 467348} + - {fileID: 429684} + m_Father: {fileID: 489208} + m_RootOrder: 0 +--- !u!4 &417434 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129026} + m_LocalRotation: {x: -.00267711561, y: .0114483275, z: .18181093, w: .983263195} + m_LocalPosition: {x: .0390093811, y: -4.56425253e-09, z: -2.6645352e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 496636} + m_Father: {fileID: 489544} + m_RootOrder: 0 +--- !u!4 &417940 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194936} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 440572} + m_Father: {fileID: 431854} + m_RootOrder: 0 +--- !u!4 &418336 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106304} + m_LocalRotation: {x: -.0704529881, y: .00882424507, z: .0378793851, w: .996756613} + m_LocalPosition: {x: .0798489079, y: -.0187331177, z: -.031215474} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 425468} + m_Father: {fileID: 417028} + m_RootOrder: 2 +--- !u!4 &421196 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 428470} + m_RootOrder: 1 +--- !u!4 &421606 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195464} + m_LocalRotation: {x: -.00448391354, y: .511044204, z: -.00900415238, w: .85949558} + m_LocalPosition: {x: -.182733744, y: .00686469488, z: .0454896428} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 462932} + m_Father: {fileID: 469708} + m_RootOrder: 0 +--- !u!4 &422842 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133960} + m_LocalRotation: {x: 0, y: 0, z: .127619579, w: .991823196} + m_LocalPosition: {x: -.0305646285, y: 4.78068607e-08, z: 1.9048402e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 409338} + m_Father: {fileID: 460114} + m_RootOrder: 0 +--- !u!4 &423816 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 110916} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 439290} + m_RootOrder: 0 +--- !u!4 &424056 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104004} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: -.0305770766} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 19 +--- !u!4 &425468 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101178} + m_LocalRotation: {x: 0, y: 0, z: .127619579, w: .991823196} + m_LocalPosition: {x: .0305651203, y: 8.74428654e-11, z: -4.88498128e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 444416} + m_Father: {fileID: 418336} + m_RootOrder: 0 +--- !u!4 &428066 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 111168} + m_LocalRotation: {x: -.511044204, y: -.00448391354, z: .85949558, w: .00900415238} + m_LocalPosition: {x: -.182736829, y: .0068647759, z: -.0454895981} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 440484} + m_Father: {fileID: 469708} + m_RootOrder: 2 +--- !u!4 &428470 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 169400} + m_LocalRotation: {x: .5, y: -.5, z: -.5, w: .5} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 410682} + - {fileID: 421196} + m_Father: {fileID: 469938} + m_RootOrder: 0 +--- !u!4 &429580 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101958} + m_LocalRotation: {x: 5.046148e-05, y: .0282719582, z: -.0017841435, w: .999598682} + m_LocalPosition: {x: .0307760146, y: 7.64685666e-08, z: -1.86517462e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 414126} + m_Father: {fileID: 439866} + m_RootOrder: 0 +--- !u!4 &429684 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196974} + m_LocalRotation: {x: -.0514524356, y: -.219866052, z: .0367920138, w: .973477244} + m_LocalPosition: {x: .0311512258, y: .021417629, z: .0305206999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 439866} + m_Father: {fileID: 417028} + m_RootOrder: 4 +--- !u!4 &430470 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195770} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 497864} + - {fileID: 413426} + m_Father: {fileID: 431854} + m_RootOrder: 1 +--- !u!4 &431226 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140254} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0617061853, y: .109206691, z: 7.15307147e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 0 +--- !u!4 &431854 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115728} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0329999998, y: 1.66299999, z: .159999996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 417940} + - {fileID: 430470} + m_Father: {fileID: 439290} + m_RootOrder: 1 +--- !u!4 &432856 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161578} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0549334548, y: -.136021733, z: -.000442670193} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 486828} + m_RootOrder: 0 +--- !u!4 &433610 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 112412} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0605674684, y: .107258707, z: .01607172} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 2 +--- !u!4 &435832 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 154822} + m_LocalRotation: {x: -.0514524356, y: -.219866052, z: .0367920138, w: .973477244} + m_LocalPosition: {x: -.0311506763, y: -.0214181561, z: -.0305206031} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 443150} + m_Father: {fileID: 458516} + m_RootOrder: 4 +--- !u!4 &438424 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 181058} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.00565747404, y: .114476994, z: .00413999986} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 12 +--- !u!4 &438498 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 141576} + m_LocalRotation: {x: -.00267711561, y: .0114483275, z: .18181093, w: .983263195} + m_LocalPosition: {x: -.0390104167, y: -7.26303085e-07, z: -1.65372196e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 413884} + m_Father: {fileID: 410948} + m_RootOrder: 0 +--- !u!4 &439290 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_LocalRotation: {x: 0, y: .707106829, z: 0, w: .707106709} + m_LocalPosition: {x: 9.42394066, y: -1.46363831, z: -.877619326} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 423816} + - {fileID: 431854} + - {fileID: 469938} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &439866 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134506} + m_LocalRotation: {x: .00211285567, y: .184666753, z: -.0112439105, w: .982734621} + m_LocalPosition: {x: .034375675, y: -7.36636929e-09, z: -3.19744217e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 429580} + m_Father: {fileID: 429684} + m_RootOrder: 0 +--- !u!4 &440152 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152756} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512650907, y: .0809394121, z: .0305770468} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 8 +--- !u!4 &440168 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 189978} + m_LocalRotation: {x: -.5, y: .5, z: .500000119, w: .49999994} + m_LocalPosition: {x: 0, y: .050999999, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 476164} + m_Father: {fileID: 491304} + m_RootOrder: 0 +--- !u!4 &440484 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 182958} + m_LocalRotation: {x: .421320796, y: .551505148, z: .58355093, w: -.42166236} + m_LocalPosition: {x: .147668734, y: 8.88750673e-09, z: -4.62733425e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 480654} + m_Father: {fileID: 428066} + m_RootOrder: 0 +--- !u!4 &440572 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129418} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 463360} + - {fileID: 401534} + m_Father: {fileID: 417940} + m_RootOrder: 0 +--- !u!4 &440788 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148522} + m_LocalRotation: {x: -.0872743204, y: -.00560249155, z: .0762198567, w: .993248403} + m_LocalPosition: {x: .0853933617, y: -.020012619, z: .00796585344} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 450716} + m_Father: {fileID: 417028} + m_RootOrder: 1 +--- !u!4 &441042 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191842} + m_LocalRotation: {x: 0, y: 0, z: .0698939264, w: .997554481} + m_LocalPosition: {x: -.0804908946, y: -5.3290704e-17, z: 2.47975557e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 469708} + m_Father: {fileID: 446660} + m_RootOrder: 0 +--- !u!4 &442374 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178080} + m_LocalRotation: {x: .000833461119, y: -.021019021, z: -.0396128111, w: .998993695} + m_LocalPosition: {x: .0702215806, y: .0710345283, z: .0971093997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 483208} + m_Father: {fileID: 410682} + m_RootOrder: 0 +--- !u!4 &443150 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146862} + m_LocalRotation: {x: .00211285567, y: .184666753, z: -.0112439105, w: .982734621} + m_LocalPosition: {x: -.0343776792, y: -1.42877582e-06, z: 1.02108686e-06} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 449248} + m_Father: {fileID: 435832} + m_RootOrder: 0 +--- !u!4 &444416 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183228} + m_LocalRotation: {x: .000401834375, y: -.00392274139, z: .101903081, w: .994786561} + m_LocalPosition: {x: .0199357104, y: 8.18996398e-11, z: -1.08801852e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 444680} + m_Father: {fileID: 425468} + m_RootOrder: 0 +--- !u!4 &444680 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 172146} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0221604109, y: 4.10122422e-11, z: -1.53210777e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 444416} + m_RootOrder: 0 +--- !u!4 &444738 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175898} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0221563261, y: 3.69296828e-07, z: 5.56296911e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 409338} + m_RootOrder: 0 +--- !u!4 &446660 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173324} + m_LocalRotation: {x: 0, y: -0, z: -.0545257628, w: .998512387} + m_LocalPosition: {x: -.0328966007, y: .00924053602, z: -2.49008786e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 441042} + m_Father: {fileID: 410682} + m_RootOrder: 2 +--- !u!4 &447168 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 112612} + m_LocalRotation: {x: -.0925398842, y: -.00453527039, z: .0673239529, w: .993420005} + m_LocalPosition: {x: -.0836400986, y: .0212041996, z: .0122212935} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 460700} + m_Father: {fileID: 458516} + m_RootOrder: 3 +--- !u!4 &447920 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 124454} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0125232236, y: .080358997, z: -.0433241874} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 16 +--- !u!4 &447960 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104950} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0549334213, y: .136021703, z: .000442352553} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 405934} + m_RootOrder: 0 +--- !u!4 &448076 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185702} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.00565747404, y: .114476994, z: -.00413721194} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 13 +--- !u!4 &449248 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 166512} + m_LocalRotation: {x: 5.046148e-05, y: .0282719582, z: -.0017841435, w: .999598682} + m_LocalPosition: {x: -.0307725631, y: 2.93709923e-06, z: -3.89726097e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 482362} + m_Father: {fileID: 443150} + m_RootOrder: 0 +--- !u!4 &450696 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 190250} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0168897416, y: .0943346843, z: .0235443786} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 10 +--- !u!4 &450716 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120876} + m_LocalRotation: {x: -.00271863816, y: .0103607196, z: .172953114, w: .984871805} + m_LocalPosition: {x: .0419410542, y: -5.55255619e-09, z: -6.21724896e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 483216} + m_Father: {fileID: 440788} + m_RootOrder: 0 +--- !u!4 &456974 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 124498} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00900024455, y: .0790965408, z: 2.89217517e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 413058} + m_RootOrder: 2 +--- !u!4 &458516 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 126590} + m_LocalRotation: {x: .0939245969, y: -0, z: -0, w: .995579302} + m_LocalPosition: {x: -.257634878, y: -2.14727024e-05, z: 1.18641786e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 410948} + - {fileID: 497932} + - {fileID: 460114} + - {fileID: 447168} + - {fileID: 435832} + m_Father: {fileID: 480654} + m_RootOrder: 0 +--- !u!4 &460114 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174014} + m_LocalRotation: {x: -.0704529881, y: .00882424507, z: .0378793851, w: .996756613} + m_LocalPosition: {x: -.0798528641, y: .0187283028, z: .0312162582} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 422842} + m_Father: {fileID: 458516} + m_RootOrder: 2 +--- !u!4 &460592 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133388} + m_LocalRotation: {x: -.00246444694, y: .0109616453, z: .153728172, w: .988049328} + m_LocalPosition: {x: .0347805582, y: -1.98545926e-08, z: -8.881784e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 490202} + m_Father: {fileID: 467348} + m_RootOrder: 0 +--- !u!4 &460700 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 190320} + m_LocalRotation: {x: -.00246444694, y: .0109616453, z: .153728172, w: .988049328} + m_LocalPosition: {x: -.0347823761, y: -1.81911105e-06, z: -1.58105475e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 495514} + m_Father: {fileID: 447168} + m_RootOrder: 0 +--- !u!4 &462380 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153086} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0160356034, y: .104095101, z: -.0147310086} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 23 +--- !u!4 &462932 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 136906} + m_LocalRotation: {x: .421320796, y: .551505148, z: .58355093, w: -.42166236} + m_LocalPosition: {x: -.147668466, y: -4.1577851e-16, z: -1.79412039e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 489208} + m_Father: {fileID: 421606} + m_RootOrder: 0 +--- !u!4 &463360 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176574} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0299999993, y: -0, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 440572} + m_RootOrder: 0 +--- !u!4 &466614 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 108544} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00219999999, y: .0993046463, z: -.0217399988} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 18 +--- !u!4 &467348 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 154700} + m_LocalRotation: {x: -.0925398842, y: -.00453527039, z: .0673239529, w: .993420005} + m_LocalPosition: {x: .0836419836, y: -.0212030616, z: -.0122214686} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 460592} + m_Father: {fileID: 417028} + m_RootOrder: 3 +--- !u!4 &467958 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163866} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0651327819, y: .0974216834, z: -.0440805145} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 15 +--- !u!4 &468326 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 112844} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: .0305770561} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 7 +--- !u!4 &469708 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174210} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.100552984, y: -8.21564996e-16, z: -3.76930176e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 421606} + - {fileID: 491304} + - {fileID: 428066} + m_Father: {fileID: 441042} + m_RootOrder: 0 +--- !u!4 &469778 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 186854} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.051265195, y: .0809394196, z: -.0305770766} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 21 +--- !u!4 &469938 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 114918} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 428470} + m_Father: {fileID: 439290} + m_RootOrder: 2 +--- !u!4 &470120 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160272} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0160356034, y: .104095101, z: .0147310114} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 11 +--- !u!4 &476164 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152850} + m_LocalRotation: {x: .500000119, y: -.5, z: -.5, w: .49999994} + m_LocalPosition: {x: -.00300000003, y: .0680000037, z: -.0240000002} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 431226} + - {fileID: 413058} + - {fileID: 433610} + - {fileID: 497548} + - {fileID: 401390} + - {fileID: 407934} + - {fileID: 409248} + - {fileID: 468326} + - {fileID: 440152} + - {fileID: 488516} + - {fileID: 450696} + - {fileID: 470120} + - {fileID: 438424} + - {fileID: 448076} + - {fileID: 483280} + - {fileID: 467958} + - {fileID: 447920} + - {fileID: 493128} + - {fileID: 466614} + - {fileID: 424056} + - {fileID: 413316} + - {fileID: 469778} + - {fileID: 488526} + - {fileID: 462380} + - {fileID: 401000} + m_Father: {fileID: 440168} + m_RootOrder: 0 +--- !u!4 &480492 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145810} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0345501713, y: .0623774789, z: 2.865997e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 413058} + m_RootOrder: 0 +--- !u!4 &480654 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131370} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.327714354, y: -3.87124192e-06, z: -1.35457313e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 458516} + m_Father: {fileID: 440484} + m_RootOrder: 0 +--- !u!4 &481370 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 128846} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0259246603, y: 2.84189099e-07, z: 5.00731403e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 481882} + m_RootOrder: 0 +--- !u!4 &481882 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106102} + m_LocalRotation: {x: -6.39292339e-05, y: .00306092156, z: .0949304402, w: .995479226} + m_LocalPosition: {x: -.0311838295, y: 5.6587055e-07, z: 3.20835305e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 481370} + m_Father: {fileID: 411762} + m_RootOrder: 0 +--- !u!4 &482362 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 172902} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0252893846, y: -2.06338973e-06, z: 1.56527364e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 449248} + m_RootOrder: 0 +--- !u!4 &482676 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 111330} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0252523087, y: 6.06640085e-11, z: -1.11022302e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 490202} + m_RootOrder: 0 +--- !u!4 &483208 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127836} + m_LocalRotation: {x: -6.06515869e-08, y: 1.48135532e-05, z: .0144902356, w: .999895036} + m_LocalPosition: {x: .494628936, y: -1.1665335e-13, z: 3.61465163e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 405934} + m_Father: {fileID: 442374} + m_RootOrder: 0 +--- !u!4 &483216 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101718} + m_LocalRotation: {x: -6.39292339e-05, y: .00306092156, z: .0949304402, w: .995479226} + m_LocalPosition: {x: .0311855301, y: -5.59699878e-08, z: -2.06501484e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 489742} + m_Father: {fileID: 450716} + m_RootOrder: 0 +--- !u!4 &483280 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101138} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0605700016, y: .107257567, z: -.016069999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 14 +--- !u!4 &483296 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174542} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0252473634, y: 6.04304319e-07, z: 1.38754856e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 495514} + m_RootOrder: 0 +--- !u!4 &486828 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106370} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.435410112, y: 5.30132489e-08, z: 8.22045578e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 432856} + m_Father: {fileID: 493524} + m_RootOrder: 0 +--- !u!4 &488516 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199926} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512650907, y: .0809394121, z: .0305770468} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 9 +--- !u!4 &488526 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 123308} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0168897416, y: .0943346843, z: -.0235399995} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 22 +--- !u!4 &489208 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100766} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .327710956, y: 9.9840386e-11, z: 1.13732606e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 417028} + m_Father: {fileID: 462932} + m_RootOrder: 0 +--- !u!4 &489544 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 138752} + m_LocalRotation: {x: -.113674529, y: -.0158897489, z: .0632338002, w: .9913764} + m_LocalPosition: {x: .0823662803, y: -.0112508591, z: .0275165271} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 417434} + m_Father: {fileID: 417028} + m_RootOrder: 0 +--- !u!4 &489742 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157646} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0259261075, y: 5.76778798e-11, z: -1.62092553e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 483216} + m_RootOrder: 0 +--- !u!4 &490202 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156432} + m_LocalRotation: {x: -.000272931356, y: .00240814942, z: .112615243, w: .993635714} + m_LocalPosition: {x: .0271798037, y: -5.28663691e-08, z: -1.95399251e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 482676} + m_Father: {fileID: 460592} + m_RootOrder: 0 +--- !u!4 &490448 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161748} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00700751599, y: .0729021206, z: -.014487437} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 413058} + m_RootOrder: 3 +--- !u!4 &491304 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 180072} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.309222013, y: -.0171652008, z: -1.01061399e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 440168} + m_Father: {fileID: 469708} + m_RootOrder: 1 +--- !u!4 &493128 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163460} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0217585694, y: .0993046463, z: -.0318967029} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 17 +--- !u!4 &493524 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191818} + m_LocalRotation: {x: 6.27731183e-08, y: 1.48153422e-05, z: .0144902356, w: .999895036} + m_LocalPosition: {x: -.494626373, y: 2.26263637e-07, z: -6.46953779e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 486828} + m_Father: {fileID: 412706} + m_RootOrder: 0 +--- !u!4 &495514 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101084} + m_LocalRotation: {x: -.000272931356, y: .00240814942, z: .112615243, w: .993635714} + m_LocalPosition: {x: -.0271833446, y: -6.09150447e-07, z: -5.40290266e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 483296} + m_Father: {fileID: 460700} + m_RootOrder: 0 +--- !u!4 &496636 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 197650} + m_LocalRotation: {x: -7.47327504e-05, y: .00227256259, z: .0770248026, w: .997026622} + m_LocalPosition: {x: .0222387072, y: 2.71051235e-08, z: -5.3290704e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 497842} + m_Father: {fileID: 417434} + m_RootOrder: 0 +--- !u!4 &497548 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161020} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0651327819, y: .0974216834, z: .0440800004} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 476164} + m_RootOrder: 3 +--- !u!4 &497842 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168904} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0271437336, y: 5.1793448e-11, z: -1.68753898e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 496636} + m_RootOrder: 0 +--- !u!4 &497864 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 123104} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430470} + m_RootOrder: 0 +--- !u!4 &497932 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157572} + m_LocalRotation: {x: -.0872743204, y: -.00560249155, z: .0762198567, w: .993248403} + m_LocalPosition: {x: -.0853923559, y: .0200135447, z: -.00796600711} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 411762} + m_Father: {fileID: 458516} + m_RootOrder: 1 +--- !u!20 &2008918 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129418} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2037282 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173724} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: .5 + y: 0 + width: .5 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2046618 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 123104} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -100 + m_CullingMask: + serializedVersion: 2 + m_Bits: 0 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2086726 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176574} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: .5 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2091264 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 114060} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 3 + m_BackGroundColor: {r: 1, g: 0, b: 1, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: .5 + m_Depth: 100 + m_CullingMask: + serializedVersion: 2 + m_Bits: 0 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!81 &8126114 +AudioListener: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129418} + m_Enabled: 1 +--- !u!82 &8202020 +AudioSource: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 +--- !u!92 &9226506 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 114060} + m_Enabled: 1 +--- !u!92 &9280054 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129418} + m_Enabled: 1 +--- !u!95 &9501564 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: 87af768f971aae6489c539d57d500cb0, type: 3} + m_Controller: {fileID: 9100000, guid: c50c47c47d160ef4d9e09a9bc0d612cf, type: 2} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!114 &11402702 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca697a6f27a261442a2c082beee1b411, type: 3} + m_Name: + m_EditorClassIdentifier: + ChunkSize: 6400 + Mode: 0 + PushToTalk: 0 + AmplitudeThreshold: .25 +--- !u!114 &11409226 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1efaf164be351314abc0047a237032a0, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 440168} + targetRoot: {fileID: 439290} + updateEarly: 0 + xRotateUp: 45 + xRotateDown: 40 +--- !u!114 &11409236 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b6788e8e1b3f7447db6657ef0959d3ce, type: 3} + m_Name: + m_EditorClassIdentifier: + directRender: 1 + keepStereoUpdated: 0 + stereoMultiplier: 1 + matchMonoFOV: 0 + matchByZoom: 0 + centerOfInterest: {fileID: 0} + radiusOfInterest: 0 + checkStereoComfort: 1 + stereoAdjustSmoothing: .100000001 + screenParallax: 0 + stereoPaddingX: 0 + stereoPaddingY: 0 +--- !u!114 &11411654 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 114918} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 10e36fc3c514d0441ad10822ab9ac743, type: 3} + m_Name: + m_EditorClassIdentifier: + head: {fileID: 476164} + hips: {fileID: 410682} + maxAngle: 45 +--- !u!114 &11412092 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176574} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c9cfdc6c389e2742aa40f991195d828, type: 3} + m_Name: + m_EditorClassIdentifier: + eye: 0 + toggleCullingMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &11413222 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -1768714887, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransformSyncMode: 1 + m_SendInterval: .100000001 + m_SyncRotationAxis: 7 + m_RotationSyncCompression: 0 + m_SyncSpin: 0 + m_MovementTheshold: .00100000005 + m_SnapThreshold: 5 + m_InterpolateRotation: 1 + m_InterpolateMovement: 1 +--- !u!114 &11426376 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 82494526d72b080449b2ce37c18d1c3e, type: 3} + m_Name: + m_EditorClassIdentifier: + talking: 0 + jaw: {fileID: 413058} + upperLip: {fileID: 401000} + jawRestPosition: 0 + jawFullOpenPosition: -11 + upperLipRestPosition: .0149576403 + upperLipOpenPosition: .0115 +--- !u!114 &11426614 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e904559f96a703943a92e743db837fb8, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11427152 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 372142912, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SceneId: + m_Value: 0 + m_AssetId: + i0: 69 + i1: 42 + i2: 131 + i3: 158 + i4: 149 + i5: 205 + i6: 41 + i7: 244 + i8: 25 + i9: 30 + i10: 11 + i11: 78 + i12: 202 + i13: 139 + i14: 183 + i15: 148 + m_ServerOnly: 0 + m_LocalPlayerAuthority: 1 +--- !u!114 &11434756 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 123104} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20fb7fbcfb2e642bba6211eb9ea19962, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11436366 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a192b9308dc49746bafbdf676015f2a, type: 3} + m_Name: + m_EditorClassIdentifier: + leftEyelidUp: {fileID: 488516} + leftEyelidDown: {fileID: 440152} + rightEyelidUp: {fileID: 469778} + rightEyelidDown: {fileID: 413316} + openRotationUp: {x: 0, y: 0, z: 0} + closedRotationUp: {x: 0, y: 0, z: -32} + openRotationDown: {x: 0, y: 0, z: 0} + closedRotationDown: {x: 0, y: 0, z: 5} + blinkDuration: .100000001 + minBlinkDelay: 2 + maxBlinkDelay: 4 +--- !u!114 &11442524 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1267208747, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Target: {fileID: 440168} + m_ChildIndex: 0 + m_SendInterval: .100000001 + m_SyncRotationAxis: 7 + m_RotationSyncCompression: 0 + m_MovementThreshold: .00100000005 + m_InterpolateRotation: .5 + m_InterpolateMovement: .5 +--- !u!114 &11445604 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ba5e7a4812412904abea60a6b5b9b345, type: 3} + m_Name: + m_EditorClassIdentifier: + DebugAudio: 0 + Mute: 0 +--- !u!114 &11456136 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f50ba37c4b95a194c907715146d79753, type: 3} + m_Name: + m_EditorClassIdentifier: + mouthMovement: {fileID: 11426376} + voiceTranceiver: {fileID: 11426614} + talkingTimeout: .5 +--- !u!114 &11456138 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e65a7dca8d2d7547aa6097b95cd5835, type: 3} + m_Name: + m_EditorClassIdentifier: + leftEye: {fileID: 468326} + rightEye: {fileID: 424056} + zUpperBound: 10 + zLowerBound: -14 + xUpperBound: 14 + xLowerBound: -14 + maxRandomEyeInterval: 2 +--- !u!114 &11456178 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6e00d42098a712e4bb865682007cfe50, type: 3} + m_Name: + m_EditorClassIdentifier: + IsThreeDimensional: 0 + Equalize: 0 + EqualizeSpeed: 1 + TargetEqualizeVolume: .75 + MaxEqualization: 5 +--- !u!114 &11457850 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 114060} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3995cc6db284649a793472ad14b220f6, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11463194 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173724} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c9cfdc6c389e2742aa40f991195d828, type: 3} + m_Name: + m_EditorClassIdentifier: + eye: 1 + toggleCullingMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &11482260 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115728} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a40b544b8c3553c40852ae7ad35a9343, type: 3} + m_Name: + m_EditorClassIdentifier: + vrModeEnabled: 1 + distortionCorrection: 2 + enableAlignmentMarker: 1 + enableSettingsButton: 1 + backButtonMode: 1 + tapIsTrigger: 1 + neckModelScale: 1 + autoDriftCorrection: 1 + electronicDisplayStabilization: 0 + autoUntiltHead: 1 + UseUnityRemoteInput: 0 + screenSize: 0 + deviceType: 0 + stereoScreenScale: 1 +--- !u!114 &11490052 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5137a2f51fcebbd4bb76494d102fa8a3, type: 3} + m_Name: + m_EditorClassIdentifier: + ShowLobbyGUI: 1 + audioListener: {fileID: 8126114} + cardboard: {fileID: 115728} + meshRenderer: {fileID: 13750052} +--- !u!114 &11498328 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df01baf1d8bb77b42992d2ac0e574866, type: 3} + m_Name: + m_EditorClassIdentifier: + VoipListeners: + - {fileID: 133056} + DebugListeners: [] +--- !u!114 &11499084 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 37e648258903e5c4c82783517e051764, type: 3} + m_Name: + m_EditorClassIdentifier: + leftBrow: {fileID: 433610} + rightBrow: {fileID: 483280} + xUpperBound: -.0671999976 + xLowerBound: -.0616573095 + maxRandomEyeInterval: 5 +--- !u!124 &12475410 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176574} + m_Enabled: 1 +--- !u!124 &12477620 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173724} + m_Enabled: 1 +--- !u!124 &12494420 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129418} + m_Enabled: 1 +--- !u!137 &13750052 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 110916} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: beae284d5615b5343bbe468ab865e5e2, type: 2} + - {fileID: 2100000, guid: c25b06c3de2e3374590a40e6cd223444, type: 2} + - {fileID: 2100000, guid: 2f9e6a8fa898ab84eb064cafd21e252a, type: 2} + - {fileID: 2100000, guid: b81f9fe23b303134cb3f20ce78f328a0, type: 2} + - {fileID: 2100000, guid: bda5ecff00e8f714ca9060e41b031f4a, type: 2} + - {fileID: 2100000, guid: d06e34c61af978443985c366e231fb6c, type: 2} + - {fileID: 2100000, guid: 2513e95c5e3d8a141828d9eeafcec9e3, type: 2} + - {fileID: 2100000, guid: 1d4222c0a39538543b5c7a0168bfb333, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_Mesh: {fileID: 4300000, guid: 87af768f971aae6489c539d57d500cb0, type: 3} + m_Bones: + - {fileID: 428470} + - {fileID: 421196} + - {fileID: 410682} + - {fileID: 442374} + - {fileID: 483208} + - {fileID: 405934} + - {fileID: 447960} + - {fileID: 446660} + - {fileID: 441042} + - {fileID: 469708} + - {fileID: 491304} + - {fileID: 476164} + - {fileID: 413058} + - {fileID: 414586} + - {fileID: 456974} + - {fileID: 490448} + - {fileID: 480492} + - {fileID: 450696} + - {fileID: 470120} + - {fileID: 401000} + - {fileID: 462380} + - {fileID: 488526} + - {fileID: 401390} + - {fileID: 447920} + - {fileID: 493128} + - {fileID: 407934} + - {fileID: 467958} + - {fileID: 483280} + - {fileID: 431226} + - {fileID: 433610} + - {fileID: 497548} + - {fileID: 469778} + - {fileID: 424056} + - {fileID: 413316} + - {fileID: 488516} + - {fileID: 468326} + - {fileID: 440152} + - {fileID: 448076} + - {fileID: 438424} + - {fileID: 466614} + - {fileID: 409248} + - {fileID: 421606} + - {fileID: 462932} + - {fileID: 489208} + - {fileID: 417028} + - {fileID: 418336} + - {fileID: 425468} + - {fileID: 444416} + - {fileID: 444680} + - {fileID: 429684} + - {fileID: 439866} + - {fileID: 429580} + - {fileID: 414126} + - {fileID: 489544} + - {fileID: 417434} + - {fileID: 496636} + - {fileID: 497842} + - {fileID: 440788} + - {fileID: 450716} + - {fileID: 483216} + - {fileID: 489742} + - {fileID: 467348} + - {fileID: 460592} + - {fileID: 490202} + - {fileID: 482676} + - {fileID: 428066} + - {fileID: 440484} + - {fileID: 480654} + - {fileID: 458516} + - {fileID: 460114} + - {fileID: 422842} + - {fileID: 409338} + - {fileID: 444738} + - {fileID: 435832} + - {fileID: 443150} + - {fileID: 449248} + - {fileID: 482362} + - {fileID: 410948} + - {fileID: 438498} + - {fileID: 413884} + - {fileID: 414392} + - {fileID: 497932} + - {fileID: 411762} + - {fileID: 481882} + - {fileID: 481370} + - {fileID: 447168} + - {fileID: 460700} + - {fileID: 495514} + - {fileID: 483296} + - {fileID: 412706} + - {fileID: 493524} + - {fileID: 486828} + - {fileID: 432856} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 428470} + m_AABB: + m_Center: {x: -.917024612, y: .0284229368, z: 0} + m_Extent: {x: .929991722, y: .159240738, z: .711301744} + m_DirtyAABB: 0 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: AmplitudeThreshold + value: .25 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: IsThreeDimensional + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: mouthMovement + value: + objectReference: {fileID: 11426376} + - target: {fileID: 0} + propertyPath: voiceTranceiver + value: + objectReference: {fileID: 11426614} + - target: {fileID: 0} + propertyPath: m_Materials.Array.data[1] + value: + objectReference: {fileID: 2100000, guid: c25b06c3de2e3374590a40e6cd223444, type: 2} + - target: {fileID: 0} + propertyPath: m_Materials.Array.data[6] + value: + objectReference: {fileID: 2100000, guid: 2513e95c5e3d8a141828d9eeafcec9e3, type: 2} + - target: {fileID: 0} + propertyPath: ChunkSize + value: 6400 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: Mode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: PushToTalk + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 133056} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/GamePlayer_Role2.prefab.meta b/Assets/Prefabs/GamePlayer_Role2.prefab.meta new file mode 100644 index 0000000..88898e3 --- /dev/null +++ b/Assets/Prefabs/GamePlayer_Role2.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 452a839e95cd29f4191e0b4eca8bb794 +timeCreated: 1452115049 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/GamePlayer_Role3.prefab b/Assets/Prefabs/GamePlayer_Role3.prefab new file mode 100644 index 0000000..4de3327 --- /dev/null +++ b/Assets/Prefabs/GamePlayer_Role3.prefab @@ -0,0 +1,4244 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100424 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 465330} + m_Layer: 0 + m_Name: RightBrow3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100636 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 456024} + m_Layer: 0 + m_Name: LeftHandThumb2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &103894 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 444570} + m_Layer: 0 + m_Name: RightHandIndex4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &104196 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 406932} + m_Layer: 0 + m_Name: RightHandThumb2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &104638 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 445386} + m_Layer: 0 + m_Name: RightLwrLipDn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &104700 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 436372} + m_Layer: 0 + m_Name: LeftHandPinky3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106194 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 445490} + m_Layer: 0 + m_Name: RightUpLid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106328 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 404574} + m_Layer: 0 + m_Name: LeftLwrLipUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106346 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 424820} + m_Layer: 0 + m_Name: LeftHandPinky1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106642 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 423096} + m_Layer: 0 + m_Name: LeftHandMiddle3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &107912 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 431068} + m_Layer: 0 + m_Name: RightLwrLipUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &113154 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 434830} + m_Layer: 0 + m_Name: RightHandRing2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &115876 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 489846} + m_Layer: 0 + m_Name: LeftHandRing1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &116332 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 404684} + m_Layer: 0 + m_Name: RightHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &116640 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 484394} + m_Layer: 0 + m_Name: LeftForeArmRoll + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &116788 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 466146} + m_Layer: 0 + m_Name: LeftHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &116878 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 468602} + m_Layer: 0 + m_Name: LeftLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &117028 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 426202} + m_Layer: 0 + m_Name: LeftHandPinky2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &117388 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 470522} + m_Layer: 0 + m_Name: LeftArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &118444 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 448362} + - 95: {fileID: 9523862} + - 114: {fileID: 11440330} + - 114: {fileID: 11435836} + - 114: {fileID: 11470302} + - 114: {fileID: 11483452} + - 114: {fileID: 11419366} + - 114: {fileID: 11454554} + - 114: {fileID: 11485436} + - 114: {fileID: 11433720} + - 114: {fileID: 11429054} + - 114: {fileID: 11475206} + - 82: {fileID: 8246840} + - 114: {fileID: 11459736} + - 114: {fileID: 11400434} + - 114: {fileID: 11441074} + - 114: {fileID: 11478454} + m_Layer: 0 + m_Name: GamePlayer_Role3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &119576 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 436586} + - 114: {fileID: 11474516} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &121422 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 440798} + m_Layer: 0 + m_Name: RightHandIndex1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &121902 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 419362} + - 20: {fileID: 2064682} + - 92: {fileID: 9241340} + - 114: {fileID: 11416408} + m_Layer: 0 + m_Name: PostRender + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &123450 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 493498} + m_Layer: 0 + m_Name: RightHandIndex2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &124068 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 410630} + m_Layer: 0 + m_Name: LeftHandIndex2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &125920 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 418536} + m_Layer: 0 + m_Name: UprLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &125984 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 408636} + m_Layer: 0 + m_Name: Spine2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &128000 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 467412} + m_Layer: 0 + m_Name: LeftUpLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &129524 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 448046} + - 114: {fileID: 11496252} + m_Layer: 0 + m_Name: CardboardMain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &129594 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 438802} + m_Layer: 0 + m_Name: RightCheek + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &130006 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 405344} + m_Layer: 0 + m_Name: RightHandMiddle2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &130482 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 474312} + m_Layer: 0 + m_Name: RightLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &130822 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 499944} + m_Layer: 0 + m_Name: LeftShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &131762 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 467220} + m_Layer: 0 + m_Name: Pouch2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &132236 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 488672} + m_Layer: 0 + m_Name: RightArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &133444 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 429238} + m_Layer: 0 + m_Name: LeftCheek + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &134734 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 434722} + m_Layer: 0 + m_Name: LeftBrow2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &134812 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 438210} + m_Layer: 0 + m_Name: RightHandRing4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &135134 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400766} + m_Layer: 0 + m_Name: RightBrow1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &137590 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 467554} + - 20: {fileID: 2050550} + - 114: {fileID: 11401782} + m_Layer: 0 + m_Name: PreRender + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &137688 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 424536} + m_Layer: 0 + m_Name: RightFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140174 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 442970} + - 20: {fileID: 2094626} + - 124: {fileID: 12477906} + - 114: {fileID: 11403206} + - 114: {fileID: 11405690} + m_Layer: 0 + m_Name: Main Camera Right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140328 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 447226} + m_Layer: 0 + m_Name: RightUprLipUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140454 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 451478} + m_Layer: 0 + m_Name: RightHandThumb1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140532 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 477102} + m_Layer: 0 + m_Name: LeftForeArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140910 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 452462} + m_Layer: 0 + m_Name: LeftBrow1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &144374 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 471448} + m_Layer: 0 + m_Name: LwrLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &144864 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 408588} + m_Layer: 0 + m_Name: Stereo Render + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &145468 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 411610} + m_Layer: 0 + m_Name: RightHandIndex3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &146050 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 459484} + m_Layer: 0 + m_Name: LeftUprLipUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &146056 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 416778} + m_Layer: 0 + m_Name: RightHandPinky3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &146522 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 456182} + m_Layer: 0 + m_Name: LeftHandThumb3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &147196 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 447976} + - 20: {fileID: 2068548} + - 124: {fileID: 12458018} + - 92: {fileID: 9257180} + - 81: {fileID: 8173864} + - 114: {fileID: 11489382} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &148096 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 487832} + - 137: {fileID: 13790996} + m_Layer: 0 + m_Name: Model_Adam + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &148912 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 436888} + m_Layer: 0 + m_Name: LeftLwrLipDn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &149162 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 411570} + m_Layer: 0 + m_Name: LeftHandIndex3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &149280 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 437152} + m_Layer: 0 + m_Name: RightCheekBone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &149678 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 487610} + m_Layer: 0 + m_Name: LeftHandThumb4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &150788 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 427862} + m_Layer: 0 + m_Name: RightHandThumb3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &151148 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 460222} + m_Layer: 0 + m_Name: RightHandRing3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &151512 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 473758} + m_Layer: 0 + m_Name: RightHandMiddle3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &151880 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 444256} + m_Layer: 0 + m_Name: LeftCheekBone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &152912 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 453572} + m_Layer: 0 + m_Name: LeftHandMiddle1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &153380 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 447982} + - 20: {fileID: 2094366} + - 124: {fileID: 12415444} + - 114: {fileID: 11447600} + - 114: {fileID: 11463890} + m_Layer: 0 + m_Name: Main Camera Left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &153496 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 496504} + m_Layer: 0 + m_Name: Bag + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &154072 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 401280} + m_Layer: 0 + m_Name: LeftHandPinky4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &155062 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 485452} + m_Layer: 0 + m_Name: RightArmRoll + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &155620 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 486286} + m_Layer: 0 + m_Name: RightBrow2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &157456 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 465390} + m_Layer: 0 + m_Name: RightHandRing1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &159260 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 483246} + m_Layer: 0 + m_Name: LeftHandRing3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &159486 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 457922} + m_Layer: 0 + m_Name: RightHandMiddle1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160152 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 427824} + m_Layer: 0 + m_Name: RightForeArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160220 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 433940} + m_Layer: 0 + m_Name: RightHandPinky2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160804 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 418106} + m_Layer: 0 + m_Name: Pouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160846 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 448140} + m_Layer: 0 + m_Name: Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &161158 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 474448} + m_Layer: 0 + m_Name: LeftHandRing2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &161476 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 490370} + m_Layer: 0 + m_Name: LeftHandThumb1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &162074 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 487534} + m_Layer: 0 + m_Name: RightEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &162626 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 435960} + m_Layer: 0 + m_Name: RightToeBase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &162730 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 442236} + m_Layer: 0 + m_Name: LeftUprlipDn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &163746 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 413214} + m_Layer: 0 + m_Name: LeftHandRing4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &163940 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 453474} + m_Layer: 0 + m_Name: HeadWrapper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &164246 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 429832} + m_Layer: 0 + m_Name: LeftToeBase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &164916 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 436294} + m_Layer: 0 + m_Name: RightUpLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &165978 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 492038} + m_Layer: 0 + m_Name: Spine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &166708 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 451074} + m_Layer: 0 + m_Name: LeftHandIndex4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &167004 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 472294} + m_Layer: 0 + m_Name: LeftFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &168116 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 420784} + m_Layer: 0 + m_Name: RightHandPinky4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &168436 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 484756} + m_Layer: 0 + m_Name: RightUprLipDn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &168642 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 458010} + m_Layer: 0 + m_Name: Jaw + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &170472 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400234} + m_Layer: 0 + m_Name: ShovelStraps + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &171482 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 490586} + m_Layer: 0 + m_Name: LeftHandMiddle2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &171588 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 489448} + m_Layer: 0 + m_Name: LeftArmRoll + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &172864 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 456728} + m_Layer: 0 + m_Name: Util + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &172932 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 408500} + m_Layer: 0 + m_Name: Meshroot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173484 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 498056} + m_Layer: 0 + m_Name: BagStrap2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &173772 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 431290} + m_Layer: 0 + m_Name: RightShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &174366 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 420616} + m_Layer: 0 + m_Name: LeftHandMiddle4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &176114 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 457578} + m_Layer: 0 + m_Name: Hair + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &177014 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 449496} + m_Layer: 0 + m_Name: RightHandThumb4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &178440 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 462822} + m_Layer: 0 + m_Name: LeftHandIndex1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &179904 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 409004} + m_Layer: 0 + m_Name: Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &180770 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 491164} + m_Layer: 0 + m_Name: LeftLid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &183334 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 430240} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &183552 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 465652} + m_Layer: 0 + m_Name: BagStrap1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &184212 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 452588} + m_Layer: 0 + m_Name: RightLid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &187786 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 439730} + m_Layer: 0 + m_Name: LeftEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &188716 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 478386} + m_Layer: 0 + m_Name: LeftLip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &188970 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 433904} + m_Layer: 0 + m_Name: RightHandPinky1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &189048 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 497046} + m_Layer: 0 + m_Name: Shovel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &191640 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 451086} + m_Layer: 0 + m_Name: Reference + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &191900 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 461732} + m_Layer: 0 + m_Name: RightForeArmRoll + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &192358 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 493484} + m_Layer: 0 + m_Name: RightHandMiddle4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &193196 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 451754} + m_Layer: 0 + m_Name: LeftUpLid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &193450 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 444456} + m_Layer: 0 + m_Name: Brow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &193530 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 445740} + m_Layer: 0 + m_Name: LeftBrow3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &194282 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 437218} + m_Layer: 0 + m_Name: Hat + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &196428 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 441242} + m_Layer: 0 + m_Name: Spine1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &196820 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 494282} + m_Layer: 0 + m_Name: Nose + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &197814 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 402036} + m_Layer: 0 + m_Name: RightLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400234 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170472} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.132708296, y: -.0339034125, z: -.0427158885} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 497046} + m_Father: {fileID: 496504} + m_RootOrder: 1 +--- !u!4 &400766 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 135134} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0575590841, y: .107257567, z: -.0182915516} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 16 +--- !u!4 &401280 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 154072} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0221604109, y: 4.10122422e-11, z: -1.53210777e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 436372} + m_RootOrder: 0 +--- !u!4 &402036 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 197814} + m_LocalRotation: {x: 6.27731183e-08, y: 1.48153422e-05, z: .0144902356, w: .999895036} + m_LocalPosition: {x: -.494626373, y: 2.26263637e-07, z: -6.46953779e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 424536} + m_Father: {fileID: 436294} + m_RootOrder: 0 +--- !u!4 &404574 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106328} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00700751599, y: .0729021206, z: .0144874416} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 458010} + m_RootOrder: 1 +--- !u!4 &404684 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116332} + m_LocalRotation: {x: .0939245969, y: -0, z: -0, w: .995579302} + m_LocalPosition: {x: -.257634878, y: -2.14727024e-05, z: 1.18641786e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 440798} + - {fileID: 457922} + - {fileID: 433904} + - {fileID: 465390} + - {fileID: 451478} + m_Father: {fileID: 427824} + m_RootOrder: 1 +--- !u!4 &405344 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 130006} + m_LocalRotation: {x: -.00271863816, y: .0103607196, z: .172953114, w: .984871805} + m_LocalPosition: {x: -.0419443212, y: -2.8696536e-06, z: -3.15868687e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 473758} + m_Father: {fileID: 457922} + m_RootOrder: 0 +--- !u!4 &406932 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104196} + m_LocalRotation: {x: .00211285567, y: .184666753, z: -.0112439105, w: .982734621} + m_LocalPosition: {x: -.0343776792, y: -1.42877582e-06, z: 1.02108686e-06} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 427862} + m_Father: {fileID: 451478} + m_RootOrder: 0 +--- !u!4 &408500 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 172932} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 451086} + m_Father: {fileID: 448362} + m_RootOrder: 2 +--- !u!4 &408588 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 144864} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 467554} + - {fileID: 419362} + m_Father: {fileID: 448046} + m_RootOrder: 1 +--- !u!4 &408636 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 125984} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.100552984, y: -8.21564996e-16, z: -3.76930176e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 499944} + - {fileID: 448140} + - {fileID: 431290} + m_Father: {fileID: 441242} + m_RootOrder: 0 +--- !u!4 &409004 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179904} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.08493423, y: -.0491500609, z: -3.53089898e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 496504} + - {fileID: 467412} + - {fileID: 418106} + - {fileID: 436294} + - {fileID: 492038} + m_Father: {fileID: 451086} + m_RootOrder: 0 +--- !u!4 &410630 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 124068} + m_LocalRotation: {x: -.00267711561, y: .0114483275, z: .18181093, w: .983263195} + m_LocalPosition: {x: .0390093811, y: -4.56425253e-09, z: -2.6645352e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 411570} + m_Father: {fileID: 462822} + m_RootOrder: 0 +--- !u!4 &411570 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149162} + m_LocalRotation: {x: -7.47327504e-05, y: .00227256259, z: .0770248026, w: .997026622} + m_LocalPosition: {x: .0222387072, y: 2.71051235e-08, z: -5.3290704e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 451074} + m_Father: {fileID: 410630} + m_RootOrder: 0 +--- !u!4 &411610 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145468} + m_LocalRotation: {x: -7.47327504e-05, y: .00227256259, z: .0770248026, w: .997026622} + m_LocalPosition: {x: -.022233583, y: 2.13626959e-06, z: 2.72467076e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 444570} + m_Father: {fileID: 493498} + m_RootOrder: 0 +--- !u!4 &413214 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163746} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0252523087, y: 6.06640085e-11, z: -1.11022302e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 483246} + m_RootOrder: 0 +--- !u!4 &416778 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146056} + m_LocalRotation: {x: .000401834375, y: -.00392274139, z: .101903081, w: .994786561} + m_LocalPosition: {x: -.0199341793, y: 1.68434076e-06, z: -9.15705343e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 420784} + m_Father: {fileID: 433940} + m_RootOrder: 0 +--- !u!4 &418106 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160804} + m_LocalRotation: {x: -.308170736, y: .308170736, z: .63642031, w: .63642031} + m_LocalPosition: {x: -.0805415139, y: .137931675, z: -.155206054} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 467220} + m_Father: {fileID: 409004} + m_RootOrder: 2 +--- !u!4 &418536 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 125920} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0149576431, y: .109976493, z: 7.15307147e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 27 +--- !u!4 &419362 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121902} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 408588} + m_RootOrder: 1 +--- !u!4 &420616 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174366} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0259261075, y: 5.76778798e-11, z: -1.62092553e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 423096} + m_RootOrder: 0 +--- !u!4 &420784 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168116} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0221563261, y: 3.69296828e-07, z: 5.56296911e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 416778} + m_RootOrder: 0 +--- !u!4 &423096 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106642} + m_LocalRotation: {x: -6.39292339e-05, y: .00306092156, z: .0949304402, w: .995479226} + m_LocalPosition: {x: .0311855301, y: -5.59699878e-08, z: -2.06501484e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 420616} + m_Father: {fileID: 490586} + m_RootOrder: 0 +--- !u!4 &424536 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137688} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.435410112, y: 5.30132489e-08, z: 8.22045578e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 435960} + m_Father: {fileID: 402036} + m_RootOrder: 0 +--- !u!4 &424820 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106346} + m_LocalRotation: {x: -.0704529881, y: .00882424507, z: .0378793851, w: .996756613} + m_LocalPosition: {x: .0798489079, y: -.0187331177, z: -.031215474} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 426202} + m_Father: {fileID: 466146} + m_RootOrder: 2 +--- !u!4 &426202 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 117028} + m_LocalRotation: {x: 0, y: 0, z: .127619579, w: .991823196} + m_LocalPosition: {x: .0305651203, y: 8.74428654e-11, z: -4.88498128e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 436372} + m_Father: {fileID: 424820} + m_RootOrder: 0 +--- !u!4 &427824 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160152} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.327714354, y: -3.87124192e-06, z: -1.35457313e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 461732} + - {fileID: 404684} + m_Father: {fileID: 488672} + m_RootOrder: 1 +--- !u!4 &427862 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 150788} + m_LocalRotation: {x: 5.046148e-05, y: .0282719582, z: -.0017841435, w: .999598682} + m_LocalPosition: {x: -.0307725631, y: 2.93709923e-06, z: -3.89726097e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 449496} + m_Father: {fileID: 406932} + m_RootOrder: 0 +--- !u!4 &429238 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133444} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0125232236, y: .080358997, z: .0433241874} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 7 +--- !u!4 &429832 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164246} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0549334213, y: .136021703, z: .000442352553} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 472294} + m_RootOrder: 0 +--- !u!4 &430240 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183334} + m_LocalRotation: {x: .500000119, y: -.5, z: -.5, w: .49999994} + m_LocalPosition: {x: 0, y: .0820000023, z: -.00700000022} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 444456} + - {fileID: 457578} + - {fileID: 437218} + - {fileID: 458010} + - {fileID: 452462} + - {fileID: 434722} + - {fileID: 445740} + - {fileID: 429238} + - {fileID: 444256} + - {fileID: 439730} + - {fileID: 491164} + - {fileID: 478386} + - {fileID: 451754} + - {fileID: 442236} + - {fileID: 459484} + - {fileID: 494282} + - {fileID: 400766} + - {fileID: 486286} + - {fileID: 465330} + - {fileID: 438802} + - {fileID: 437152} + - {fileID: 487534} + - {fileID: 452588} + - {fileID: 474312} + - {fileID: 445490} + - {fileID: 484756} + - {fileID: 447226} + - {fileID: 418536} + m_Father: {fileID: 453474} + m_RootOrder: 0 +--- !u!4 &431068 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 107912} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00700751599, y: .0729021206, z: -.014487437} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 458010} + m_RootOrder: 4 +--- !u!4 &431290 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173772} + m_LocalRotation: {x: -.511044204, y: -.00448391354, z: .85949558, w: .00900415238} + m_LocalPosition: {x: -.182736829, y: .0068647759, z: -.0454895981} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 488672} + m_Father: {fileID: 408636} + m_RootOrder: 2 +--- !u!4 &433904 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188970} + m_LocalRotation: {x: -.0704529881, y: .00882424507, z: .0378793851, w: .996756613} + m_LocalPosition: {x: -.0798528641, y: .0187283028, z: .0312162582} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 433940} + m_Father: {fileID: 404684} + m_RootOrder: 2 +--- !u!4 &433940 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160220} + m_LocalRotation: {x: 0, y: 0, z: .127619579, w: .991823196} + m_LocalPosition: {x: -.0305646285, y: 4.78068607e-08, z: 1.9048402e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 416778} + m_Father: {fileID: 433904} + m_RootOrder: 0 +--- !u!4 &434722 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134734} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0616572909, y: .10375122, z: .0354578681} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 5 +--- !u!4 &434830 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 113154} + m_LocalRotation: {x: -.00246444694, y: .0109616453, z: .153728172, w: .988049328} + m_LocalPosition: {x: -.0347823761, y: -1.81911105e-06, z: -1.58105475e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 460222} + m_Father: {fileID: 465390} + m_RootOrder: 0 +--- !u!4 &435960 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 162626} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0549334548, y: -.136021733, z: -.000442670193} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 424536} + m_RootOrder: 0 +--- !u!4 &436294 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164916} + m_LocalRotation: {x: .021019021, y: .000833461119, z: .998993695, w: .0396128111} + m_LocalPosition: {x: .070224233, y: .0710345581, z: -.0971093997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 402036} + m_Father: {fileID: 409004} + m_RootOrder: 3 +--- !u!4 &436372 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104700} + m_LocalRotation: {x: .000401834375, y: -.00392274139, z: .101903081, w: .994786561} + m_LocalPosition: {x: .0199357104, y: 8.18996398e-11, z: -1.08801852e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 401280} + m_Father: {fileID: 426202} + m_RootOrder: 0 +--- !u!4 &436586 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119576} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 447976} + m_Father: {fileID: 448046} + m_RootOrder: 0 +--- !u!4 &436888 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148912} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00714839995, y: .0636692718, z: .0225834008} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 458010} + m_RootOrder: 0 +--- !u!4 &437152 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149280} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0217585694, y: .0993046463, z: -.0318967029} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 20 +--- !u!4 &437218 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194282} + m_LocalRotation: {x: -.492241979, y: .507639527, z: .492241979, w: .507639527} + m_LocalPosition: {x: -.0815260559, y: .120736189, z: .0352616571} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 2 +--- !u!4 &438210 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134812} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0252473634, y: 6.04304319e-07, z: 1.38754856e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 460222} + m_RootOrder: 0 +--- !u!4 &438802 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129594} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0125232236, y: .080358997, z: -.0433241874} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 19 +--- !u!4 &439730 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 187786} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: .0305770561} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 9 +--- !u!4 &440798 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121422} + m_LocalRotation: {x: -.113674529, y: -.0158897489, z: .0632338002, w: .9913764} + m_LocalPosition: {x: -.0823670775, y: .0112488028, z: -.0275161974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 493498} + m_Father: {fileID: 404684} + m_RootOrder: 0 +--- !u!4 &441242 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196428} + m_LocalRotation: {x: 0, y: 0, z: .0698939264, w: .997554481} + m_LocalPosition: {x: -.0804908946, y: -5.3290704e-17, z: 2.47975557e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 408636} + m_Father: {fileID: 492038} + m_RootOrder: 0 +--- !u!4 &442236 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 162730} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0167751256, y: .0936401039, z: .0227790549} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 13 +--- !u!4 &442970 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140174} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0299999993, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 447976} + m_RootOrder: 1 +--- !u!4 &444256 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 151880} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0214312505, y: .0993375927, z: .0318590216} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 8 +--- !u!4 &444456 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 193450} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0570879839, y: .109206691, z: 7.15307147e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 0 +--- !u!4 &444570 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 103894} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0271438919, y: -1.37017665e-07, z: -1.29140947e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 411610} + m_RootOrder: 0 +--- !u!4 &445386 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104638} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00714839995, y: .0636692718, z: -.0225833952} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 458010} + m_RootOrder: 3 +--- !u!4 &445490 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106194} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: -.0305770766} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 24 +--- !u!4 &445740 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 193530} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0590225533, y: .0898830369, z: .0507300682} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 6 +--- !u!4 &447226 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140328} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0160356034, y: .104095101, z: -.0147310086} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 26 +--- !u!4 &447976 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 147196} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 447982} + - {fileID: 442970} + m_Father: {fileID: 436586} + m_RootOrder: 0 +--- !u!4 &447982 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153380} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0299999993, y: -0, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 447976} + m_RootOrder: 0 +--- !u!4 &448046 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129524} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.69400001, z: .138999999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 436586} + - {fileID: 408588} + m_Father: {fileID: 448362} + m_RootOrder: 1 +--- !u!4 &448140 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160846} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.309222013, y: -.0171652008, z: -1.01061399e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 453474} + m_Father: {fileID: 408636} + m_RootOrder: 1 +--- !u!4 &448362 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_LocalRotation: {x: 0, y: .707106829, z: 0, w: .707106709} + m_LocalPosition: {x: -13.6322346, y: -.110370696, z: -2.77874088} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 487832} + - {fileID: 448046} + - {fileID: 408500} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &449496 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 177014} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0252893846, y: -2.06338973e-06, z: 1.56527364e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 427862} + m_RootOrder: 0 +--- !u!4 &451074 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 166708} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0271437336, y: 5.1793448e-11, z: -1.68753898e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 411570} + m_RootOrder: 0 +--- !u!4 &451086 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191640} + m_LocalRotation: {x: .499999762, y: -.5, z: -.5, w: .500000298} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 409004} + - {fileID: 456728} + m_Father: {fileID: 408500} + m_RootOrder: 0 +--- !u!4 &451478 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140454} + m_LocalRotation: {x: -.0514524356, y: -.219866052, z: .0367920138, w: .973477244} + m_LocalPosition: {x: -.0311506763, y: -.0214181561, z: -.0305206031} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 406932} + m_Father: {fileID: 404684} + m_RootOrder: 4 +--- !u!4 &451754 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 193196} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: .0305770561} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 12 +--- !u!4 &452462 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140910} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0575842671, y: .107258707, z: .0183658432} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 4 +--- !u!4 &452588 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 184212} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: -.0305770766} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 22 +--- !u!4 &453474 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163940} + m_LocalRotation: {x: -.522663891, y: .510615468, z: .490224838, w: .475156844} + m_LocalPosition: {x: .00200006366, y: .0589998662, z: -8.30157134e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 430240} + m_Father: {fileID: 448140} + m_RootOrder: 0 +--- !u!4 &453572 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152912} + m_LocalRotation: {x: -.0872743204, y: -.00560249155, z: .0762198567, w: .993248403} + m_LocalPosition: {x: .0853933617, y: -.020012619, z: .00796585344} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 490586} + m_Father: {fileID: 466146} + m_RootOrder: 1 +--- !u!4 &456024 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100636} + m_LocalRotation: {x: .00211285567, y: .184666753, z: -.0112439105, w: .982734621} + m_LocalPosition: {x: .034375675, y: -7.36636929e-09, z: -3.19744217e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 456182} + m_Father: {fileID: 490370} + m_RootOrder: 0 +--- !u!4 &456182 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146522} + m_LocalRotation: {x: 5.046148e-05, y: .0282719582, z: -.0017841435, w: .999598682} + m_LocalPosition: {x: .0307760146, y: 7.64685666e-08, z: -1.86517462e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 487610} + m_Father: {fileID: 456024} + m_RootOrder: 0 +--- !u!4 &456728 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 172864} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 451086} + m_RootOrder: 1 +--- !u!4 &457578 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176114} + m_LocalRotation: {x: -.492241979, y: .507639527, z: .492241979, w: .507639527} + m_LocalPosition: {x: -.140324935, y: .0907420814, z: 7.15307147e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 1 +--- !u!4 &457922 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 159486} + m_LocalRotation: {x: -.0872743204, y: -.00560249155, z: .0762198567, w: .993248403} + m_LocalPosition: {x: -.0853923559, y: .0200135447, z: -.00796600711} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 405344} + m_Father: {fileID: 404684} + m_RootOrder: 1 +--- !u!4 &458010 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168642} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00996088795, y: .0301488657, z: -2.17686802e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 436888} + - {fileID: 404574} + - {fileID: 471448} + - {fileID: 445386} + - {fileID: 431068} + m_Father: {fileID: 430240} + m_RootOrder: 3 +--- !u!4 &459484 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0160356034, y: .104095101, z: .0147310114} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 14 +--- !u!4 &460222 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 151148} + m_LocalRotation: {x: -.000272931356, y: .00240814942, z: .112615243, w: .993635714} + m_LocalPosition: {x: -.0271833446, y: -6.09150447e-07, z: -5.40290266e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 438210} + m_Father: {fileID: 434830} + m_RootOrder: 0 +--- !u!4 &461732 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 191900} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.130473956, y: 1.55037628e-06, z: 1.21442056e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 427824} + m_RootOrder: 0 +--- !u!4 &462822 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178440} + m_LocalRotation: {x: -.113674529, y: -.0158897489, z: .0632338002, w: .9913764} + m_LocalPosition: {x: .0823662803, y: -.0112508591, z: .0275165271} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 410630} + m_Father: {fileID: 466146} + m_RootOrder: 0 +--- !u!4 &465330 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100424} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0591900684, y: .0903356075, z: -.0504950881} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 18 +--- !u!4 &465390 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157456} + m_LocalRotation: {x: -.0925398842, y: -.00453527039, z: .0673239529, w: .993420005} + m_LocalPosition: {x: -.0836400986, y: .0212041996, z: .0122212935} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 434830} + m_Father: {fileID: 404684} + m_RootOrder: 3 +--- !u!4 &465652 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183552} + m_LocalRotation: {x: 0, y: -0, z: -.0449736044, w: .998988211} + m_LocalPosition: {x: -.000163081713, y: -.0926706269, z: -.0644634068} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 498056} + m_Father: {fileID: 496504} + m_RootOrder: 0 +--- !u!4 &466146 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116788} + m_LocalRotation: {x: .0939245969, y: -0, z: -0, w: .995579302} + m_LocalPosition: {x: .257637382, y: 2.4556959e-05, z: -4.6097405e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 462822} + - {fileID: 453572} + - {fileID: 424820} + - {fileID: 489846} + - {fileID: 490370} + m_Father: {fileID: 477102} + m_RootOrder: 1 +--- !u!4 &467220 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131762} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0169287622, y: -.123131596, z: 8.88178367e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 418106} + m_RootOrder: 0 +--- !u!4 &467412 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 128000} + m_LocalRotation: {x: .000833461119, y: -.021019021, z: -.0396128111, w: .998993695} + m_LocalPosition: {x: .0702215806, y: .0710345283, z: .0971093997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 468602} + m_Father: {fileID: 409004} + m_RootOrder: 1 +--- !u!4 &467554 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137590} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 408588} + m_RootOrder: 0 +--- !u!4 &468602 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116878} + m_LocalRotation: {x: -6.06515869e-08, y: 1.48135532e-05, z: .0144902356, w: .999895036} + m_LocalPosition: {x: .494628936, y: -1.16653838e-13, z: 3.61465163e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 472294} + m_Father: {fileID: 467412} + m_RootOrder: 0 +--- !u!4 &470522 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 117388} + m_LocalRotation: {x: .421320796, y: .551505148, z: .58355093, w: -.42166236} + m_LocalPosition: {x: -.147668466, y: -4.1577851e-16, z: -1.79412039e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 489448} + - {fileID: 477102} + m_Father: {fileID: 499944} + m_RootOrder: 0 +--- !u!4 &471448 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 144374} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .00816208497, y: .0790965408, z: 2.89217517e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 458010} + m_RootOrder: 2 +--- !u!4 &472294 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 167004} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .435410142, y: -3.31297482e-16, z: -2.42551179e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 429832} + m_Father: {fileID: 468602} + m_RootOrder: 0 +--- !u!4 &473758 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 151512} + m_LocalRotation: {x: -6.39292339e-05, y: .00306092156, z: .0949304402, w: .995479226} + m_LocalPosition: {x: -.0311838295, y: 5.6587055e-07, z: 3.20835305e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 493484} + m_Father: {fileID: 405344} + m_RootOrder: 0 +--- !u!4 &474312 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 130482} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0168897416, y: .0924546346, z: -.0245227944} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 23 +--- !u!4 &474448 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161158} + m_LocalRotation: {x: -.00246444694, y: .0109616453, z: .153728172, w: .988049328} + m_LocalPosition: {x: .0347805582, y: -1.98545926e-08, z: -8.881784e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 483246} + m_Father: {fileID: 489846} + m_RootOrder: 0 +--- !u!4 &477102 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140532} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .327710956, y: 9.9840386e-11, z: 1.13732606e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 484394} + - {fileID: 466146} + m_Father: {fileID: 470522} + m_RootOrder: 1 +--- !u!4 &478386 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188716} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0168897416, y: .0924546346, z: .0245227944} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 11 +--- !u!4 &483246 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 159260} + m_LocalRotation: {x: -.000272931356, y: .00240814942, z: .112615243, w: .993635714} + m_LocalPosition: {x: .0271798037, y: -5.28663691e-08, z: -1.95399251e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 413214} + m_Father: {fileID: 474448} + m_RootOrder: 0 +--- !u!4 &484394 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116640} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .130475, y: 4.85948677e-11, z: -4.73917545e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 477102} + m_RootOrder: 0 +--- !u!4 &484756 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168436} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .0167751256, y: .0936401039, z: -.0227790549} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 25 +--- !u!4 &485452 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155062} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.188728049, y: -5.59586397e-06, z: -2.25910185e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 488672} + m_RootOrder: 0 +--- !u!4 &486286 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155620} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0615856871, y: .103986546, z: -.0348134749} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 17 +--- !u!4 &487534 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 162074} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: -.0305770766} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 21 +--- !u!4 &487610 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149678} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .025287265, y: 4.60648394e-11, z: 8.88178367e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 456182} + m_RootOrder: 0 +--- !u!4 &487832 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148096} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 448362} + m_RootOrder: 0 +--- !u!4 &488672 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132236} + m_LocalRotation: {x: .421320796, y: .551505148, z: .58355093, w: -.42166236} + m_LocalPosition: {x: .147668734, y: 8.88750673e-09, z: -4.62733425e-07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 485452} + - {fileID: 427824} + m_Father: {fileID: 431290} + m_RootOrder: 0 +--- !u!4 &489448 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 171588} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: .188723788, y: 4.02661762e-08, z: 8.8229174e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470522} + m_RootOrder: 0 +--- !u!4 &489846 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115876} + m_LocalRotation: {x: -.0925398842, y: -.00453527039, z: .0673239529, w: .993420005} + m_LocalPosition: {x: .0836419836, y: -.0212030616, z: -.0122214686} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 474448} + m_Father: {fileID: 466146} + m_RootOrder: 3 +--- !u!4 &490370 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161476} + m_LocalRotation: {x: -.0514524356, y: -.219866052, z: .0367920138, w: .973477244} + m_LocalPosition: {x: .0311512258, y: .021417629, z: .0305206999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 456024} + m_Father: {fileID: 466146} + m_RootOrder: 4 +--- !u!4 &490586 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 171482} + m_LocalRotation: {x: -.00271863816, y: .0103607196, z: .172953114, w: .984871805} + m_LocalPosition: {x: .0419410542, y: -5.55255619e-09, z: -6.21724896e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 423096} + m_Father: {fileID: 453572} + m_RootOrder: 0 +--- !u!4 &491164 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 180770} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0512651056, y: .0809395611, z: .0305770561} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 10 +--- !u!4 &492038 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 165978} + m_LocalRotation: {x: 0, y: -0, z: -.0545257628, w: .998512387} + m_LocalPosition: {x: -.0328966007, y: .00924053602, z: -2.49008786e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 441242} + m_Father: {fileID: 409004} + m_RootOrder: 4 +--- !u!4 &493484 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 192358} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.0259246603, y: 2.84189099e-07, z: 5.00731403e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 473758} + m_RootOrder: 0 +--- !u!4 &493498 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 123450} + m_LocalRotation: {x: -.00267711561, y: .0114483275, z: .18181093, w: .983263195} + m_LocalPosition: {x: -.0390104167, y: -7.26303085e-07, z: -1.65372196e-08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 411610} + m_Father: {fileID: 440798} + m_RootOrder: 0 +--- !u!4 &494282 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196820} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.00565747404, y: .114476994, z: -3.11913495e-09} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 430240} + m_RootOrder: 15 +--- !u!4 &496504 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153496} + m_LocalRotation: {x: -.5, y: .5, z: .5, w: .5} + m_LocalPosition: {x: -.0896633491, y: -.134548858, z: 3.22929638e-15} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 465652} + - {fileID: 400234} + m_Father: {fileID: 409004} + m_RootOrder: 0 +--- !u!4 &497046 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 189048} + m_LocalRotation: {x: -.0258584563, y: -.247323707, z: -.00678697415, w: .968564034} + m_LocalPosition: {x: -.0463604517, y: -.146909669, z: .0260198321} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 400234} + m_RootOrder: 0 +--- !u!4 &498056 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 173484} + m_LocalRotation: {x: 0, y: 0, z: .0181748699, w: .999834836} + m_LocalPosition: {x: .00092293194, y: -.0719259977, z: -.0053926562} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 465652} + m_RootOrder: 0 +--- !u!4 &499944 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 130822} + m_LocalRotation: {x: -.00448391354, y: .511044204, z: -.00900415238, w: .85949558} + m_LocalPosition: {x: -.182733744, y: .00686469488, z: .0454896428} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 470522} + m_Father: {fileID: 408636} + m_RootOrder: 0 +--- !u!20 &2050550 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137590} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -100 + m_CullingMask: + serializedVersion: 2 + m_Bits: 0 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2064682 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121902} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 3 + m_BackGroundColor: {r: 1, g: 0, b: 1, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: .5 + m_Depth: 100 + m_CullingMask: + serializedVersion: 2 + m_Bits: 0 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2068548 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 147196} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2094366 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153380} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: .5 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!20 &2094626 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140174} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: .5 + y: 0 + width: .5 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!81 &8173864 +AudioListener: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 147196} + m_Enabled: 1 +--- !u!82 &8246840 +AudioSource: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 +--- !u!92 &9241340 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121902} + m_Enabled: 1 +--- !u!92 &9257180 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 147196} + m_Enabled: 1 +--- !u!95 &9523862 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: 754f4f701089c1e409a9947c3f076d77, type: 3} + m_Controller: {fileID: 9100000, guid: c50c47c47d160ef4d9e09a9bc0d612cf, type: 2} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!114 &11400434 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ba5e7a4812412904abea60a6b5b9b345, type: 3} + m_Name: + m_EditorClassIdentifier: + DebugAudio: 0 + Mute: 0 +--- !u!114 &11401782 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137590} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20fb7fbcfb2e642bba6211eb9ea19962, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11403206 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c9cfdc6c389e2742aa40f991195d828, type: 3} + m_Name: + m_EditorClassIdentifier: + eye: 1 + toggleCullingMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &11405690 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b87ea445a48e9f44ab51e80325d56b0a, type: 3} + m_Name: + m_EditorClassIdentifier: + Shader: {fileID: 4800000, guid: 36a3aa3217d66c645a4665ff1490cb28, type: 3} + White: {r: .764705896, g: .922109604, b: 1, a: 1} + Mode: 1 +--- !u!114 &11416408 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121902} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3995cc6db284649a793472ad14b220f6, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11419366 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 37e648258903e5c4c82783517e051764, type: 3} + m_Name: + m_EditorClassIdentifier: + leftBrow: {fileID: 434722} + rightBrow: {fileID: 465330} + xUpperBound: -.0697000027 + xLowerBound: -.0614 + maxRandomEyeInterval: 5 +--- !u!114 &11429054 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca697a6f27a261442a2c082beee1b411, type: 3} + m_Name: + m_EditorClassIdentifier: + ChunkSize: 6400 + Mode: 0 + PushToTalk: 0 + AmplitudeThreshold: .25 +--- !u!114 &11433720 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a192b9308dc49746bafbdf676015f2a, type: 3} + m_Name: + m_EditorClassIdentifier: + leftEyelidUp: {fileID: 451754} + leftEyelidDown: {fileID: 491164} + rightEyelidUp: {fileID: 445490} + rightEyelidDown: {fileID: 452588} + openRotationUp: {x: 0, y: 0, z: 0} + closedRotationUp: {x: 0, y: 0, z: -32} + openRotationDown: {x: 0, y: 0, z: 0} + closedRotationDown: {x: 0, y: 0, z: 5} + blinkDuration: .100000001 + minBlinkDelay: 2 + maxBlinkDelay: 4 +--- !u!114 &11435836 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5137a2f51fcebbd4bb76494d102fa8a3, type: 3} + m_Name: + m_EditorClassIdentifier: + ShowLobbyGUI: 1 + audioListener: {fileID: 8173864} + cardboard: {fileID: 129524} + meshRenderer: {fileID: 13790996} +--- !u!114 &11440330 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 372142912, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SceneId: + m_Value: 0 + m_AssetId: + i0: 29 + i1: 122 + i2: 163 + i3: 96 + i4: 208 + i5: 123 + i6: 151 + i7: 36 + i8: 170 + i9: 1 + i10: 202 + i11: 234 + i12: 153 + i13: 158 + i14: 80 + i15: 239 + m_ServerOnly: 0 + m_LocalPlayerAuthority: 1 +--- !u!114 &11441074 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df01baf1d8bb77b42992d2ac0e574866, type: 3} + m_Name: + m_EditorClassIdentifier: + VoipListeners: + - {fileID: 118444} + DebugListeners: [] +--- !u!114 &11447600 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153380} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c9cfdc6c389e2742aa40f991195d828, type: 3} + m_Name: + m_EditorClassIdentifier: + eye: 0 + toggleCullingMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &11454554 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e65a7dca8d2d7547aa6097b95cd5835, type: 3} + m_Name: + m_EditorClassIdentifier: + leftEye: {fileID: 439730} + rightEye: {fileID: 487534} + zUpperBound: 0 + zLowerBound: -14 + xUpperBound: 14 + xLowerBound: -14 + maxRandomEyeInterval: 2 +--- !u!114 &11459736 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6e00d42098a712e4bb865682007cfe50, type: 3} + m_Name: + m_EditorClassIdentifier: + IsThreeDimensional: 0 + Equalize: 0 + EqualizeSpeed: 1 + TargetEqualizeVolume: .75 + MaxEqualization: 5 +--- !u!114 &11463890 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153380} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b87ea445a48e9f44ab51e80325d56b0a, type: 3} + m_Name: + m_EditorClassIdentifier: + Shader: {fileID: 4800000, guid: 36a3aa3217d66c645a4665ff1490cb28, type: 3} + White: {r: .764705896, g: .922109604, b: 1, a: 1} + Mode: 1 +--- !u!114 &11470302 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1267208747, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Target: {fileID: 453474} + m_ChildIndex: 0 + m_SendInterval: .100000001 + m_SyncRotationAxis: 7 + m_RotationSyncCompression: 0 + m_MovementThreshold: .00100000005 + m_InterpolateRotation: .5 + m_InterpolateMovement: .5 +--- !u!114 &11474516 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1efaf164be351314abc0047a237032a0, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 453474} + targetRoot: {fileID: 448362} + updateEarly: 0 + xRotateUp: 45 + xRotateDown: 40 +--- !u!114 &11475206 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e904559f96a703943a92e743db837fb8, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11478454 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f50ba37c4b95a194c907715146d79753, type: 3} + m_Name: + m_EditorClassIdentifier: + mouthMovement: {fileID: 11485436} + voiceTranceiver: {fileID: 11475206} + talkingTimeout: .5 +--- !u!114 &11483452 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1768714887, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransformSyncMode: 1 + m_SendInterval: .100000001 + m_SyncRotationAxis: 7 + m_RotationSyncCompression: 0 + m_SyncSpin: 0 + m_MovementTheshold: .00100000005 + m_SnapThreshold: 5 + m_InterpolateRotation: 1 + m_InterpolateMovement: 1 +--- !u!114 &11485436 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 82494526d72b080449b2ce37c18d1c3e, type: 3} + m_Name: + m_EditorClassIdentifier: + talking: 0 + jaw: {fileID: 458010} + upperLip: {fileID: 418536} + jawRestPosition: 0 + jawFullOpenPosition: -11 + upperLipRestPosition: .0149576403 + upperLipOpenPosition: .0115 +--- !u!114 &11489382 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 147196} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b6788e8e1b3f7447db6657ef0959d3ce, type: 3} + m_Name: + m_EditorClassIdentifier: + directRender: 1 + keepStereoUpdated: 0 + stereoMultiplier: 1 + matchMonoFOV: 0 + matchByZoom: 0 + centerOfInterest: {fileID: 0} + radiusOfInterest: 0 + checkStereoComfort: 1 + stereoAdjustSmoothing: .100000001 + screenParallax: 0 + stereoPaddingX: 0 + stereoPaddingY: 0 +--- !u!114 &11496252 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a40b544b8c3553c40852ae7ad35a9343, type: 3} + m_Name: + m_EditorClassIdentifier: + vrModeEnabled: 1 + distortionCorrection: 2 + enableAlignmentMarker: 1 + enableSettingsButton: 1 + backButtonMode: 1 + tapIsTrigger: 1 + neckModelScale: 1 + autoDriftCorrection: 1 + electronicDisplayStabilization: 0 + autoUntiltHead: 1 + UseUnityRemoteInput: 0 + screenSize: 0 + deviceType: 0 + stereoScreenScale: 1 +--- !u!124 &12415444 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153380} + m_Enabled: 1 +--- !u!124 &12458018 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 147196} + m_Enabled: 1 +--- !u!124 &12477906 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140174} + m_Enabled: 1 +--- !u!137 &13790996 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148096} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 65baca9ac41766a478c3c111ea4b45d5, type: 2} + - {fileID: 2100000, guid: 67e9014c59f633e47aae91bfc8bb6384, type: 2} + - {fileID: 2100000, guid: c5aae1ce29b83d84184e11d4d5210795, type: 2} + - {fileID: 2100000, guid: f9512ada609cdfa43aace8e1f9846bdb, type: 2} + - {fileID: 2100000, guid: 927669371948216429ba5feb939f4fbe, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_Mesh: {fileID: 4300000, guid: 754f4f701089c1e409a9947c3f076d77, type: 3} + m_Bones: + - {fileID: 451086} + - {fileID: 456728} + - {fileID: 409004} + - {fileID: 467412} + - {fileID: 468602} + - {fileID: 472294} + - {fileID: 429832} + - {fileID: 492038} + - {fileID: 441242} + - {fileID: 408636} + - {fileID: 448140} + - {fileID: 430240} + - {fileID: 458010} + - {fileID: 436888} + - {fileID: 404574} + - {fileID: 471448} + - {fileID: 431068} + - {fileID: 445386} + - {fileID: 478386} + - {fileID: 442236} + - {fileID: 459484} + - {fileID: 418536} + - {fileID: 447226} + - {fileID: 484756} + - {fileID: 474312} + - {fileID: 429238} + - {fileID: 438802} + - {fileID: 494282} + - {fileID: 437152} + - {fileID: 444256} + - {fileID: 445490} + - {fileID: 465330} + - {fileID: 486286} + - {fileID: 400766} + - {fileID: 444456} + - {fileID: 452462} + - {fileID: 434722} + - {fileID: 445740} + - {fileID: 487534} + - {fileID: 452588} + - {fileID: 451754} + - {fileID: 439730} + - {fileID: 491164} + - {fileID: 437218} + - {fileID: 457578} + - {fileID: 499944} + - {fileID: 470522} + - {fileID: 477102} + - {fileID: 466146} + - {fileID: 424820} + - {fileID: 426202} + - {fileID: 436372} + - {fileID: 401280} + - {fileID: 490370} + - {fileID: 456024} + - {fileID: 456182} + - {fileID: 487610} + - {fileID: 462822} + - {fileID: 410630} + - {fileID: 411570} + - {fileID: 451074} + - {fileID: 453572} + - {fileID: 490586} + - {fileID: 423096} + - {fileID: 420616} + - {fileID: 489846} + - {fileID: 474448} + - {fileID: 483246} + - {fileID: 413214} + - {fileID: 484394} + - {fileID: 489448} + - {fileID: 431290} + - {fileID: 488672} + - {fileID: 427824} + - {fileID: 404684} + - {fileID: 433904} + - {fileID: 433940} + - {fileID: 416778} + - {fileID: 420784} + - {fileID: 451478} + - {fileID: 406932} + - {fileID: 427862} + - {fileID: 449496} + - {fileID: 440798} + - {fileID: 493498} + - {fileID: 411610} + - {fileID: 444570} + - {fileID: 457922} + - {fileID: 405344} + - {fileID: 473758} + - {fileID: 493484} + - {fileID: 465390} + - {fileID: 434830} + - {fileID: 460222} + - {fileID: 438210} + - {fileID: 461732} + - {fileID: 485452} + - {fileID: 436294} + - {fileID: 402036} + - {fileID: 424536} + - {fileID: 435960} + - {fileID: 496504} + - {fileID: 465652} + - {fileID: 498056} + - {fileID: 400234} + - {fileID: 497046} + - {fileID: 418106} + - {fileID: 467220} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 451086} + m_AABB: + m_Center: {x: -.930208325, y: -.0488358662, z: 0} + m_Extent: {x: .943357706, y: .223088175, z: .710543811} + m_DirtyAABB: 0 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 118444} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/GamePlayer_Role3.prefab.meta b/Assets/Prefabs/GamePlayer_Role3.prefab.meta new file mode 100644 index 0000000..21dede2 --- /dev/null +++ b/Assets/Prefabs/GamePlayer_Role3.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d7aa360d07b9724aa01caea999e50ef +timeCreated: 1452109460 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/GamePlayer_Spectator.prefab b/Assets/Prefabs/GamePlayer_Spectator.prefab new file mode 100644 index 0000000..a714de6 --- /dev/null +++ b/Assets/Prefabs/GamePlayer_Spectator.prefab @@ -0,0 +1,325 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &157834 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 470886} + - 114: {fileID: 11410162} + - 114: {fileID: 11401118} + - 114: {fileID: 11441898} + - 82: {fileID: 8233624} + - 114: {fileID: 11481828} + m_Layer: 0 + m_Name: GamePlayer_Spectator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &184210 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 407174} + - 20: {fileID: 2068186} + - 124: {fileID: 12439270} + - 92: {fileID: 9212562} + - 81: {fileID: 8106632} + - 114: {fileID: 11446416} + - 114: {fileID: 11492980} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &407174 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 184210} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470886} + m_RootOrder: 0 +--- !u!4 &470886 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157834} + m_LocalRotation: {x: .707106829, y: 0, z: 0, w: .707106709} + m_LocalPosition: {x: .550000012, y: 6.53000021, z: -1.34000003} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 407174} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!20 &2068186 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 184210} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!81 &8106632 +AudioListener: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 184210} + m_Enabled: 1 +--- !u!82 &8233624 +AudioSource: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157834} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 +--- !u!92 &9212562 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 184210} + m_Enabled: 1 +--- !u!114 &11401118 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157834} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df01baf1d8bb77b42992d2ac0e574866, type: 3} + m_Name: + m_EditorClassIdentifier: + VoipListeners: + - {fileID: 157834} + DebugListeners: [] +--- !u!114 &11410162 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157834} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 372142912, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SceneId: + m_Value: 0 + m_AssetId: + i0: 204 + i1: 116 + i2: 148 + i3: 109 + i4: 81 + i5: 16 + i6: 105 + i7: 68 + i8: 232 + i9: 130 + i10: 174 + i11: 125 + i12: 54 + i13: 211 + i14: 61 + i15: 156 + m_ServerOnly: 0 + m_LocalPlayerAuthority: 1 +--- !u!114 &11441898 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157834} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e904559f96a703943a92e743db837fb8, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11446416 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 184210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b87ea445a48e9f44ab51e80325d56b0a, type: 3} + m_Name: + m_EditorClassIdentifier: + Shader: {fileID: 4800000, guid: 36a3aa3217d66c645a4665ff1490cb28, type: 3} + White: {r: .757352948, g: .939756632, b: 1, a: 1} + Mode: 1 +--- !u!114 &11481828 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157834} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6e00d42098a712e4bb865682007cfe50, type: 3} + m_Name: + m_EditorClassIdentifier: + IsThreeDimensional: 0 + Equalize: 0 + EqualizeSpeed: 1 + TargetEqualizeVolume: .75 + MaxEqualization: 5 +--- !u!114 &11492980 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 184210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1a68a07a89112f5468935a5a2ed498a4, type: 3} + m_Name: + m_EditorClassIdentifier: + clampInDegrees: {x: 360, y: 180} + lockCursor: 0 + sensitivity: {x: 2, y: 2} + smoothing: {x: 3, y: 3} + targetDirection: {x: 0, y: 0} + targetCharacterDirection: {x: 0, y: 0} + characterBody: {fileID: 0} +--- !u!124 &12439270 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 184210} + m_Enabled: 1 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: White.r + value: .757352948 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: White.g + value: .939756632 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: White.b + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 157834} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/GamePlayer_Spectator.prefab.meta b/Assets/Prefabs/GamePlayer_Spectator.prefab.meta new file mode 100644 index 0000000..ddc25ec --- /dev/null +++ b/Assets/Prefabs/GamePlayer_Spectator.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cc74946d51106944e882ae7d36d33d9c +timeCreated: 1452195724 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Ubuntu clock.prefab b/Assets/Prefabs/Ubuntu clock.prefab new file mode 100644 index 0000000..bbce354 --- /dev/null +++ b/Assets/Prefabs/Ubuntu clock.prefab @@ -0,0 +1,713 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &141864 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 466596} + - 33: {fileID: 3354196} + - 23: {fileID: 2338044} + m_Layer: 0 + m_Name: gauche + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &154416 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 443764} + - 114: {fileID: 11469724} + m_Layer: 0 + m_Name: clock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &161810 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 455622} + - 33: {fileID: 3310794} + - 23: {fileID: 2393192} + m_Layer: 0 + m_Name: heure + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &174426 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 452292} + - 33: {fileID: 3363450} + - 23: {fileID: 2330376} + m_Layer: 0 + m_Name: centre + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &183364 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 496360} + - 33: {fileID: 3358004} + - 23: {fileID: 2380406} + m_Layer: 0 + m_Name: seconds + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185750 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 438774} + m_Layer: 0 + m_Name: Ubuntu clock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &186012 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 476620} + - 33: {fileID: 3367382} + - 23: {fileID: 2377970} + m_Layer: 0 + m_Name: rond_gauche + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &186674 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 453276} + - 33: {fileID: 3334368} + - 23: {fileID: 2315716} + m_Layer: 0 + m_Name: bas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &187786 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 417086} + - 33: {fileID: 3340424} + - 23: {fileID: 2369496} + m_Layer: 0 + m_Name: minute + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &188656 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 406222} + - 33: {fileID: 3390626} + - 23: {fileID: 2399682} + m_Layer: 0 + m_Name: rond_haut + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &194270 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 495366} + - 33: {fileID: 3387578} + - 23: {fileID: 2328684} + m_Layer: 0 + m_Name: haut + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &199932 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 408100} + - 33: {fileID: 3367364} + - 23: {fileID: 2375520} + m_Layer: 0 + m_Name: rond_bas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &406222 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188656} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 443764} + m_RootOrder: 9 +--- !u!4 &408100 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199932} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 443764} + m_RootOrder: 7 +--- !u!4 &417086 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 187786} + m_LocalRotation: {x: 0, y: 0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: .135000005, z: 0} + m_LocalScale: {x: 1, y: 1, z: .888265014} + m_Children: [] + m_Father: {fileID: 443764} + m_RootOrder: 5 +--- !u!4 &438774 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185750} + m_LocalRotation: {x: -1.15202326e-07, y: .707106709, z: -.707106829, w: -1.15202312e-07} + m_LocalPosition: {x: 1.55999994, y: 2.5079999, z: 2.63499999} + m_LocalScale: {x: 1.34017348, y: 1.34017336, z: -1.34017336} + m_Children: + - {fileID: 443764} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &443764 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 154416} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -.0189999994, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 453276} + - {fileID: 466596} + - {fileID: 495366} + - {fileID: 452292} + - {fileID: 455622} + - {fileID: 417086} + - {fileID: 496360} + - {fileID: 408100} + - {fileID: 476620} + - {fileID: 406222} + m_Father: {fileID: 438774} + m_RootOrder: 0 +--- !u!4 &452292 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174426} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0, y: .135000005, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 443764} + m_RootOrder: 3 +--- !u!4 &453276 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 186674} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 443764} + m_RootOrder: 0 +--- !u!4 &455622 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161810} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0, y: .135000005, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 443764} + m_RootOrder: 4 +--- !u!4 &466596 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 141864} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 443764} + m_RootOrder: 1 +--- !u!4 &476620 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 186012} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 443764} + m_RootOrder: 8 +--- !u!4 &495366 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194270} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 443764} + m_RootOrder: 2 +--- !u!4 &496360 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183364} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0, y: .135000005, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 443764} + m_RootOrder: 6 +--- !u!23 &2315716 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 186674} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: e98cb919328983f41bd99557f44fc095, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &2328684 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194270} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: a84a5e0dd799942408d7a3d63e022784, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &2330376 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174426} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 44d55bba84b2bc348a0e99384c17b385, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &2338044 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 141864} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 0ae4f1f9d59edb640bbfd54c395e4aab, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &2369496 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 187786} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 44d55bba84b2bc348a0e99384c17b385, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &2375520 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199932} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 0ae4f1f9d59edb640bbfd54c395e4aab, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &2377970 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 186012} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: a84a5e0dd799942408d7a3d63e022784, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &2380406 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183364} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: f45d2a714499c6c4b830a5dac5684278, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &2393192 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161810} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 44d55bba84b2bc348a0e99384c17b385, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!23 &2399682 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188656} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: e98cb919328983f41bd99557f44fc095, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3310794 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161810} + m_Mesh: {fileID: 4300000, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} +--- !u!33 &3334368 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 186674} + m_Mesh: {fileID: 4300008, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} +--- !u!33 &3340424 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 187786} + m_Mesh: {fileID: 4300014, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} +--- !u!33 &3354196 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 141864} + m_Mesh: {fileID: 4300010, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} +--- !u!33 &3358004 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183364} + m_Mesh: {fileID: 4300018, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} +--- !u!33 &3363450 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174426} + m_Mesh: {fileID: 4300016, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} +--- !u!33 &3367364 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199932} + m_Mesh: {fileID: 4300012, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} +--- !u!33 &3367382 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 186012} + m_Mesh: {fileID: 4300004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} +--- !u!33 &3387578 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194270} + m_Mesh: {fileID: 4300006, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} +--- !u!33 &3390626 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188656} + m_Mesh: {fileID: 4300002, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} +--- !u!114 &11469724 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 154416} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9114ddb27eafc5a4297dcb2e0d9740e6, type: 3} + m_Name: + m_EditorClassIdentifier: + minutes: {fileID: 417086} + hours: {fileID: 455622} + seconds: {fileID: 496360} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 185750} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/Ubuntu clock.prefab.meta b/Assets/Prefabs/Ubuntu clock.prefab.meta new file mode 100644 index 0000000..82687c3 --- /dev/null +++ b/Assets/Prefabs/Ubuntu clock.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7bb1d8da79a65b943821f143b22a3b89 +timeCreated: 1448836575 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Empty.unity b/Assets/Scenes/Empty.unity new file mode 100644 index 0000000..d76843f --- /dev/null +++ b/Assets/Scenes/Empty.unity @@ -0,0 +1,147 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &43019689 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 43019691} + - 108: {fileID: 43019690} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &43019690 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 43019689} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: .956862748, b: .839215696, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &43019691 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 43019689} + m_LocalRotation: {x: .408217937, y: -.234569728, z: .109381676, w: .875426054} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 diff --git a/Assets/Scenes/NetworkTest_Host.unity.meta b/Assets/Scenes/Empty.unity.meta similarity index 64% rename from Assets/Scenes/NetworkTest_Host.unity.meta rename to Assets/Scenes/Empty.unity.meta index 3fb1ecc..0b07ca9 100644 --- a/Assets/Scenes/NetworkTest_Host.unity.meta +++ b/Assets/Scenes/Empty.unity.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: f54df5c511303cc46a447d9572cf817c -timeCreated: 1445552034 +guid: 4e03040823ad31d43879fabcce8e50cd +timeCreated: 1451753504 licenseType: Free DefaultImporter: userData: diff --git a/Assets/Scenes/LaTienda.unity b/Assets/Scenes/LaTienda.unity new file mode 100644 index 0000000..3979954 --- /dev/null +++ b/Assets/Scenes/LaTienda.unity @@ -0,0 +1,17644 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .948529422, g: .854178011, b: .753243923, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: .850000024 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 2100000, guid: da976b1a4f7ebb949b0f71341e4f1821, type: 2} + m_HaloStrength: .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: .943000019 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &7093699 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1061458204} + m_Modifications: + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalPosition.x + value: .152999997 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalPosition.y + value: .505999982 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalPosition.z + value: 1.51199996 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &7093700 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + m_PrefabInternal: {fileID: 7093699} +--- !u!1001 &10171610 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1614194353} + m_Modifications: + - target: {fileID: 452422, guid: 8572e32155e8d1b4381a69b473e1994b, type: 2} + propertyPath: m_LocalPosition.x + value: -3.85899997 + objectReference: {fileID: 0} + - target: {fileID: 452422, guid: 8572e32155e8d1b4381a69b473e1994b, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452422, guid: 8572e32155e8d1b4381a69b473e1994b, type: 2} + propertyPath: m_LocalPosition.z + value: -.163001359 + objectReference: {fileID: 0} + - target: {fileID: 452422, guid: 8572e32155e8d1b4381a69b473e1994b, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452422, guid: 8572e32155e8d1b4381a69b473e1994b, type: 2} + propertyPath: m_LocalRotation.y + value: -.707106829 + objectReference: {fileID: 0} + - target: {fileID: 452422, guid: 8572e32155e8d1b4381a69b473e1994b, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452422, guid: 8572e32155e8d1b4381a69b473e1994b, type: 2} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 452422, guid: 8572e32155e8d1b4381a69b473e1994b, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 8572e32155e8d1b4381a69b473e1994b, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &15566886 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1586238664} + m_Modifications: + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.x + value: -.500999987 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.y + value: .526000023 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.z + value: -.688000023 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.x + value: -.5 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.y + value: .5 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.z + value: .500000119 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.w + value: .49999994 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 177230, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_Name + value: Crate (5) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &15566887 stripped +Transform: + m_PrefabParentObject: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + m_PrefabInternal: {fileID: 15566886} +--- !u!1001 &17825224 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.x + value: -.206806332 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.y + value: -.629999995 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.z + value: -.590149343 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.y + value: -.667917609 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.w + value: .744235277 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_RootOrder + value: 55 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &18920203 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 18920204} + - 33: {fileID: 18920207} + - 64: {fileID: 18920206} + - 23: {fileID: 18920205} + m_Layer: 0 + m_Name: Wall west (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &18920204 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 18920203} + m_LocalRotation: {x: .500000238, y: .499999821, z: .499999911, w: -.500000119} + m_LocalPosition: {x: -2.67000008, y: -2.48000002, z: 2.72000003} + m_LocalScale: {x: .18108882, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 334450669} + m_RootOrder: 6 +--- !u!23 &18920205 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 18920203} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 27d5ccce623dcc94581f415e8bca379c, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &18920206 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 18920203} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &18920207 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 18920203} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &24679377 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + m_PrefabInternal: {fileID: 2009829147} +--- !u!1001 &33106296 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 482842, guid: 250b8535a3cb7724c9ed47ec6775c695, type: 2} + propertyPath: m_LocalPosition.x + value: .0359684005 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 250b8535a3cb7724c9ed47ec6775c695, type: 2} + propertyPath: m_LocalPosition.y + value: -.51700002 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 250b8535a3cb7724c9ed47ec6775c695, type: 2} + propertyPath: m_LocalPosition.z + value: 1.2504065 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 250b8535a3cb7724c9ed47ec6775c695, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 250b8535a3cb7724c9ed47ec6775c695, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 250b8535a3cb7724c9ed47ec6775c695, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 250b8535a3cb7724c9ed47ec6775c695, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 250b8535a3cb7724c9ed47ec6775c695, type: 2} + propertyPath: m_RootOrder + value: 62 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 250b8535a3cb7724c9ed47ec6775c695, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &34722618 stripped +Transform: + m_PrefabParentObject: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + m_PrefabInternal: {fileID: 635638925} +--- !u!1 &37241151 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 37241152} + - 33: {fileID: 37241155} + - 64: {fileID: 37241154} + - 23: {fileID: 37241153} + m_Layer: 0 + m_Name: Wall west (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &37241152 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 37241151} + m_LocalRotation: {x: .500000238, y: .499999821, z: .499999911, w: -.500000119} + m_LocalPosition: {x: -2.67000008, y: -2.41599989, z: -2.69000006} + m_LocalScale: {x: .305829525, y: 1, z: .38086924} + m_Children: [] + m_Father: {fileID: 334450669} + m_RootOrder: 9 +--- !u!23 &37241153 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 37241151} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 27d5ccce623dcc94581f415e8bca379c, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &37241154 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 37241151} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &37241155 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 37241151} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &37369411 stripped +Transform: + m_PrefabParentObject: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + m_PrefabInternal: {fileID: 829984281} +--- !u!1001 &38781369 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: -.0850000978 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: .0410000011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: -.209541693 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: .977799714 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &38781370 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 38781369} +--- !u!4 &41543892 stripped +Transform: + m_PrefabParentObject: {fileID: 482842, guid: 250b8535a3cb7724c9ed47ec6775c695, type: 2} + m_PrefabInternal: {fileID: 33106296} +--- !u!1 &48572011 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 176512, guid: 05e12718a026aff48b74981ba2f5f357, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 48572014} + - 33: {fileID: 48572013} + - 23: {fileID: 48572012} + m_Layer: 0 + m_Name: blank + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &48572012 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2306352, guid: 05e12718a026aff48b74981ba2f5f357, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 48572011} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: cfe8ea0cad87d3f46baf1a6dd18c6b09, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &48572013 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3370718, guid: 05e12718a026aff48b74981ba2f5f357, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 48572011} + m_Mesh: {fileID: 4300000, guid: ea4c342f173eaee4ebd8d9ba978c2505, type: 3} +--- !u!4 &48572014 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 496008, guid: 05e12718a026aff48b74981ba2f5f357, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 48572011} + m_LocalRotation: {x: 0, y: -.998542845, z: 0, w: .053964667} + m_LocalPosition: {x: .0876288638, y: -.619700432, z: 1.6712904} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1193049470} + m_RootOrder: 16 +--- !u!1001 &52930983 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: .0410000011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &52930984 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 52930983} +--- !u!1001 &54409324 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.x + value: .445191085 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.y + value: -.493999988 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.z + value: 3.42016506 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.y + value: .744235396 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.w + value: .66791749 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &69564092 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.x + value: .134040594 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.y + value: .0429999828 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.z + value: .95813477 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.y + value: .174536973 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.w + value: .984650671 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_RootOrder + value: 27 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Tuna_256 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &70254913 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1614194353} + m_Modifications: + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 179606, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_Name + value: Shelf A (beverages) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &70254914 stripped +Transform: + m_PrefabParentObject: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + m_PrefabInternal: {fileID: 70254913} +--- !u!1 &74307083 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 74307087} + - 33: {fileID: 74307086} + - 64: {fileID: 74307085} + - 23: {fileID: 74307084} + m_Layer: 0 + m_Name: Ceiling + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &74307084 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 74307083} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: c0805108e1d0a5449b8381eff06c352d, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &74307085 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 74307083} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &74307086 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 74307083} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &74307087 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 74307083} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.11999989, y: 2.2980001, z: -.170444965} + m_LocalScale: {x: 1, y: -1.25738013, z: 1} + m_Children: [] + m_Father: {fileID: 334450669} + m_RootOrder: 4 +--- !u!1001 &76257960 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalRotation.x + value: -.00167350937 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalRotation.y + value: -.00193716155 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalRotation.z + value: 5.71990895e-05 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalRotation.w + value: .999996722 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Potatoes_256 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &77678841 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 77678842} + m_Layer: 0 + m_Name: BBQ sauce + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &77678842 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 77678841} + m_LocalRotation: {x: 0, y: -.744235158, z: 0, w: -.667917728} + m_LocalPosition: {x: .432640344, y: -.513999999, z: 2.9425118} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1147181266} + - {fileID: 2083557587} + - {fileID: 1950574137} + - {fileID: 474771632} + - {fileID: 1294717309} + - {fileID: 660308007} + - {fileID: 264580209} + - {fileID: 1430608980} + - {fileID: 1516911942} + - {fileID: 1772478007} + - {fileID: 2020078726} + - {fileID: 551949983} + m_Father: {fileID: 1193049470} + m_RootOrder: 64 +--- !u!1001 &79203884 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalPosition.x + value: -.222000003 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalPosition.y + value: -.514999986 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalPosition.z + value: -.875999987 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalRotation.y + value: .0563286208 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalRotation.w + value: .998412311 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_RootOrder + value: 51 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Coffee_256 (1) + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 9500000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + m_ParentPrefab: {fileID: 100100000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &79203885 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + m_PrefabInternal: {fileID: 79203884} +--- !u!4 &84403704 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 2129328263} +--- !u!1001 &88630491 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.x + value: .252999991 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.y + value: .510110795 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.z + value: 2.45099998 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.y + value: .0646387935 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.w + value: .997908771 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_RootOrder + value: 33 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Beans_256 (2) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 0} + m_ParentPrefab: {fileID: 100100000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &92002772 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100006, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 92002773} + - 33: {fileID: 92002776} + - 23: {fileID: 92002775} + - 64: {fileID: 92002774} + m_Layer: 0 + m_Name: stairsA300 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &92002773 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400020, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 92002772} + m_LocalRotation: {x: 0, y: -0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1711300013} + m_RootOrder: 8 +--- !u!64 &92002774 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6400018, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 92002772} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 4300012, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!23 &92002775 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300012, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 92002772} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: f88d2280f9420c1409cd9f38b13c9b35, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &92002776 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300012, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 92002772} + m_Mesh: {fileID: 4300012, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!1001 &95551458 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2039494079} + m_Modifications: + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_Name + value: SGP_PRE_Crackers_512 (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &99091644 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 743971936} +--- !u!1 &99601703 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 99601704} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &99601704 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 99601703} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1268808995} + m_RootOrder: 3 +--- !u!1001 &105524397 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.126000017 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.0850000829 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (14) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &108249389 stripped +Transform: + m_PrefabParentObject: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + m_PrefabInternal: {fileID: 971420275} +--- !u!1 &112409685 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 112409686} + m_Layer: 0 + m_Name: jams + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &112409686 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 112409685} + m_LocalRotation: {x: 0, y: -.707106829, z: 0, w: .707106709} + m_LocalPosition: {x: .369085789, y: .79425019, z: -.181777507} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1096269797} + - {fileID: 1390132605} + - {fileID: 123953049} + m_Father: {fileID: 1020197931} + m_RootOrder: 1 +--- !u!1001 &123953048 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 112409686} + m_Modifications: + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalPosition.x + value: -.209999993 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalPosition.y + value: .320000052 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalPosition.z + value: .448000014 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.y + value: -.102269746 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.w + value: .994756758 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_Name + value: SGP_PRE_Jam_512 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &123953049 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + m_PrefabInternal: {fileID: 123953048} +--- !u!4 &128759528 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1621780989} +--- !u!1 &142819547 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 142819548} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &142819548 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 142819547} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1186639874} + m_RootOrder: 2 +--- !u!1001 &149417026 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1871687743} + m_Modifications: + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalPosition.x + value: .0900000036 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &149417027 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + m_PrefabInternal: {fileID: 149417026} +--- !u!1001 &152742640 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalPosition.x + value: .18179056 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalPosition.y + value: 1.028 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalPosition.z + value: 1.97390485 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.y + value: -.00327640027 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.w + value: .999994636 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_RootOrder + value: 39 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Flour_256 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &159975360 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalPosition.x + value: .184281245 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalPosition.y + value: .498999953 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalPosition.z + value: 3.60211968 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_RootOrder + value: 60 + objectReference: {fileID: 0} + - target: {fileID: 137114, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_Name + value: Food Can Pack A (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &161978664 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 432784, guid: 672762b3e00acf446af73b8cc7e0ed15, type: 2} + propertyPath: m_LocalPosition.x + value: .611000001 + objectReference: {fileID: 0} + - target: {fileID: 432784, guid: 672762b3e00acf446af73b8cc7e0ed15, type: 2} + propertyPath: m_LocalPosition.y + value: .0309999995 + objectReference: {fileID: 0} + - target: {fileID: 432784, guid: 672762b3e00acf446af73b8cc7e0ed15, type: 2} + propertyPath: m_LocalPosition.z + value: -4.41200018 + objectReference: {fileID: 0} + - target: {fileID: 432784, guid: 672762b3e00acf446af73b8cc7e0ed15, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 432784, guid: 672762b3e00acf446af73b8cc7e0ed15, type: 2} + propertyPath: m_LocalRotation.y + value: .895253897 + objectReference: {fileID: 0} + - target: {fileID: 432784, guid: 672762b3e00acf446af73b8cc7e0ed15, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 432784, guid: 672762b3e00acf446af73b8cc7e0ed15, type: 2} + propertyPath: m_LocalRotation.w + value: -.445556402 + objectReference: {fileID: 0} + - target: {fileID: 432784, guid: 672762b3e00acf446af73b8cc7e0ed15, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 672762b3e00acf446af73b8cc7e0ed15, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &162742920 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1866895040} + m_Modifications: + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.x + value: -.63499999 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.y + value: .405000001 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.z + value: -.109999999 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.y + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 148786, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_Name + value: Cardboard Box A (3) + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &166561006 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1614194353} + m_Modifications: + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.x + value: 1.01999998 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 179606, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_Name + value: Shelf A (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &166561007 stripped +Transform: + m_PrefabParentObject: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + m_PrefabInternal: {fileID: 166561006} +--- !u!1001 &168249048 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.x + value: .0149999997 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.y + value: .503000021 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.z + value: .874000013 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.y + value: -.667917609 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.w + value: .744235277 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_RootOrder + value: 41 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.x + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 107528, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_Name + value: milk carton (2) + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &171394497 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 171394498} + m_Layer: 0 + m_Name: Freezers + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &171394498 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 171394497} + m_LocalRotation: {x: 0, y: 1, z: 0, w: -1.62920685e-07} + m_LocalPosition: {x: 3.54999995, y: 0, z: -4.48000002} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 602905904} + - {fileID: 1215687898} + - {fileID: 298793625} + m_Father: {fileID: 0} + m_RootOrder: 21 +--- !u!1001 &183684459 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2029825768} + m_Modifications: + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.x + value: -.0142581714 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.z + value: .200516313 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.y + value: -.0769761503 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.w + value: .997033 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_Name + value: SGP_PRE_Honey_512 (3) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &185007790 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_PrefabInternal: {fileID: 1055496685} +--- !u!4 &187055028 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + m_PrefabInternal: {fileID: 955609436} +--- !u!4 &191857455 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1365387043} +--- !u!4 &196287986 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 938815227} +--- !u!1 &209145124 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 209145125} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &209145125 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 209145124} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1673836757} + m_RootOrder: 3 +--- !u!1001 &215358042 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1891727375} + m_Modifications: + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.x + value: .1017 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.y + value: 1.13100004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.z + value: -.216000006 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.y + value: .526685297 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.w + value: .850060403 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_Name + value: SGP_PRE_Sports_drink_512 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &215358043 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_PrefabInternal: {fileID: 215358042} +--- !u!1001 &220065827 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1987817741} + m_Modifications: + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalPosition.x + value: -.0728334561 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalPosition.z + value: .134112656 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.y + value: -.254661858 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.w + value: .967030227 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_Name + value: SGP_PRE_Chicken_512 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &220065828 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + m_PrefabInternal: {fileID: 220065827} +--- !u!1001 &225595942 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.x + value: .00260143355 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.y + value: .0180000067 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.z + value: -.477058917 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.y + value: -.998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.w + value: .053964667 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_RootOrder + value: 52 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &225595943 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_PrefabInternal: {fileID: 225595942} +--- !u!1001 &227574572 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.33799997 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: .0929998234 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 22 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (23) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &234470410 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 234470411} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &234470411 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 234470410} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1932637863} + m_RootOrder: 3 +--- !u!1001 &234867799 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.x + value: .0905067101 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.y + value: .158999979 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.z + value: .760676444 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.y + value: .174536973 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.w + value: .984650671 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_RootOrder + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Tuna_256 (4) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &235160989 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 235160990} + m_Layer: 0 + m_Name: Beans + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &235160990 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 235160989} + m_LocalRotation: {x: 0, y: -.744235158, z: 0, w: -.667917728} + m_LocalPosition: {x: .11694096, y: -.514999986, z: 2.39635444} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 281355819} + - {fileID: 496307610} + - {fileID: 1423575614} + m_Father: {fileID: 1193049470} + m_RootOrder: 1 +--- !u!1001 &237686589 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.0860000253 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.191999942 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (4) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &241814673 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 979363401} + m_Modifications: + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.x + value: -1.46912336 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.z + value: .000408759341 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.x + value: -.00871170964 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.y + value: 1.19454968e-09 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.z + value: -.000528613804 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.w + value: .999961913 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 140640, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_Name + value: Corn Bag (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &241814674 stripped +Transform: + m_PrefabParentObject: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_PrefabInternal: {fileID: 241814673} +--- !u!1001 &250845818 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.x + value: -.0135667101 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.y + value: .503000021 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.z + value: -.542698801 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.y + value: -.704262078 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.w + value: -.709940135 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_RootOrder + value: 56 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &254431358 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 254431360} + - 82: {fileID: 254431359} + m_Layer: 0 + m_Name: street + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!82 &254431359 +AudioSource: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 254431358} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 8300000, guid: 91cb06625d5aa4b4983a5a564feaae0f, type: 3} + m_PlayOnAwake: 1 + m_Volume: .5 + m_Pitch: 1 + Loop: 1 + Mute: 0 + Spatialize: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 +--- !u!4 &254431360 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 254431358} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.59000015, y: -.319999993, z: 3.25999999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1736008644} + m_RootOrder: 1 +--- !u!4 &254672936 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1487543058} +--- !u!4 &259865302 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1586342113} +--- !u!4 &260290620 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 2101656243} +--- !u!4 &260885344 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + m_PrefabInternal: {fileID: 95551458} +--- !u!1 &263280760 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 263280761} + - 33: {fileID: 263280764} + - 64: {fileID: 263280763} + - 23: {fileID: 263280762} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &263280761 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 263280760} + m_LocalRotation: {x: .5, y: .5, z: -.500000119, w: .49999994} + m_LocalPosition: {x: 7.76000023, y: 0, z: 1.33000004} + m_LocalScale: {x: 1.75507259, y: 1.75507236, z: 1.75507236} + m_Children: [] + m_Father: {fileID: 1711300013} + m_RootOrder: 9 +--- !u!23 &263280762 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 263280760} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 692b307c269adc740a2d51226a398b97, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &263280763 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 263280760} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &263280764 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 263280760} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &264580209 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 1742809514} +--- !u!4 &280749464 stripped +Transform: + m_PrefabParentObject: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + m_PrefabInternal: {fileID: 664038867} +--- !u!4 &281355819 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + m_PrefabInternal: {fileID: 1842927110} +--- !u!1 &291793021 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 291793022} + - 33: {fileID: 291793025} + - 64: {fileID: 291793024} + - 23: {fileID: 291793023} + m_Layer: 0 + m_Name: Wall west + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &291793022 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 291793021} + m_LocalRotation: {x: .500000238, y: .499999821, z: .499999911, w: -.500000119} + m_LocalPosition: {x: -2.67000008, y: -2.48000002, z: -.360000014} + m_LocalScale: {x: .18108876, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 334450669} + m_RootOrder: 5 +--- !u!23 &291793023 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 291793021} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 27d5ccce623dcc94581f415e8bca379c, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &291793024 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 291793021} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &291793025 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 291793021} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &292029151 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 979363401} + m_Modifications: + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.x + value: -4.68100023 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.y + value: -.277999997 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.z + value: 2.18700004 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.y + value: .0402835868 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.w + value: .999188304 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 140640, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_Name + value: Corn Bag (8) + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &292029152 stripped +Transform: + m_PrefabParentObject: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_PrefabInternal: {fileID: 292029151} +--- !u!1 &295932519 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 295932520} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &295932520 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 295932519} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 895121834} + m_RootOrder: 2 +--- !u!1001 &298296704 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1866895040} + m_Modifications: + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.x + value: -.650995731 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.z + value: -.576968908 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &298793624 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 171394498} + m_Modifications: + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalPosition.x + value: 3.39000201 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalPosition.y + value: -.284393013 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalPosition.z + value: -6.40999889 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &298793625 stripped +Transform: + m_PrefabParentObject: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + m_PrefabInternal: {fileID: 298793624} +--- !u!1001 &312101031 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 979363401} + m_Modifications: + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.x + value: 1.48300004 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.z + value: -.00400000019 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 140640, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_Name + value: Corn Bag (10) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &312101032 stripped +Transform: + m_PrefabParentObject: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_PrefabInternal: {fileID: 312101031} +--- !u!1 &316451629 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 316451630} + - 82: {fileID: 316451631} + m_Layer: 0 + m_Name: fridge hum + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &316451630 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 316451629} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -.319999993, z: 5.86000013} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1736008644} + m_RootOrder: 0 +--- !u!82 &316451631 +AudioSource: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 316451629} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 8300000, guid: bb2e5e3a6786a7b48ab2c799b8496a37, type: 3} + m_PlayOnAwake: 1 + m_Volume: .537999988 + m_Pitch: 1 + Loop: 1 + Mute: 0 + Spatialize: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 +--- !u!1 &334450668 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 334450669} + m_Layer: 0 + m_Name: Structure + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &334450669 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 334450668} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.43066752, y: 1.14185727, z: .170444965} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1287542966} + - {fileID: 1387630795} + - {fileID: 1100059441} + - {fileID: 2131627434} + - {fileID: 74307087} + - {fileID: 291793022} + - {fileID: 18920204} + - {fileID: 1362867663} + - {fileID: 1136300418} + - {fileID: 37241152} + - {fileID: 820144280} + m_Father: {fileID: 0} + m_RootOrder: 26 +--- !u!1001 &338363303 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.x + value: .227358997 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.y + value: .0370000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.z + value: 3.43349504 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_RootOrder + value: 21 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Ketchup_256 (5) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &342431499 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_PrefabInternal: {fileID: 234867799} +--- !u!4 &357730957 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 683927117} +--- !u!1 &357861932 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100012, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 357861933} + - 33: {fileID: 357861936} + - 23: {fileID: 357861935} + - 64: {fileID: 357861934} + m_Layer: 0 + m_Name: floorA300 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &357861933 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400008, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 357861932} + m_LocalRotation: {x: 0, y: -0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1711300013} + m_RootOrder: 3 +--- !u!64 &357861934 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6400006, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 357861932} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 4300006, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!23 &357861935 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300006, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 357861932} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 07ecc6b4398e6184699b097df141926b, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &357861936 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300006, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 357861932} + m_Mesh: {fileID: 4300006, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!1 &363479779 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100008, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 363479780} + - 33: {fileID: 363479783} + - 23: {fileID: 363479782} + - 64: {fileID: 363479781} + m_Layer: 0 + m_Name: ceilingA300 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &363479780 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400006, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 363479779} + m_LocalRotation: {x: 0, y: -0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1711300013} + m_RootOrder: 2 +--- !u!64 &363479781 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6400002, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 363479779} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 4300010, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!23 &363479782 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300010, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 363479779} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 07ecc6b4398e6184699b097df141926b, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &363479783 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300010, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 363479779} + m_Mesh: {fileID: 4300010, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!1001 &367090370 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 979363401} + m_Modifications: + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.x + value: -2.946347 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.z + value: .0689303204 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.y + value: .0310689211 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.w + value: .999517322 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 140640, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_Name + value: Corn Bag (2) + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &367090371 stripped +Transform: + m_PrefabParentObject: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_PrefabInternal: {fileID: 367090370} +--- !u!1001 &369012000 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1866895040} + m_Modifications: + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.x + value: -.444999993 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.z + value: -.0930000022 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.y + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 148786, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_Name + value: Cardboard Box A (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &369630139 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalPosition.x + value: .0398388505 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalPosition.y + value: 1.028 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalPosition.z + value: 1.99130476 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.y + value: .159144193 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.w + value: .987255394 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_RootOrder + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Flour_256 (2) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &383372218 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: .269000024 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_Name + value: SGP_PRE_Barbecue_sauce_512 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &383383708 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + m_PrefabInternal: {fileID: 2094148143} +--- !u!1001 &383405219 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1472171719} + m_Modifications: + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalPosition.x + value: .111999929 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalPosition.y + value: .00779998302 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalPosition.z + value: .280002773 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.y + value: .726830244 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.w + value: .686817229 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Pasta_256 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &383405220 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + m_PrefabInternal: {fileID: 383405219} +--- !u!1001 &383586713 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.465999961 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.00499978941 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 33 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (33) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &387509866 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalPosition.x + value: 1.26600003 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalPosition.y + value: 3.3499999 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalPosition.z + value: -3.4000001 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &388763126 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 488382, guid: f5d42bd6b85700146bce3b1d0e5a20e9, type: 2} + propertyPath: m_LocalPosition.x + value: .0799999982 + objectReference: {fileID: 0} + - target: {fileID: 488382, guid: f5d42bd6b85700146bce3b1d0e5a20e9, type: 2} + propertyPath: m_LocalPosition.y + value: 2.1500001 + objectReference: {fileID: 0} + - target: {fileID: 488382, guid: f5d42bd6b85700146bce3b1d0e5a20e9, type: 2} + propertyPath: m_LocalPosition.z + value: -4.5999999 + objectReference: {fileID: 0} + - target: {fileID: 488382, guid: f5d42bd6b85700146bce3b1d0e5a20e9, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 488382, guid: f5d42bd6b85700146bce3b1d0e5a20e9, type: 2} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 488382, guid: f5d42bd6b85700146bce3b1d0e5a20e9, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 488382, guid: f5d42bd6b85700146bce3b1d0e5a20e9, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 488382, guid: f5d42bd6b85700146bce3b1d0e5a20e9, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f5d42bd6b85700146bce3b1d0e5a20e9, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &401073716 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 433520, guid: 92e690558cb5e664bbc5bb3a09938c00, type: 2} + propertyPath: m_LocalPosition.x + value: 2.07200003 + objectReference: {fileID: 0} + - target: {fileID: 433520, guid: 92e690558cb5e664bbc5bb3a09938c00, type: 2} + propertyPath: m_LocalPosition.y + value: .600000024 + objectReference: {fileID: 0} + - target: {fileID: 433520, guid: 92e690558cb5e664bbc5bb3a09938c00, type: 2} + propertyPath: m_LocalPosition.z + value: -3.08400011 + objectReference: {fileID: 0} + - target: {fileID: 433520, guid: 92e690558cb5e664bbc5bb3a09938c00, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 433520, guid: 92e690558cb5e664bbc5bb3a09938c00, type: 2} + propertyPath: m_LocalRotation.y + value: .70710659 + objectReference: {fileID: 0} + - target: {fileID: 433520, guid: 92e690558cb5e664bbc5bb3a09938c00, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 433520, guid: 92e690558cb5e664bbc5bb3a09938c00, type: 2} + propertyPath: m_LocalRotation.w + value: -.707106948 + objectReference: {fileID: 0} + - target: {fileID: 433520, guid: 92e690558cb5e664bbc5bb3a09938c00, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 92e690558cb5e664bbc5bb3a09938c00, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &411169094 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1956320616} +--- !u!1001 &413666821 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 408564, guid: 6e925d916a1f73944ac5bcb76f445319, type: 2} + propertyPath: m_LocalPosition.x + value: 3.46000004 + objectReference: {fileID: 0} + - target: {fileID: 408564, guid: 6e925d916a1f73944ac5bcb76f445319, type: 2} + propertyPath: m_LocalPosition.y + value: 1.12 + objectReference: {fileID: 0} + - target: {fileID: 408564, guid: 6e925d916a1f73944ac5bcb76f445319, type: 2} + propertyPath: m_LocalPosition.z + value: 2.44000006 + objectReference: {fileID: 0} + - target: {fileID: 408564, guid: 6e925d916a1f73944ac5bcb76f445319, type: 2} + propertyPath: m_LocalRotation.x + value: -2.16942028e-14 + objectReference: {fileID: 0} + - target: {fileID: 408564, guid: 6e925d916a1f73944ac5bcb76f445319, type: 2} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 408564, guid: 6e925d916a1f73944ac5bcb76f445319, type: 2} + propertyPath: m_LocalRotation.z + value: -1.33158068e-07 + objectReference: {fileID: 0} + - target: {fileID: 408564, guid: 6e925d916a1f73944ac5bcb76f445319, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 408564, guid: 6e925d916a1f73944ac5bcb76f445319, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 6e925d916a1f73944ac5bcb76f445319, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &439603214 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.x + value: -.229577839 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.y + value: .503000021 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.z + value: -.540405452 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.y + value: -.304391831 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.w + value: -.952546895 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_RootOrder + value: 63 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Cheese_256 (2) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &448635165 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 454850, guid: a088988718065334cb60645eedd72ea8, type: 2} + propertyPath: m_LocalPosition.x + value: 4.90799999 + objectReference: {fileID: 0} + - target: {fileID: 454850, guid: a088988718065334cb60645eedd72ea8, type: 2} + propertyPath: m_LocalPosition.y + value: 1.55299997 + objectReference: {fileID: 0} + - target: {fileID: 454850, guid: a088988718065334cb60645eedd72ea8, type: 2} + propertyPath: m_LocalPosition.z + value: 1.74000001 + objectReference: {fileID: 0} + - target: {fileID: 454850, guid: a088988718065334cb60645eedd72ea8, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 454850, guid: a088988718065334cb60645eedd72ea8, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 454850, guid: a088988718065334cb60645eedd72ea8, type: 2} + propertyPath: m_LocalRotation.z + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 454850, guid: a088988718065334cb60645eedd72ea8, type: 2} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 454850, guid: a088988718065334cb60645eedd72ea8, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: a088988718065334cb60645eedd72ea8, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &456764004 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + m_PrefabInternal: {fileID: 54409324} +--- !u!1001 &464116259 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: .268999994 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: -.264999866 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_Name + value: SGP_PRE_Barbecue_sauce_512 (11) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &467015753 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.290000021 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.192000002 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &469477346 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_PrefabInternal: {fileID: 600361906} +--- !u!1 &470334947 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 470334948} + m_Layer: 0 + m_Name: Crates + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &470334948 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 470334947} + m_LocalRotation: {x: -.5, y: .5, z: .500000119, w: .49999994} + m_LocalPosition: {x: -.269000053, y: .526000023, z: .157000065} + m_LocalScale: {x: .141164109, y: .141164109, z: .141164109} + m_Children: + - {fileID: 1123832860} + - {fileID: 1412585236} + m_Father: {fileID: 1910901437} + m_RootOrder: 5 +--- !u!4 &474771632 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 1906464958} +--- !u!1001 &478551735 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1891727375} + m_Modifications: + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.x + value: .188700035 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.y + value: 1.13100004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.z + value: -.216000021 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.y + value: .616722167 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.w + value: .787180901 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_Name + value: SGP_PRE_Sports_drink_512 (2) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &478551736 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_PrefabInternal: {fileID: 478551735} +--- !u!1001 &482794452 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 999594243} + m_Modifications: + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.x + value: .166999996 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.y + value: .217000008 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.z + value: 2.41300011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.y + value: .0809866115 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.w + value: .996715188 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Soup_256 (4) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &482794453 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_PrefabInternal: {fileID: 482794452} +--- !u!4 &496307610 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + m_PrefabInternal: {fileID: 1665968199} +--- !u!1001 &520652037 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 407452, guid: a96e7ef8063ef72469e78712f3cb73a5, type: 2} + propertyPath: m_LocalPosition.x + value: 3.77999997 + objectReference: {fileID: 0} + - target: {fileID: 407452, guid: a96e7ef8063ef72469e78712f3cb73a5, type: 2} + propertyPath: m_LocalPosition.y + value: 3.44499993 + objectReference: {fileID: 0} + - target: {fileID: 407452, guid: a96e7ef8063ef72469e78712f3cb73a5, type: 2} + propertyPath: m_LocalPosition.z + value: -1.78999996 + objectReference: {fileID: 0} + - target: {fileID: 407452, guid: a96e7ef8063ef72469e78712f3cb73a5, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 407452, guid: a96e7ef8063ef72469e78712f3cb73a5, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 407452, guid: a96e7ef8063ef72469e78712f3cb73a5, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 407452, guid: a96e7ef8063ef72469e78712f3cb73a5, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 407452, guid: a96e7ef8063ef72469e78712f3cb73a5, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: a96e7ef8063ef72469e78712f3cb73a5, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &525089652 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.x + value: -.0417296216 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.y + value: .648000002 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.z + value: -.459177166 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.x + value: -.0174084529 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.y + value: -.0895916447 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.z + value: .0456223041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.w + value: -.994780838 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_RootOrder + value: 53 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Cheese_256 (5) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &525089653 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_PrefabInternal: {fileID: 525089652} +--- !u!1001 &526422873 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: -.264999837 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_Name + value: SGP_PRE_Barbecue_sauce_512 (9) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &527739175 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 999594243} + m_Modifications: + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.x + value: .342999995 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.y + value: .0269999504 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.z + value: 2.55800009 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.y + value: .0365770571 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.w + value: .999330819 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Soup_256 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &527739176 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_PrefabInternal: {fileID: 527739175} +--- !u!1 &529624986 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 529624987} + m_Layer: 0 + m_Name: whiskey + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &529624987 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 529624986} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1505765691} + - {fileID: 1702423302} + - {fileID: 1227306801} + m_Father: {fileID: 70254914} + m_RootOrder: 5 +--- !u!1001 &530004747 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: .109000027 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.179999799 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (8) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &534047334 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_PrefabInternal: {fileID: 547157395} +--- !u!1 &535737012 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 535737013} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &535737013 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 535737012} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1786112116} + m_RootOrder: 2 +--- !u!1001 &539114352 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.0859999657 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.00500014238 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 29 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (29) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &539866180 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1891727375} + m_Modifications: + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.x + value: -.0260000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.y + value: 1.13100004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.z + value: -.0320000015 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.y + value: .697702885 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.w + value: .716387212 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_Name + value: SGP_PRE_Sports_drink_512 (6) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &539866181 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_PrefabInternal: {fileID: 539866180} +--- !u!4 &544381539 stripped +Transform: + m_PrefabParentObject: {fileID: 400010, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + m_PrefabInternal: {fileID: 1614411400} +--- !u!1001 &547157395 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1101891010} + m_Modifications: + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Mayonnaise_256 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &551949983 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 568824337} +--- !u!4 &554106346 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_PrefabInternal: {fileID: 1855683960} +--- !u!1001 &568824337 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &572557375 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 979363401} + m_Modifications: + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.x + value: -4.23400021 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.y + value: -.270999998 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.z + value: 3.12899995 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.y + value: .73145467 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.w + value: .68189007 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 140640, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_Name + value: Corn Bag (9) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &572557376 stripped +Transform: + m_PrefabParentObject: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_PrefabInternal: {fileID: 572557375} +--- !u!4 &573139805 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 539114352} +--- !u!4 &575504383 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_PrefabInternal: {fileID: 1140169287} +--- !u!1001 &576169851 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1472171719} + m_Modifications: + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &583191947 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.x + value: -.19464156 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.y + value: .172000051 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.z + value: -.431536525 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.y + value: -.995205462 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.w + value: .097806707 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_RootOrder + value: 46 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Bread_256 (6) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &586287683 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1015896953} +--- !u!4 &589805515 stripped +Transform: + m_PrefabParentObject: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + m_PrefabInternal: {fileID: 1614411400} +--- !u!4 &598613527 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_PrefabInternal: {fileID: 2052420472} +--- !u!1001 &600361906 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.x + value: -.0600100122 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.y + value: .57099998 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.z + value: -.395838112 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.y + value: -.291953802 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.w + value: -.956432462 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_RootOrder + value: 57 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Cheese_256 (4) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &601336451 stripped +Transform: + m_PrefabParentObject: {fileID: 489898, guid: 81bbff71816d32f468b9f9330f0a8142, type: 2} + m_PrefabInternal: {fileID: 1508423457} +--- !u!1001 &602905903 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 171394498} + m_Modifications: + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 163328, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + propertyPath: m_Name + value: freezer A (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &602905904 stripped +Transform: + m_PrefabParentObject: {fileID: 406920, guid: 328ecd14acec57849bea9fbe056db0e6, type: 2} + m_PrefabInternal: {fileID: 602905903} +--- !u!1001 &605327184 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.x + value: -1.80799997 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.y + value: .259000003 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.z + value: -4.60599995 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.x + value: -.707106829 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.w + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &611915662 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100010, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 611915663} + - 33: {fileID: 611915666} + - 23: {fileID: 611915665} + - 64: {fileID: 611915664} + m_Layer: 0 + m_Name: floorB300 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &611915663 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400010, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 611915662} + m_LocalRotation: {x: 0, y: -0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1711300013} + m_RootOrder: 4 +--- !u!64 &611915664 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6400004, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 611915662} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 4300008, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!23 &611915665 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300008, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 611915662} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 3dce54cc29261c54f8db2078e6c478a9, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &611915666 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300008, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 611915662} + m_Mesh: {fileID: 4300008, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!1001 &635638925 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.x + value: .0930000022 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.y + value: .503000021 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.z + value: .787999988 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.x + value: .0090857055 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.y + value: -.638552248 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.z + value: .00881245639 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.w + value: .769474387 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_RootOrder + value: 43 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.x + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 107528, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_Name + value: milk carton (1) + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &639322054 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: -.43599999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: -.0489999987 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: .999994159 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: .00342465844 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (13) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &639322055 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 639322054} +--- !u!1001 &653642491 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.x + value: -.0278623309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.y + value: .503000021 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.z + value: -.359088689 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.y + value: -.304391831 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.w + value: -.952546895 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_RootOrder + value: 58 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Cheese_256 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &659780190 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.x + value: -2.68899989 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.y + value: .259000003 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.z + value: -4.60599995 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.x + value: -.707106829 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.w + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 177230, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_Name + value: Crate (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &660308007 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 1061010167} +--- !u!1001 &664038867 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1614194353} + m_Modifications: + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.x + value: 1.38999999 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.y + value: -.0500000007 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.z + value: -4.71000004 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.y + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 179606, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_Name + value: Shelf A (4) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &673387296 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 673387297} + m_Layer: 0 + m_Name: Sodas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &673387297 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 673387296} + m_LocalRotation: {x: 0, y: -1, z: 0, w: -1.62920685e-07} + m_LocalPosition: {x: -.537999988, y: 1.12699986, z: -.167999923} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 968994160} + - {fileID: 52930984} + - {fileID: 1724035006} + - {fileID: 38781370} + - {fileID: 1704720629} + - {fileID: 1406589657} + - {fileID: 2127779659} + - {fileID: 1702905465} + - {fileID: 765688582} + - {fileID: 1358936803} + - {fileID: 740748760} + - {fileID: 1953989531} + - {fileID: 1458924163} + - {fileID: 639322055} + m_Father: {fileID: 70254914} + m_RootOrder: 3 +--- !u!1001 &677658331 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.x + value: -.0561502352 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.y + value: .514999986 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.z + value: .30784443 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Chocolate_syrup_256 (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &678017590 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.x + value: -.0701211616 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.y + value: .0429999828 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.z + value: .865598738 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.y + value: .174536973 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.w + value: .984650671 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_RootOrder + value: 29 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Tuna_256 (3) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &683927117 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: .0109999804 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.191999912 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (5) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &687533844 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2039494079} + m_Modifications: + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.x + value: -.0100002289 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.y + value: -.0780000091 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.z + value: -.0920000076 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_Name + value: SGP_PRE_Crackers_512 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &708628210 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.43599996 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.105000161 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (9) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &709316117 stripped +Transform: + m_PrefabParentObject: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_PrefabInternal: {fileID: 1086586282} +--- !u!1001 &720432014 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1101891010} + m_Modifications: + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.x + value: -.167999998 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.y + value: .201000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.z + value: .165999994 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.x + value: .000995441573 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.y + value: .17609024 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.z + value: -.00556459464 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.w + value: -.984357834 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Mayonnaise_256 (6) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 0} + m_ParentPrefab: {fileID: 100100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &720432015 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_PrefabInternal: {fileID: 720432014} +--- !u!1 &724018204 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 724018205} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &724018205 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 724018204} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1142433575} + m_RootOrder: 0 +--- !u!1001 &727875362 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.x + value: -.0360051282 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.y + value: .0180000067 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.z + value: -.823918521 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.y + value: -.99552232 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.w + value: .0945269689 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_RootOrder + value: 59 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Bread_256 (2) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &739271920 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.380000055 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.183000207 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &739612446 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_PrefabInternal: {fileID: 988598787} +--- !u!1001 &740748759 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: -.351000011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: -.0489999987 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: .977076411 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: .21288915 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (10) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &740748760 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 740748759} +--- !u!1001 &743971936 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: .139000028 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: .0879998654 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (18) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &749856553 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.x + value: 5.46000004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.y + value: -2.76999998 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.z + value: 27.0200005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.x + value: .00500200037 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.y + value: -.823975086 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.z + value: -.0583160035 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.w + value: -.563595057 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalScale.z + value: 1.88380003 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapIndex + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .0273438003 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .0273438003 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .948624015 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .124404997 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.y + value: -248.912872 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.x + value: -5.83940125 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.z + value: 3.31297302 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_Name + value: HouseWiresAPrefab (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &749856554 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + m_PrefabInternal: {fileID: 749856553} +--- !u!4 &752414370 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 105524397} +--- !u!1001 &765688581 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: -.172000006 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: -.050999999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: .112952739 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: -.993600428 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (8) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &765688582 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 765688581} +--- !u!1001 &769707523 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2029825768} + m_Modifications: + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.x + value: -.0165300984 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.z + value: .0982280523 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.y + value: .0458551645 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.w + value: .998948097 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_Name + value: SGP_PRE_Honey_512 (4) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &772800087 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1618378884} +--- !u!4 &774899511 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + m_PrefabInternal: {fileID: 88630491} +--- !u!4 &775043243 stripped +Transform: + m_PrefabParentObject: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + m_PrefabInternal: {fileID: 1497228598} +--- !u!1001 &787641564 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2039494079} + m_Modifications: + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.z + value: -.0850000381 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_Name + value: SGP_PRE_Crackers_512 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &789761159 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1891727375} + m_Modifications: + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.x + value: .0759999976 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.y + value: 1.13100004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.z + value: -.0320000015 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.y + value: .526685297 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.w + value: .850060403 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_Name + value: SGP_PRE_Sports_drink_512 (7) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &789761160 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_PrefabInternal: {fileID: 789761159} +--- !u!4 &802473408 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_PrefabInternal: {fileID: 1926735907} +--- !u!1001 &809681913 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.x + value: .259000003 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.y + value: .510110795 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.z + value: 2.6400001 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.y + value: .112795003 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.w + value: .993618309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_RootOrder + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Beans_256 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 0} + m_ParentPrefab: {fileID: 100100000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &820144276 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 820144280} + - 33: {fileID: 820144279} + - 64: {fileID: 820144278} + - 23: {fileID: 820144277} + m_Layer: 0 + m_Name: Wall west (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &820144277 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 820144276} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 27d5ccce623dcc94581f415e8bca379c, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &820144278 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 820144276} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &820144279 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 820144276} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &820144280 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 820144276} + m_LocalRotation: {x: .500000238, y: .499999821, z: .499999911, w: -.500000119} + m_LocalPosition: {x: -2.67000008, y: 3.25, z: -2.69000006} + m_LocalScale: {x: .305829525, y: 1, z: .380869359} + m_Children: [] + m_Father: {fileID: 334450669} + m_RootOrder: 10 +--- !u!4 &823238284 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1044832408} +--- !u!1 &823732459 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 823732460} + m_Layer: 0 + m_Name: outside + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &823732460 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 823732459} + m_LocalRotation: {x: 0, y: .70710659, z: 0, w: -.707106948} + m_LocalPosition: {x: -10.2299995, y: 2.1400001, z: -7.55000019} + m_LocalScale: {x: .300000012, y: .300000012, z: .300000012} + m_Children: + - {fileID: 895121834} + - {fileID: 1890132416} + - {fileID: 1392647258} + - {fileID: 1932637863} + - {fileID: 1179712726} + - {fileID: 1356520918} + - {fileID: 1268808995} + - {fileID: 1786112116} + - {fileID: 749856554} + - {fileID: 1923766079} + - {fileID: 1894589974} + - {fileID: 1673836757} + - {fileID: 995930938} + - {fileID: 1186639874} + - {fileID: 1755716811} + - {fileID: 108249389} + - {fileID: 1225170623} + - {fileID: 1711300013} + m_Father: {fileID: 0} + m_RootOrder: 15 +--- !u!4 &823852083 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 227574572} +--- !u!1 &826513557 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100014, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 826513558} + - 33: {fileID: 826513561} + - 23: {fileID: 826513560} + - 64: {fileID: 826513559} + m_Layer: 0 + m_Name: roofAb300 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &826513558 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400018, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 826513557} + m_LocalRotation: {x: 0, y: -0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1711300013} + m_RootOrder: 7 +--- !u!64 &826513559 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6400008, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 826513557} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 4300004, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!23 &826513560 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300004, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 826513557} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 07ecc6b4398e6184699b097df141926b, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &826513561 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300004, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 826513557} + m_Mesh: {fileID: 4300004, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!1001 &829984281 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1866895040} + m_Modifications: + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalPosition.x + value: -1.31500006 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalPosition.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalPosition.z + value: -.0560000017 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &844817374 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + m_PrefabInternal: {fileID: 809681913} +--- !u!1001 &848354002 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1891727375} + m_Modifications: + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.x + value: .163000003 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.y + value: 1.13100004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.z + value: -.0320000015 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.y + value: .616722167 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.w + value: .787180901 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_Name + value: SGP_PRE_Sports_drink_512 (8) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &848354003 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_PrefabInternal: {fileID: 848354002} +--- !u!1001 &857239214 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.x + value: -.0213398561 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.y + value: .514999986 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.z + value: .628963232 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &857339623 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_PrefabInternal: {fileID: 1783218049} +--- !u!1001 &866046622 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2029825768} + m_Modifications: + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_Name + value: SGP_PRE_Honey_512 (5) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &866243463 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_PrefabInternal: {fileID: 678017590} +--- !u!1001 &874967645 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalPosition.x + value: -.114364579 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalPosition.z + value: .0123975147 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &878238615 stripped +Transform: + m_PrefabParentObject: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_PrefabInternal: {fileID: 162742920} +--- !u!1001 &891535122 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400006, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_LocalPosition.x + value: -3.13000011 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_LocalPosition.y + value: 1.29999995 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_LocalPosition.z + value: 1.26100004 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_LocalRotation.y + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100012, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100008, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a22a24305e0d28643a31f5d21856885f, type: 2} + - target: {fileID: 2300008, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: ae4a38a79322a99469a67c4c3eb2512d, type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 8a53b38f380dada4d8a9636522abac4c, type: 3} + m_IsPrefabParent: 0 +--- !u!1001 &893831526 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 999594243} + m_Modifications: + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.x + value: .337000221 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.y + value: .0269999504 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.z + value: 2.41000295 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.y + value: .00753240287 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.w + value: .999971688 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &893831527 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_PrefabInternal: {fileID: 893831526} +--- !u!1001 &895121833 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.x + value: 6.36999989 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.y + value: -1.20000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.z + value: 15.1000004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.x + value: .0189441834 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.y + value: -.663380504 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.z + value: -.055379793 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.w + value: -.74598968 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalScale.z + value: 1.59190929 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapIndex + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .0253906008 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .0253906008 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .900780022 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .136131003 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.y + value: -276.878021 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.x + value: -5.83940125 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.z + value: 3.3130188 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &895121834 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + m_PrefabInternal: {fileID: 895121833} +--- !u!4 &896489939 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1690632057} +--- !u!4 &916093060 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + m_PrefabInternal: {fileID: 1516998371} +--- !u!4 &917163774 stripped +Transform: + m_PrefabParentObject: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + m_PrefabInternal: {fileID: 159975360} +--- !u!1001 &917705122 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1871687743} + m_Modifications: + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalPosition.x + value: -.0430000015 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.y + value: .196386293 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.w + value: .980526626 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_Name + value: SGP_PRE_Peanut_butter_512 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &917705123 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + m_PrefabInternal: {fileID: 917705122} +--- !u!1001 &938815227 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.0369999707 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: .0900001377 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 19 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (20) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &940230773 stripped +Transform: + m_PrefabParentObject: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_PrefabInternal: {fileID: 298296704} +--- !u!1001 &954792341 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1891727375} + m_Modifications: + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.x + value: -4.88275305e-08 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.y + value: 1.13100004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.z + value: -.21600008 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.y + value: .697702885 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.w + value: .716387212 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &954792342 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_PrefabInternal: {fileID: 954792341} +--- !u!1001 &955609436 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2039494079} + m_Modifications: + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.x + value: -.0100002289 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.y + value: -.0780000091 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &957900972 stripped +Transform: + m_PrefabParentObject: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + m_PrefabInternal: {fileID: 2100464708} +--- !u!4 &960486447 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 237686589} +--- !u!1001 &968994159 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: .0410000011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &968994160 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 968994159} +--- !u!1001 &971420275 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_LocalPosition.x + value: 7.66666937 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_LocalPosition.y + value: -6.07999992 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_LocalPosition.z + value: -6.86666012 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_LocalRotation.y + value: -.70710659 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_LocalRotation.w + value: -.707106948 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_RootOrder + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_LocalScale.x + value: 1.12940967 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_LocalScale.y + value: 1.12940943 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_LocalScale.z + value: 1.12940967 + objectReference: {fileID: 0} + - target: {fileID: 100008, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 64646fe47685c72499547ff5ab85c8a0, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &971438482 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + m_PrefabInternal: {fileID: 1424930716} +--- !u!1 &979363400 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 979363401} + m_Layer: 0 + m_Name: bags + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &979363401 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 979363400} + m_LocalRotation: {x: 0, y: -.711762309, z: 0, w: .702420473} + m_LocalPosition: {x: 4.61999989, y: .263999999, z: -.129999995} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1659751864} + - {fileID: 2101718936} + - {fileID: 1334504879} + - {fileID: 241814674} + - {fileID: 367090371} + - {fileID: 1146017391} + - {fileID: 1295094369} + - {fileID: 2100090873} + - {fileID: 292029152} + - {fileID: 572557376} + - {fileID: 312101032} + m_Father: {fileID: 0} + m_RootOrder: 24 +--- !u!1001 &988598787 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.x + value: -.0519122072 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.y + value: .172000051 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.z + value: -.822194159 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.y + value: -.999874473 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.w + value: .0158484131 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_RootOrder + value: 47 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Bread_256 (5) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &995930937 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalPosition.x + value: 5.5 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalPosition.y + value: 4.03000021 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalPosition.z + value: 27.1299992 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalRotation.y + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalRotation.w + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .00292969006 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .00292969006 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .993641019 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .996571004 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .00976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .00976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .977989018 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .928184986 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .00488281017 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .00488281017 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .994610012 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .0307426006 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .000976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .000976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .996577978 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .000484466989 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .00390625 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .00390625 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .995589972 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .000473021995 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .000976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .000976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .998530984 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .998530984 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_RootOrder + value: 12 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &995930938 stripped +Transform: + m_PrefabParentObject: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + m_PrefabInternal: {fileID: 995930937} +--- !u!4 &999395185 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_PrefabInternal: {fileID: 1759970388} +--- !u!1 &999594242 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 999594243} + m_Layer: 0 + m_Name: Soup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &999594243 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 999594242} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 893831527} + - {fileID: 527739176} + - {fileID: 1157907097} + - {fileID: 1826081544} + - {fileID: 482794453} + - {fileID: 2045016535} + - {fileID: 1690936956} + - {fileID: 1974516282} + m_Father: {fileID: 1193049470} + m_RootOrder: 50 +--- !u!1001 &1002780097 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2029825768} + m_Modifications: + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.x + value: -.149046049 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.z + value: .192951664 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.y + value: -.000676482916 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.w + value: .999999821 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_Name + value: SGP_PRE_Honey_512 (2) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1003668707 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.x + value: .464000225 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.y + value: .0370000601 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.z + value: 3.29400015 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.x + value: .0023630592 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.y + value: .0539627708 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.z + value: .00840174221 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.w + value: .998504817 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_RootOrder + value: 18 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Ketchup_256 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1015219481 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.x + value: -.0289999992 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.y + value: .503000021 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.z + value: .772000015 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.y + value: -.695423722 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.w + value: .718599975 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_RootOrder + value: 42 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.x + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 107528, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_Name + value: milk carton (3) + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1015896953 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: .198000014 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.185999811 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (7) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1020197931 stripped +Transform: + m_PrefabParentObject: {fileID: 400002, guid: 3155f845ef8903b479166d713225e8e1, type: 3} + m_PrefabInternal: {fileID: 1313398017} +--- !u!1 &1022989028 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1022989029} + m_Layer: 0 + m_Name: water bottles + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1022989029 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1022989028} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 411169094} + - {fileID: 1315300015} + - {fileID: 1895033904} + - {fileID: 254672936} + - {fileID: 960486447} + - {fileID: 357730957} + - {fileID: 896489939} + - {fileID: 586287683} + - {fileID: 1733926458} + - {fileID: 1201910406} + - {fileID: 260290620} + - {fileID: 1118078407} + - {fileID: 1244172913} + - {fileID: 752414370} + - {fileID: 1064115364} + - {fileID: 84403704} + - {fileID: 772800087} + - {fileID: 99091644} + - {fileID: 1365272045} + - {fileID: 196287986} + - {fileID: 1995581958} + - {fileID: 1253364810} + - {fileID: 823852083} + - {fileID: 823238284} + - {fileID: 2070486991} + - {fileID: 191857455} + - {fileID: 128759528} + - {fileID: 1587571127} + - {fileID: 1894733046} + - {fileID: 573139805} + - {fileID: 259865302} + - {fileID: 1106912115} + - {fileID: 1040384213} + - {fileID: 1705861185} + m_Father: {fileID: 70254914} + m_RootOrder: 4 +--- !u!4 &1032152820 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + m_PrefabInternal: {fileID: 152742640} +--- !u!4 &1034871674 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + m_PrefabInternal: {fileID: 2007284215} +--- !u!4 &1036062227 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_PrefabInternal: {fileID: 1854879546} +--- !u!1001 &1038256851 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: .134999976 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: .0736688673 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: .997282743 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_Name + value: SGP_PRE_Barbecue_sauce_512 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1040384213 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1772150297} +--- !u!1001 &1044832408 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.524999976 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: .0890000537 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 23 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (11) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1052662676 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.125999957 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: .102000192 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (21) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1055496685 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.x + value: -.0133056492 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.y + value: .172000051 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.z + value: -.475334525 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.y + value: -.999999881 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.w + value: -.000517133623 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_RootOrder + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Bread_256 (7) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1056264906 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: .0529999472 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: .0799999386 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 18 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (19) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1056303814 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_PrefabInternal: {fileID: 1867170641} +--- !u!1 &1060226472 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100000, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1060226473} + - 33: {fileID: 1060226476} + - 23: {fileID: 1060226475} + - 64: {fileID: 1060226474} + m_Layer: 0 + m_Name: backsteps300 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &1060226473 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400002, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1060226472} + m_LocalRotation: {x: 0, y: -0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1711300013} + m_RootOrder: 0 +--- !u!64 &1060226474 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6400000, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1060226472} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 1 + m_Mesh: {fileID: 4300018, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!23 &1060226475 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300018, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1060226472} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 5649ad0efca9ed644a470a756f0a3bc0, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1060226476 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300018, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1060226472} + m_Mesh: {fileID: 4300018, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!4 &1060236744 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_PrefabInternal: {fileID: 727875362} +--- !u!1001 &1061010167 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: .268999994 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: -.161000267 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_Name + value: SGP_PRE_Barbecue_sauce_512 (6) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1061458203 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1061458204} + m_Layer: 0 + m_Name: Sugar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1061458204 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1061458203} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7093700} + - {fileID: 1729868603} + m_Father: {fileID: 1193049470} + m_RootOrder: 49 +--- !u!4 &1064115364 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1780323986} +--- !u!1001 &1079545914 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.x + value: 2.29200006 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.y + value: .0979999974 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.z + value: .596000016 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.x + value: -.5 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.y + value: .5 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.z + value: .500000119 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.w + value: .49999994 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 177230, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_Name + value: Crate (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1082336650 stripped +Transform: + m_PrefabParentObject: {fileID: 400012, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + m_PrefabInternal: {fileID: 1614411400} +--- !u!1001 &1086586282 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1866895040} + m_Modifications: + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.x + value: -.178000003 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.y + value: .405000001 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.z + value: -.368000001 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.y + value: .516713262 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.w + value: .856158555 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 148786, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_Name + value: Cardboard Box A (5) + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1096269796 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 112409686} + m_Modifications: + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalPosition.x + value: .0820000023 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalPosition.y + value: .320000052 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalPosition.z + value: .432999998 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.y + value: -.143036515 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.w + value: .989717424 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1096269797 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + m_PrefabInternal: {fileID: 1096269796} +--- !u!1 &1100059437 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1100059441} + - 33: {fileID: 1100059440} + - 64: {fileID: 1100059439} + - 23: {fileID: 1100059438} + m_Layer: 0 + m_Name: Wall east + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1100059438 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1100059437} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 27d5ccce623dcc94581f415e8bca379c, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &1100059439 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1100059437} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1100059440 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1100059437} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1100059441 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1100059437} + m_LocalRotation: {x: -.500000358, y: .499999672, z: .499999762, w: .500000238} + m_LocalPosition: {x: 5.42066717, y: -2.48000002, z: -.180000007} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 334450669} + m_RootOrder: 2 +--- !u!1 &1101891009 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1101891010} + m_Layer: 0 + m_Name: Mayo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1101891010 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1101891009} + m_LocalRotation: {x: 0, y: .0922932327, z: 0, w: .99573189} + m_LocalPosition: {x: .424999833, y: .0460000038, z: 2.77600026} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 534047334} + - {fileID: 2103863453} + - {fileID: 1162984791} + - {fileID: 1636047293} + - {fileID: 1846215976} + - {fileID: 720432015} + - {fileID: 1786364164} + - {fileID: 2043595212} + m_Father: {fileID: 1193049470} + m_RootOrder: 23 +--- !u!4 &1106912115 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1414071141} +--- !u!4 &1108965230 stripped +Transform: + m_PrefabParentObject: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_PrefabInternal: {fileID: 1263756850} +--- !u!4 &1110909521 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_PrefabInternal: {fileID: 1344365628} +--- !u!4 &1118078407 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 2079001178} +--- !u!1001 &1123832859 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 470334948} + m_Modifications: + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.x + value: .140000001 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.y + value: 1.44000006 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 177230, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_Name + value: Crate (6) + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1123832860 stripped +Transform: + m_PrefabParentObject: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + m_PrefabInternal: {fileID: 1123832859} +--- !u!4 &1130653419 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_PrefabInternal: {fileID: 250845818} +--- !u!1 &1136300417 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1136300418} + - 33: {fileID: 1136300421} + - 64: {fileID: 1136300420} + - 23: {fileID: 1136300419} + m_Layer: 0 + m_Name: Wall west (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1136300418 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1136300417} + m_LocalRotation: {x: .500000238, y: .499999821, z: .499999911, w: -.500000119} + m_LocalPosition: {x: -2.67000008, y: -2.48000002, z: -5.01999998} + m_LocalScale: {x: .18108882, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 334450669} + m_RootOrder: 8 +--- !u!23 &1136300419 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1136300417} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 27d5ccce623dcc94581f415e8bca379c, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &1136300420 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1136300417} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1136300421 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1136300417} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &1140169287 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.x + value: .46562463 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.y + value: .0370000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.z + value: 3.4509182 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_RootOrder + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Ketchup_256 (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1142301120 stripped +Transform: + m_PrefabParentObject: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + m_PrefabInternal: {fileID: 168249048} +--- !u!1 &1142433573 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1142433575} + - 108: {fileID: 1142433574} + m_Layer: 0 + m_Name: Directional light (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1142433574 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1142433573} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: .818808079, b: .582089543, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 60 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: .75 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &1142433575 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1142433573} + m_LocalRotation: {x: .254013509, y: .924883544, z: -.191714466, w: .208118141} + m_LocalPosition: {x: -1727.73169, y: 1750.32739, z: 3729.26929} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 724018205} + m_Father: {fileID: 0} + m_RootOrder: 17 +--- !u!1001 &1146017390 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 979363401} + m_Modifications: + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.x + value: -1.98053253 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.y + value: -.277999997 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.z + value: .124175973 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.y + value: -.0125589371 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.w + value: .999921203 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 140640, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_Name + value: Corn Bag (1) + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1146017391 stripped +Transform: + m_PrefabParentObject: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_PrefabInternal: {fileID: 1146017390} +--- !u!4 &1147181266 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 464116259} +--- !u!4 &1152109488 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + m_PrefabInternal: {fileID: 76257960} +--- !u!1001 &1157907096 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 999594243} + m_Modifications: + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.x + value: .34300068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.y + value: .217000008 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.z + value: 2.55800486 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.y + value: -.00839559268 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.w + value: .999964774 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Soup_256 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1157907097 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_PrefabInternal: {fileID: 1157907096} +--- !u!1001 &1162984790 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1101891010} + m_Modifications: + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.x + value: -.145996362 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.y + value: .00499999523 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.z + value: .165994018 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.x + value: .000995441456 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.y + value: .176090226 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.z + value: -.00556459371 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.w + value: -.984357774 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Mayonnaise_256 (3) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 0} + m_ParentPrefab: {fileID: 100100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1162984791 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_PrefabInternal: {fileID: 1162984790} +--- !u!4 &1171851953 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + m_PrefabInternal: {fileID: 576169851} +--- !u!1001 &1174401511 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1871687743} + m_Modifications: + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalPosition.x + value: -.164000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalPosition.z + value: .0170000009 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.y + value: -.212652043 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_LocalRotation.w + value: .977128029 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + propertyPath: m_Name + value: SGP_PRE_Peanut_butter_512 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1174401512 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: fa1b57e92894947c99bb885f9ad313f8, type: 2} + m_PrefabInternal: {fileID: 1174401511} +--- !u!1 &1179712725 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100000, guid: 409b58c0b511d8e40ae7d590623f1961, type: 3} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1179712726} + - 111: {fileID: 1179712727} + m_Layer: 0 + m_Name: BagBuilding22_0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &1179712726 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400000, guid: 409b58c0b511d8e40ae7d590623f1961, type: 3} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1179712725} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 823732460} + m_RootOrder: 4 +--- !u!111 &1179712727 +Animation: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11100000, guid: 409b58c0b511d8e40ae7d590623f1961, + type: 3} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1179712725} + m_Enabled: 1 + serializedVersion: 3 + m_Animation: {fileID: 0} + m_Animations: [] + m_WrapMode: 0 + m_PlayAutomatically: 1 + m_AnimatePhysics: 0 + m_CullingType: 0 +--- !u!4 &1182866580 stripped +Transform: + m_PrefabParentObject: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + m_PrefabInternal: {fileID: 17825224} +--- !u!1001 &1186639873 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.x + value: 4.84000015 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.y + value: -2.56999993 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.z + value: 26.2099991 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.x + value: -.0592522211 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.y + value: -.485065609 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.z + value: -.0372146219 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.w + value: -.87167412 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalScale.z + value: 1.55326152 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapIndex + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .0253906008 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .0253906008 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .900780022 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .143943995 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.y + value: -301.572968 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.x + value: 3.85284424 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.z + value: 7.0443573 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_RootOrder + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_Name + value: HouseWiresAPrefab (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1186639874 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + m_PrefabInternal: {fileID: 1186639873} +--- !u!1001 &1192622293 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.x + value: -.0393377915 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.y + value: .514999986 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.z + value: .462935865 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Chocolate_syrup_256 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1193049469 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1193049470} + m_Layer: 0 + m_Name: Back shelf + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1193049470 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1193049469} + m_LocalRotation: {x: 0, y: -.0539648309, z: 0, w: .998542845} + m_LocalPosition: {x: -6.09699869, y: .680000007, z: -4.46100187} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2039494079} + - {fileID: 235160990} + - {fileID: 1750110954} + - {fileID: 1152109488} + - {fileID: 1332722047} + - {fileID: 916093060} + - {fileID: 1733532092} + - {fileID: 1632182059} + - {fileID: 1621535835} + - {fileID: 1228874356} + - {fileID: 456764004} + - {fileID: 1396382141} + - {fileID: 844817374} + - {fileID: 1034871674} + - {fileID: 1428889326} + - {fileID: 1245055976} + - {fileID: 48572014} + - {fileID: 575504383} + - {fileID: 1882717238} + - {fileID: 1834272787} + - {fileID: 554106346} + - {fileID: 2119880682} + - {fileID: 1056303814} + - {fileID: 1101891010} + - {fileID: 1850273872} + - {fileID: 1472171719} + - {fileID: 2061581043} + - {fileID: 1576363612} + - {fileID: 1036062227} + - {fileID: 866243463} + - {fileID: 342431499} + - {fileID: 1690391780} + - {fileID: 383383708} + - {fileID: 774899511} + - {fileID: 2135831555} + - {fileID: 1772728079} + - {fileID: 1363513092} + - {fileID: 24679377} + - {fileID: 971438482} + - {fileID: 1032152820} + - {fileID: 1824875365} + - {fileID: 1142301120} + - {fileID: 1292760464} + - {fileID: 34722618} + - {fileID: 775043243} + - {fileID: 185007790} + - {fileID: 1556365893} + - {fileID: 739612446} + - {fileID: 1110909521} + - {fileID: 1061458204} + - {fileID: 999594243} + - {fileID: 79203885} + - {fileID: 225595943} + - {fileID: 525089653} + - {fileID: 598613527} + - {fileID: 1182866580} + - {fileID: 1130653419} + - {fileID: 469477346} + - {fileID: 1710383210} + - {fileID: 1060236744} + - {fileID: 917163774} + - {fileID: 957900972} + - {fileID: 41543892} + - {fileID: 1275010040} + - {fileID: 77678842} + - {fileID: 2029825768} + - {fileID: 1987817741} + - {fileID: 999395185} + - {fileID: 802473408} + m_Father: {fileID: 1614194353} + m_RootOrder: 0 +--- !u!4 &1201318038 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_PrefabInternal: {fileID: 769707523} +--- !u!4 &1201910406 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 708628210} +--- !u!1001 &1215687897 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 171394498} + m_Modifications: + - target: {fileID: 497328, guid: f82d6ce99afd80043bfd2911d1667f92, type: 2} + propertyPath: m_LocalPosition.x + value: 1.41000187 + objectReference: {fileID: 0} + - target: {fileID: 497328, guid: f82d6ce99afd80043bfd2911d1667f92, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 497328, guid: f82d6ce99afd80043bfd2911d1667f92, type: 2} + propertyPath: m_LocalPosition.z + value: -6.21999979 + objectReference: {fileID: 0} + - target: {fileID: 497328, guid: f82d6ce99afd80043bfd2911d1667f92, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 497328, guid: f82d6ce99afd80043bfd2911d1667f92, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 497328, guid: f82d6ce99afd80043bfd2911d1667f92, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 497328, guid: f82d6ce99afd80043bfd2911d1667f92, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 497328, guid: f82d6ce99afd80043bfd2911d1667f92, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f82d6ce99afd80043bfd2911d1667f92, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1215687898 stripped +Transform: + m_PrefabParentObject: {fileID: 497328, guid: f82d6ce99afd80043bfd2911d1667f92, type: 2} + m_PrefabInternal: {fileID: 1215687897} +--- !u!4 &1220730378 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + m_PrefabInternal: {fileID: 687533844} +--- !u!1001 &1225170622 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalPosition.x + value: 7.80999994 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalPosition.y + value: 4.03000021 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalPosition.z + value: -10.4899998 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalRotation.y + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalRotation.w + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .00292969006 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .00292969006 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .993641019 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .996571004 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .00976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .00976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .977989018 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .928184986 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .00488281017 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .00488281017 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .994610012 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .0307426006 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .000976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .000976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .996577978 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .000484466989 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .00390625 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .00390625 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .995589972 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .000473021995 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapIndex + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .000976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .000976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .998530984 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .998530984 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_RootOrder + value: 16 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + propertyPath: m_Name + value: powerbox4Prefab (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1225170623 stripped +Transform: + m_PrefabParentObject: {fileID: 400010, guid: 7b4c79d7cde8a0949963780b8eacf352, type: 2} + m_PrefabInternal: {fileID: 1225170622} +--- !u!1001 &1227306800 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 529624987} + m_Modifications: + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalPosition.x + value: -.288999975 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalPosition.y + value: 1.65499997 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalPosition.z + value: -.178000063 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.y + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_Name + value: SGP_PRE_Whiskey_512 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1227306801 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + m_PrefabInternal: {fileID: 1227306800} +--- !u!4 &1228874356 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + m_PrefabInternal: {fileID: 1492731508} +--- !u!1 &1235592412 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1235592413} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1235592413 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1235592412} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 749856554} + m_RootOrder: 2 +--- !u!1001 &1242508440 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1866895040} + m_Modifications: + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.x + value: -.70599997 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.y + value: .236000001 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.z + value: -.126000002 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.z + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 148786, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_Name + value: Cardboard Box A (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1243180704 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.x + value: .10907279 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.y + value: .0429999828 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.z + value: .755646229 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_RootOrder + value: 26 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1244172913 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1391263296} +--- !u!1 &1245055975 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 110126, guid: 05e12718a026aff48b74981ba2f5f357, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1245055976} + m_Layer: 0 + m_Name: shelf C + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1245055976 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 411316, guid: 05e12718a026aff48b74981ba2f5f357, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1245055975} + m_LocalRotation: {x: 0, y: -.998542845, z: 0, w: .053964667} + m_LocalPosition: {x: .0876288489, y: -.619700432, z: 1.67129028} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1193049470} + m_RootOrder: 15 +--- !u!4 &1253364810 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1301014146} +--- !u!4 &1256882878 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_PrefabInternal: {fileID: 866046622} +--- !u!1001 &1259565610 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.x + value: -.981000006 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.y + value: .259000003 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.z + value: -4.60599995 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.x + value: -.707106829 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.w + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 177230, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_Name + value: Crate (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1263756850 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1866895040} + m_Modifications: + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.x + value: -.605000019 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.y + value: .405000001 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalPosition.z + value: -.506000042 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.y + value: .74217695 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalRotation.w + value: .670204103 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 148786, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_Name + value: Cardboard Box A (4) + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1268808994 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LocalPosition.x + value: 14.3199997 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LocalPosition.y + value: -3.08999991 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LocalPosition.z + value: 57.4500008 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100002, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100006, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100004, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapIndex + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .0898438022 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .0898438022 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .460097998 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .408340007 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapIndex + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .19043 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .19043 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .742908001 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .524158001 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapIndex + value: 21 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .142578006 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .142578006 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .479424 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .52532202 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + m_IsPrefabParent: 0 +--- !u!4 &1268808995 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: d9e6d81891bfe254baf56752053ca6cf, type: 3} + m_PrefabInternal: {fileID: 1268808994} +--- !u!4 &1275010040 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_PrefabInternal: {fileID: 439603214} +--- !u!4 &1284580663 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_PrefabInternal: {fileID: 1002780097} +--- !u!1 &1287542965 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1287542966} + - 33: {fileID: 1287542969} + - 64: {fileID: 1287542968} + - 23: {fileID: 1287542967} + m_Layer: 0 + m_Name: Floor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1287542966 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1287542965} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.05999994, y: -1.14185727, z: -.170444965} + m_LocalScale: {x: .755899787, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 334450669} + m_RootOrder: 0 +--- !u!23 &1287542967 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1287542965} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 1c8f695bd44985245a236dc03edd0318, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &1287542968 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1287542965} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1287542969 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1287542965} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1292760464 stripped +Transform: + m_PrefabParentObject: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + m_PrefabInternal: {fileID: 1015219481} +--- !u!4 &1294717309 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 1531034836} +--- !u!1001 &1295094368 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 979363401} + m_Modifications: + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.x + value: -3.41948223 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.y + value: -.270999998 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.z + value: .213193595 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.y + value: .0310689211 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.w + value: .999517322 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1295094369 stripped +Transform: + m_PrefabParentObject: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_PrefabInternal: {fileID: 1295094368} +--- !u!1001 &1297639488 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: .134999946 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: -.264999866 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: .0736688673 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: .997282743 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_Name + value: SGP_PRE_Barbecue_sauce_512 (10) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1298267291 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1298267292} + m_Layer: 0 + m_Name: Ubuntu clock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1298267292 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1298267291} + m_LocalRotation: {x: -1.15202326e-07, y: .707106709, z: -.707106829, w: -1.15202312e-07} + m_LocalPosition: {x: 1.55999994, y: 2.5079999, z: 2.63499999} + m_LocalScale: {x: 1.34017348, y: 1.34017336, z: -1.34017336} + m_Children: + - {fileID: 1379730479} + m_Father: {fileID: 0} + m_RootOrder: 22 +--- !u!1001 &1301014146 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.240999967 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: .0919999257 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 21 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (22) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1304560220 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1304560221} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1304560221 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1304560220} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1894589974} + m_RootOrder: 4 +--- !u!1001 &1313398017 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1614194353} + m_Modifications: + - target: {fileID: 400002, guid: 3155f845ef8903b479166d713225e8e1, type: 3} + propertyPath: m_LocalPosition.x + value: -2.9000001 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 3155f845ef8903b479166d713225e8e1, type: 3} + propertyPath: m_LocalPosition.y + value: -.00999999046 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 3155f845ef8903b479166d713225e8e1, type: 3} + propertyPath: m_LocalPosition.z + value: -.0980009958 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 3155f845ef8903b479166d713225e8e1, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 3155f845ef8903b479166d713225e8e1, type: 3} + propertyPath: m_LocalRotation.y + value: -.707106829 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 3155f845ef8903b479166d713225e8e1, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 3155f845ef8903b479166d713225e8e1, type: 3} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 3155f845ef8903b479166d713225e8e1, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 3155f845ef8903b479166d713225e8e1, type: 3} + m_IsPrefabParent: 0 +--- !u!4 &1315300015 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 739271920} +--- !u!1001 &1316783780 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: .135000199 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: -.0769968107 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: .0375806689 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: .999293625 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_Name + value: SGP_PRE_Barbecue_sauce_512 (4) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1328163144 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2029825768} + m_Modifications: + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.x + value: -.151317984 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.z + value: .0906634107 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.y + value: -.0323618315 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.w + value: .999476194 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_Name + value: SGP_PRE_Honey_512 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1332722047 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 95fb5a73866b34c07becdf799d54f1f7, type: 2} + m_PrefabInternal: {fileID: 874967645} +--- !u!1001 &1334504878 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 979363401} + m_Modifications: + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.x + value: -.503308713 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.y + value: -.277999997 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.z + value: .055653926 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.y + value: -.0125589371 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.w + value: .999921203 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 140640, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_Name + value: Corn Bag (4) + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1334504879 stripped +Transform: + m_PrefabParentObject: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_PrefabInternal: {fileID: 1334504878} +--- !u!1001 &1335720315 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: .0110000391 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.00500011072 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 28 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (28) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1343647987 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100004, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1343647988} + - 33: {fileID: 1343647991} + - 23: {fileID: 1343647990} + - 64: {fileID: 1343647989} + m_Layer: 0 + m_Name: balcbot300 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &1343647988 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400004, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343647987} + m_LocalRotation: {x: 0, y: -0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1711300013} + m_RootOrder: 1 +--- !u!64 &1343647989 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6400016, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343647987} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 4300014, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!23 &1343647990 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300014, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343647987} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 07ecc6b4398e6184699b097df141926b, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1343647991 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300014, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343647987} + m_Mesh: {fileID: 4300014, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!1001 &1344365628 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.x + value: -.244051799 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.y + value: .166000009 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.z + value: -.785271764 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.y + value: -.99861145 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.w + value: .0526813455 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_RootOrder + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Bread_256 (4) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1356520917 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100006, guid: 409b58c0b511d8e40ae7d590623f1961, type: 3} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1356520918} + - 33: {fileID: 1356520920} + - 23: {fileID: 1356520919} + m_Layer: 0 + m_Name: roof0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &1356520918 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400006, guid: 409b58c0b511d8e40ae7d590623f1961, type: 3} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1356520917} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -5.23000002, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 823732460} + m_RootOrder: 5 +--- !u!23 &1356520919 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300004, guid: 409b58c0b511d8e40ae7d590623f1961, + type: 3} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1356520917} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 5094571edd5028f40a48e8b323f9951a, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1356520920 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300004, guid: 409b58c0b511d8e40ae7d590623f1961, + type: 3} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1356520917} + m_Mesh: {fileID: 4300002, guid: 409b58c0b511d8e40ae7d590623f1961, type: 3} +--- !u!1001 &1358936802 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: -.0850000009 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: -.0560000017 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: .207107872 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: -.978318155 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (9) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1358936803 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 1358936802} +--- !u!1001 &1360205786 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 470886, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + propertyPath: m_LocalPosition.x + value: .550000012 + objectReference: {fileID: 0} + - target: {fileID: 470886, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + propertyPath: m_LocalPosition.y + value: 6.53000021 + objectReference: {fileID: 0} + - target: {fileID: 470886, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + propertyPath: m_LocalPosition.z + value: -1.34000003 + objectReference: {fileID: 0} + - target: {fileID: 470886, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + propertyPath: m_LocalRotation.x + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 470886, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 470886, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 470886, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 470886, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + propertyPath: m_RootOrder + value: 26 + objectReference: {fileID: 0} + - target: {fileID: 157834, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1362867662 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1362867663} + - 33: {fileID: 1362867666} + - 64: {fileID: 1362867665} + - 23: {fileID: 1362867664} + m_Layer: 0 + m_Name: Wall west (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1362867663 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362867662} + m_LocalRotation: {x: .500000238, y: .499999821, z: .499999911, w: -.500000119} + m_LocalPosition: {x: -2.67000008, y: 2.06999993, z: 1.19799995} + m_LocalScale: {x: .140904844, y: 1, z: .104069926} + m_Children: [] + m_Father: {fileID: 334450669} + m_RootOrder: 7 +--- !u!23 &1362867664 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362867662} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 27d5ccce623dcc94581f415e8bca379c, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &1362867665 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362867662} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1362867666 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362867662} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1363513092 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + m_PrefabInternal: {fileID: 1934993389} +--- !u!4 &1365272045 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1056264906} +--- !u!1001 &1365387043 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: .108999968 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: .00700000487 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 25 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (25) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1371807583 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1891727375} + m_Modifications: + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.x + value: .239999995 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.y + value: 1.13100004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.z + value: -.126000002 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.y + value: .616722167 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.w + value: .787180901 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_Name + value: SGP_PRE_Sports_drink_512 (3) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1371807584 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_PrefabInternal: {fileID: 1371807583} +--- !u!1 &1379730478 stripped +GameObject: + m_PrefabParentObject: {fileID: 100004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + m_PrefabInternal: {fileID: 1614411400} +--- !u!4 &1379730479 stripped +Transform: + m_PrefabParentObject: {fileID: 400004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + m_PrefabInternal: {fileID: 1614411400} +--- !u!114 &1379730481 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1379730478} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9114ddb27eafc5a4297dcb2e0d9740e6, type: 3} + m_Name: + m_EditorClassIdentifier: + minutes: {fileID: 1082336650} + hours: {fileID: 544381539} + seconds: {fileID: 589805515} +--- !u!4 &1382441259 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + m_PrefabInternal: {fileID: 2114539846} +--- !u!1 &1387630794 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1387630795} + - 33: {fileID: 1387630798} + - 64: {fileID: 1387630797} + - 23: {fileID: 1387630796} + m_Layer: 0 + m_Name: Wall north + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1387630795 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1387630794} + m_LocalRotation: {x: -.707106829, y: 0, z: 0, w: .707106709} + m_LocalPosition: {x: 1.77999997, y: -2.48000002, z: 2.4000001} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 334450669} + m_RootOrder: 1 +--- !u!23 &1387630796 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1387630794} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 27d5ccce623dcc94581f415e8bca379c, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &1387630797 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1387630794} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1387630798 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1387630794} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &1390132604 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 112409686} + m_Modifications: + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalPosition.x + value: -.0590000004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalPosition.y + value: .320000052 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalPosition.z + value: .43599999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.y + value: .0683406293 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_LocalRotation.w + value: .997662067 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + propertyPath: m_Name + value: SGP_PRE_Jam_512 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1390132605 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 34e9217043b1b462e9c8551503a598c2, type: 2} + m_PrefabInternal: {fileID: 1390132604} +--- !u!1001 &1391263296 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.241000026 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.0949998721 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (13) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1392647257 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400010, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LocalPosition.x + value: 15.25 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LocalPosition.y + value: -8.06129456 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LocalPosition.z + value: 21.9400024 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapIndex + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .198241994 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .198241994 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .794636011 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .60127598 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapIndex + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .0517578013 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .0517578013 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .895793974 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .0881766975 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapIndex + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .00976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .00976562966 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .98189503 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .000450133986 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapIndex + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .319335997 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .319335997 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .582248986 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .222874001 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapIndex + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .0478515998 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .0478515998 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .895808995 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .096004501 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1392647258 stripped +Transform: + m_PrefabParentObject: {fileID: 400010, guid: a420fb6e20ebbba409eed320a7ddc49b, type: 2} + m_PrefabInternal: {fileID: 1392647257} +--- !u!4 &1396382141 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + m_PrefabInternal: {fileID: 2081477468} +--- !u!1001 &1397455050 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.x + value: .0873965174 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.y + value: 1.02980006 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.z + value: 2.62486935 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.y + value: -.773362279 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.w + value: -.63396436 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_RootOrder + value: 35 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1400999907 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1400999908} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1400999908 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1400999907} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1923766079} + m_RootOrder: 8 +--- !u!1001 &1402401245 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: .268997401 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: -.0761270747 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: .0624443032 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: .998048484 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_Name + value: SGP_PRE_Barbecue_sauce_512 (3) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1406343622 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.56099999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.00499982061 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 27 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (27) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1406589656 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: -.264000475 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: .044000145 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: .692761898 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: -.721166432 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (5) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1406589657 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 1406589656} +--- !u!1001 &1412585235 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 470334948} + m_Modifications: + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.x + value: -8.6707592 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.y + value: 1.99767697 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalPosition.z + value: -1.23969162 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 177230, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_Name + value: Crate (4) + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1412585236 stripped +Transform: + m_PrefabParentObject: {fileID: 444218, guid: ef930e62178e41d49a0e4ee956f2e419, type: 2} + m_PrefabInternal: {fileID: 1412585235} +--- !u!1001 &1414071141 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.289999962 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.00500020897 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 31 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (31) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1420494542 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1420494543} + - 82: {fileID: 1420494544} + m_Layer: 0 + m_Name: airco + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1420494543 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1420494542} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.46000004, y: .970000029, z: -.140000001} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1736008644} + m_RootOrder: 2 +--- !u!82 &1420494544 +AudioSource: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1420494542} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 8300000, guid: ab2d7c23fc5d8ee468d824c5a41e5d1c, type: 3} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 1 + Mute: 0 + Spatialize: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 +--- !u!4 &1423575614 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + m_PrefabInternal: {fileID: 2016220736} +--- !u!1001 &1424930716 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalPosition.x + value: .206685886 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalPosition.y + value: 1.028 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalPosition.z + value: 2.2035594 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + propertyPath: m_RootOrder + value: 38 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1428889326 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + m_PrefabInternal: {fileID: 1915064609} +--- !u!4 &1430608980 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 1316783780} +--- !u!1 &1432453137 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100018, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1432453138} + - 33: {fileID: 1432453141} + - 23: {fileID: 1432453140} + - 64: {fileID: 1432453139} + m_Layer: 0 + m_Name: mainA300 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &1432453138 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400014, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1432453137} + m_LocalRotation: {x: 0, y: -0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1711300013} + m_RootOrder: 5 +--- !u!64 &1432453139 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6400012, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1432453137} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 4300000, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!23 &1432453140 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300000, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1432453137} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 5649ad0efca9ed644a470a756f0a3bc0, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1432453141 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300000, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1432453137} + m_Mesh: {fileID: 4300000, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!1 &1434380624 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1434380625} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1434380625 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1434380624} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1755716811} + m_RootOrder: 2 +--- !u!1001 &1458924162 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: -.43599999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: -.0489999987 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: .999994159 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: .00342465844 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (12) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1458924163 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 1458924162} +--- !u!1001 &1465821671 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 70254914} + m_Modifications: + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalPosition.x + value: -.381999999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalPosition.y + value: .101000004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalPosition.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1472171718 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1472171719} + m_Layer: 0 + m_Name: Pasta + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1472171719 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1472171718} + m_LocalRotation: {x: 0, y: .0539648309, z: 0, w: .998542845} + m_LocalPosition: {x: .0379997641, y: .501000047, z: 2.02300024} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1171851953} + - {fileID: 1382441259} + - {fileID: 383405220} + m_Father: {fileID: 1193049470} + m_RootOrder: 25 +--- !u!1 &1475316742 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1475316743} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1475316743 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1475316742} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1392647258} + m_RootOrder: 5 +--- !u!1001 &1487543058 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.201000035 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.203000128 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1492731508 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.x + value: .063040629 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.y + value: .514999986 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.z + value: .377404183 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Chocolate_syrup_256 (4) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1497228598 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.x + value: .101000004 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.y + value: .503000021 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalPosition.z + value: .862999976 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.y + value: -.667917609 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalRotation.w + value: .744235277 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_RootOrder + value: 44 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.x + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 435262, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b11f5ad0d2ae0bd42a17aae462dab368, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1505765690 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 529624987} + m_Modifications: + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalPosition.x + value: -.519999981 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalPosition.y + value: 1.65499997 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalPosition.z + value: -.160999939 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1505765691 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + m_PrefabInternal: {fileID: 1505765690} +--- !u!1001 &1508423457 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1866895040} + m_Modifications: + - target: {fileID: 489898, guid: 81bbff71816d32f468b9f9330f0a8142, type: 2} + propertyPath: m_LocalPosition.x + value: -.522872686 + objectReference: {fileID: 0} + - target: {fileID: 489898, guid: 81bbff71816d32f468b9f9330f0a8142, type: 2} + propertyPath: m_LocalPosition.y + value: .824999988 + objectReference: {fileID: 0} + - target: {fileID: 489898, guid: 81bbff71816d32f468b9f9330f0a8142, type: 2} + propertyPath: m_LocalPosition.z + value: -.399184465 + objectReference: {fileID: 0} + - target: {fileID: 489898, guid: 81bbff71816d32f468b9f9330f0a8142, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 489898, guid: 81bbff71816d32f468b9f9330f0a8142, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 489898, guid: 81bbff71816d32f468b9f9330f0a8142, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 489898, guid: 81bbff71816d32f468b9f9330f0a8142, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 489898, guid: 81bbff71816d32f468b9f9330f0a8142, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 81bbff71816d32f468b9f9330f0a8142, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1516911942 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 1402401245} +--- !u!1001 &1516998371 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.x + value: .0926561207 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.y + value: .514999986 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalPosition.z + value: .576371312 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Chocolate_syrup_256 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1531034836 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: .134999961 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: -.161000252 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: .0736688673 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: .997282743 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_Name + value: SGP_PRE_Barbecue_sauce_512 (7) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1556327253 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100020, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1711300013} + - 111: {fileID: 1556327254} + m_Layer: 0 + m_Name: BagBuilding6HighPrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!111 &1556327254 +Animation: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11100000, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1556327253} + m_Enabled: 1 + serializedVersion: 3 + m_Animation: {fileID: 0} + m_Animations: [] + m_WrapMode: 0 + m_PlayAutomatically: 1 + m_AnimatePhysics: 0 + m_CullingType: 0 +--- !u!4 &1556365893 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_PrefabInternal: {fileID: 583191947} +--- !u!1001 &1559861050 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1891727375} + m_Modifications: + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.x + value: .050999999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.y + value: 1.13100004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.z + value: -.126000002 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.y + value: .697702885 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.w + value: .716387212 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_Name + value: SGP_PRE_Sports_drink_512 (5) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1559861051 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_PrefabInternal: {fileID: 1559861050} +--- !u!4 &1576363612 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_PrefabInternal: {fileID: 69564092} +--- !u!1 &1586238663 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1586238664} + m_Layer: 0 + m_Name: Crates + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1586238664 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1586238663} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 15566887} + m_Father: {fileID: 1910901437} + m_RootOrder: 4 +--- !u!1001 &1586342113 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.200999975 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.0159998592 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (30) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1587571127 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1406343622} +--- !u!1 &1588246511 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1588246513} + - 108: {fileID: 1588246512} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1588246512 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1588246511} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: .772058845, g: .772058845, b: .772058845, a: 1} + m_Intensity: .300000012 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1.40999997 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &1588246513 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1588246511} + m_LocalRotation: {x: .69863683, y: -.178728208, z: .18719919, w: .667022705} + m_LocalPosition: {x: .550000012, y: 4.07999992, z: -1.34000003} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 23 +--- !u!4 &1592258902 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_PrefabInternal: {fileID: 1328163144} +--- !u!1001 &1598844670 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1987817741} + m_Modifications: + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_Name + value: SGP_PRE_Chicken_512 (2) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1598844671 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + m_PrefabInternal: {fileID: 1598844670} +--- !u!1001 &1601012806 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.x + value: .140000001 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.y + value: .510110795 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.z + value: 2.84699988 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.y + value: .112795003 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.w + value: .993618309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_RootOrder + value: 24 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1610656864 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_PrefabInternal: {fileID: 183684459} +--- !u!1001 &1612022384 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1866895040} + m_Modifications: + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalPosition.x + value: -.153999999 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalPosition.y + value: .187999994 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalPosition.z + value: -.237000003 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalRotation.x + value: -.643789113 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalRotation.y + value: -.292464703 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalRotation.z + value: -.292464733 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_LocalRotation.w + value: .643789053 + objectReference: {fileID: 0} + - target: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 153216, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + propertyPath: m_Name + value: Cardboard Box B (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1613159333 stripped +Transform: + m_PrefabParentObject: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + m_PrefabInternal: {fileID: 1941791385} +--- !u!1 &1614194352 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1614194353} + m_Layer: 0 + m_Name: Shelves + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1614194353 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1614194352} + m_LocalRotation: {x: 0, y: 1, z: 0, w: -1.62920685e-07} + m_LocalPosition: {x: -1.47000003, y: .449999988, z: -4.67000008} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1193049470} + - {fileID: 1613159333} + - {fileID: 166561007} + - {fileID: 70254914} + - {fileID: 1796606970} + - {fileID: 1020197931} + - {fileID: 280749464} + m_Father: {fileID: 0} + m_RootOrder: 20 +--- !u!1001 &1614411400 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1298267292} + m_Modifications: + - target: {fileID: 400004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.y + value: -.0189999994 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 0ae4f1f9d59edb640bbfd54c395e4aab, type: 2} + - target: {fileID: 2300012, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 0ae4f1f9d59edb640bbfd54c395e4aab, type: 2} + - target: {fileID: 2300000, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: e98cb919328983f41bd99557f44fc095, type: 2} + - target: {fileID: 2300016, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: e98cb919328983f41bd99557f44fc095, type: 2} + - target: {fileID: 2300014, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a84a5e0dd799942408d7a3d63e022784, type: 2} + - target: {fileID: 2300006, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a84a5e0dd799942408d7a3d63e022784, type: 2} + - target: {fileID: 2300002, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 44d55bba84b2bc348a0e99384c17b385, type: 2} + - target: {fileID: 400012, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400012, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400012, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400018, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400018, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400018, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400016, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400016, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400016, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400014, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400014, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400014, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400012, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400012, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.y + value: .135000005 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.y + value: .135000005 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.y + value: .135000005 + objectReference: {fileID: 0} + - target: {fileID: 400012, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100012, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.y + value: .135000005 + objectReference: {fileID: 0} + - target: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2300018, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: f45d2a714499c6c4b830a5dac5684278, type: 2} + - target: {fileID: 400014, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 400016, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 400018, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 400020, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 9500000, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + m_ParentPrefab: {fileID: 100100000, guid: 6d3a143e682f3054e8035be1da57db99, type: 3} + m_IsPrefabParent: 0 +--- !u!1001 &1618378884 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: .138999969 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.0989999324 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 16 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (17) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1621535835 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + m_PrefabInternal: {fileID: 677658331} +--- !u!1001 &1621780989 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: .197999954 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: .000999992015 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 26 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (26) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1632182059 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + m_PrefabInternal: {fileID: 857239214} +--- !u!1001 &1636047292 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1101891010} + m_Modifications: + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.x + value: -.149641991 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.z + value: .000504478812 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Mayonnaise_256 (4) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1636047293 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_PrefabInternal: {fileID: 1636047292} +--- !u!4 &1656540980 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 4eee1e86c7c924c85affd03894f197d7, type: 2} + m_PrefabInternal: {fileID: 787641564} +--- !u!1001 &1659751863 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 979363401} + m_Modifications: + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 140640, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_Name + value: Corn Bag (6) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1659751864 stripped +Transform: + m_PrefabParentObject: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_PrefabInternal: {fileID: 1659751863} +--- !u!1001 &1665968199 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 235160990} + m_Modifications: + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_Name + value: SGP_PRE_Beans_512 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b3345813496544d118709f7b9b21780c, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1673836756 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LocalPosition.x + value: -2.55000305 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LocalPosition.y + value: -3.5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LocalPosition.z + value: 25.3119278 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100004, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100002, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100006, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapIndex + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .114257999 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .114257999 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .880900979 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: 4.1961699e-05 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapIndex + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .175780997 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .175780997 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .586715996 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .448044002 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapIndex + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .227539003 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .227539003 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .141201004 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .359950989 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + m_IsPrefabParent: 0 +--- !u!4 &1673836757 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: a128ce58847c1834bac2d5d18a2cbce0, type: 3} + m_PrefabInternal: {fileID: 1673836756} +--- !u!4 &1690391780 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_PrefabInternal: {fileID: 1693739694} +--- !u!1001 &1690632057 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.56099999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.192000091 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (6) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1690936955 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 999594243} + m_Modifications: + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.x + value: .172999993 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.y + value: .0269999504 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.z + value: 2.56100011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.y + value: .0365770571 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.w + value: .999330819 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Soup_256 (6) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1690936956 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_PrefabInternal: {fileID: 1690936955} +--- !u!1001 &1693739694 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.x + value: -.0701211616 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.y + value: .104000032 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.z + value: .865598738 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.y + value: .174536973 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.w + value: .984650671 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_RootOrder + value: 31 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Tuna_256 (5) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1696658977 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1101891010} + m_Modifications: + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.x + value: .00364562124 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.y + value: .00499999523 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.z + value: .165489286 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.x + value: .000995441573 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.y + value: .17609024 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.z + value: -.00556459418 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.w + value: -.984357834 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Mayonnaise_256 (2) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 0} + m_ParentPrefab: {fileID: 100100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1702423301 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 529624987} + m_Modifications: + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalPosition.x + value: -.40200001 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalPosition.y + value: 1.65499997 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalPosition.z + value: -.178000107 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + propertyPath: m_Name + value: SGP_PRE_Whiskey_512 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1702423302 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 106b5f06474e4435695a6492bac72e75, type: 2} + m_PrefabInternal: {fileID: 1702423301} +--- !u!1001 &1702905464 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: -.0560000017 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: -.00248881872 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: -.999996901 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (7) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1702905465 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 1702905464} +--- !u!1001 &1704720628 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: -.351000011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: .0500000007 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: .979021728 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: .203756064 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (4) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1704720629 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 1704720628} +--- !u!4 &1705861185 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 383586713} +--- !u!4 &1710383210 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_PrefabInternal: {fileID: 653642491} +--- !u!4 &1711300013 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400000, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1556327253} + m_LocalRotation: {x: 0, y: -.70710659, z: 0, w: -.707106948} + m_LocalPosition: {x: 41.8999901, y: -5.5999999, z: 5.57668972} + m_LocalScale: {x: 1.32056332, y: 1.3205626, z: 1.32056296} + m_Children: + - {fileID: 1060226473} + - {fileID: 1343647988} + - {fileID: 363479780} + - {fileID: 357861933} + - {fileID: 611915663} + - {fileID: 1432453138} + - {fileID: 2018192665} + - {fileID: 826513558} + - {fileID: 92002773} + - {fileID: 263280761} + m_Father: {fileID: 823732460} + m_RootOrder: 17 +--- !u!1001 &1724035005 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: -.172000006 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: .0460000001 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: -.115425006 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: .993316233 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1724035006 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 1724035005} +--- !u!1001 &1729868602 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1061458204} + m_Modifications: + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalPosition.x + value: .171000004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalPosition.y + value: .505999923 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalPosition.z + value: 1.74399996 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalRotation.y + value: .104225889 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_LocalRotation.w + value: .994553685 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Sugar_256 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1729868603 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 4cf469341b775420fb5210649bdd95cc, type: 2} + m_PrefabInternal: {fileID: 1729868602} +--- !u!4 &1733532092 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f54bbac4f08ce4413b46f28245fc46ec, type: 2} + m_PrefabInternal: {fileID: 1192622293} +--- !u!4 &1733926458 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 530004747} +--- !u!1 &1736008643 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1736008644} + m_Layer: 0 + m_Name: Sounds + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1736008644 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1736008643} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.70099998, y: 1.09200001, z: -4.3920002} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 316451630} + - {fileID: 254431360} + - {fileID: 1420494543} + m_Father: {fileID: 0} + m_RootOrder: 18 +--- !u!1001 &1742809514 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: -.0778732225 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: .0624443032 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: .998048484 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_Name + value: SGP_PRE_Barbecue_sauce_512 (5) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1746756645 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400022, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_LocalPosition.x + value: -3.05699992 + objectReference: {fileID: 0} + - target: {fileID: 400022, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_LocalPosition.y + value: .720000029 + objectReference: {fileID: 0} + - target: {fileID: 400022, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_LocalPosition.z + value: -2.74000001 + objectReference: {fileID: 0} + - target: {fileID: 400022, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400022, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_LocalRotation.y + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 400022, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400022, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 400022, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2300022, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a22a24305e0d28643a31f5d21856885f, type: 2} + - target: {fileID: 2300026, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a22a24305e0d28643a31f5d21856885f, type: 2} + - target: {fileID: 2300030, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a22a24305e0d28643a31f5d21856885f, type: 2} + - target: {fileID: 2300028, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a22a24305e0d28643a31f5d21856885f, type: 2} + - target: {fileID: 2300000, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: ae4a38a79322a99469a67c4c3eb2512d, type: 2} + - target: {fileID: 2300018, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: ae4a38a79322a99469a67c4c3eb2512d, type: 2} + - target: {fileID: 2300006, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: ae4a38a79322a99469a67c4c3eb2512d, type: 2} + - target: {fileID: 2300020, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: ae4a38a79322a99469a67c4c3eb2512d, type: 2} + - target: {fileID: 2300002, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: ae4a38a79322a99469a67c4c3eb2512d, type: 2} + - target: {fileID: 2300010, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: ae4a38a79322a99469a67c4c3eb2512d, type: 2} + - target: {fileID: 2300012, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: ae4a38a79322a99469a67c4c3eb2512d, type: 2} + - target: {fileID: 2300014, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: bf9c7da1cd3d9a14c8f221483f436311, type: 2} + - target: {fileID: 2300016, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: ae4a38a79322a99469a67c4c3eb2512d, type: 2} + - target: {fileID: 2300024, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a22a24305e0d28643a31f5d21856885f, type: 2} + - target: {fileID: 2300004, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: ae4a38a79322a99469a67c4c3eb2512d, type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 29c21f0456a24544d9ba3c553cdf2dbe, type: 3} + m_IsPrefabParent: 0 +--- !u!1001 &1750110953 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalPosition.x + value: -.177000001 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalPosition.y + value: -.514999986 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalPosition.z + value: -.476000011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalRotation.y + value: .0563286208 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalRotation.w + value: .998412311 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 9500000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + m_ParentPrefab: {fileID: 100100000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1750110954 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c2de879109cca4241886bf99f9e962fb, type: 2} + m_PrefabInternal: {fileID: 1750110953} +--- !u!1001 &1753766055 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_LocalPosition.x + value: -8.98999977 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_LocalPosition.y + value: -2.1099999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_LocalPosition.z + value: 4.73843384 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_RootOrder + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_LocalScale.x + value: 5.15772343 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_LocalScale.z + value: 3.35765624 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_LocalScale.y + value: 2.12122321 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 191e3385f1e74aa4e91504f0b5efdf2e, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1753972797 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1891727375} + m_Modifications: + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.x + value: .152999997 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.y + value: 1.13100004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalPosition.z + value: -.126000002 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.y + value: .526685297 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalRotation.w + value: .850060403 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_Name + value: SGP_PRE_Sports_drink_512 (4) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1753972798 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c5d89cde9cc14482a85ce84a12cceb56, type: 2} + m_PrefabInternal: {fileID: 1753972797} +--- !u!1001 &1755716810 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.x + value: 9.42000008 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.y + value: -7.05000019 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalPosition.z + value: -14.2299995 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.x + value: -.0739620999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.y + value: -.611636639 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.z + value: -.201378956 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalRotation.w + value: -.761496425 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalScale.z + value: 2.74607897 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapIndex + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .0253906008 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .0253906008 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .000389099005 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .310936004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.y + value: -284.066193 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.x + value: -7.68333435 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalEulerAnglesHint.z + value: 23.6264954 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_RootOrder + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_Name + value: HouseWiresAPrefab (3) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalScale.x + value: 1.72999978 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + propertyPath: m_LocalScale.y + value: 1.72999978 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1755716811 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 95953d45a15e3224c946f47821893f7e, type: 2} + m_PrefabInternal: {fileID: 1755716810} +--- !u!1001 &1759970388 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.x + value: -.178734183 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.y + value: .0180000067 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.z + value: -.433261186 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.y + value: -.999756634 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.w + value: -.0220604017 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_RootOrder + value: 67 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Bread_256 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1772150297 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.379999995 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: .00400006305 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 32 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (32) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1772478007 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 383372218} +--- !u!4 &1772728079 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + m_PrefabInternal: {fileID: 1397455050} +--- !u!1001 &1780323986 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.0370000303 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.097000137 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (15) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1783218049 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2029825768} + m_Modifications: + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.x + value: -.134787828 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalPosition.z + value: -.00756463828 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.y + value: -.999607146 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalRotation.w + value: -.0280281007 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 1ee54950f5be5431d81d8b9cc58d5e94, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1786112115 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LocalPosition.x + value: .419998169 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LocalPosition.y + value: -2.5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LocalPosition.z + value: 12.6329498 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100002, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100004, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LightmapIndex + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .241210997 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .241210997 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .146029994 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .230991006 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LightmapIndex + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .104492001 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .104492001 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .319415987 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .231525004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + m_IsPrefabParent: 0 +--- !u!4 &1786112116 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 6d258fe437697eb458385a7db40cf22c, type: 3} + m_PrefabInternal: {fileID: 1786112115} +--- !u!1001 &1786364163 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1101891010} + m_Modifications: + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.x + value: -.0179999992 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.y + value: .201000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.z + value: .165000007 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.x + value: .000995441689 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.y + value: .17609024 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.z + value: -.00556459464 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.w + value: -.984357834 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Mayonnaise_256 (7) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 0} + m_ParentPrefab: {fileID: 100100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1786364164 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_PrefabInternal: {fileID: 1786364163} +--- !u!4 &1796606970 stripped +Transform: + m_PrefabParentObject: {fileID: 452422, guid: 8572e32155e8d1b4381a69b473e1994b, type: 2} + m_PrefabInternal: {fileID: 10171610} +--- !u!4 &1824875365 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: c543df8cfb52349aea36349020a54d71, type: 2} + m_PrefabInternal: {fileID: 369630139} +--- !u!1001 &1826081543 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 999594243} + m_Modifications: + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.x + value: .337000549 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.y + value: .217000008 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.z + value: 2.41000581 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.y + value: .0809866115 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.w + value: .996715188 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Soup_256 (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1826081544 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_PrefabInternal: {fileID: 1826081543} +--- !u!4 &1834272787 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_PrefabInternal: {fileID: 1856876205} +--- !u!1001 &1842927110 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 235160990} + m_Modifications: + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalPosition.x + value: .0970001295 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalPosition.z + value: .115000226 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_Name + value: SGP_PRE_Beans_512 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b3345813496544d118709f7b9b21780c, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1846215975 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1101891010} + m_Modifications: + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.x + value: -.172000006 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.y + value: .195999995 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.z + value: .00100000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Mayonnaise_256 (5) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1846215976 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_PrefabInternal: {fileID: 1846215975} +--- !u!4 &1850273872 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + m_PrefabInternal: {fileID: 1601012806} +--- !u!1001 &1854879546 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.x + value: .10907279 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.y + value: .102999985 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalPosition.z + value: .755646229 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.y + value: -.0859272853 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_LocalRotation.w + value: .996301413 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_RootOrder + value: 28 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Tuna_256 (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1855683960 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.x + value: .393386155 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.y + value: .0370000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.z + value: 3.41549706 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_RootOrder + value: 20 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1856876205 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.x + value: .363000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.y + value: .0370000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.z + value: 3.28999996 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.x + value: -.00298093306 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.y + value: .147825241 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.z + value: .00155891944 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.w + value: .989007831 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_RootOrder + value: 19 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Ketchup_256 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1866895039 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1866895040} + m_Layer: 0 + m_Name: Cardboard boxes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1866895040 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1866895039} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.57999992, y: -0, z: 2.28999996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 37369411} + - {fileID: 1925385057} + - {fileID: 940230773} + - {fileID: 1881582392} + - {fileID: 1947711617} + - {fileID: 878238615} + - {fileID: 1108965230} + - {fileID: 709316117} + - {fileID: 601336451} + m_Father: {fileID: 0} + m_RootOrder: 19 +--- !u!1001 &1867170641 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.x + value: .196999997 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.y + value: .0370000005 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalPosition.z + value: 3.30800009 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.x + value: -.00298093306 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.y + value: .147825241 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.z + value: .00155891944 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalRotation.w + value: .989007831 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_RootOrder + value: 22 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Ketchup_256 (4) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1871687742 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1871687743} + m_Layer: 0 + m_Name: peanut butter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1871687743 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1871687742} + m_LocalRotation: {x: 0, y: -.707106829, z: 0, w: .707106709} + m_LocalPosition: {x: -.114999637, y: .64200002, z: -.687999904} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 149417027} + - {fileID: 917705123} + - {fileID: 1174401512} + m_Father: {fileID: 1796606970} + m_RootOrder: 1 +--- !u!4 &1881582392 stripped +Transform: + m_PrefabParentObject: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_PrefabInternal: {fileID: 369012000} +--- !u!4 &1882717238 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_PrefabInternal: {fileID: 1003668707} +--- !u!1 &1886951254 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1886951255} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1886951255 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1886951254} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 995930938} + m_RootOrder: 6 +--- !u!1001 &1890132415 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LocalPosition.x + value: 9.47999954 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LocalPosition.y + value: -6.80000305 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LocalPosition.z + value: 42.6199989 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100004, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100002, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LightmapIndex + value: 19 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .219726995 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .219726995 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .833613992 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .353145987 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LightmapIndex + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .104492001 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .104492001 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .880939007 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .114338003 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + m_IsPrefabParent: 0 +--- !u!4 &1890132416 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 4b22a5a950a768d4ea530c8653fa0770, type: 3} + m_PrefabInternal: {fileID: 1890132415} +--- !u!1 &1891727374 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1891727375} + m_Layer: 0 + m_Name: sports drink + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1891727375 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1891727374} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 954792342} + - {fileID: 215358043} + - {fileID: 478551736} + - {fileID: 1371807584} + - {fileID: 1753972798} + - {fileID: 1559861051} + - {fileID: 539866181} + - {fileID: 789761160} + - {fileID: 848354003} + m_Father: {fileID: 70254914} + m_RootOrder: 6 +--- !u!1001 &1894589973 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LocalPosition.x + value: 33.7599945 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LocalPosition.y + value: -6.40000916 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LocalPosition.z + value: 27.409996 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100002, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100004, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100008, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100006, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapIndex + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .238280997 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .238280997 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .741744995 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .623580992 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapIndex + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .176758006 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .176758006 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .415812999 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .445109993 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapIndex + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .0742188022 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .0742188022 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .638870001 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .785354972 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapIndex + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .176758006 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .176758006 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .794719994 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .425579011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + m_IsPrefabParent: 0 +--- !u!4 &1894589974 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 1b879d347ae1fc243925211f634305d5, type: 3} + m_PrefabInternal: {fileID: 1894589973} +--- !u!4 &1894733046 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1335720315} +--- !u!4 &1895033904 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 467015753} +--- !u!1 &1905772714 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1905772715} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1905772715 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1905772714} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1890132416} + m_RootOrder: 2 +--- !u!1001 &1906464958 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 77678842} + m_Modifications: + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalPosition.z + value: -.161000237 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + propertyPath: m_Name + value: SGP_PRE_Barbecue_sauce_512 (8) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1910901436 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 451384, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalPosition.x + value: 2.84800005 + objectReference: {fileID: 0} + - target: {fileID: 451384, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalPosition.y + value: -.252999991 + objectReference: {fileID: 0} + - target: {fileID: 451384, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalPosition.z + value: -1.61000001 + objectReference: {fileID: 0} + - target: {fileID: 451384, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 451384, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 451384, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 451384, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 451384, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 425082, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalPosition.x + value: -6.07700014 + objectReference: {fileID: 0} + - target: {fileID: 425082, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalPosition.y + value: -7.29300022 + objectReference: {fileID: 0} + - target: {fileID: 425082, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalPosition.z + value: -3.3670001 + objectReference: {fileID: 0} + - target: {fileID: 425082, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalScale.x + value: 1.28231692 + objectReference: {fileID: 0} + - target: {fileID: 425082, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalScale.y + value: 1.28231657 + objectReference: {fileID: 0} + - target: {fileID: 425082, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalScale.z + value: 1.28231657 + objectReference: {fileID: 0} + - target: {fileID: 460806, guid: bf6245d192faa074b825b65667e440f6, type: 2} + propertyPath: m_LocalPosition.z + value: -1.028 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: bf6245d192faa074b825b65667e440f6, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1910901437 stripped +Transform: + m_PrefabParentObject: {fileID: 451384, guid: bf6245d192faa074b825b65667e440f6, type: 2} + m_PrefabInternal: {fileID: 1910901436} +--- !u!1001 &1915064609 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.x + value: .271134466 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.y + value: -.493999988 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.z + value: 3.16923809 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.y + value: .744235396 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.w + value: .66791749 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_RootOrder + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Macaroni_cheese_256 (3) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1923766078 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LocalPosition.x + value: 15.2599945 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LocalPosition.y + value: -8.06129456 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LocalPosition.z + value: -24.0200043 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100004, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100006, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100002, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100016, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100014, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapIndex + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .101562999 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .101562999 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .898528993 + objectReference: {fileID: 0} + - target: {fileID: 2300010, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .106536999 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapIndex + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .39160201 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .39160201 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .506771028 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: -.00104141003 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapIndex + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .0771484002 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .0771484002 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .325381994 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .400577992 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapIndex + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .12793 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .12793 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .339832008 + objectReference: {fileID: 0} + - target: {fileID: 2300006, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .488270015 + objectReference: {fileID: 0} + - target: {fileID: 2300012, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapIndex + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 2300012, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .511718988 + objectReference: {fileID: 0} + - target: {fileID: 2300012, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .511718988 + objectReference: {fileID: 0} + - target: {fileID: 2300012, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: -.00151062 + objectReference: {fileID: 0} + - target: {fileID: 2300012, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: -.00151062 + objectReference: {fileID: 0} + - target: {fileID: 2300014, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapIndex + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 2300014, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .0439453013 + objectReference: {fileID: 0} + - target: {fileID: 2300014, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .0439453013 + objectReference: {fileID: 0} + - target: {fileID: 2300014, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .806957006 + objectReference: {fileID: 0} + - target: {fileID: 2300014, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .304028004 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapIndex + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .0986327976 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .0986327976 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .348735988 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .637798011 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapIndex + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.x + value: .0683593974 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.y + value: .0683593974 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.z + value: .000221252005 + objectReference: {fileID: 0} + - target: {fileID: 2300008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LightmapTilingOffset.w + value: .819557011 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 6400000, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + m_ParentPrefab: {fileID: 100100000, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1923766079 stripped +Transform: + m_PrefabParentObject: {fileID: 400008, guid: dbf9b7a956cfb8044a8434d84fcbd797, type: 2} + m_PrefabInternal: {fileID: 1923766078} +--- !u!4 &1925385057 stripped +Transform: + m_PrefabParentObject: {fileID: 437632, guid: 1bc014333e4f7fe43b7fa7301b40c788, type: 2} + m_PrefabInternal: {fileID: 1612022384} +--- !u!1001 &1926735907 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.x + value: -.0272349156 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.y + value: .57099992 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalPosition.z + value: -.511041522 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.y + value: .136921257 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalRotation.w + value: -.99058193 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_RootOrder + value: 68 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Cheese_256 (3) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: dba1fdb119c6448d3bd708a39fc3b8f6, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1932637862 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 823732460} + m_Modifications: + - target: {fileID: 400000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LocalPosition.x + value: 22.6338196 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LocalPosition.y + value: -1.80000305 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LocalPosition.z + value: 51.8799973 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LocalScale.z + value: .862465024 + objectReference: {fileID: 0} + - target: {fileID: 100002, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100004, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 100006, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapIndex + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .148438007 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .148438007 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .701080024 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .513580024 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapIndex + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .185546994 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .185546994 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: .432381004 + objectReference: {fileID: 0} + - target: {fileID: 2300002, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .497810006 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapIndex + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.x + value: .137695 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.y + value: .137695 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.z + value: -4.95911008e-05 + objectReference: {fileID: 0} + - target: {fileID: 2300004, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_LightmapTilingOffset.w + value: .497996986 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + m_IsPrefabParent: 0 +--- !u!4 &1932637863 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 0b7e8a6d5e2f6d74d81472ebe222d504, type: 3} + m_PrefabInternal: {fileID: 1932637862} +--- !u!1001 &1934993389 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.x + value: .0646672696 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.y + value: 1.03400004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.z + value: 2.4523139 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.y + value: -.888952434 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.w + value: -.457999647 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_RootOrder + value: 36 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Peanut_butter_256 (2) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1941791385 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1614194353} + m_Modifications: + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.x + value: -6.22000027 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.y + value: .057000041 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalPosition.z + value: -.150002122 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.y + value: -.707106829 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_LocalRotation.w + value: .707106709 + objectReference: {fileID: 0} + - target: {fileID: 449478, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 179606, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + propertyPath: m_Name + value: Shelf A (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 6b00a9cc66ef14f499a67b3efcf1afb4, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1947711617 stripped +Transform: + m_PrefabParentObject: {fileID: 435542, guid: c1435bdf5fb96b34d969f61c2fe7e7e4, type: 2} + m_PrefabInternal: {fileID: 1242508440} +--- !u!4 &1950574137 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 526422873} +--- !u!1001 &1953989530 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: -.263999999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: -.0529999994 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: .992915094 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: .118826047 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (11) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1953989531 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 1953989530} +--- !u!1001 &1956320616 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.466000021 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.192000061 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1964038869 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.436000019 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: .082000114 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 24 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (24) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1974516281 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 999594243} + m_Modifications: + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.x + value: .166999996 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.y + value: .0269999504 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.z + value: 2.41300011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.y + value: .0075324066 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.w + value: .999971688 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Soup_256 (7) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1974516282 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_PrefabInternal: {fileID: 1974516281} +--- !u!1 &1987817740 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1987817741} + m_Layer: 0 + m_Name: Chicken + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1987817741 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1987817740} + m_LocalRotation: {x: 0, y: -.738284171, z: 0, w: -.674489856} + m_LocalPosition: {x: -.0733527988, y: -.509000003, z: .381125063} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1598844671} + - {fileID: 220065828} + - {fileID: 2026270745} + m_Father: {fileID: 1193049470} + m_RootOrder: 66 +--- !u!4 &1995581958 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1052662676} +--- !u!1001 &2006030356 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalPosition.x + value: 1.26600003 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalPosition.y + value: 3.3499999 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalPosition.z + value: .519999981 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 448956, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 172582, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + propertyPath: m_Name + value: fluorescent light (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: a79b497c76c4b7d42b3ac0621b9c4f6f, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2007284215 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.x + value: .316775501 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.y + value: -.493999988 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.z + value: 3.40469074 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.y + value: .744235396 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.w + value: .66791749 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_RootOrder + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Macaroni_cheese_256 (2) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2009829147 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.x + value: .234479904 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.y + value: 1.03400004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.z + value: 2.42284107 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.y + value: -.773362279 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.w + value: -.63396436 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_RootOrder + value: 37 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Peanut_butter_256 (3) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2016220736 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 235160990} + m_Modifications: + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalPosition.x + value: .0240001939 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalPosition.z + value: .230000004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b3345813496544d118709f7b9b21780c, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b3345813496544d118709f7b9b21780c, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &2018192664 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100016, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2018192665} + - 33: {fileID: 2018192668} + - 23: {fileID: 2018192667} + - 64: {fileID: 2018192666} + m_Layer: 0 + m_Name: roofA300 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &2018192665 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400016, guid: 9282fa64357d39c48adda2ba393a092c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2018192664} + m_LocalRotation: {x: 0, y: -0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1711300013} + m_RootOrder: 6 +--- !u!64 &2018192666 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6400010, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2018192664} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 4300002, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!23 &2018192667 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300002, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2018192664} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 578a9a3c3e2e3d0489a3356fd79ba6d0, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2018192668 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300002, guid: 9282fa64357d39c48adda2ba393a092c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2018192664} + m_Mesh: {fileID: 4300002, guid: bacf86412bd45da438511c380e31fa05, type: 3} +--- !u!4 &2020078726 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 1038256851} +--- !u!1001 &2026270744 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1987817741} + m_Modifications: + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalPosition.x + value: .0436641127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalPosition.z + value: .206258461 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &2026270745 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: bf3fc6aa292164e32a48b3986754c575, type: 2} + m_PrefabInternal: {fileID: 2026270744} +--- !u!1 &2029825767 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2029825768} + m_Layer: 0 + m_Name: Honey + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2029825768 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2029825767} + m_LocalRotation: {x: 0, y: .762663364, z: 0, w: .64679569} + m_LocalPosition: {x: -.00234781951, y: -.495000005, z: .794882774} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1256882878} + - {fileID: 1201318038} + - {fileID: 1610656864} + - {fileID: 1284580663} + - {fileID: 1592258902} + - {fileID: 857339623} + m_Father: {fileID: 1193049470} + m_RootOrder: 65 +--- !u!1 &2039494078 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2039494079} + m_Layer: 0 + m_Name: Crackers + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2039494079 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2039494078} + m_LocalRotation: {x: 0, y: -.998542845, z: 0, w: .053964667} + m_LocalPosition: {x: .188487321, y: -.436999977, z: 1.5346247} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 260885344} + - {fileID: 1656540980} + - {fileID: 1220730378} + - {fileID: 187055028} + m_Father: {fileID: 1193049470} + m_RootOrder: 0 +--- !u!1001 &2043595211 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1101891010} + m_Modifications: + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.x + value: -.0219999999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.y + value: .195999995 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalPosition.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Mayonnaise_256 (8) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &2043595212 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_PrefabInternal: {fileID: 2043595211} +--- !u!1001 &2045016534 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 999594243} + m_Modifications: + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.x + value: .172999993 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.y + value: .217000008 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalPosition.z + value: 2.56100011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.y + value: -.00839559361 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalRotation.w + value: .999964833 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Soup_256 (5) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &2045016535 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: ea65277389b4e4d8289a9dbd3cfd198e, type: 2} + m_PrefabInternal: {fileID: 2045016534} +--- !u!1 &2051479615 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2051479616} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2051479616 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2051479615} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1225170623} + m_RootOrder: 6 +--- !u!1001 &2052420472 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.x + value: -.228145197 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.y + value: .0119999647 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalPosition.z + value: -.786996067 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.y + value: -.99861145 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalRotation.w + value: .0526813455 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_RootOrder + value: 54 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Bread_256 (3) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 569fc14f8601a4b65b2e5a612ddfb5b5, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &2061581043 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 0539a837d467c415db40fed4bae3e58f, type: 2} + m_PrefabInternal: {fileID: 1243180704} +--- !u!4 &2070486991 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_PrefabInternal: {fileID: 1964038869} +--- !u!1001 &2079001178 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.338000029 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.0939999744 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (12) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2081477468 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.x + value: .394818783 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.y + value: -.493999988 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalPosition.z + value: 3.16890645 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.y + value: .744235396 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalRotation.w + value: .66791749 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Macaroni_cheese_256 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f7a669c5e472947e0b943cb780063f8d, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &2083557587 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 7a7a972d02e4b4cf19a3f58f38388c47, type: 2} + m_PrefabInternal: {fileID: 1297639488} +--- !u!1001 &2087147757 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.x + value: .254358768 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.y + value: 1.03400004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalPosition.z + value: 2.58765888 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.y + value: -.773362279 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalRotation.w + value: -.63396436 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_RootOrder + value: 34 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Peanut_butter_256 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2094148143 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.x + value: .32100001 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.y + value: .510110795 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalPosition.z + value: 2.81399989 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.y + value: .0646387935 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_LocalRotation.w + value: .997908771 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_RootOrder + value: 32 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Beans_256 (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 0140ab6e28aaa4bb8b89d07554c6bc44, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2095182434 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 70254914} + m_Modifications: + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalPosition.x + value: .0480000004 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalPosition.y + value: .101000011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_container_512 (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: fc9c1cac2e4ad4912bdf9a1c676c2984, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2100090872 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 979363401} + m_Modifications: + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.x + value: -4.32000017 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.y + value: -.0890000015 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.z + value: 3.00500011 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.y + value: .73145467 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.w + value: .68189007 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 140640, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_Name + value: Corn Bag (7) + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &2100090873 stripped +Transform: + m_PrefabParentObject: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_PrefabInternal: {fileID: 2100090872} +--- !u!1001 &2100464708 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1193049470} + m_Modifications: + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalPosition.x + value: -.00572690368 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalPosition.y + value: .00999999046 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalPosition.z + value: 1.64519954 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalRotation.y + value: .0539648309 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_LocalRotation.w + value: .998542845 + objectReference: {fileID: 0} + - target: {fileID: 482842, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + propertyPath: m_RootOrder + value: 61 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 7d204076506606142b9ac39357b3fde3, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2101656243 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: -.524999976 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.098000221 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (10) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2101718935 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 979363401} + m_Modifications: + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.x + value: .96084106 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.y + value: -.277999997 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalPosition.z + value: .057310909 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.y + value: -.0125589371 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalRotation.w + value: .999921203 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 140640, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_Name + value: Corn Bag (5) + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &2101718936 stripped +Transform: + m_PrefabParentObject: {fileID: 498396, guid: ba942d54b2f32a447a5c00930c6ab127, type: 2} + m_PrefabInternal: {fileID: 2101718935} +--- !u!4 &2103863453 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: 43daba96326d74833938ae74350601c8, type: 2} + m_PrefabInternal: {fileID: 1696658977} +--- !u!1001 &2114539846 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1472171719} + m_Modifications: + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalPosition.x + value: .169250011 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalPosition.y + value: .00779998302 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalPosition.z + value: .025388319 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.y + value: .0825281143 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalRotation.w + value: .996588767 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_Name + value: SMGP_PRE_Pasta_256 (1) + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2c9b9c4e70bb74e1abfbbadc38d2af83, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &2119880682 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f655468ecf9f54d66819668a22759d8e, type: 2} + m_PrefabInternal: {fileID: 338363303} +--- !u!1001 &2127779658 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 673387297} + m_Modifications: + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.x + value: -.43599999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalPosition.z + value: .050999999 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.y + value: .999982536 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_LocalRotation.w + value: -.00591347553 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + propertyPath: m_Name + value: SGP_PRE_Soda_512 (6) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &2127779659 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: b453513176acb44e393f11055e0e4c48, type: 2} + m_PrefabInternal: {fileID: 2127779658} +--- !u!1001 &2129328263 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1022989029} + m_Modifications: + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.x + value: .0530000068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.y + value: .645000041 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalPosition.z + value: -.106999859 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.y + value: .53653127 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_LocalRotation.w + value: .843880415 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_RootOrder + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + propertyPath: m_Name + value: SGP_PRE_Water_bottle_512 (16) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 468530b67be684f50bb8138fb4843438, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &2131627433 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2131627434} + - 33: {fileID: 2131627437} + - 64: {fileID: 2131627436} + - 23: {fileID: 2131627435} + m_Layer: 0 + m_Name: Wall south + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2131627434 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2131627433} + m_LocalRotation: {x: 1.15202326e-07, y: -.707106709, z: -.707106829, w: -1.15202312e-07} + m_LocalPosition: {x: 1.82000005, y: -2.48000002, z: -5.17999983} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 334450669} + m_RootOrder: 3 +--- !u!23 &2131627435 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2131627433} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 27d5ccce623dcc94581f415e8bca379c, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!64 &2131627436 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2131627433} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &2131627437 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2131627433} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2135831555 stripped +Transform: + m_PrefabParentObject: {fileID: 400000, guid: f6d28aaafd7e843afacc5f779f119bff, type: 2} + m_PrefabInternal: {fileID: 2087147757} diff --git a/Assets/Scenes/LaTienda.unity.meta b/Assets/Scenes/LaTienda.unity.meta new file mode 100644 index 0000000..b2e7657 --- /dev/null +++ b/Assets/Scenes/LaTienda.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 847d569e9e3e70b4fa68358acacfa9f8 +timeCreated: 1447436982 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Lobby.unity b/Assets/Scenes/Lobby.unity new file mode 100644 index 0000000..bd8a16e --- /dev/null +++ b/Assets/Scenes/Lobby.unity @@ -0,0 +1,6062 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 7 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.37356454, g: 0.38112047, b: 0.35887694, a: 1} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 7 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 4 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_DirectLightInLightProbes: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightingDataAsset: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: 0.16666667 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &48609438 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 115500, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 48609439} + - 222: {fileID: 48609441} + - 114: {fileID: 48609440} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &48609439 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22447222, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 48609438} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 792189495} + m_RootOrder: 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, y: 1} +--- !u!114 &48609440 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11474856, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 48609438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 40 + 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: DEDICATED SERVER +--- !u!222 &48609441 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22294122, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 48609438} +--- !u!1 &51434991 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 198946, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 51434992} + - 222: {fileID: 51434994} + - 114: {fileID: 51434993} + m_Layer: 5 + m_Name: NoServerFound + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &51434992 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22459004, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 51434991} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 730950231} + m_RootOrder: 3 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -302.5, y: 96.5} + m_SizeDelta: {x: 605, y: 193} + m_Pivot: {x: 0, y: 1} +--- !u!114 &51434993 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11416654, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 51434991} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568629, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 48 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 48 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: NO SERVERS FOUND +--- !u!222 &51434994 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22289534, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 51434991} +--- !u!1 &150843726 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 145168, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 150843727} + - 222: {fileID: 150843729} + - 114: {fileID: 150843728} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &150843727 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22475244, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 150843726} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1776014353} + m_RootOrder: 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, y: 1} +--- !u!114 &150843728 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11413490, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 150843726} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + 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: JOIN +--- !u!222 &150843729 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22228312, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 150843726} +--- !u!1 &176696271 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 128758, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 176696272} + - 222: {fileID: 176696274} + - 114: {fileID: 176696273} + m_Layer: 5 + m_Name: FindAGame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &176696272 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22420200, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 176696271} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 375371553} + m_RootOrder: 4 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 115, y: -261} + m_SizeDelta: {x: -202.69995, y: 23} + m_Pivot: {x: 0, y: 1} +--- !u!114 &176696273 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11411062, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 176696271} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568629, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 32 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: FIND A GAME +--- !u!222 &176696274 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22204166, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 176696271} +--- !u!1 &245020368 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 178410, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 245020369} + - 222: {fileID: 245020372} + - 114: {fileID: 245020371} + - 114: {fileID: 245020370} + m_Layer: 5 + m_Name: LobbyPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &245020369 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22443498, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 245020368} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1690134997} + - {fileID: 298179768} + m_Father: {fileID: 1539639523} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -200} + m_SizeDelta: {x: 0, y: 880} + m_Pivot: {x: 0, y: 1} +--- !u!114 &245020370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11499846, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 245020368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5156c0b327b8dd45a725d337f49b61c, type: 3} + m_Name: + m_EditorClassIdentifier: + playerListContentTransform: {fileID: 1521759224} + warningDirectPlayServer: {fileID: 298179767} + addButtonRow: {fileID: 963080365} +--- !u!114 &245020371 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11407464, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 245020368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &245020372 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22249058, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 245020368} +--- !u!1 &298179767 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 199766, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 298179768} + - 222: {fileID: 298179770} + - 114: {fileID: 298179769} + m_Layer: 5 + m_Name: DirectPlayWarning + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &298179768 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22403912, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 298179767} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 245020369} + m_RootOrder: 1 + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: -960.00006, y: 105} + m_SizeDelta: {x: 1920, y: 105} + m_Pivot: {x: 0, y: 1} +--- !u!114 &298179769 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11406550, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 298179767} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568629, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 36 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 'This is a direct play server, it is not listed in "List servers" + + Other players have to connect using your IP address' +--- !u!222 &298179770 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22252334, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 298179767} +--- !u!1 &328721567 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 177652, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 328721568} + - 222: {fileID: 328721570} + - 114: {fileID: 328721569} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &328721568 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22430450, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 328721567} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 2027124569} + m_RootOrder: 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 &328721569 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11459592, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 328721567} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + 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: NEXT +--- !u!222 &328721570 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22218898, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 328721567} +--- !u!1 &347540334 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 170112, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 347540335} + - 222: {fileID: 347540337} + - 114: {fileID: 347540336} + m_Layer: 5 + m_Name: JoinAGame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &347540335 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22418156, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 347540334} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1705892646} + m_RootOrder: 5 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 115, y: -296} + m_SizeDelta: {x: -231.40002, y: 27} + m_Pivot: {x: 0, y: 1} +--- !u!114 &347540336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11469840, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 347540334} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568629, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 32 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: JOIN A SESSION +--- !u!222 &347540337 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22232538, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 347540334} +--- !u!1 &353976085 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 120400, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 353976086} + - 222: {fileID: 353976088} + - 114: {fileID: 353976087} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &353976086 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22442232, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 353976085} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1297434527} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 176, y: 52} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &353976087 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11477878, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 353976085} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 100 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: BACK +--- !u!222 &353976088 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22244092, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 353976085} +--- !u!1 &370445943 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 370445948} + - 20: {fileID: 370445947} + - 92: {fileID: 370445946} + - 124: {fileID: 370445945} + - 81: {fileID: 370445944} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &370445944 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 370445943} + m_Enabled: 0 +--- !u!124 &370445945 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 370445943} + m_Enabled: 1 +--- !u!92 &370445946 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 370445943} + m_Enabled: 1 +--- !u!20 &370445947 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 370445943} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 1, g: 1, b: 1, a: 0.019607844} + 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: 0 + 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: 3 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &370445948 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 370445943} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &375371552 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 146344, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 375371553} + - 222: {fileID: 375371555} + - 114: {fileID: 375371554} + m_Layer: 0 + m_Name: MatchmakerSubPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &375371553 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22463094, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 375371552} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 2046537347} + - {fileID: 853284044} + - {fileID: 874304349} + - {fileID: 909478154} + - {fileID: 176696272} + - {fileID: 1399937544} + m_Father: {fileID: 1758517956} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.000091552734} + m_SizeDelta: {x: 0, y: 440} + m_Pivot: {x: 0, y: 1} +--- !u!114 &375371554 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11405198, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 375371552} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.94117653, g: 0.94117653, b: 0.94117653, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &375371555 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22239860, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 375371552} +--- !u!1 &384986252 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 183812, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 384986253} + - 222: {fileID: 384986255} + - 114: {fileID: 384986254} + m_Layer: 5 + m_Name: HeaderSubPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &384986253 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22491510, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 384986252} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 733684360} + - {fileID: 1578115315} + - {fileID: 1964103634} + m_Father: {fileID: 730950231} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 90} + m_Pivot: {x: 0, y: 1} +--- !u!114 &384986254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11428192, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 384986252} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9411765, g: 0.9411765, b: 0.9411765, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &384986255 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22253452, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 384986252} +--- !u!1 &401547885 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 181906, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 401547886} + - 222: {fileID: 401547888} + - 114: {fileID: 401547887} + m_Layer: 5 + m_Name: NetworkLobbyExample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &401547886 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22434328, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 401547885} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 483313868} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 112, y: 21} + m_SizeDelta: {x: 868, y: 46} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &401547887 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11402578, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 401547885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 64 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 64 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: IMMERSIVE LANGUAGE +--- !u!222 &401547888 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22237402, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 401547885} +--- !u!1 &483313867 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 127378, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 483313868} + - 222: {fileID: 483313871} + - 114: {fileID: 483313870} + - 114: {fileID: 483313869} + m_Layer: 5 + m_Name: TopPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &483313868 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22418284, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 483313867} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 401547886} + - {fileID: 1297434527} + - {fileID: 986495363} + - {fileID: 583852365} + - {fileID: 1588906248} + - {fileID: 535125059} + m_Father: {fileID: 1539639523} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 200} + m_Pivot: {x: 0, y: 1} +--- !u!114 &483313869 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11424994, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 483313867} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 763992d85d3f6d4428454c2a968ce084, type: 3} + m_Name: + m_EditorClassIdentifier: + isInGame: 0 +--- !u!114 &483313870 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11447690, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 483313867} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &483313871 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22237112, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 483313867} +--- !u!1 &530912283 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 146438, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 530912284} + - 222: {fileID: 530912287} + - 114: {fileID: 530912286} + - 114: {fileID: 530912285} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &530912284 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22468472, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 530912283} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1910689817} + - {fileID: 791131347} + m_Father: {fileID: 1705892646} + m_RootOrder: 6 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 113.5, y: -341} + m_SizeDelta: {x: -1133.5, y: 55} + m_Pivot: {x: 0, y: 1} +--- !u!114 &530912285 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11447752, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 530912283} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 1, g: 1, b: 1, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, 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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 530912286} + m_TextComponent: {fileID: 791131348} + m_Placeholder: {fileID: 1910689818} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 96 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 1, g: 0.9647059, b: 0, a: 1} + m_Text: 192.168.1.1 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!114 &530912286 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11474426, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 530912283} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 6722231e3f6fe2e46accc3f24885f478, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &530912287 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22256252, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 530912283} +--- !u!1 &535125058 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 118368, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 535125059} + - 222: {fileID: 535125061} + - 114: {fileID: 535125060} + m_Layer: 5 + m_Name: HostingInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &535125059 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22481172, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 535125058} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 483313868} + m_RootOrder: 5 + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 221, y: -44} + m_SizeDelta: {x: 288, y: 24} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &535125060 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11403930, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 535125058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 30 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: Hosting +--- !u!222 &535125061 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22252002, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 535125058} +--- !u!1 &583852364 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 150296, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 583852365} + - 222: {fileID: 583852367} + - 114: {fileID: 583852366} + m_Layer: 5 + m_Name: StatusInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &583852365 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22405390, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 583852364} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 483313868} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 593.5, y: -44} + m_SizeDelta: {x: 325, y: 24} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &583852366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11415712, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 583852364} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 30 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: localhost +--- !u!222 &583852367 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22249596, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 583852364} +--- !u!1 &691335225 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 161478, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 691335226} + - 222: {fileID: 691335228} + - 114: {fileID: 691335227} + m_Layer: 5 + m_Name: ServerList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &691335226 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22417688, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 691335225} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 730950231} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -90} + m_SizeDelta: {x: 0, y: 600} + m_Pivot: {x: 0, y: 1} +--- !u!114 &691335227 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11456716, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 691335225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 +--- !u!222 &691335228 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22218228, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 691335225} +--- !u!1 &711570245 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 119266, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 711570246} + - 222: {fileID: 711570249} + - 114: {fileID: 711570248} + - 114: {fileID: 711570247} + m_Layer: 5 + m_Name: ConnectingPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &711570246 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22482056, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 711570245} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 853842505} + m_Father: {fileID: 1993971786} + m_RootOrder: 0 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -493, y: 277} + m_SizeDelta: {x: 986, y: 554} + m_Pivot: {x: 0, y: 1} +--- !u!114 &711570247 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11445820, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 711570245} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 +--- !u!114 &711570248 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11451830, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 711570245} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &711570249 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22238962, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 711570245} +--- !u!1 &730950230 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 140634, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 730950231} + - 222: {fileID: 730950233} + - 114: {fileID: 730950232} + m_Layer: 5 + m_Name: ServerListPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &730950231 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22488586, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 730950230} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 384986253} + - {fileID: 691335226} + - {fileID: 1551252020} + - {fileID: 51434992} + m_Father: {fileID: 1539639523} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -200} + m_SizeDelta: {x: 0, y: 880} + m_Pivot: {x: 0, y: 1} +--- !u!114 &730950232 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11478224, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 730950230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2fc8e7df4caaef14e97fb5dbb4825c5a, type: 3} + m_Name: + m_EditorClassIdentifier: + lobbyManager: {fileID: 1539639524} + serverListRect: {fileID: 691335226} + serverEntryPrefab: {fileID: 104980, guid: 9a1af8c2b03c38c43a3e9c2b43db4483, type: 2} + noServerFound: {fileID: 51434991} +--- !u!222 &730950233 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22221880, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 730950230} +--- !u!1 &733684359 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 164848, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 733684360} + - 222: {fileID: 733684362} + - 114: {fileID: 733684361} + m_Layer: 5 + m_Name: ServerName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &733684360 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22413772, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 733684359} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 384986253} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 116, y: -36} + m_SizeDelta: {x: 260, y: 27} + m_Pivot: {x: 0, y: 1} +--- !u!114 &733684361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11404728, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 733684359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568629, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 36 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: 'SERVER NAME + +' +--- !u!222 &733684362 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22203328, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 733684359} +--- !u!1 &755184386 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 106558, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 755184387} + - 222: {fileID: 755184389} + - 114: {fileID: 755184388} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &755184387 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22428082, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 755184386} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1317991812} + m_RootOrder: 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 &755184388 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11452540, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 755184386} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + 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: PREVIOUS +--- !u!222 &755184389 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22296218, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 755184386} +--- !u!1 &773530114 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 142112, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 773530115} + - 222: {fileID: 773530118} + - 114: {fileID: 773530117} + - 114: {fileID: 773530116} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &773530115 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22492398, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 773530114} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1014247936} + m_Father: {fileID: 1690134997} + m_RootOrder: 1 + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 83, y: 0} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &773530116 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11409888, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 773530114} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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.9607844, g: 0.9607844, b: 0.9607844, a: 1} + m_DisabledColor: {r: 0.9607844, g: 0.9607844, b: 0.9607844, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 773530117} + m_HandleRect: {fileID: 1398093167} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &773530117 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11447366, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 773530114} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.94117653, g: 0.94117653, b: 0.94117653, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &773530118 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22288474, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 773530114} +--- !u!1 &791131346 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 167420, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 791131347} + - 222: {fileID: 791131349} + - 114: {fileID: 791131348} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &791131347 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22475122, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 791131346} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 530912284} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 10, y: -5} + m_SizeDelta: {x: -20, y: -10} + m_Pivot: {x: 0, y: 1} +--- !u!114 &791131348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11465630, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 791131346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 192.168.1.1 +--- !u!222 &791131349 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22279028, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 791131346} +--- !u!1 &792189494 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 181294, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 792189495} + - 222: {fileID: 792189498} + - 114: {fileID: 792189497} + - 114: {fileID: 792189496} + m_Layer: 5 + m_Name: DedicatedServerButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &792189495 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22464820, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 792189494} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 48609439} + m_Father: {fileID: 1705892646} + m_RootOrder: 4 + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -117, y: -163} + m_SizeDelta: {x: 500, y: 85} + m_Pivot: {x: 1, y: 1} +--- !u!114 &792189496 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11478738, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 792189494} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_HighlightedColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 1} + m_PressedColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 1} + m_DisabledColor: {r: 0, g: 0.8, b: 0.8, a: 0.49803922} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 792189497} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1758517957} + m_MethodName: OnClickDedicated + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &792189497 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11490910, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 792189494} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &792189498 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22240290, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 792189494} +--- !u!1 &802970611 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 102456, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 802970612} + - 222: {fileID: 802970615} + - 114: {fileID: 802970614} + - 114: {fileID: 802970613} + m_Layer: 5 + m_Name: ConnectingPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &802970612 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22444138, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 802970611} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1639888752} + - {fileID: 942795946} + m_Father: {fileID: 1636792337} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 465, y: -310} + m_SizeDelta: {x: 986, y: 554} + m_Pivot: {x: 0, y: 1} +--- !u!114 &802970613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11412334, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 802970611} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 +--- !u!114 &802970614 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11486822, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 802970611} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ea1a353ad7fa01940ae37eca7f03bfbb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &802970615 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22205830, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 802970611} +--- !u!1 &825864803 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 144256, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 825864804} + - 222: {fileID: 825864807} + - 114: {fileID: 825864806} + - 114: {fileID: 825864805} + m_Layer: 5 + m_Name: AddButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &825864804 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22459014, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 825864803} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 869978464} + m_Father: {fileID: 963080365} + m_RootOrder: 0 + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -85, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &825864805 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11474082, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 825864803} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_HighlightedColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_PressedColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_DisabledColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.2 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 825864806} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1539639524} + m_MethodName: AddLocalPlayer + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &825864806 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11422858, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 825864803} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &825864807 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22220370, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 825864803} +--- !u!1 &853284043 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 195798, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 853284044} + - 222: {fileID: 853284046} + - 114: {fileID: 853284045} + m_Layer: 5 + m_Name: CreateAGame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &853284044 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22409562, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 853284043} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 375371553} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 115, y: -116} + m_SizeDelta: {x: -202.69995, y: 23} + m_Pivot: {x: 0, y: 1} +--- !u!114 &853284045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11418158, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 853284043} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568629, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 32 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: CREATE A GAME +--- !u!222 &853284046 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22235552, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 853284043} +--- !u!1 &853842504 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 193664, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 853842505} + - 222: {fileID: 853842507} + - 114: {fileID: 853842506} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &853842505 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22402218, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 853842504} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 711570246} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.000015258789, y: -0.000030517578} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &853842506 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11480866, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 853842504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 62 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 62 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: CONNECTING... +--- !u!222 &853842507 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22213516, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 853842504} +--- !u!1 &866321169 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 157512, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 866321170} + - 222: {fileID: 866321172} + - 114: {fileID: 866321171} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &866321170 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22489602, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 866321169} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1399937544} + m_RootOrder: 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, y: 1} +--- !u!114 &866321171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11411206, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 866321169} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 40 + 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: LIST SERVERS +--- !u!222 &866321172 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22289478, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 866321169} +--- !u!1 &869978463 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 134896, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 869978464} + - 222: {fileID: 869978466} + - 114: {fileID: 869978465} + m_Layer: 5 + m_Name: IconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &869978464 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22474222, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869978463} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 825864804} + m_RootOrder: 0 + m_AnchorMin: {x: 0.1, y: 0.1} + m_AnchorMax: {x: 0.9, y: 0.9} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &869978465 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11486290, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869978463} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ef656a92b5be2d043b5bf03b4113af23, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &869978466 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22248636, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869978463} +--- !u!1 &874304348 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 198742, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 874304349} + - 222: {fileID: 874304352} + - 114: {fileID: 874304351} + - 114: {fileID: 874304350} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &874304349 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22443334, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 874304348} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1732387511} + - {fileID: 1184678112} + m_Father: {fileID: 375371553} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 113.5, y: -160} + m_SizeDelta: {x: -1133.5, y: 55} + m_Pivot: {x: 0, y: 1} +--- !u!114 &874304350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11484364, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 874304348} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 874304351} + m_TextComponent: {fileID: 1184678113} + m_Placeholder: {fileID: 1732387512} + m_ContentType: 9 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 3 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 1, g: 0.9647059, b: 0, a: 1} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!114 &874304351 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11430502, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 874304348} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 6722231e3f6fe2e46accc3f24885f478, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &874304352 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22247678, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 874304348} +--- !u!1 &909478153 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 115900, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 909478154} + - 222: {fileID: 909478157} + - 114: {fileID: 909478156} + - 114: {fileID: 909478155} + m_Layer: 5 + m_Name: CreateButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &909478154 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22477934, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 909478153} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1250248526} + m_Father: {fileID: 375371553} + m_RootOrder: 3 + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -1000, y: -161} + m_SizeDelta: {x: 176, y: 52} + m_Pivot: {x: 0, y: 1} +--- !u!114 &909478155 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11491566, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 909478153} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: 0.39607847, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: 0.39607847, a: 1} + m_PressedColor: {r: 1, g: 0, b: 0.39607847, a: 1} + m_DisabledColor: {r: 1, g: 0, b: 0.39607847, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 909478156} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1758517957} + m_MethodName: OnClickCreateMatchmakingGame + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &909478156 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11407368, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 909478153} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &909478157 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22282130, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 909478153} +--- !u!1 &942795942 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 121704, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 942795946} + - 222: {fileID: 942795945} + - 114: {fileID: 942795944} + - 114: {fileID: 942795943} + m_Layer: 5 + m_Name: CancelButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &942795943 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11480484, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 942795942} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: 0.39607847, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: 0.39607847, a: 1} + m_PressedColor: {r: 1, g: 0, b: 0.39607847, a: 1} + m_DisabledColor: {r: 1, g: 0, b: 0.39607847, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 942795944} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &942795944 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11472088, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 942795942} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &942795945 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22287640, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 942795942} +--- !u!224 &942795946 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22400892, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 942795942} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1129999729} + m_Father: {fileID: 802970612} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 196, y: -424} + m_SizeDelta: {x: 598, y: 84} + m_Pivot: {x: 0, y: 1} +--- !u!1 &963080364 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 161020, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 963080365} + - 114: {fileID: 963080366} + m_Layer: 5 + m_Name: AddPlayerButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &963080365 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22432700, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 963080364} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 825864804} + m_Father: {fileID: 1521759224} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1039.3477, y: -50} + m_SizeDelta: {x: 2078.6953, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &963080366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11440648, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 963080364} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 100 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!1 &986495362 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 144076, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 986495363} + - 222: {fileID: 986495365} + - 114: {fileID: 986495364} + m_Layer: 5 + m_Name: 'Status:' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &986495363 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22440242, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 986495362} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 483313868} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 115.5, y: -44} + m_SizeDelta: {x: 105, y: 24} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &986495364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11403610, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 986495362} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 01cd679a1b9ee48bf9c546f6ce2cb97e, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 30 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: 'Status:' +--- !u!222 &986495365 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22234188, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 986495362} +--- !u!1 &1014247935 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 199228, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1014247936} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1014247936 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22424006, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1014247935} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1398093167} + m_Father: {fileID: 773530115} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.00000047683716, y: 0} + m_SizeDelta: {x: -28, y: -28} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1069572248 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 187466, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1069572249} + - 222: {fileID: 1069572251} + - 114: {fileID: 1069572250} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1069572249 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22415988, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1069572248} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1160820267} + m_RootOrder: 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, y: 1} +--- !u!114 &1069572250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11410598, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1069572248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 40 + 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: HOST +--- !u!222 &1069572251 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22243298, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1069572248} +--- !u!1 &1129999728 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 187204, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1129999729} + - 222: {fileID: 1129999731} + - 114: {fileID: 1129999730} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1129999729 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22409424, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1129999728} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 942795946} + m_RootOrder: 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 &1129999730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11499128, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1129999728} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 52 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 52 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: CANCEL +--- !u!222 &1129999731 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22203258, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1129999728} +--- !u!1 &1160820266 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 133246, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1160820267} + - 222: {fileID: 1160820270} + - 114: {fileID: 1160820269} + - 114: {fileID: 1160820268} + m_Layer: 5 + m_Name: PlayAndHostButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1160820267 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22475366, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1160820266} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1069572249} + m_Father: {fileID: 1705892646} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 117, y: 57} + m_SizeDelta: {x: -232, y: 85} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1160820268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11443636, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1160820266} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_HighlightedColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 1} + m_PressedColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 1} + m_DisabledColor: {r: 0, g: 0.8, b: 0.8, a: 0.49803922} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1160820269} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1758517957} + m_MethodName: OnClickHost + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1160820269 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11468060, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1160820266} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1160820270 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22261406, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1160820266} +--- !u!1 &1166589153 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1166589157} + - 114: {fileID: 1166589156} + - 114: {fileID: 1166589155} + - 114: {fileID: 1166589154} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1166589154 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1166589153} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ForceModuleActive: 0 +--- !u!114 &1166589155 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1166589153} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1166589156 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1166589153} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1166589157 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1166589153} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1 &1184678111 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 179948, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1184678112} + - 222: {fileID: 1184678114} + - 114: {fileID: 1184678113} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1184678112 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22403944, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1184678111} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 874304349} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 10, y: -5} + m_SizeDelta: {x: -20, y: -10} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1184678113 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11420632, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1184678111} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1184678114 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22234518, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1184678111} +--- !u!1 &1250248525 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 153838, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1250248526} + - 222: {fileID: 1250248528} + - 114: {fileID: 1250248527} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1250248526 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22419570, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1250248525} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 909478154} + m_RootOrder: 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, y: 1} +--- !u!114 &1250248527 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11442388, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1250248525} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 100 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: CREATE +--- !u!222 &1250248528 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22276234, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1250248525} +--- !u!1 &1297434526 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100882, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1297434527} + - 222: {fileID: 1297434530} + - 114: {fileID: 1297434529} + - 114: {fileID: 1297434528} + m_Layer: 5 + m_Name: BackButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1297434527 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22491464, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1297434526} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 353976086} + m_Father: {fileID: 483313868} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 987, y: 21} + m_SizeDelta: {x: 176, y: 52} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &1297434528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11477488, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1297434526} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: 0.39607847, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: 0.39607847, a: 1} + m_PressedColor: {r: 1, g: 0, b: 0.39607847, a: 1} + m_DisabledColor: {r: 1, g: 0, b: 0.39607847, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.2 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1297434529} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1539639524} + m_MethodName: GoBackButton + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1297434529 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11489734, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1297434526} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1297434530 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22269130, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1297434526} +--- !u!1 &1317991811 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 157842, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1317991812} + - 222: {fileID: 1317991816} + - 114: {fileID: 1317991815} + - 114: {fileID: 1317991814} + - 114: {fileID: 1317991813} + m_Layer: 5 + m_Name: PreviousButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1317991812 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22452086, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1317991811} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 755184387} + m_Father: {fileID: 1551252020} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 118.10004, y: -40} + m_SizeDelta: {x: 288, y: 80} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1317991813 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11471934, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1317991811} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 64 + m_MinHeight: 32 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &1317991814 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11467816, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1317991811} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_HighlightedColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 1} + m_PressedColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 1} + m_DisabledColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1317991815} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 730950232} + m_MethodName: ChangePage + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: -1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1317991815 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11415452, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1317991811} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1317991816 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22228374, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1317991811} +--- !u!1 &1397367836 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 158718, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1397367837} + - 222: {fileID: 1397367839} + - 114: {fileID: 1397367838} + m_Layer: 5 + m_Name: StartAGame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1397367837 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22442340, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397367836} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1705892646} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 115, y: -117} + m_SizeDelta: {x: -231.69995, y: 25} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1397367838 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11434196, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397367836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568629, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 32 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0 + m_Text: START A SESSION +--- !u!222 &1397367839 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22262680, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397367836} +--- !u!1 &1398093166 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 188288, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1398093167} + - 222: {fileID: 1398093169} + - 114: {fileID: 1398093168} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1398093167 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22495014, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1398093166} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1014247936} + m_RootOrder: 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 &1398093168 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11476426, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1398093166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7058823, g: 0.7058823, b: 0.7058823, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1398093169 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22288496, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1398093166} +--- !u!1 &1399937543 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 185718, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1399937544} + - 222: {fileID: 1399937547} + - 114: {fileID: 1399937546} + - 114: {fileID: 1399937545} + m_Layer: 5 + m_Name: ListServerButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1399937544 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22455308, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1399937543} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 866321170} + m_Father: {fileID: 375371553} + m_RootOrder: 5 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 115, y: -303} + m_SizeDelta: {x: -230, y: 85} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1399937545 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11430100, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1399937543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_HighlightedColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 1} + m_PressedColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 1} + m_DisabledColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1399937546} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1758517957} + m_MethodName: OnClickOpenServerList + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1399937546 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11422522, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1399937543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1399937547 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22203670, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1399937543} +--- !u!1 &1429500299 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 174036, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1429500300} + - 222: {fileID: 1429500302} + - 114: {fileID: 1429500301} + m_Layer: 5 + m_Name: DirectPlay + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1429500300 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22409036, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1429500299} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1705892646} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 113, y: -40} + m_SizeDelta: {x: -229.69995, y: 42} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1429500301 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11439030, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1429500299} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 52 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 52 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: MANUAL CONNECTION +--- !u!222 &1429500302 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22245736, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1429500299} +--- !u!1 &1490853873 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 135376, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1490853874} + - 222: {fileID: 1490853876} + - 114: {fileID: 1490853875} + m_Layer: 5 + m_Name: OR + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1490853874 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22466426, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1490853873} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1705892646} + m_RootOrder: 3 + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -0.0000009536743, y: -163} + m_SizeDelta: {x: 100, y: 85} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1490853875 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11413568, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1490853873} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 40 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: OR +--- !u!222 &1490853876 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22289234, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1490853873} +--- !u!1 &1521759223 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 127076, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1521759224} + - 114: {fileID: 1521759226} + - 114: {fileID: 1521759225} + m_Layer: 5 + m_Name: PlayerList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1521759224 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22401550, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1521759223} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 963080365} + m_Father: {fileID: 1690134997} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -83, y: 100} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1521759225 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11453250, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1521759223} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 1 +--- !u!114 &1521759226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11460916, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1521759223} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 +--- !u!1 &1539639521 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 155310, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1539639523} + - 223: {fileID: 1539639527} + - 114: {fileID: 1539639526} + - 114: {fileID: 1539639525} + - 114: {fileID: 1539639524} + - 114: {fileID: 1539639522} + m_Layer: 5 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1539639522 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539639521} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5d15f2051d09644ebccdef0f54b7bbb, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &1539639523 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22459552, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539639521} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 483313868} + - {fileID: 1758517956} + - {fileID: 730950231} + - {fileID: 245020369} + - {fileID: 1636792337} + - {fileID: 1993971786} + m_Father: {fileID: 0} + m_RootOrder: 2 + 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!114 &1539639524 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11475086, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539639521} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aca1b68ffc88c0846841d46e44dddf1b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NetworkPort: 7779 + m_ServerBindToIP: 0 + m_ServerBindAddress: + m_NetworkAddress: localhost + m_DontDestroyOnLoad: 1 + m_RunInBackground: 1 + m_ScriptCRCCheck: 1 + m_MaxDelay: 0.01 + m_LogLevel: 2 + m_PlayerPrefab: {fileID: 157834, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + m_AutoCreatePlayer: 1 + m_PlayerSpawnMethod: 1 + m_OfflineScene: Lobby + m_OnlineScene: + m_SpawnPrefabs: + - {fileID: 118444, guid: 1d7aa360d07b9724aa01caea999e50ef, type: 2} + - {fileID: 133056, guid: 452a839e95cd29f4191e0b4eca8bb794, type: 2} + - {fileID: 157834, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + m_CustomConfig: 1 + m_MaxConnections: 4 + m_ConnectionConfig: + m_PacketSize: 1500 + m_FragmentSize: 500 + m_ResendTimeout: 1200 + m_DisconnectTimeout: 4000 + m_ConnectTimeout: 3000 + m_MinUpdateTimeout: 20 + m_PingTimeout: 1500 + m_ReducedPingTimeout: 100 + m_AllCostTimeout: 20 + m_NetworkDropThreshold: 5 + m_OverflowDropThreshold: 5 + m_MaxConnectionAttempt: 10 + m_AckDelay: 33 + m_MaxCombinedReliableMessageSize: 100 + m_MaxCombinedReliableMessageCount: 10 + m_MaxSentMessageQueueSize: 128 + m_IsAcksLong: 0 + m_UsePlatformSpecificProtocols: 0 + m_WebSocketReceiveBufferMaxSize: 0 + m_Channels: [] + m_GlobalConfig: + m_ThreadAwakeTimeout: 1 + m_ReactorModel: 0 + m_ReactorMaximumReceivedMessages: 1024 + m_ReactorMaximumSentMessages: 1024 + m_MaxPacketSize: 2000 + m_Channels: 0500000000000000 + m_UseWebSockets: 0 + m_UseSimulator: 0 + m_SimulatedLatency: 1 + m_PacketLossPercentage: 0 + m_MaxBufferedPackets: 16 + m_AllowFragmentation: 1 + m_MatchHost: mm.unet.unity3d.com + m_MatchPort: 443 + matchName: default + matchSize: 4 + isNetworkActive: 0 + matchMaker: {fileID: 0} + m_ShowLobbyGUI: 0 + m_MaxPlayers: 4 + m_MaxPlayersPerConnection: 1 + m_MinPlayers: 1 + m_LobbyPlayerPrefab: {fileID: 11487034, guid: ad727d7e1462ecc4f83c898ecc501997, + type: 2} + m_GamePlayerPrefab: {fileID: 157834, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + m_LobbyScene: Lobby + m_PlayScene: LaTienda + lobbySlots: [] + firstPlayerSpectates: 1 + gamePayerConfigs: + - prefab: {fileID: 133056, guid: 452a839e95cd29f4191e0b4eca8bb794, type: 2} + spawnPosition: {x: 3.5, y: 0, z: -0.93} + spawnRotation: {x: 0, y: -90, z: 0} + - prefab: {fileID: 118444, guid: 1d7aa360d07b9724aa01caea999e50ef, type: 2} + spawnPosition: {x: 1.5, y: 0, z: -0.442} + spawnRotation: {x: 0, y: 90, z: 0} + - prefab: {fileID: 157834, guid: cc74946d51106944e882ae7d36d33d9c, type: 2} + spawnPosition: {x: 2.016828, y: 2.334007, z: -2.931752} + spawnRotation: {x: 26.50624, y: 0.06742537, z: -1.293011} + prematchCountdown: 1 + topPanel: {fileID: 483313869} + mainMenuPanel: {fileID: 1758517956} + lobbyPanel: {fileID: 245020369} + infoPanel: {fileID: 1636792340} + countdownPanel: {fileID: 1993971787} + addPlayerButton: {fileID: 825864803} + backButton: {fileID: 1297434528} + statusInfo: {fileID: 535125060} + hostInfo: {fileID: 583852366} + _playerNumber: 0 + _isMatchmaking: 0 +--- !u!114 &1539639525 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11466428, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539639521} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 0 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1539639526 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11422868, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539639521} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 1 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1539639527 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22312876, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539639521} + m_Enabled: 1 + serializedVersion: 2 + 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_SortingLayerID: 0 + m_SortingOrder: 1 + m_TargetDisplay: 0 +--- !u!1 &1551252019 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 196032, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1551252020} + - 222: {fileID: 1551252022} + - 114: {fileID: 1551252021} + m_Layer: 5 + m_Name: NavigationSubPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1551252020 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22496344, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1551252019} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1317991812} + - {fileID: 2027124569} + m_Father: {fileID: 730950231} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -690} + m_SizeDelta: {x: 0, y: 190} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1551252021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11466484, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1551252019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1551252022 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22215242, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1551252019} +--- !u!1 &1578115314 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 119664, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1578115315} + - 222: {fileID: 1578115317} + - 114: {fileID: 1578115316} + m_Layer: 5 + m_Name: Slots + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1578115315 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22465950, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1578115314} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 384986253} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 960, y: -36} + m_SizeDelta: {x: 104, y: 27} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1578115316 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11426276, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1578115314} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568629, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 36 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: SLOTS +--- !u!222 &1578115317 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22276918, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1578115314} +--- !u!1 &1588906247 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 126124, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1588906248} + - 222: {fileID: 1588906250} + - 114: {fileID: 1588906249} + m_Layer: 5 + m_Name: 'Host:' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1588906248 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22422506, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1588906247} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 483313868} + m_RootOrder: 4 + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 509, y: -44} + m_SizeDelta: {x: 84, y: 24} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &1588906249 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11445260, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1588906247} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 01cd679a1b9ee48bf9c546f6ce2cb97e, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 30 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: 'Host:' +--- !u!222 &1588906250 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22210350, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1588906247} +--- !u!1 &1636792336 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 160802, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1636792337} + - 114: {fileID: 1636792340} + - 222: {fileID: 1636792339} + - 114: {fileID: 1636792338} + m_Layer: 5 + m_Name: InfoPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1636792337 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22429152, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1636792336} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 802970612} + m_Father: {fileID: 1539639523} + m_RootOrder: 4 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.01177597, y: 0} + m_SizeDelta: {x: 2158.3, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1636792338 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11450428, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1636792336} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.078431375, g: 0.078431375, b: 0.078431375, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1636792339 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22249300, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1636792336} +--- !u!114 &1636792340 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11442006, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1636792336} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1d17c9f1a79cf43479d9ac49a7e77a12, type: 3} + m_Name: + m_EditorClassIdentifier: + infoText: {fileID: 1639888753} + buttonText: {fileID: 1129999730} + singleButton: {fileID: 942795943} +--- !u!1 &1639888751 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 127168, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1639888752} + - 222: {fileID: 1639888754} + - 114: {fileID: 1639888753} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1639888752 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22428408, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1639888751} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 802970612} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0.000015258789, y: -0.000030517578} + m_SizeDelta: {x: 986, y: 554} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1639888753 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11422884, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1639888751} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 62 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 62 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: CONNECTING... +--- !u!222 &1639888754 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22231696, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1639888751} +--- !u!1 &1690134996 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 127396, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1690134997} + - 222: {fileID: 1690135001} + - 114: {fileID: 1690135000} + - 114: {fileID: 1690134999} + - 114: {fileID: 1690134998} + m_Layer: 5 + m_Name: PlayerListSubPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1690134997 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22475612, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1690134996} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1521759224} + - {fileID: 773530115} + m_Father: {fileID: 245020369} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0.000015258789} + m_SizeDelta: {x: 0, y: 880} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1690134998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11479200, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1690134996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &1690134999 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11492234, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1690134996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &1690135000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11497686, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1690134996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1521759224} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 0} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 773530116} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!222 &1690135001 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22291762, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1690134996} +--- !u!1 &1705892645 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 112048, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1705892646} + - 222: {fileID: 1705892648} + - 114: {fileID: 1705892647} + m_Layer: 5 + m_Name: DirectPlaySubPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1705892646 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22453414, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705892645} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1429500300} + - {fileID: 1397367837} + - {fileID: 1160820267} + - {fileID: 1490853874} + - {fileID: 792189495} + - {fileID: 347540335} + - {fileID: 530912284} + - {fileID: 1776014353} + m_Father: {fileID: 1758517956} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -440.00012} + m_SizeDelta: {x: 0, y: 440} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1705892647 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11471648, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705892645} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1705892648 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22275316, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705892645} +--- !u!1 &1732387510 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 196074, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1732387511} + - 222: {fileID: 1732387513} + - 114: {fileID: 1732387512} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1732387511 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22495902, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1732387510} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 874304349} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 10, y: -5} + m_SizeDelta: {x: -20, y: -10} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1732387512 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11499368, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1732387510} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.6568988, g: 0.6592159, b: 0.66176474, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Input name... +--- !u!222 &1732387513 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22290232, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1732387510} +--- !u!1 &1758517955 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 148054, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1758517956} + - 114: {fileID: 1758517957} + m_Layer: 5 + m_Name: MainPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1758517956 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22442386, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1758517955} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 375371553} + - {fileID: 1705892646} + m_Father: {fileID: 1539639523} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -200} + m_SizeDelta: {x: 0, y: 880} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1758517957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11438560, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1758517955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9a0312403f252434c912587ebde8fb96, type: 3} + m_Name: + m_EditorClassIdentifier: + lobbyManager: {fileID: 1539639524} + lobbyServerList: {fileID: 730950231} + lobbyPanel: {fileID: 245020369} + ipInput: {fileID: 530912285} + matchNameInput: {fileID: 874304350} +--- !u!1 &1776014352 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 146232, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1776014353} + - 222: {fileID: 1776014356} + - 114: {fileID: 1776014355} + - 114: {fileID: 1776014354} + m_Layer: 5 + m_Name: JoinButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1776014353 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22409996, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1776014352} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 150843727} + m_Father: {fileID: 1705892646} + m_RootOrder: 7 + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -1000, y: -343} + m_SizeDelta: {x: 176, y: 52} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1776014354 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11458212, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1776014352} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: 0.39607847, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: 0.39607847, a: 1} + m_PressedColor: {r: 1, g: 0, b: 0.39607847, a: 1} + m_DisabledColor: {r: 1, g: 0, b: 0.39607847, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1776014355} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1758517957} + m_MethodName: OnClickJoin + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1776014355 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11462742, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1776014352} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1776014356 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22218090, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1776014352} +--- !u!1 &1910689816 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 149356, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1910689817} + - 222: {fileID: 1910689819} + - 114: {fileID: 1910689818} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1910689817 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22482268, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1910689816} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 530912284} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 10, y: -5} + m_SizeDelta: {x: -20, y: -10} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1910689818 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11413196, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1910689816} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enter an address +--- !u!222 &1910689819 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22268550, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1910689816} +--- !u!1 &1964103633 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 101042, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1964103634} + - 222: {fileID: 1964103636} + - 114: {fileID: 1964103635} + m_Layer: 5 + m_Name: Ping + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1964103634 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22452078, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1964103633} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 384986253} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1272, y: -36} + m_SizeDelta: {x: 104, y: 27} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1964103635 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11436182, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1964103633} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568629, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 36 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: PING +--- !u!222 &1964103636 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22255694, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1964103633} +--- !u!1 &1993971785 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 120900, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1993971786} + - 114: {fileID: 1993971787} + - 222: {fileID: 1993971789} + - 114: {fileID: 1993971788} + m_Layer: 5 + m_Name: CountdownPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1993971786 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22452766, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1993971785} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 711570246} + m_Father: {fileID: 1539639523} + m_RootOrder: 5 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.01952362, y: 0.000030517578} + m_SizeDelta: {x: 2158.3, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1993971787 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11413810, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1993971785} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccb58ed657934fa4dacaa6afdf48bffc, type: 3} + m_Name: + m_EditorClassIdentifier: + UIText: {fileID: 853842506} +--- !u!114 &1993971788 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11478402, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1993971785} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1993971789 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22289338, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1993971785} +--- !u!1 &2027124568 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 197888, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 2027124569} + - 222: {fileID: 2027124573} + - 114: {fileID: 2027124572} + - 114: {fileID: 2027124571} + - 114: {fileID: 2027124570} + m_Layer: 5 + m_Name: NextButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2027124569 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22499350, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2027124568} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 328721568} + m_Father: {fileID: 1551252020} + m_RootOrder: 1 + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -118, y: -40} + m_SizeDelta: {x: 289.6, y: 80} + m_Pivot: {x: 1, y: 1} +--- !u!114 &2027124570 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11464096, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2027124568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 64 + m_MinHeight: 32 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &2027124571 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11480646, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2027124568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_HighlightedColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 1} + m_PressedColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 1} + m_DisabledColor: {r: 0, g: 0.8000001, b: 0.8000001, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2027124572} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 730950232} + m_MethodName: ChangePage + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &2027124572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11445598, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2027124568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2027124573 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22276552, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2027124568} +--- !u!1 &2046537346 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 157748, guid: c0978251ff7b10d4fb954a4b56acd9f0, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 2046537347} + - 222: {fileID: 2046537349} + - 114: {fileID: 2046537348} + m_Layer: 5 + m_Name: Matchmaker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2046537347 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22409970, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2046537346} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 375371553} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 113, y: -40} + m_SizeDelta: {x: 840.5, y: 39} + m_Pivot: {x: 0, y: 1} +--- !u!114 &2046537348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11461806, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2046537346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 53 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 53 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0 + m_Text: MATCHMAKER +--- !u!222 &2046537349 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22293916, guid: c0978251ff7b10d4fb954a4b56acd9f0, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2046537346} diff --git a/Assets/Scenes/Lobby.unity.meta b/Assets/Scenes/Lobby.unity.meta new file mode 100644 index 0000000..e28c5bf --- /dev/null +++ b/Assets/Scenes/Lobby.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3c0d76c55eed6214f9d3b070caede5d3 +timeCreated: 1431941891 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/NetworkTest_Host.unity b/Assets/Scenes/NetworkTest_Host.unity deleted file mode 100644 index 5f992a3..0000000 Binary files a/Assets/Scenes/NetworkTest_Host.unity and /dev/null differ diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta new file mode 100644 index 0000000..29bbcef --- /dev/null +++ b/Assets/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7052cd4c4e3fe924eb47b723ea57138e +folderAsset: yes +timeCreated: 1446663452 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Camera.meta b/Assets/Scripts/Camera.meta new file mode 100644 index 0000000..1bf0bea --- /dev/null +++ b/Assets/Scripts/Camera.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 61e230838e550aa4da75277ae462621b +folderAsset: yes +timeCreated: 1447448328 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Camera/SimpleSmoothMouseLook.cs b/Assets/Scripts/Camera/SimpleSmoothMouseLook.cs new file mode 100644 index 0000000..cd79236 --- /dev/null +++ b/Assets/Scripts/Camera/SimpleSmoothMouseLook.cs @@ -0,0 +1,80 @@ +using UnityEngine; + +// Very simple smooth mouselook modifier for the MainCamera in Unity +// by Francis R. Griffiths-Keam - www.runningdimensions.com + +[AddComponentMenu("Camera/Simple Smooth Mouse Look ")] +public class SimpleSmoothMouseLook : MonoBehaviour +{ + Vector2 _mouseAbsolute; + Vector2 _smoothMouse; + + public Vector2 clampInDegrees = new Vector2(360, 180); + public bool lockCursor; + public Vector2 sensitivity = new Vector2(2, 2); + public Vector2 smoothing = new Vector2(3, 3); + public Vector2 targetDirection; + public Vector2 targetCharacterDirection; + + // Assign this if there's a parent object controlling motion, such as a Character Controller. + // Yaw rotation will affect this object instead of the camera if set. + public GameObject characterBody; + + void Start() + { + // Set target direction to the camera's initial orientation. + targetDirection = transform.localRotation.eulerAngles; + + // Set target direction for the character body to its inital state. + if (characterBody) targetCharacterDirection = characterBody.transform.localRotation.eulerAngles; + } + + void Update() + { + // Ensure the cursor is always locked when set + Screen.lockCursor = lockCursor; + + // Allow the script to clamp based on a desired target value. + var targetOrientation = Quaternion.Euler(targetDirection); + var targetCharacterOrientation = Quaternion.Euler(targetCharacterDirection); + + // Get raw mouse input for a cleaner reading on more sensitive mice. + var mouseDelta = new Vector2(Input.GetAxisRaw("Mouse X"), Input.GetAxisRaw("Mouse Y")); + + // Scale input against the sensitivity setting and multiply that against the smoothing value. + mouseDelta = Vector2.Scale(mouseDelta, new Vector2(sensitivity.x * smoothing.x, sensitivity.y * smoothing.y)); + + // Interpolate mouse movement over time to apply smoothing delta. + _smoothMouse.x = Mathf.Lerp(_smoothMouse.x, mouseDelta.x, 1f / smoothing.x); + _smoothMouse.y = Mathf.Lerp(_smoothMouse.y, mouseDelta.y, 1f / smoothing.y); + + // Find the absolute mouse movement value from point zero. + _mouseAbsolute += _smoothMouse; + + // Clamp and apply the local x value first, so as not to be affected by world transforms. + if (clampInDegrees.x < 360) + _mouseAbsolute.x = Mathf.Clamp(_mouseAbsolute.x, -clampInDegrees.x * 0.5f, clampInDegrees.x * 0.5f); + + var xRotation = Quaternion.AngleAxis(-_mouseAbsolute.y, targetOrientation * Vector3.right); + transform.localRotation = xRotation; + + // Then clamp and apply the global y value. + if (clampInDegrees.y < 360) + _mouseAbsolute.y = Mathf.Clamp(_mouseAbsolute.y, -clampInDegrees.y * 0.5f, clampInDegrees.y * 0.5f); + + transform.localRotation *= targetOrientation; + + // If there's a character body that acts as a parent to the camera + if (characterBody) + { + var yRotation = Quaternion.AngleAxis(_mouseAbsolute.x, characterBody.transform.up); + characterBody.transform.localRotation = yRotation; + characterBody.transform.localRotation *= targetCharacterOrientation; + } + else + { + var yRotation = Quaternion.AngleAxis(_mouseAbsolute.x, transform.InverseTransformDirection(Vector3.up)); + transform.localRotation *= yRotation; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Camera/SimpleSmoothMouseLook.cs.meta b/Assets/Scripts/Camera/SimpleSmoothMouseLook.cs.meta new file mode 100644 index 0000000..116f73e --- /dev/null +++ b/Assets/Scripts/Camera/SimpleSmoothMouseLook.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1a68a07a89112f5468935a5a2ed498a4 +timeCreated: 1447448376 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Cardboard.meta b/Assets/Scripts/Cardboard.meta new file mode 100644 index 0000000..b04a5e0 --- /dev/null +++ b/Assets/Scripts/Cardboard.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 38d2ad6594d5c2d4f915f6c1f1524369 +folderAsset: yes +timeCreated: 1448843538 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Cardboard/BodyRotator.cs b/Assets/Scripts/Cardboard/BodyRotator.cs new file mode 100644 index 0000000..d15a15b --- /dev/null +++ b/Assets/Scripts/Cardboard/BodyRotator.cs @@ -0,0 +1,34 @@ +using UnityEngine; + +// BodyRotator rotates its transform by the difference between the y-angle of the given Head and Hips, +// with a slack defined by maxAngle. +public class BodyRotator : MonoBehaviour { + + [SerializeField] + private Transform head; + + [SerializeField] + private Transform hips; + + [SerializeField] + private float maxAngle = 20f; + + void Update () + { + Vector3 hipRotation = hips.rotation.eulerAngles; + Vector3 headRotation = head.rotation.eulerAngles; + + float yAngle = Mathf.DeltaAngle(headRotation.y, hipRotation.y); + + if(Mathf.Abs(yAngle) > maxAngle) { + float rotate; + if(yAngle < 0) { + rotate = -1 * yAngle - maxAngle; + } else { + rotate = maxAngle - yAngle; + } + transform.Rotate(0f, rotate, 0f); + } + } + +} diff --git a/Assets/Scripts/Cardboard/BodyRotator.cs.meta b/Assets/Scripts/Cardboard/BodyRotator.cs.meta new file mode 100644 index 0000000..7f5ca46 --- /dev/null +++ b/Assets/Scripts/Cardboard/BodyRotator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 10e36fc3c514d0441ad10822ab9ac743 +timeCreated: 1451170581 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Cardboard/CardboardHeadController.cs b/Assets/Scripts/Cardboard/CardboardHeadController.cs new file mode 100644 index 0000000..44c793d --- /dev/null +++ b/Assets/Scripts/Cardboard/CardboardHeadController.cs @@ -0,0 +1,97 @@ +using UnityEngine; + +/// @ingroup Scripts +/// This script provides head tracking support for a camera. +/// + +public class CardboardHeadController : MonoBehaviour { + public Transform target; + public Transform targetRoot; + + + /// Determines whether the head tracking is applied during `LateUpdate()` or + /// `Update()`. The default is false, which means it is applied during `LateUpdate()` + /// to reduce latency. + /// + /// However, some scripts may need to use the camera's direction to affect the gameplay, + /// e.g by casting rays or steering a vehicle, during the `LateUpdate()` phase. + /// This can cause an annoying jitter because Unity, during this `LateUpdate()` + /// phase, will update the head object first on some frames but second on others. + /// If this is the case for your game, try switching the head to apply head tracking + /// during `Update()` by setting this to true. + public bool updateEarly = false; + + [SerializeField] private float xRotateUp = 45f; + [SerializeField] private float xRotateDown = 40f; + + /// Returns a ray based on the heads position and forward direction, after making + /// sure the transform is up to date. Use to raycast into the scene to determine + /// objects that the user is looking at. + public Ray Gaze { + get { + UpdateHead(); + return new Ray(transform.position, transform.forward); + } + } + + private bool updated; + + void OnDrawGizmos() + { + // Quaternion. + if(target == null) + return; + + + Gizmos.color = Color.blue; + Gizmos.DrawRay(target.position, target.forward); + } + + Vector3 startRotation; + void Start() + { + startRotation = target.rotation.eulerAngles; + } + + void Update() { + + updated = false; // OK to recompute head pose. + if (updateEarly) { + UpdateHead(); + } + } + + // Normally, update head pose now. + void LateUpdate() { + UpdateHead(); + } + + // Compute new head pose. + private void UpdateHead() { + if (updated) { // Only one update per frame, please. + return; + } + updated = true; + Cardboard.SDK.UpdateState(); + + // Update self rotation (which contains the cameras) + transform.localRotation = Cardboard.SDK.HeadPose.Orientation; + + Vector3 rotation = Cardboard.SDK.HeadPose.Orientation.eulerAngles; + rotation.x = ClampAngle(rotation.x, startRotation.x - xRotateUp, startRotation.x + xRotateDown); + target.rotation = Quaternion.Euler(rotation + targetRoot.rotation.eulerAngles); + } + + + float ClampAngle(float angle, float min, float max) { + + if (angle<90 || angle>270){ // if angle in the critic region... + if (angle>180) angle -= 360; // convert all angles to -180..+180 + if (max>180) max -= 360; + if (min>180) min -= 360; + } + angle = Mathf.Clamp(angle, min, max); + if (angle<0) angle += 360; // if angle negative, convert to 0..360 + return angle; + } +} diff --git a/Assets/Scripts/Cardboard/CardboardHeadController.cs.meta b/Assets/Scripts/Cardboard/CardboardHeadController.cs.meta new file mode 100644 index 0000000..12a0f1c --- /dev/null +++ b/Assets/Scripts/Cardboard/CardboardHeadController.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1efaf164be351314abc0047a237032a0 +timeCreated: 1451171965 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/DebugListener.cs b/Assets/Scripts/DebugListener.cs new file mode 100644 index 0000000..df59616 --- /dev/null +++ b/Assets/Scripts/DebugListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; +using System.Collections; +using UnityEngine.Networking.NetworkSystem; + +public interface DebugListener +{ + void OnDebugMessage (StringMessage message); +} + diff --git a/Assets/Scripts/DebugListener.cs.meta b/Assets/Scripts/DebugListener.cs.meta new file mode 100644 index 0000000..09a60c3 --- /dev/null +++ b/Assets/Scripts/DebugListener.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fb5b326bd8cec184584ce4d58cf00f07 +timeCreated: 1446994541 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Face.meta b/Assets/Scripts/Face.meta new file mode 100644 index 0000000..acc3268 --- /dev/null +++ b/Assets/Scripts/Face.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bee831e3ec52ca346949533e329f9062 +folderAsset: yes +timeCreated: 1449418579 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Face/SimpleEyeBlink.cs b/Assets/Scripts/Face/SimpleEyeBlink.cs new file mode 100644 index 0000000..ab05419 --- /dev/null +++ b/Assets/Scripts/Face/SimpleEyeBlink.cs @@ -0,0 +1,57 @@ +using UnityEngine; +using System.Collections; + +public class SimpleEyeBlink : MonoBehaviour { + + [SerializeField] private Transform leftEyelidUp; + [SerializeField] private Transform leftEyelidDown; + [SerializeField] private Transform rightEyelidUp; + [SerializeField] private Transform rightEyelidDown; + + [SerializeField] private Vector3 openRotationUp; + [SerializeField] private Vector3 closedRotationUp; + [SerializeField] private Vector3 openRotationDown; + [SerializeField] private Vector3 closedRotationDown; + + [Tooltip("Time in seconds that the eyes will be closed during a blink")] + [SerializeField] private float blinkDuration = .1f; + + [Tooltip("Minimum frequency of blink")] + [SerializeField] private float minBlinkDelay = 2; + [Tooltip("Maximum frequency of blink")] + [SerializeField] private float maxBlinkDelay = 4; + + private bool eyesClosed = true; + private float nextBlink; + + // Use this for initialization + void Start () { + OpenEyes(); + } + + // Update is called once per frame + void Update () { + if(Time.time > nextBlink){ + eyesClosed = true; + Invoke("OpenEyes", blinkDuration); + } + + if(eyesClosed){ + leftEyelidDown.transform.localRotation = Quaternion.Euler(closedRotationDown); + rightEyelidDown.transform.localRotation = Quaternion.Euler(closedRotationDown); + leftEyelidUp.transform.localRotation = Quaternion.Euler(closedRotationUp); + rightEyelidUp.transform.localRotation = Quaternion.Euler(closedRotationUp); + } + else { + leftEyelidDown.transform.localRotation = Quaternion.Euler(openRotationDown); + rightEyelidDown.transform.localRotation = Quaternion.Euler(openRotationDown); + leftEyelidUp.transform.localRotation = Quaternion.Euler(openRotationUp); + rightEyelidUp.transform.localRotation = Quaternion.Euler(openRotationUp); + } + } + + private void OpenEyes(){ + nextBlink = Time.time + Random.Range(minBlinkDelay, maxBlinkDelay); + eyesClosed = false; + } +} diff --git a/Assets/Scripts/Face/SimpleEyeBlink.cs.meta b/Assets/Scripts/Face/SimpleEyeBlink.cs.meta new file mode 100644 index 0000000..203809b --- /dev/null +++ b/Assets/Scripts/Face/SimpleEyeBlink.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7a192b9308dc49746bafbdf676015f2a +timeCreated: 1449441449 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Face/SimpleEyeMovement.cs b/Assets/Scripts/Face/SimpleEyeMovement.cs new file mode 100644 index 0000000..5760c71 --- /dev/null +++ b/Assets/Scripts/Face/SimpleEyeMovement.cs @@ -0,0 +1,39 @@ +using UnityEngine; +using System.Collections; + +public class SimpleEyeMovement : MonoBehaviour { + + [SerializeField] private Transform leftEye; + [SerializeField] private Transform rightEye; + + [SerializeField] private float zUpperBound = 10f; + [SerializeField] private float zLowerBound = -14f; + + [SerializeField] private float xUpperBound = 14f; + [SerializeField] private float xLowerBound = -14f; + + [SerializeField] private float maxRandomEyeInterval = 2; + + private float nextMovementTime = 0; + + // Use this for initialization + void Start () { + MoveEyes(); + } + + // Update is called once per frame + void Update () { + if(Time.time > nextMovementTime){ + MoveEyes(); + } + } + + private void MoveEyes() { + nextMovementTime = Time.time + Random.Range(.2f, maxRandomEyeInterval); + var rotateX = Random.Range(xLowerBound, xUpperBound); + var rotateZ = Random.Range(zLowerBound, zUpperBound); + + leftEye.transform.localRotation = Quaternion.Euler(rotateX, 0, rotateZ); + rightEye.transform.localRotation = Quaternion.Euler(rotateX, 0, rotateZ); + } +} diff --git a/Assets/Scripts/Face/SimpleEyeMovement.cs.meta b/Assets/Scripts/Face/SimpleEyeMovement.cs.meta new file mode 100644 index 0000000..d6ede60 --- /dev/null +++ b/Assets/Scripts/Face/SimpleEyeMovement.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0e65a7dca8d2d7547aa6097b95cd5835 +timeCreated: 1449416122 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Face/SimpleEyebrowMovement.cs b/Assets/Scripts/Face/SimpleEyebrowMovement.cs new file mode 100644 index 0000000..f5e5a8b --- /dev/null +++ b/Assets/Scripts/Face/SimpleEyebrowMovement.cs @@ -0,0 +1,34 @@ +using UnityEngine; +using System.Collections; + +public class SimpleEyebrowMovement : MonoBehaviour { + [SerializeField] private Transform leftBrow; + [SerializeField] private Transform rightBrow; + + [SerializeField] private float xUpperBound = -0.0672f; + [SerializeField] private float xLowerBound = -0.06165731f; + + [SerializeField] private float maxRandomEyeInterval = 5; + + private float nextMovementTime = 0; + + // Use this for initialization + void Start () { + MoveBrows(); + } + + // Update is called once per frame + void Update () { + if(Time.time > nextMovementTime){ + MoveBrows(); + } + } + + private void MoveBrows() { + nextMovementTime = Time.time + Random.Range(1f, maxRandomEyeInterval); + var positionX = Random.Range(xLowerBound, xUpperBound); + + leftBrow.transform.localPosition = new Vector3(positionX, leftBrow.transform.localPosition.y, leftBrow.transform.localPosition.z); + rightBrow.transform.localPosition = new Vector3(positionX, rightBrow.transform.localPosition.y, rightBrow.transform.localPosition.z); + } +} diff --git a/Assets/Scripts/Face/SimpleEyebrowMovement.cs.meta b/Assets/Scripts/Face/SimpleEyebrowMovement.cs.meta new file mode 100644 index 0000000..9f8f41c --- /dev/null +++ b/Assets/Scripts/Face/SimpleEyebrowMovement.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 37e648258903e5c4c82783517e051764 +timeCreated: 1449418579 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Face/SimpleMouthMovement.cs b/Assets/Scripts/Face/SimpleMouthMovement.cs new file mode 100644 index 0000000..ccac170 --- /dev/null +++ b/Assets/Scripts/Face/SimpleMouthMovement.cs @@ -0,0 +1,67 @@ +using UnityEngine; +using Random=UnityEngine.Random; +using System.Collections; +using System; + +public class SimpleMouthMovement : MonoBehaviour { + /// Set to true to start random lip movement + public Boolean talking = false; + + + [SerializeField] private Transform jaw; + [SerializeField] private Transform upperLip; + + [SerializeField] private float jawRestPosition = 0; + [SerializeField] private float jawFullOpenPosition = -11; + [SerializeField] private float upperLipRestPosition = 0.01495764f; + [SerializeField] private float upperLipOpenPosition = 0.0115f; + + private bool mouthMoving = false; + + // Use this for initialization + void Start () { + + } + + // Update is called once per frame + void LateUpdate () { + if(talking){ + if(!mouthMoving){ + // We're in 'talking' mode, so move the jaw to random positions when not moving already + float jawDistance = Random.Range(jawRestPosition, jawFullOpenPosition); + float lipX = Random.Range(upperLipRestPosition, upperLipOpenPosition); + StartCoroutine(MoveJaw(jawDistance,lipX, Random.Range(.05f, .5f))); + } + } + else if (!mouthMoving && jaw.transform.localRotation.z != jawRestPosition) { + // So that the avatar doesn't look like an idiot with his mouth open + StartCoroutine(CloseJaw(.5f)); + } + } + + IEnumerator MoveJaw (float newRotation, float newLipX, float time) + { + mouthMoving = true; + float elapsedTime = 0; + float jawStartingRotation = jaw.transform.localRotation.z; + float lipPosition = upperLip.transform.localPosition.x; + + while (elapsedTime < time) + { + float jawZ = Mathf.Lerp(jawStartingRotation, newRotation, (elapsedTime / time)); + jaw.transform.localRotation = Quaternion.Euler(0, 0, jawZ); + + float lipX = Mathf.Lerp(lipPosition, newLipX, (elapsedTime / time)); + upperLip.transform.localPosition = new Vector3(lipX, upperLip.transform.localPosition.y, upperLip.transform.localPosition.z); + + elapsedTime += Time.deltaTime; + yield return new WaitForEndOfFrame(); + } + + mouthMoving = false; + } + + IEnumerator CloseJaw(float time){ + yield return StartCoroutine(MoveJaw(jawRestPosition,upperLipRestPosition, time)); + } +} diff --git a/Assets/Scripts/Face/SimpleMouthMovement.cs.meta b/Assets/Scripts/Face/SimpleMouthMovement.cs.meta new file mode 100644 index 0000000..161463b --- /dev/null +++ b/Assets/Scripts/Face/SimpleMouthMovement.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 82494526d72b080449b2ce37c18d1c3e +timeCreated: 1449395891 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Face/VoipMouthMovement.cs b/Assets/Scripts/Face/VoipMouthMovement.cs new file mode 100644 index 0000000..5d73dab --- /dev/null +++ b/Assets/Scripts/Face/VoipMouthMovement.cs @@ -0,0 +1,58 @@ +using UnityEngine; +using AssemblyCSharp; +using DaikonForge.VoIP; + +public class VoipMouthMovement : MonoBehaviour { + + [SerializeField] + private SimpleMouthMovement mouthMovement; + + [SerializeField] + private VoiceTranceiver voiceTranceiver; + + [SerializeField] + private float talkingTimeout = 0.5f; + + private bool valid = true; + private float lastVoipMessage = 0f; + private bool talking = false; + + // Use this for initialization + void Start () { + if(voiceTranceiver == null) { + Debug.LogError("No VoipTranceiver set."); + valid = false; + } + if(mouthMovement == null) { + Debug.LogError("No MouthMovement set."); + valid = false; + } + + voiceTranceiver.addVoipFrameListener(VoipFrameReceived); + } + + void Update() { + if(talking && valid) { + if(Time.time > lastVoipMessage + talkingTimeout) { + stopTalking(); + } + } + } + + public void VoipFrameReceived(VoicePacketWrapper frame) { + lastVoipMessage = Time.time; + if(!talking) { + startTalking(); + } + } + + private void startTalking() { + talking = true; + mouthMovement.talking = true; + } + + private void stopTalking() { + talking = false; + mouthMovement.talking = false; + } +} diff --git a/Assets/Scripts/Face/VoipMouthMovement.cs.meta b/Assets/Scripts/Face/VoipMouthMovement.cs.meta new file mode 100644 index 0000000..443ace2 --- /dev/null +++ b/Assets/Scripts/Face/VoipMouthMovement.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f50ba37c4b95a194c907715146d79753 +timeCreated: 1451249081 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MessageNetworkManager.cs b/Assets/Scripts/MessageNetworkManager.cs new file mode 100644 index 0000000..a4ad9db --- /dev/null +++ b/Assets/Scripts/MessageNetworkManager.cs @@ -0,0 +1,41 @@ +using UnityEngine; +using UnityEngine.Networking; +using UnityEngine.Networking.NetworkSystem; +using System.Collections.Generic; + +public class MessageNetworkManager : UnityStandardAssets.Network.LobbyManager +{ + + + public const int MSG_DEBUG = 1001; + public const int MSG_VOIP = 1002; + + private List messageNodes = new List(); + + public override void OnStartClient(NetworkClient client) + { + base.OnStartClient(client); + client.RegisterHandler(MSG_DEBUG, onDebugMessage); + client.RegisterHandler(MSG_VOIP, onVoipMessage); + } + + public void RegisterMessageNode(MessageNode node) { + messageNodes.Add(node); + } + + private void onDebugMessage(NetworkMessage netMsg) + { + StringMessage stringMessage = netMsg.ReadMessage(); + foreach(MessageNode node in messageNodes) { + node.OnDebugMessage(stringMessage); + } + } + + private void onVoipMessage(NetworkMessage netMsg) + { + VoipMessage voipMsg = netMsg.ReadMessage(); + foreach(MessageNode node in messageNodes) { + node.OnVoipMessage(voipMsg); + } + } +} diff --git a/Assets/Scripts/MessageNetworkManager.cs.meta b/Assets/Scripts/MessageNetworkManager.cs.meta new file mode 100644 index 0000000..eac152e --- /dev/null +++ b/Assets/Scripts/MessageNetworkManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aca1b68ffc88c0846841d46e44dddf1b +timeCreated: 1446664986 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MessageNode.cs b/Assets/Scripts/MessageNode.cs new file mode 100644 index 0000000..cdd611f --- /dev/null +++ b/Assets/Scripts/MessageNode.cs @@ -0,0 +1,53 @@ +using UnityEngine; +using System.Collections; +using UnityEngine.Networking.NetworkSystem; +using System.Collections.Generic; + +public class MessageNode : MonoBehaviour { + + public List VoipListeners; + public List DebugListeners; + + private List voipListeners = new List(); + private List debugListeners = new List(); + + MessageNetworkManager MessageNetworkManager; + + void Start () { + MessageNetworkManager = (MessageNetworkManager)FindObjectOfType(typeof(MessageNetworkManager)); + if(MessageNetworkManager == null) { + Debug.LogError("Could not find MessageNetworkManager."); + return; + } + + // Register listeners + foreach(GameObject go in VoipListeners) { + VoipListener listener = go.GetComponent(); + if(listener != null) { + voipListeners.Add(listener); + } + } + foreach(GameObject go in DebugListeners) { + DebugListener listener = go.GetComponent(); + if(listener != null) { + debugListeners.Add(listener); + } + } + + MessageNetworkManager.RegisterMessageNode(this); + } + + public void OnDebugMessage(StringMessage message) { + foreach(DebugListener listener in debugListeners) { + listener.OnDebugMessage(message); + } + } + + public void OnVoipMessage(VoipMessage message) { + foreach(VoipListener listener in voipListeners) { + if(listener != null){ + listener.OnVoipMessage(message); + } + } + } +} diff --git a/Assets/Scripts/MessageNode.cs.meta b/Assets/Scripts/MessageNode.cs.meta new file mode 100644 index 0000000..51fbc64 --- /dev/null +++ b/Assets/Scripts/MessageNode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: df01baf1d8bb77b42992d2ac0e574866 +timeCreated: 1446992932 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Network.meta b/Assets/Scripts/Network.meta new file mode 100644 index 0000000..5a4fb50 --- /dev/null +++ b/Assets/Scripts/Network.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 99259d79518b5ad40bd68428c51142b3 +folderAsset: yes +timeCreated: 1449010142 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Network/GamePlayer.cs b/Assets/Scripts/Network/GamePlayer.cs new file mode 100644 index 0000000..3f86bb5 --- /dev/null +++ b/Assets/Scripts/Network/GamePlayer.cs @@ -0,0 +1,40 @@ +using DaikonForge.VoIP; +using UnityEngine; +using UnityEngine.Networking; + +public class GamePlayer : NetworkLobbyPlayer { + + [SerializeField] private AudioListener audioListener; + [SerializeField] private GameObject cardboard; + [SerializeField] private SkinnedMeshRenderer meshRenderer; + + // Use this for initialization + void Start () { + //Debug.Log("A new GamePlayer is born! is local? " + isLocalPlayer); + audioListener.enabled = isLocalPlayer; + + // Only turn cardboard controls on for local player + cardboard.SetActive(isLocalPlayer); + GetComponent().enabled = !isLocalPlayer; + GetComponent().enabled = !isLocalPlayer; + GetComponent().enabled = !isLocalPlayer; + GetComponent().enabled = !isLocalPlayer; + + if(meshRenderer){ + // Disable rendering of local player (so the player wont see himself when looking down) + meshRenderer.enabled = !isLocalPlayer; + } + } + + // Update is called once per frame + void Update () { + + } + + + void Awake() + { + DontDestroyOnLoad(transform.gameObject); + } + +} diff --git a/Assets/Scripts/Network/GamePlayer.cs.meta b/Assets/Scripts/Network/GamePlayer.cs.meta new file mode 100644 index 0000000..12f300c --- /dev/null +++ b/Assets/Scripts/Network/GamePlayer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5137a2f51fcebbd4bb76494d102fa8a3 +timeCreated: 1448575819 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Network/NetworkLobbyHook.cs b/Assets/Scripts/Network/NetworkLobbyHook.cs new file mode 100644 index 0000000..3121047 --- /dev/null +++ b/Assets/Scripts/Network/NetworkLobbyHook.cs @@ -0,0 +1,14 @@ +using UnityEngine; +using UnityStandardAssets.Network; +using System.Collections; +using UnityEngine.Networking; + + +public class NetworkLobbyHook : LobbyHook +{ + public override void OnLobbyServerSceneLoadedForPlayer(NetworkManager manager, GameObject lobbyPlayer, GameObject gamePlayer) + { + LobbyPlayer lobby = lobbyPlayer.GetComponent(); + gamePlayer.name = lobby.playerName; + } +} diff --git a/Assets/Scripts/Network/NetworkLobbyHook.cs.meta b/Assets/Scripts/Network/NetworkLobbyHook.cs.meta new file mode 100644 index 0000000..5674c87 --- /dev/null +++ b/Assets/Scripts/Network/NetworkLobbyHook.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a5d15f2051d09644ebccdef0f54b7bbb +timeCreated: 1444639914 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/VoIP.meta b/Assets/Scripts/VoIP.meta new file mode 100644 index 0000000..97be2c0 --- /dev/null +++ b/Assets/Scripts/VoIP.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7defb844b4599f5459325603e81200c1 +folderAsset: yes +timeCreated: 1446065138 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/VoIP/VoiceController.cs b/Assets/Scripts/VoIP/VoiceController.cs new file mode 100644 index 0000000..0f93a7e --- /dev/null +++ b/Assets/Scripts/VoIP/VoiceController.cs @@ -0,0 +1,68 @@ +using UnityEngine; + +using DaikonForge.VoIP; +using UnityEngine.Networking; +using AssemblyCSharp; + +[RequireComponent (typeof (NetworkIdentity))] +[RequireComponent (typeof (VoiceTranceiver))] +[RequireComponent (typeof (MicrophoneInputDevice))] +[RequireComponent (typeof (UnityAudioPlayer))] +public class VoiceController : VoiceControllerBase +{ + private VoiceTranceiver tranceiver = null; + private NetworkIdentity networkIdentity; + + protected override void Awake() { + networkIdentity = GetComponent(); + tranceiver = GetComponent(); + + // Listen to VoipTranceiver + tranceiver.addVoipFrameListener(this.FrameReceived); + + // -- Copied from VoiceControllerBase; removed microphone start + codec = GetCodec(); + + microphone = GetComponent() as AudioInputDeviceBase; + speaker = GetComponent() as IAudioPlayer; + if(speaker == null) { + Debug.LogError("No AudioSource found."); + } + if(microphone == null) { + Debug.LogError("No MicrophoneInputDevice found."); + } + + // --/ End Copy + } + + void Start() { + if( IsLocal ) + { + Debug.Log("Start microphone recording."); + microphone.OnAudioBufferReady += this.OnMicrophoneDataReady; + microphone.StartRecording(); + } + } + + public override bool IsLocal + { + get + { + return networkIdentity.hasAuthority; + } + } + + protected override void OnAudioDataEncoded( VoicePacketWrapper encodedFrame ) + { + VoipMessage message = new VoipMessage(); + message.data = encodedFrame.RawData; + message.headers = encodedFrame.ObtainHeaders(); + + tranceiver.SendVoipFrame(encodedFrame); + } + + public void FrameReceived(VoicePacketWrapper frame) + { + ReceiveAudioData(frame); + } +} \ No newline at end of file diff --git a/Assets/Scripts/VoIP/VoiceController.cs.meta b/Assets/Scripts/VoIP/VoiceController.cs.meta new file mode 100644 index 0000000..35ef3bc --- /dev/null +++ b/Assets/Scripts/VoIP/VoiceController.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ba5e7a4812412904abea60a6b5b9b345 +timeCreated: 1446672527 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/VoIP/VoiceTranceiver.cs b/Assets/Scripts/VoIP/VoiceTranceiver.cs new file mode 100644 index 0000000..8d25f2e --- /dev/null +++ b/Assets/Scripts/VoIP/VoiceTranceiver.cs @@ -0,0 +1,62 @@ +using UnityEngine; +using System; +using UnityEngine.Networking; +using DaikonForge.VoIP; +using UnityEngine.Networking.NetworkSystem; +using System.Collections.Generic; + +namespace AssemblyCSharp +{ + public class VoiceTranceiver : NetworkBehaviour, VoipListener + { + public delegate void Listener(VoicePacketWrapper wrapper); + + List listeners = new List(); + + public void SendVoipFrame(VoicePacketWrapper encodedFrame) + { + CmdSendFrame (encodedFrame); + } + + public void SendString(string text) + { + CmdSendString(text); + } + + public void OnVoipMessage(VoipMessage message) { + // Check if I am indeed the origin (end-to-end communication only) + if(message.originID == this.netId.Value) { + var encodedFrame = new VoicePacketWrapper(message.headers, message.data); + //Debug.Log(encodedFrame.Index); + foreach(Listener listener in listeners) { + listener(encodedFrame); + } + } + } + + public void addVoipFrameListener(Listener receiveVoipFrame) { + listeners.Add(receiveVoipFrame); + } + + [Command] + void CmdSendFrame(VoicePacketWrapper encodedFrame) + { + VoipMessage message = new VoipMessage(); + message.originID = this.netId.Value; + message.data = encodedFrame.RawData; + message.headers = encodedFrame.ObtainHeaders(); + + NetworkServer.SendToAll(MessageNetworkManager.MSG_VOIP, message); + encodedFrame.ReleaseHeaders(); + } + + [Command] + void CmdSendString(string msg) + { + StringMessage message = new StringMessage(); + message.value = msg; + NetworkServer.SendToAll(MessageNetworkManager.MSG_DEBUG, message); + } + } +} + diff --git a/Assets/Scripts/VoIP/VoiceTranceiver.cs.meta b/Assets/Scripts/VoIP/VoiceTranceiver.cs.meta new file mode 100644 index 0000000..8ecfcd6 --- /dev/null +++ b/Assets/Scripts/VoIP/VoiceTranceiver.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e904559f96a703943a92e743db837fb8 +timeCreated: 1446672528 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/VoIP/VoipMessage.cs b/Assets/Scripts/VoIP/VoipMessage.cs new file mode 100644 index 0000000..34e059e --- /dev/null +++ b/Assets/Scripts/VoIP/VoipMessage.cs @@ -0,0 +1,13 @@ +using UnityEngine; +using System.Collections; +using UnityEngine.Networking; +using DaikonForge.VoIP; +using System; + +public class VoipMessage : MessageBase { + + public uint originID; + public byte[] headers; + public byte[] data; + +} diff --git a/Assets/Scripts/VoIP/VoipMessage.cs.meta b/Assets/Scripts/VoIP/VoipMessage.cs.meta new file mode 100644 index 0000000..7a16cc7 --- /dev/null +++ b/Assets/Scripts/VoIP/VoipMessage.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ad890a12f4ab290498edd94d8b8f3a93 +timeCreated: 1446664090 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/VoipListener.cs b/Assets/Scripts/VoipListener.cs new file mode 100644 index 0000000..97c1aab --- /dev/null +++ b/Assets/Scripts/VoipListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; +using System.Collections; +using UnityEngine.Networking.NetworkSystem; + +public interface VoipListener +{ + void OnVoipMessage (VoipMessage message); +} + diff --git a/Assets/Scripts/VoipListener.cs.meta b/Assets/Scripts/VoipListener.cs.meta new file mode 100644 index 0000000..b9a0772 --- /dev/null +++ b/Assets/Scripts/VoipListener.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3056f62b9e31575409752c6f5d64d657 +timeCreated: 1446994541 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets.meta b/Assets/Standard Assets.meta new file mode 100644 index 0000000..976e890 --- /dev/null +++ b/Assets/Standard Assets.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: db357ee4bebe76d48959a82711361012 +folderAsset: yes +timeCreated: 1451336620 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Character Controllers.meta b/Assets/Standard Assets/Character Controllers.meta new file mode 100644 index 0000000..7b934f6 --- /dev/null +++ b/Assets/Standard Assets/Character Controllers.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5793e9e0c06127e458d365e5c76488d7 +folderAsset: yes +timeCreated: 1451327091 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Character Controllers/First Person Controller.prefab b/Assets/Standard Assets/Character Controllers/First Person Controller.prefab new file mode 100644 index 0000000..19b7b6e --- /dev/null +++ b/Assets/Standard Assets/Character Controllers/First Person Controller.prefab @@ -0,0 +1,367 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400000} + - 33: {fileID: 3300000} + - 23: {fileID: 2300000} + m_Layer: 0 + m_Name: Graphics + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1002 &100001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!1 &100002 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400002} + - 143: {fileID: 14300000} + - 114: {fileID: 11400000} + - 114: {fileID: 11400002} + - 114: {fileID: 11400004} + m_Layer: 0 + m_Name: First Person Controller + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1002 &100003 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!1 &100004 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400004} + - 20: {fileID: 2000000} + - 92: {fileID: 9200000} + - 124: {fileID: 12400000} + - 114: {fileID: 11400006} + - 81: {fileID: 8100000} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1002 &100005 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!4 &400000 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_LocalRotation: {x: -0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .400000006, y: .5, z: .400000006} + m_Children: [] + m_Father: {fileID: 400002} + m_RootOrder: 0 +--- !u!1002 &400001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!4 &400002 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -30.7649231, y: 3.25786257, z: -74.3138885} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 400000} + - {fileID: 400004} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1002 &400003 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!4 &400004 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: .907083511, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 400002} + m_RootOrder: 1 +--- !u!1002 &400005 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!20 &2000000 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .19166474, g: .301966369, b: .474509805, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 100 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!1002 &2000001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!23 &2300000 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!1002 &2300001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!33 &3300000 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Mesh: {fileID: 10205, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1002 &3300001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!81 &8100000 +AudioListener: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 +--- !u!1002 &8100001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!92 &9200000 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 +--- !u!1002 &9200001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68ec2fe99d1108b9d0006a298d76c639, type: 3} + m_Name: + m_EditorClassIdentifier: + axes: 1 + sensitivityX: 15 + sensitivityY: 0 + minimumX: -360 + maximumX: 360 + minimumY: 0 + maximumY: 0 +--- !u!1002 &11400001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!114 &11400002 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ab79d7f243824f5d9826bd83522c8df, type: 3} + m_Name: + m_EditorClassIdentifier: + canControl: 1 + useFixedUpdate: 1 + movement: + maxForwardSpeed: 6 + maxSidewaysSpeed: 6 + maxBackwardsSpeed: 6 + slopeSpeedMultiplier: + m_Curve: + - time: -90 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 90 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + maxGroundAcceleration: 20 + maxAirAcceleration: 15 + gravity: 20 + maxFallSpeed: 20 + jumping: + enabled: 1 + baseHeight: 1 + extraHeight: 1 + perpAmount: 0 + steepPerpAmount: .5 + movingPlatform: + enabled: 1 + movementTransfer: 2 + sliding: + enabled: 1 + slidingSpeed: 10 + sidewaysControl: 1 + speedControl: .400000006 +--- !u!1002 &11400003 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!114 &11400004 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 60bca8f58a0b8478e946e6e86658cb29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1002 &11400005 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!114 &11400006 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68ec2fe99d1108b9d0006a298d76c639, type: 3} + m_Name: + m_EditorClassIdentifier: + axes: 2 + sensitivityX: 10 + sensitivityY: 10 + minimumX: 0 + maximumX: 360 + minimumY: -60 + maximumY: 60 +--- !u!1002 &11400007 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!124 &12400000 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 +--- !u!1002 &12400001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!143 &14300000 +CharacterController: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Height: 2 + m_Radius: .400000006 + m_SlopeLimit: 45 + m_StepOffset: .400000006 + m_SkinWidth: .0500000007 + m_MinMoveDistance: 0 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1002 &14300001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100002} + m_IsPrefabParent: 1 +--- !u!1002 &100100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Character Controllers/First Person Controller.prefab.meta b/Assets/Standard Assets/Character Controllers/First Person Controller.prefab.meta new file mode 100644 index 0000000..7bd474a --- /dev/null +++ b/Assets/Standard Assets/Character Controllers/First Person Controller.prefab.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 9d4133d5d30b644bd87802a347eaccbe +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Character Controllers/Sources.meta b/Assets/Standard Assets/Character Controllers/Sources.meta new file mode 100644 index 0000000..3f3baff --- /dev/null +++ b/Assets/Standard Assets/Character Controllers/Sources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e8d9ba9ab8b4fd946ac8a5f5c69db0a0 +folderAsset: yes +timeCreated: 1451327091 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Character Controllers/Sources/Scripts.meta b/Assets/Standard Assets/Character Controllers/Sources/Scripts.meta new file mode 100644 index 0000000..91dcd1c --- /dev/null +++ b/Assets/Standard Assets/Character Controllers/Sources/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 22671b12b7f269f43929a24172e23a28 +folderAsset: yes +timeCreated: 1451327091 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Character Controllers/Sources/Scripts/CharacterMotor.js b/Assets/Standard Assets/Character Controllers/Sources/Scripts/CharacterMotor.js new file mode 100644 index 0000000..7e01c2e --- /dev/null +++ b/Assets/Standard Assets/Character Controllers/Sources/Scripts/CharacterMotor.js @@ -0,0 +1,587 @@ +#pragma strict +#pragma implicit +#pragma downcast + +// Does this script currently respond to input? +var canControl : boolean = true; + +var useFixedUpdate : boolean = true; + +// For the next variables, @System.NonSerialized tells Unity to not serialize the variable or show it in the inspector view. +// Very handy for organization! + +// The current global direction we want the character to move in. +@System.NonSerialized +var inputMoveDirection : Vector3 = Vector3.zero; + +// Is the jump button held down? We use this interface instead of checking +// for the jump button directly so this script can also be used by AIs. +@System.NonSerialized +var inputJump : boolean = false; + +class CharacterMotorMovement { + // The maximum horizontal speed when moving + var maxForwardSpeed : float = 10.0; + var maxSidewaysSpeed : float = 10.0; + var maxBackwardsSpeed : float = 10.0; + + // Curve for multiplying speed based on slope (negative = downwards) + var slopeSpeedMultiplier : AnimationCurve = AnimationCurve(Keyframe(-90, 1), Keyframe(0, 1), Keyframe(90, 0)); + + // How fast does the character change speeds? Higher is faster. + var maxGroundAcceleration : float = 30.0; + var maxAirAcceleration : float = 20.0; + + // The gravity for the character + var gravity : float = 10.0; + var maxFallSpeed : float = 20.0; + + // For the next variables, @System.NonSerialized tells Unity to not serialize the variable or show it in the inspector view. + // Very handy for organization! + + // The last collision flags returned from controller.Move + @System.NonSerialized + var collisionFlags : CollisionFlags; + + // We will keep track of the character's current velocity, + @System.NonSerialized + var velocity : Vector3; + + // This keeps track of our current velocity while we're not grounded + @System.NonSerialized + var frameVelocity : Vector3 = Vector3.zero; + + @System.NonSerialized + var hitPoint : Vector3 = Vector3.zero; + + @System.NonSerialized + var lastHitPoint : Vector3 = Vector3(Mathf.Infinity, 0, 0); +} + +var movement : CharacterMotorMovement = CharacterMotorMovement(); + +enum MovementTransferOnJump { + None, // The jump is not affected by velocity of floor at all. + InitTransfer, // Jump gets its initial velocity from the floor, then gradualy comes to a stop. + PermaTransfer, // Jump gets its initial velocity from the floor, and keeps that velocity until landing. + PermaLocked // Jump is relative to the movement of the last touched floor and will move together with that floor. +} + +// We will contain all the jumping related variables in one helper class for clarity. +class CharacterMotorJumping { + // Can the character jump? + var enabled : boolean = true; + + // How high do we jump when pressing jump and letting go immediately + var baseHeight : float = 1.0; + + // We add extraHeight units (meters) on top when holding the button down longer while jumping + var extraHeight : float = 4.1; + + // How much does the character jump out perpendicular to the surface on walkable surfaces? + // 0 means a fully vertical jump and 1 means fully perpendicular. + var perpAmount : float = 0.0; + + // How much does the character jump out perpendicular to the surface on too steep surfaces? + // 0 means a fully vertical jump and 1 means fully perpendicular. + var steepPerpAmount : float = 0.5; + + // For the next variables, @System.NonSerialized tells Unity to not serialize the variable or show it in the inspector view. + // Very handy for organization! + + // Are we jumping? (Initiated with jump button and not grounded yet) + // To see if we are just in the air (initiated by jumping OR falling) see the grounded variable. + @System.NonSerialized + var jumping : boolean = false; + + @System.NonSerialized + var holdingJumpButton : boolean = false; + + // the time we jumped at (Used to determine for how long to apply extra jump power after jumping.) + @System.NonSerialized + var lastStartTime : float = 0.0; + + @System.NonSerialized + var lastButtonDownTime : float = -100; + + @System.NonSerialized + var jumpDir : Vector3 = Vector3.up; +} + +var jumping : CharacterMotorJumping = CharacterMotorJumping(); + +class CharacterMotorMovingPlatform { + var enabled : boolean = true; + + var movementTransfer : MovementTransferOnJump = MovementTransferOnJump.PermaTransfer; + + @System.NonSerialized + var hitPlatform : Transform; + + @System.NonSerialized + var activePlatform : Transform; + + @System.NonSerialized + var activeLocalPoint : Vector3; + + @System.NonSerialized + var activeGlobalPoint : Vector3; + + @System.NonSerialized + var activeLocalRotation : Quaternion; + + @System.NonSerialized + var activeGlobalRotation : Quaternion; + + @System.NonSerialized + var lastMatrix : Matrix4x4; + + @System.NonSerialized + var platformVelocity : Vector3; + + @System.NonSerialized + var newPlatform : boolean; +} + +var movingPlatform : CharacterMotorMovingPlatform = CharacterMotorMovingPlatform(); + +class CharacterMotorSliding { + // Does the character slide on too steep surfaces? + var enabled : boolean = true; + + // How fast does the character slide on steep surfaces? + var slidingSpeed : float = 15; + + // How much can the player control the sliding direction? + // If the value is 0.5 the player can slide sideways with half the speed of the downwards sliding speed. + var sidewaysControl : float = 1.0; + + // How much can the player influence the sliding speed? + // If the value is 0.5 the player can speed the sliding up to 150% or slow it down to 50%. + var speedControl : float = 0.4; +} + +var sliding : CharacterMotorSliding = CharacterMotorSliding(); + +@System.NonSerialized +var grounded : boolean = true; + +@System.NonSerialized +var groundNormal : Vector3 = Vector3.zero; + +private var lastGroundNormal : Vector3 = Vector3.zero; + +private var tr : Transform; + +private var controller : CharacterController; + +function Awake () { + controller = GetComponent (CharacterController); + tr = transform; +} + +private function UpdateFunction () { + // We copy the actual velocity into a temporary variable that we can manipulate. + var velocity : Vector3 = movement.velocity; + + // Update velocity based on input + velocity = ApplyInputVelocityChange(velocity); + + // Apply gravity and jumping force + velocity = ApplyGravityAndJumping (velocity); + + // Moving platform support + var moveDistance : Vector3 = Vector3.zero; + if (MoveWithPlatform()) { + var newGlobalPoint : Vector3 = movingPlatform.activePlatform.TransformPoint(movingPlatform.activeLocalPoint); + moveDistance = (newGlobalPoint - movingPlatform.activeGlobalPoint); + if (moveDistance != Vector3.zero) + controller.Move(moveDistance); + + // Support moving platform rotation as well: + var newGlobalRotation : Quaternion = movingPlatform.activePlatform.rotation * movingPlatform.activeLocalRotation; + var rotationDiff : Quaternion = newGlobalRotation * Quaternion.Inverse(movingPlatform.activeGlobalRotation); + + var yRotation = rotationDiff.eulerAngles.y; + if (yRotation != 0) { + // Prevent rotation of the local up vector + tr.Rotate(0, yRotation, 0); + } + } + + // Save lastPosition for velocity calculation. + var lastPosition : Vector3 = tr.position; + + // We always want the movement to be framerate independent. Multiplying by Time.deltaTime does this. + var currentMovementOffset : Vector3 = velocity * Time.deltaTime; + + // Find out how much we need to push towards the ground to avoid loosing grouning + // when walking down a step or over a sharp change in slope. + var pushDownOffset : float = Mathf.Max(controller.stepOffset, Vector3(currentMovementOffset.x, 0, currentMovementOffset.z).magnitude); + if (grounded) + currentMovementOffset -= pushDownOffset * Vector3.up; + + // Reset variables that will be set by collision function + movingPlatform.hitPlatform = null; + groundNormal = Vector3.zero; + + // Move our character! + movement.collisionFlags = controller.Move (currentMovementOffset); + + movement.lastHitPoint = movement.hitPoint; + lastGroundNormal = groundNormal; + + if (movingPlatform.enabled && movingPlatform.activePlatform != movingPlatform.hitPlatform) { + if (movingPlatform.hitPlatform != null) { + movingPlatform.activePlatform = movingPlatform.hitPlatform; + movingPlatform.lastMatrix = movingPlatform.hitPlatform.localToWorldMatrix; + movingPlatform.newPlatform = true; + } + } + + // Calculate the velocity based on the current and previous position. + // This means our velocity will only be the amount the character actually moved as a result of collisions. + var oldHVelocity : Vector3 = new Vector3(velocity.x, 0, velocity.z); + movement.velocity = (tr.position - lastPosition) / Time.deltaTime; + var newHVelocity : Vector3 = new Vector3(movement.velocity.x, 0, movement.velocity.z); + + // The CharacterController can be moved in unwanted directions when colliding with things. + // We want to prevent this from influencing the recorded velocity. + if (oldHVelocity == Vector3.zero) { + movement.velocity = new Vector3(0, movement.velocity.y, 0); + } + else { + var projectedNewVelocity : float = Vector3.Dot(newHVelocity, oldHVelocity) / oldHVelocity.sqrMagnitude; + movement.velocity = oldHVelocity * Mathf.Clamp01(projectedNewVelocity) + movement.velocity.y * Vector3.up; + } + + if (movement.velocity.y < velocity.y - 0.001) { + if (movement.velocity.y < 0) { + // Something is forcing the CharacterController down faster than it should. + // Ignore this + movement.velocity.y = velocity.y; + } + else { + // The upwards movement of the CharacterController has been blocked. + // This is treated like a ceiling collision - stop further jumping here. + jumping.holdingJumpButton = false; + } + } + + // We were grounded but just loosed grounding + if (grounded && !IsGroundedTest()) { + grounded = false; + + // Apply inertia from platform + if (movingPlatform.enabled && + (movingPlatform.movementTransfer == MovementTransferOnJump.InitTransfer || + movingPlatform.movementTransfer == MovementTransferOnJump.PermaTransfer) + ) { + movement.frameVelocity = movingPlatform.platformVelocity; + movement.velocity += movingPlatform.platformVelocity; + } + + SendMessage("OnFall", SendMessageOptions.DontRequireReceiver); + // We pushed the character down to ensure it would stay on the ground if there was any. + // But there wasn't so now we cancel the downwards offset to make the fall smoother. + tr.position += pushDownOffset * Vector3.up; + } + // We were not grounded but just landed on something + else if (!grounded && IsGroundedTest()) { + grounded = true; + jumping.jumping = false; + SubtractNewPlatformVelocity(); + + SendMessage("OnLand", SendMessageOptions.DontRequireReceiver); + } + + // Moving platforms support + if (MoveWithPlatform()) { + // Use the center of the lower half sphere of the capsule as reference point. + // This works best when the character is standing on moving tilting platforms. + movingPlatform.activeGlobalPoint = tr.position + Vector3.up * (controller.center.y - controller.height*0.5 + controller.radius); + movingPlatform.activeLocalPoint = movingPlatform.activePlatform.InverseTransformPoint(movingPlatform.activeGlobalPoint); + + // Support moving platform rotation as well: + movingPlatform.activeGlobalRotation = tr.rotation; + movingPlatform.activeLocalRotation = Quaternion.Inverse(movingPlatform.activePlatform.rotation) * movingPlatform.activeGlobalRotation; + } +} + +function FixedUpdate () { + if (movingPlatform.enabled) { + if (movingPlatform.activePlatform != null) { + if (!movingPlatform.newPlatform) { + var lastVelocity : Vector3 = movingPlatform.platformVelocity; + + movingPlatform.platformVelocity = ( + movingPlatform.activePlatform.localToWorldMatrix.MultiplyPoint3x4(movingPlatform.activeLocalPoint) + - movingPlatform.lastMatrix.MultiplyPoint3x4(movingPlatform.activeLocalPoint) + ) / Time.deltaTime; + } + movingPlatform.lastMatrix = movingPlatform.activePlatform.localToWorldMatrix; + movingPlatform.newPlatform = false; + } + else { + movingPlatform.platformVelocity = Vector3.zero; + } + } + + if (useFixedUpdate) + UpdateFunction(); +} + +function Update () { + if (!useFixedUpdate) + UpdateFunction(); +} + +private function ApplyInputVelocityChange (velocity : Vector3) { + if (!canControl) + inputMoveDirection = Vector3.zero; + + // Find desired velocity + var desiredVelocity : Vector3; + if (grounded && TooSteep()) { + // The direction we're sliding in + desiredVelocity = Vector3(groundNormal.x, 0, groundNormal.z).normalized; + // Find the input movement direction projected onto the sliding direction + var projectedMoveDir = Vector3.Project(inputMoveDirection, desiredVelocity); + // Add the sliding direction, the spped control, and the sideways control vectors + desiredVelocity = desiredVelocity + projectedMoveDir * sliding.speedControl + (inputMoveDirection - projectedMoveDir) * sliding.sidewaysControl; + // Multiply with the sliding speed + desiredVelocity *= sliding.slidingSpeed; + } + else + desiredVelocity = GetDesiredHorizontalVelocity(); + + if (movingPlatform.enabled && movingPlatform.movementTransfer == MovementTransferOnJump.PermaTransfer) { + desiredVelocity += movement.frameVelocity; + desiredVelocity.y = 0; + } + + if (grounded) + desiredVelocity = AdjustGroundVelocityToNormal(desiredVelocity, groundNormal); + else + velocity.y = 0; + + // Enforce max velocity change + var maxVelocityChange : float = GetMaxAcceleration(grounded) * Time.deltaTime; + var velocityChangeVector : Vector3 = (desiredVelocity - velocity); + if (velocityChangeVector.sqrMagnitude > maxVelocityChange * maxVelocityChange) { + velocityChangeVector = velocityChangeVector.normalized * maxVelocityChange; + } + // If we're in the air and don't have control, don't apply any velocity change at all. + // If we're on the ground and don't have control we do apply it - it will correspond to friction. + if (grounded || canControl) + velocity += velocityChangeVector; + + if (grounded) { + // When going uphill, the CharacterController will automatically move up by the needed amount. + // Not moving it upwards manually prevent risk of lifting off from the ground. + // When going downhill, DO move down manually, as gravity is not enough on steep hills. + velocity.y = Mathf.Min(velocity.y, 0); + } + + return velocity; +} + +private function ApplyGravityAndJumping (velocity : Vector3) { + + if (!inputJump || !canControl) { + jumping.holdingJumpButton = false; + jumping.lastButtonDownTime = -100; + } + + if (inputJump && jumping.lastButtonDownTime < 0 && canControl) + jumping.lastButtonDownTime = Time.time; + + if (grounded) + velocity.y = Mathf.Min(0, velocity.y) - movement.gravity * Time.deltaTime; + else { + velocity.y = movement.velocity.y - movement.gravity * Time.deltaTime; + + // When jumping up we don't apply gravity for some time when the user is holding the jump button. + // This gives more control over jump height by pressing the button longer. + if (jumping.jumping && jumping.holdingJumpButton) { + // Calculate the duration that the extra jump force should have effect. + // If we're still less than that duration after the jumping time, apply the force. + if (Time.time < jumping.lastStartTime + jumping.extraHeight / CalculateJumpVerticalSpeed(jumping.baseHeight)) { + // Negate the gravity we just applied, except we push in jumpDir rather than jump upwards. + velocity += jumping.jumpDir * movement.gravity * Time.deltaTime; + } + } + + // Make sure we don't fall any faster than maxFallSpeed. This gives our character a terminal velocity. + velocity.y = Mathf.Max (velocity.y, -movement.maxFallSpeed); + } + + if (grounded) { + // Jump only if the jump button was pressed down in the last 0.2 seconds. + // We use this check instead of checking if it's pressed down right now + // because players will often try to jump in the exact moment when hitting the ground after a jump + // and if they hit the button a fraction of a second too soon and no new jump happens as a consequence, + // it's confusing and it feels like the game is buggy. + if (jumping.enabled && canControl && (Time.time - jumping.lastButtonDownTime < 0.2)) { + grounded = false; + jumping.jumping = true; + jumping.lastStartTime = Time.time; + jumping.lastButtonDownTime = -100; + jumping.holdingJumpButton = true; + + // Calculate the jumping direction + if (TooSteep()) + jumping.jumpDir = Vector3.Slerp(Vector3.up, groundNormal, jumping.steepPerpAmount); + else + jumping.jumpDir = Vector3.Slerp(Vector3.up, groundNormal, jumping.perpAmount); + + // Apply the jumping force to the velocity. Cancel any vertical velocity first. + velocity.y = 0; + velocity += jumping.jumpDir * CalculateJumpVerticalSpeed (jumping.baseHeight); + + // Apply inertia from platform + if (movingPlatform.enabled && + (movingPlatform.movementTransfer == MovementTransferOnJump.InitTransfer || + movingPlatform.movementTransfer == MovementTransferOnJump.PermaTransfer) + ) { + movement.frameVelocity = movingPlatform.platformVelocity; + velocity += movingPlatform.platformVelocity; + } + + SendMessage("OnJump", SendMessageOptions.DontRequireReceiver); + } + else { + jumping.holdingJumpButton = false; + } + } + + return velocity; +} + +function OnControllerColliderHit (hit : ControllerColliderHit) { + if (hit.normal.y > 0 && hit.normal.y > groundNormal.y && hit.moveDirection.y < 0) { + if ((hit.point - movement.lastHitPoint).sqrMagnitude > 0.001 || lastGroundNormal == Vector3.zero) + groundNormal = hit.normal; + else + groundNormal = lastGroundNormal; + + movingPlatform.hitPlatform = hit.collider.transform; + movement.hitPoint = hit.point; + movement.frameVelocity = Vector3.zero; + } +} + +private function SubtractNewPlatformVelocity () { + // When landing, subtract the velocity of the new ground from the character's velocity + // since movement in ground is relative to the movement of the ground. + if (movingPlatform.enabled && + (movingPlatform.movementTransfer == MovementTransferOnJump.InitTransfer || + movingPlatform.movementTransfer == MovementTransferOnJump.PermaTransfer) + ) { + // If we landed on a new platform, we have to wait for two FixedUpdates + // before we know the velocity of the platform under the character + if (movingPlatform.newPlatform) { + var platform : Transform = movingPlatform.activePlatform; + yield WaitForFixedUpdate(); + yield WaitForFixedUpdate(); + if (grounded && platform == movingPlatform.activePlatform) + yield 1; + } + movement.velocity -= movingPlatform.platformVelocity; + } +} + +private function MoveWithPlatform () : boolean { + return ( + movingPlatform.enabled + && (grounded || movingPlatform.movementTransfer == MovementTransferOnJump.PermaLocked) + && movingPlatform.activePlatform != null + ); +} + +private function GetDesiredHorizontalVelocity () { + // Find desired velocity + var desiredLocalDirection : Vector3 = tr.InverseTransformDirection(inputMoveDirection); + var maxSpeed : float = MaxSpeedInDirection(desiredLocalDirection); + if (grounded) { + // Modify max speed on slopes based on slope speed multiplier curve + var movementSlopeAngle = Mathf.Asin(movement.velocity.normalized.y) * Mathf.Rad2Deg; + maxSpeed *= movement.slopeSpeedMultiplier.Evaluate(movementSlopeAngle); + } + return tr.TransformDirection(desiredLocalDirection * maxSpeed); +} + +private function AdjustGroundVelocityToNormal (hVelocity : Vector3, groundNormal : Vector3) : Vector3 { + var sideways : Vector3 = Vector3.Cross(Vector3.up, hVelocity); + return Vector3.Cross(sideways, groundNormal).normalized * hVelocity.magnitude; +} + +private function IsGroundedTest () { + return (groundNormal.y > 0.01); +} + +function GetMaxAcceleration (grounded : boolean) : float { + // Maximum acceleration on ground and in air + if (grounded) + return movement.maxGroundAcceleration; + else + return movement.maxAirAcceleration; +} + +function CalculateJumpVerticalSpeed (targetJumpHeight : float) { + // From the jump height and gravity we deduce the upwards speed + // for the character to reach at the apex. + return Mathf.Sqrt (2 * targetJumpHeight * movement.gravity); +} + +function IsJumping () { + return jumping.jumping; +} + +function IsSliding () { + return (grounded && sliding.enabled && TooSteep()); +} + +function IsTouchingCeiling () { + return (movement.collisionFlags & CollisionFlags.CollidedAbove) != 0; +} + +function IsGrounded () { + return grounded; +} + +function TooSteep () { + return (groundNormal.y <= Mathf.Cos(controller.slopeLimit * Mathf.Deg2Rad)); +} + +function GetDirection () { + return inputMoveDirection; +} + +function SetControllable (controllable : boolean) { + canControl = controllable; +} + +// Project a direction onto elliptical quater segments based on forward, sideways, and backwards speed. +// The function returns the length of the resulting vector. +function MaxSpeedInDirection (desiredMovementDirection : Vector3) : float { + if (desiredMovementDirection == Vector3.zero) + return 0; + else { + var zAxisEllipseMultiplier : float = (desiredMovementDirection.z > 0 ? movement.maxForwardSpeed : movement.maxBackwardsSpeed) / movement.maxSidewaysSpeed; + var temp : Vector3 = new Vector3(desiredMovementDirection.x, 0, desiredMovementDirection.z / zAxisEllipseMultiplier).normalized; + var length : float = new Vector3(temp.x, 0, temp.z * zAxisEllipseMultiplier).magnitude * movement.maxSidewaysSpeed; + return length; + } +} + +function SetVelocity (velocity : Vector3) { + grounded = false; + movement.velocity = velocity; + movement.frameVelocity = Vector3.zero; + SendMessage("OnExternalVelocity"); +} + +// Require a character controller to be attached to the same game object +@script RequireComponent (CharacterController) +@script AddComponentMenu ("Character/Character Motor") diff --git a/Assets/Standard Assets/Character Controllers/Sources/Scripts/CharacterMotor.js.meta b/Assets/Standard Assets/Character Controllers/Sources/Scripts/CharacterMotor.js.meta new file mode 100644 index 0000000..40def9c --- /dev/null +++ b/Assets/Standard Assets/Character Controllers/Sources/Scripts/CharacterMotor.js.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0ab79d7f243824f5d9826bd83522c8df +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Character Controllers/Sources/Scripts/FPSInputController.js b/Assets/Standard Assets/Character Controllers/Sources/Scripts/FPSInputController.js new file mode 100644 index 0000000..3b00bff --- /dev/null +++ b/Assets/Standard Assets/Character Controllers/Sources/Scripts/FPSInputController.js @@ -0,0 +1,37 @@ +private var motor : CharacterMotor; + +// Use this for initialization +function Awake () { + motor = GetComponent(CharacterMotor); +} + +// Update is called once per frame +function Update () { + // Get the input vector from kayboard or analog stick + var directionVector = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); + + if (directionVector != Vector3.zero) { + // Get the length of the directon vector and then normalize it + // Dividing by the length is cheaper than normalizing when we already have the length anyway + var directionLength = directionVector.magnitude; + directionVector = directionVector / directionLength; + + // Make sure the length is no bigger than 1 + directionLength = Mathf.Min(1, directionLength); + + // Make the input vector more sensitive towards the extremes and less sensitive in the middle + // This makes it easier to control slow speeds when using analog sticks + directionLength = directionLength * directionLength; + + // Multiply the normalized direction vector by the modified length + directionVector = directionVector * directionLength; + } + + // Apply the direction to the CharacterMotor + motor.inputMoveDirection = transform.rotation * directionVector; + motor.inputJump = Input.GetButton("Jump"); +} + +// Require a character controller to be attached to the same game object +@script RequireComponent (CharacterMotor) +@script AddComponentMenu ("Character/FPS Input Controller") diff --git a/Assets/Standard Assets/Character Controllers/Sources/Scripts/FPSInputController.js.meta b/Assets/Standard Assets/Character Controllers/Sources/Scripts/FPSInputController.js.meta new file mode 100644 index 0000000..ca7368c --- /dev/null +++ b/Assets/Standard Assets/Character Controllers/Sources/Scripts/FPSInputController.js.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 60bca8f58a0b8478e946e6e86658cb29 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Effects.meta b/Assets/Standard Assets/Effects.meta new file mode 100644 index 0000000..fc4ec9c --- /dev/null +++ b/Assets/Standard Assets/Effects.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 115d1f9d9bd29064ab981e57c8fc8cdf +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/GlassRefraction.meta b/Assets/Standard Assets/Effects/GlassRefraction.meta new file mode 100644 index 0000000..80e75a7 --- /dev/null +++ b/Assets/Standard Assets/Effects/GlassRefraction.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 3c788335fe2df44ca9bbf95bc580ce4d +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/GlassRefraction/Materials.meta b/Assets/Standard Assets/Effects/GlassRefraction/Materials.meta new file mode 100644 index 0000000..d2de9ce --- /dev/null +++ b/Assets/Standard Assets/Effects/GlassRefraction/Materials.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: db69b3da6ede2444b92c479f24b48999 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/GlassRefraction/Materials/GlassRefractive.mat b/Assets/Standard Assets/Effects/GlassRefraction/Materials/GlassRefractive.mat new file mode 100644 index 0000000..87ffd7c --- /dev/null +++ b/Assets/Standard Assets/Effects/GlassRefraction/Materials/GlassRefractive.mat @@ -0,0 +1,50 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: GlassRefractive + m_Shader: {fileID: 4800000, guid: 963484209d11fd7f110076aa44295342, type: 3} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 19555d7d9d114c7f1100f5ab44295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 2800000, guid: 4b8d081e9d114c7f1100f5ab44295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Shininess + second: 1 + data: + first: + name: _BumpAmt + second: 128 + m_Colors: + data: + first: + name: _Color + second: {r: .423392087, g: .423392087, b: .423392087, a: 0} + data: + first: + name: _SpecColor + second: {r: .981927693, g: .963855445, b: 1, a: 1} +--- !u!1002 &2100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/GlassRefraction/Materials/GlassRefractive.mat.meta b/Assets/Standard Assets/Effects/GlassRefraction/Materials/GlassRefractive.mat.meta new file mode 100644 index 0000000..3e5ce3e --- /dev/null +++ b/Assets/Standard Assets/Effects/GlassRefraction/Materials/GlassRefractive.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 848918a99d11f25f110026ca44295342 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/GlassRefraction/Shaders.meta b/Assets/Standard Assets/Effects/GlassRefraction/Shaders.meta new file mode 100644 index 0000000..dac15bb --- /dev/null +++ b/Assets/Standard Assets/Effects/GlassRefraction/Shaders.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 194c5f733c7534ed790e101791e86518 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/GlassRefraction/Shaders/GlassStainedBumpDistort.shader b/Assets/Standard Assets/Effects/GlassRefraction/Shaders/GlassStainedBumpDistort.shader new file mode 100644 index 0000000..aaccf5f --- /dev/null +++ b/Assets/Standard Assets/Effects/GlassRefraction/Shaders/GlassStainedBumpDistort.shader @@ -0,0 +1,107 @@ +// Per pixel bumped refraction. +// Uses a normal map to distort the image behind, and +// an additional texture to tint the color. + +Shader "FX/Glass/Stained BumpDistort" { +Properties { + _BumpAmt ("Distortion", range (0,128)) = 10 + _MainTex ("Tint Color (RGB)", 2D) = "white" {} + _BumpMap ("Normalmap", 2D) = "bump" {} +} + +Category { + + // We must be transparent, so other objects are drawn before this one. + Tags { "Queue"="Transparent" "RenderType"="Opaque" } + + + SubShader { + + // This pass grabs the screen behind the object into a texture. + // We can access the result in the next pass as _GrabTexture + GrabPass { + Name "BASE" + Tags { "LightMode" = "Always" } + } + + // Main pass: Take the texture grabbed above and use the bumpmap to perturb it + // on to the screen + Pass { + Name "BASE" + Tags { "LightMode" = "Always" } + +CGPROGRAM +#pragma vertex vert +#pragma fragment frag +#pragma multi_compile_fog +#include "UnityCG.cginc" + +struct appdata_t { + float4 vertex : POSITION; + float2 texcoord: TEXCOORD0; +}; + +struct v2f { + float4 vertex : SV_POSITION; + float4 uvgrab : TEXCOORD0; + float2 uvbump : TEXCOORD1; + float2 uvmain : TEXCOORD2; + UNITY_FOG_COORDS(3) +}; + +float _BumpAmt; +float4 _BumpMap_ST; +float4 _MainTex_ST; + +v2f vert (appdata_t v) +{ + v2f o; + o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); + #if UNITY_UV_STARTS_AT_TOP + float scale = -1.0; + #else + float scale = 1.0; + #endif + o.uvgrab.xy = (float2(o.vertex.x, o.vertex.y*scale) + o.vertex.w) * 0.5; + o.uvgrab.zw = o.vertex.zw; + o.uvbump = TRANSFORM_TEX( v.texcoord, _BumpMap ); + o.uvmain = TRANSFORM_TEX( v.texcoord, _MainTex ); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; +} + +sampler2D _GrabTexture; +float4 _GrabTexture_TexelSize; +sampler2D _BumpMap; +sampler2D _MainTex; + +half4 frag (v2f i) : SV_Target +{ + // calculate perturbed coordinates + half2 bump = UnpackNormal(tex2D( _BumpMap, i.uvbump )).rg; // we could optimize this by just reading the x & y without reconstructing the Z + float2 offset = bump * _BumpAmt * _GrabTexture_TexelSize.xy; + i.uvgrab.xy = offset * i.uvgrab.z + i.uvgrab.xy; + + half4 col = tex2Dproj( _GrabTexture, UNITY_PROJ_COORD(i.uvgrab)); + half4 tint = tex2D(_MainTex, i.uvmain); + col *= tint; + UNITY_APPLY_FOG(i.fogCoord, col); + return col; +} +ENDCG + } + } + + // ------------------------------------------------------------------ + // Fallback for older cards and Unity non-Pro + + SubShader { + Blend DstColor Zero + Pass { + Name "BASE" + SetTexture [_MainTex] { combine texture } + } + } +} + +} diff --git a/Assets/Standard Assets/Effects/GlassRefraction/Shaders/GlassStainedBumpDistort.shader.meta b/Assets/Standard Assets/Effects/GlassRefraction/Shaders/GlassStainedBumpDistort.shader.meta new file mode 100644 index 0000000..5a6ce2e --- /dev/null +++ b/Assets/Standard Assets/Effects/GlassRefraction/Shaders/GlassStainedBumpDistort.shader.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 963484209d11fd7f110076aa44295342 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/GlassRefraction/Textures.meta b/Assets/Standard Assets/Effects/GlassRefraction/Textures.meta new file mode 100644 index 0000000..24a70e3 --- /dev/null +++ b/Assets/Standard Assets/Effects/GlassRefraction/Textures.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 8869f43d702ae4d6d8930649833d6bee +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedAlbedo.tif b/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedAlbedo.tif new file mode 100644 index 0000000..39bec77 Binary files /dev/null and b/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedAlbedo.tif differ diff --git a/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedAlbedo.tif.meta b/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedAlbedo.tif.meta new file mode 100644 index 0000000..a9e601e --- /dev/null +++ b/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedAlbedo.tif.meta @@ -0,0 +1,52 @@ +fileFormatVersion: 2 +guid: 19555d7d9d114c7f1100f5ab44295342 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 256 + textureSettings: + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapMode: 0 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 0 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedNormals.tif b/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedNormals.tif new file mode 100644 index 0000000..b350823 Binary files /dev/null and b/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedNormals.tif differ diff --git a/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedNormals.tif.meta b/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedNormals.tif.meta new file mode 100644 index 0000000..57b7cd3 --- /dev/null +++ b/Assets/Standard Assets/Effects/GlassRefraction/Textures/GlassStainedNormals.tif.meta @@ -0,0 +1,52 @@ +fileFormatVersion: 2 +guid: 4b8d081e9d114c7f1100f5ab44295342 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 1 + externalNormalMap: 1 + heightScale: .117766477 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 512 + textureSettings: + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapMode: 0 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects.meta b/Assets/Standard Assets/Effects/ImageEffects.meta new file mode 100644 index 0000000..5b717ba --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: d6e0c95a128e14227939c51b5d9ad74e +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts.meta new file mode 100644 index 0000000..0ca768e --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: cd3e1490c3d9a7a498538315414d5129 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Antialiasing.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Antialiasing.cs new file mode 100644 index 0000000..fdecc11 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Antialiasing.cs @@ -0,0 +1,177 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + public enum AAMode + { + FXAA2 = 0, + FXAA3Console = 1, + FXAA1PresetA = 2, + FXAA1PresetB = 3, + NFAA = 4, + SSAA = 5, + DLAA = 6, + } + + [ExecuteInEditMode] + [RequireComponent(typeof (Camera))] + [AddComponentMenu("Image Effects/Other/Antialiasing")] + public class Antialiasing : PostEffectsBase + { + public AAMode mode = AAMode.FXAA3Console; + + public bool showGeneratedNormals = false; + public float offsetScale = 0.2f; + public float blurRadius = 18.0f; + + public float edgeThresholdMin = 0.05f; + public float edgeThreshold = 0.2f; + public float edgeSharpness = 4.0f; + + public bool dlaaSharp = false; + + public Shader ssaaShader; + private Material ssaa; + public Shader dlaaShader; + private Material dlaa; + public Shader nfaaShader; + private Material nfaa; + public Shader shaderFXAAPreset2; + private Material materialFXAAPreset2; + public Shader shaderFXAAPreset3; + private Material materialFXAAPreset3; + public Shader shaderFXAAII; + private Material materialFXAAII; + public Shader shaderFXAAIII; + private Material materialFXAAIII; + + + public Material CurrentAAMaterial() + { + Material returnValue = null; + + switch (mode) + { + case AAMode.FXAA3Console: + returnValue = materialFXAAIII; + break; + case AAMode.FXAA2: + returnValue = materialFXAAII; + break; + case AAMode.FXAA1PresetA: + returnValue = materialFXAAPreset2; + break; + case AAMode.FXAA1PresetB: + returnValue = materialFXAAPreset3; + break; + case AAMode.NFAA: + returnValue = nfaa; + break; + case AAMode.SSAA: + returnValue = ssaa; + break; + case AAMode.DLAA: + returnValue = dlaa; + break; + default: + returnValue = null; + break; + } + + return returnValue; + } + + + public override bool CheckResources() + { + CheckSupport(false); + + materialFXAAPreset2 = CreateMaterial(shaderFXAAPreset2, materialFXAAPreset2); + materialFXAAPreset3 = CreateMaterial(shaderFXAAPreset3, materialFXAAPreset3); + materialFXAAII = CreateMaterial(shaderFXAAII, materialFXAAII); + materialFXAAIII = CreateMaterial(shaderFXAAIII, materialFXAAIII); + nfaa = CreateMaterial(nfaaShader, nfaa); + ssaa = CreateMaterial(ssaaShader, ssaa); + dlaa = CreateMaterial(dlaaShader, dlaa); + + if (!ssaaShader.isSupported) + { + NotSupported(); + ReportAutoDisable(); + } + + return isSupported; + } + + + public void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (CheckResources() == false) + { + Graphics.Blit(source, destination); + return; + } + + // ---------------------------------------------------------------- + // FXAA antialiasing modes + + if (mode == AAMode.FXAA3Console && (materialFXAAIII != null)) + { + materialFXAAIII.SetFloat("_EdgeThresholdMin", edgeThresholdMin); + materialFXAAIII.SetFloat("_EdgeThreshold", edgeThreshold); + materialFXAAIII.SetFloat("_EdgeSharpness", edgeSharpness); + + Graphics.Blit(source, destination, materialFXAAIII); + } + else if (mode == AAMode.FXAA1PresetB && (materialFXAAPreset3 != null)) + { + Graphics.Blit(source, destination, materialFXAAPreset3); + } + else if (mode == AAMode.FXAA1PresetA && materialFXAAPreset2 != null) + { + source.anisoLevel = 4; + Graphics.Blit(source, destination, materialFXAAPreset2); + source.anisoLevel = 0; + } + else if (mode == AAMode.FXAA2 && materialFXAAII != null) + { + Graphics.Blit(source, destination, materialFXAAII); + } + else if (mode == AAMode.SSAA && ssaa != null) + { + // ---------------------------------------------------------------- + // SSAA antialiasing + Graphics.Blit(source, destination, ssaa); + } + else if (mode == AAMode.DLAA && dlaa != null) + { + // ---------------------------------------------------------------- + // DLAA antialiasing + + source.anisoLevel = 0; + RenderTexture interim = RenderTexture.GetTemporary(source.width, source.height); + Graphics.Blit(source, interim, dlaa, 0); + Graphics.Blit(interim, destination, dlaa, dlaaSharp ? 2 : 1); + RenderTexture.ReleaseTemporary(interim); + } + else if (mode == AAMode.NFAA && nfaa != null) + { + // ---------------------------------------------------------------- + // nfaa antialiasing + + source.anisoLevel = 0; + + nfaa.SetFloat("_OffsetScale", offsetScale); + nfaa.SetFloat("_BlurRadius", blurRadius); + + Graphics.Blit(source, destination, nfaa, showGeneratedNormals ? 1 : 0); + } + else + { + // none of the AA is supported, fallback to a simple blit + Graphics.Blit(source, destination); + } + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Antialiasing.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Antialiasing.cs.meta new file mode 100644 index 0000000..6284674 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Antialiasing.cs.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 646b5bc27a658f447b1d929fd5ffbd70 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - ssaaShader: {fileID: 4800000, guid: b3728d1488b02490cbd196c7941bf1f8, type: 3} + - dlaaShader: {fileID: 4800000, guid: 017ca72b9e8a749058d13ebd527e98fa, type: 3} + - nfaaShader: {fileID: 4800000, guid: ce0cb2621f6d84e21a87414e471a3cce, type: 3} + - shaderFXAAPreset2: {fileID: 4800000, guid: 6f1418cffd12146f2a83be795f6fa5a7, type: 3} + - shaderFXAAPreset3: {fileID: 4800000, guid: c182fa94a5a0a4c02870641efcd38cd5, type: 3} + - shaderFXAAII: {fileID: 4800000, guid: cd5b323dcc592457790ff18b528f5e67, type: 3} + - shaderFXAAIII: {fileID: 4800000, guid: c547503fff0e8482ea5793727057041c, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Bloom.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Bloom.cs new file mode 100644 index 0000000..d5fd7a6 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Bloom.cs @@ -0,0 +1,358 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Bloom and Glow/Bloom")] + public class Bloom : PostEffectsBase + { + public enum LensFlareStyle + { + Ghosting = 0, + Anamorphic = 1, + Combined = 2, + } + + public enum TweakMode + { + Basic = 0, + Complex = 1, + } + + public enum HDRBloomMode + { + Auto = 0, + On = 1, + Off = 2, + } + + public enum BloomScreenBlendMode + { + Screen = 0, + Add = 1, + } + + public enum BloomQuality + { + Cheap = 0, + High = 1, + } + + public TweakMode tweakMode = 0; + public BloomScreenBlendMode screenBlendMode = BloomScreenBlendMode.Add; + + public HDRBloomMode hdr = HDRBloomMode.Auto; + private bool doHdr = false; + public float sepBlurSpread = 2.5f; + + public BloomQuality quality = BloomQuality.High; + + public float bloomIntensity = 0.5f; + public float bloomThreshold = 0.5f; + public Color bloomThresholdColor = Color.white; + public int bloomBlurIterations = 2; + + public int hollywoodFlareBlurIterations = 2; + public float flareRotation = 0.0f; + public LensFlareStyle lensflareMode = (LensFlareStyle) 1; + public float hollyStretchWidth = 2.5f; + public float lensflareIntensity = 0.0f; + public float lensflareThreshold = 0.3f; + public float lensFlareSaturation = 0.75f; + public Color flareColorA = new Color (0.4f, 0.4f, 0.8f, 0.75f); + public Color flareColorB = new Color (0.4f, 0.8f, 0.8f, 0.75f); + public Color flareColorC = new Color (0.8f, 0.4f, 0.8f, 0.75f); + public Color flareColorD = new Color (0.8f, 0.4f, 0.0f, 0.75f); + public Texture2D lensFlareVignetteMask; + + public Shader lensFlareShader; + private Material lensFlareMaterial; + + public Shader screenBlendShader; + private Material screenBlend; + + public Shader blurAndFlaresShader; + private Material blurAndFlaresMaterial; + + public Shader brightPassFilterShader; + private Material brightPassFilterMaterial; + + + public override bool CheckResources () + { + CheckSupport (false); + + screenBlend = CheckShaderAndCreateMaterial (screenBlendShader, screenBlend); + lensFlareMaterial = CheckShaderAndCreateMaterial(lensFlareShader,lensFlareMaterial); + blurAndFlaresMaterial = CheckShaderAndCreateMaterial (blurAndFlaresShader, blurAndFlaresMaterial); + brightPassFilterMaterial = CheckShaderAndCreateMaterial(brightPassFilterShader, brightPassFilterMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + public void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if (CheckResources()==false) + { + Graphics.Blit (source, destination); + return; + } + + // screen blend is not supported when HDR is enabled (will cap values) + + doHdr = false; + if (hdr == HDRBloomMode.Auto) + doHdr = source.format == RenderTextureFormat.ARGBHalf && GetComponent().hdr; + else { + doHdr = hdr == HDRBloomMode.On; + } + + doHdr = doHdr && supportHDRTextures; + + BloomScreenBlendMode realBlendMode = screenBlendMode; + if (doHdr) + realBlendMode = BloomScreenBlendMode.Add; + + var rtFormat= (doHdr) ? RenderTextureFormat.ARGBHalf : RenderTextureFormat.Default; + var rtW2= source.width/2; + var rtH2= source.height/2; + var rtW4= source.width/4; + var rtH4= source.height/4; + + float widthOverHeight = (1.0f * source.width) / (1.0f * source.height); + float oneOverBaseSize = 1.0f / 512.0f; + + // downsample + RenderTexture quarterRezColor = RenderTexture.GetTemporary (rtW4, rtH4, 0, rtFormat); + RenderTexture halfRezColorDown = RenderTexture.GetTemporary (rtW2, rtH2, 0, rtFormat); + if (quality > BloomQuality.Cheap) { + Graphics.Blit (source, halfRezColorDown, screenBlend, 2); + RenderTexture rtDown4 = RenderTexture.GetTemporary (rtW4, rtH4, 0, rtFormat); + Graphics.Blit (halfRezColorDown, rtDown4, screenBlend, 2); + Graphics.Blit (rtDown4, quarterRezColor, screenBlend, 6); + RenderTexture.ReleaseTemporary(rtDown4); + } + else { + Graphics.Blit (source, halfRezColorDown); + Graphics.Blit (halfRezColorDown, quarterRezColor, screenBlend, 6); + } + RenderTexture.ReleaseTemporary (halfRezColorDown); + + // cut colors (thresholding) + RenderTexture secondQuarterRezColor = RenderTexture.GetTemporary (rtW4, rtH4, 0, rtFormat); + BrightFilter (bloomThreshold * bloomThresholdColor, quarterRezColor, secondQuarterRezColor); + + // blurring + + if (bloomBlurIterations < 1) bloomBlurIterations = 1; + else if (bloomBlurIterations > 10) bloomBlurIterations = 10; + + for (int iter = 0; iter < bloomBlurIterations; iter++) + { + float spreadForPass = (1.0f + (iter * 0.25f)) * sepBlurSpread; + + // vertical blur + RenderTexture blur4 = RenderTexture.GetTemporary (rtW4, rtH4, 0, rtFormat); + blurAndFlaresMaterial.SetVector ("_Offsets", new Vector4 (0.0f, spreadForPass * oneOverBaseSize, 0.0f, 0.0f)); + Graphics.Blit (secondQuarterRezColor, blur4, blurAndFlaresMaterial, 4); + RenderTexture.ReleaseTemporary(secondQuarterRezColor); + secondQuarterRezColor = blur4; + + // horizontal blur + blur4 = RenderTexture.GetTemporary (rtW4, rtH4, 0, rtFormat); + blurAndFlaresMaterial.SetVector ("_Offsets", new Vector4 ((spreadForPass / widthOverHeight) * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + Graphics.Blit (secondQuarterRezColor, blur4, blurAndFlaresMaterial, 4); + RenderTexture.ReleaseTemporary (secondQuarterRezColor); + secondQuarterRezColor = blur4; + + if (quality > BloomQuality.Cheap) + { + if (iter == 0) + { + Graphics.SetRenderTarget(quarterRezColor); + GL.Clear(false, true, Color.black); // Clear to avoid RT restore + Graphics.Blit (secondQuarterRezColor, quarterRezColor); + } + else + { + quarterRezColor.MarkRestoreExpected(); // using max blending, RT restore expected + Graphics.Blit (secondQuarterRezColor, quarterRezColor, screenBlend, 10); + } + } + } + + if (quality > BloomQuality.Cheap) + { + Graphics.SetRenderTarget(secondQuarterRezColor); + GL.Clear(false, true, Color.black); // Clear to avoid RT restore + Graphics.Blit (quarterRezColor, secondQuarterRezColor, screenBlend, 6); + } + + // lens flares: ghosting, anamorphic or both (ghosted anamorphic flares) + + if (lensflareIntensity > Mathf.Epsilon) + { + + RenderTexture rtFlares4 = RenderTexture.GetTemporary (rtW4, rtH4, 0, rtFormat); + + if (lensflareMode == 0) + { + // ghosting only + + BrightFilter (lensflareThreshold, secondQuarterRezColor, rtFlares4); + + if (quality > BloomQuality.Cheap) + { + // smooth a little + blurAndFlaresMaterial.SetVector ("_Offsets", new Vector4 (0.0f, (1.5f) / (1.0f * quarterRezColor.height), 0.0f, 0.0f)); + Graphics.SetRenderTarget(quarterRezColor); + GL.Clear(false, true, Color.black); // Clear to avoid RT restore + Graphics.Blit (rtFlares4, quarterRezColor, blurAndFlaresMaterial, 4); + + blurAndFlaresMaterial.SetVector ("_Offsets", new Vector4 ((1.5f) / (1.0f * quarterRezColor.width), 0.0f, 0.0f, 0.0f)); + Graphics.SetRenderTarget(rtFlares4); + GL.Clear(false, true, Color.black); // Clear to avoid RT restore + Graphics.Blit (quarterRezColor, rtFlares4, blurAndFlaresMaterial, 4); + } + + // no ugly edges! + Vignette (0.975f, rtFlares4, rtFlares4); + BlendFlares (rtFlares4, secondQuarterRezColor); + } + else + { + + //Vignette (0.975ff, rtFlares4, rtFlares4); + //DrawBorder(rtFlares4, screenBlend, 8); + + float flareXRot = 1.0f * Mathf.Cos(flareRotation); + float flareyRot = 1.0f * Mathf.Sin(flareRotation); + + float stretchWidth = (hollyStretchWidth * 1.0f / widthOverHeight) * oneOverBaseSize; + + blurAndFlaresMaterial.SetVector ("_Offsets", new Vector4 (flareXRot, flareyRot, 0.0f, 0.0f)); + blurAndFlaresMaterial.SetVector ("_Threshhold", new Vector4 (lensflareThreshold, 1.0f, 0.0f, 0.0f)); + blurAndFlaresMaterial.SetVector ("_TintColor", new Vector4 (flareColorA.r, flareColorA.g, flareColorA.b, flareColorA.a) * flareColorA.a * lensflareIntensity); + blurAndFlaresMaterial.SetFloat ("_Saturation", lensFlareSaturation); + + // "pre and cut" + quarterRezColor.DiscardContents(); + Graphics.Blit (rtFlares4, quarterRezColor, blurAndFlaresMaterial, 2); + // "post" + rtFlares4.DiscardContents(); + Graphics.Blit (quarterRezColor, rtFlares4, blurAndFlaresMaterial, 3); + + blurAndFlaresMaterial.SetVector ("_Offsets", new Vector4 (flareXRot * stretchWidth, flareyRot * stretchWidth, 0.0f, 0.0f)); + // stretch 1st + blurAndFlaresMaterial.SetFloat ("_StretchWidth", hollyStretchWidth); + quarterRezColor.DiscardContents(); + Graphics.Blit (rtFlares4, quarterRezColor, blurAndFlaresMaterial, 1); + // stretch 2nd + blurAndFlaresMaterial.SetFloat ("_StretchWidth", hollyStretchWidth * 2.0f); + rtFlares4.DiscardContents(); + Graphics.Blit (quarterRezColor, rtFlares4, blurAndFlaresMaterial, 1); + // stretch 3rd + blurAndFlaresMaterial.SetFloat ("_StretchWidth", hollyStretchWidth * 4.0f); + quarterRezColor.DiscardContents(); + Graphics.Blit (rtFlares4, quarterRezColor, blurAndFlaresMaterial, 1); + + // additional blur passes + for (int iter = 0; iter < hollywoodFlareBlurIterations; iter++) + { + stretchWidth = (hollyStretchWidth * 2.0f / widthOverHeight) * oneOverBaseSize; + + blurAndFlaresMaterial.SetVector ("_Offsets", new Vector4 (stretchWidth * flareXRot, stretchWidth * flareyRot, 0.0f, 0.0f)); + rtFlares4.DiscardContents(); + Graphics.Blit (quarterRezColor, rtFlares4, blurAndFlaresMaterial, 4); + + blurAndFlaresMaterial.SetVector ("_Offsets", new Vector4 (stretchWidth * flareXRot, stretchWidth * flareyRot, 0.0f, 0.0f)); + quarterRezColor.DiscardContents(); + Graphics.Blit (rtFlares4, quarterRezColor, blurAndFlaresMaterial, 4); + } + + if (lensflareMode == (LensFlareStyle) 1) + // anamorphic lens flares + AddTo (1.0f, quarterRezColor, secondQuarterRezColor); + else + { + // "combined" lens flares + + Vignette (1.0f, quarterRezColor, rtFlares4); + BlendFlares (rtFlares4, quarterRezColor); + AddTo (1.0f, quarterRezColor, secondQuarterRezColor); + } + } + RenderTexture.ReleaseTemporary (rtFlares4); + } + + int blendPass = (int) realBlendMode; + //if (Mathf.Abs(chromaticBloom) < Mathf.Epsilon) + // blendPass += 4; + + screenBlend.SetFloat ("_Intensity", bloomIntensity); + screenBlend.SetTexture ("_ColorBuffer", source); + + if (quality > BloomQuality.Cheap) + { + RenderTexture halfRezColorUp = RenderTexture.GetTemporary (rtW2, rtH2, 0, rtFormat); + Graphics.Blit (secondQuarterRezColor, halfRezColorUp); + Graphics.Blit (halfRezColorUp, destination, screenBlend, blendPass); + RenderTexture.ReleaseTemporary (halfRezColorUp); + } + else + Graphics.Blit (secondQuarterRezColor, destination, screenBlend, blendPass); + + RenderTexture.ReleaseTemporary (quarterRezColor); + RenderTexture.ReleaseTemporary (secondQuarterRezColor); + } + + private void AddTo (float intensity_, RenderTexture from, RenderTexture to) + { + screenBlend.SetFloat ("_Intensity", intensity_); + to.MarkRestoreExpected(); // additive blending, RT restore expected + Graphics.Blit (from, to, screenBlend, 9); + } + + private void BlendFlares (RenderTexture from, RenderTexture to) + { + lensFlareMaterial.SetVector ("colorA", new Vector4 (flareColorA.r, flareColorA.g, flareColorA.b, flareColorA.a) * lensflareIntensity); + lensFlareMaterial.SetVector ("colorB", new Vector4 (flareColorB.r, flareColorB.g, flareColorB.b, flareColorB.a) * lensflareIntensity); + lensFlareMaterial.SetVector ("colorC", new Vector4 (flareColorC.r, flareColorC.g, flareColorC.b, flareColorC.a) * lensflareIntensity); + lensFlareMaterial.SetVector ("colorD", new Vector4 (flareColorD.r, flareColorD.g, flareColorD.b, flareColorD.a) * lensflareIntensity); + to.MarkRestoreExpected(); // additive blending, RT restore expected + Graphics.Blit (from, to, lensFlareMaterial); + } + + private void BrightFilter (float thresh, RenderTexture from, RenderTexture to) + { + brightPassFilterMaterial.SetVector ("_Threshhold", new Vector4 (thresh, thresh, thresh, thresh)); + Graphics.Blit (from, to, brightPassFilterMaterial, 0); + } + + private void BrightFilter (Color threshColor, RenderTexture from, RenderTexture to) + { + brightPassFilterMaterial.SetVector ("_Threshhold", threshColor); + Graphics.Blit (from, to, brightPassFilterMaterial, 1); + } + + private void Vignette (float amount, RenderTexture from, RenderTexture to) + { + if (lensFlareVignetteMask) + { + screenBlend.SetTexture ("_ColorBuffer", lensFlareVignetteMask); + to.MarkRestoreExpected(); // using blending, RT restore expected + Graphics.Blit (from == to ? null : from, to, screenBlend, from == to ? 7 : 3); + } + else if (from != to) + { + Graphics.SetRenderTarget (to); + GL.Clear(false, true, Color.black); // clear destination to avoid RT restore + Graphics.Blit (from, to); + } + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Bloom.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Bloom.cs.meta new file mode 100644 index 0000000..edcd45d --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Bloom.cs.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 7fceaeb339b971b429c4cc600acabd13 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - lensFlareVignetteMask: {fileID: 2800000, guid: 95ef4804fe0be4c999ddaa383536cde8, + type: 3} + - lensFlareShader: {fileID: 4800000, guid: 459fe69d2f6d74ddb92f04dbf45a866b, type: 3} + - screenBlendShader: {fileID: 4800000, guid: 7856cbff0a0ca45c787d5431eb805bb0, type: 3} + - blurAndFlaresShader: {fileID: 4800000, guid: be6e39cf196f146d5be72fbefb18ed75, + type: 3} + - brightPassFilterShader: {fileID: 4800000, guid: 0aeaa4cb29f5d4e9c8455f04c8575c8c, + type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomAndFlares.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomAndFlares.cs new file mode 100644 index 0000000..3769c21 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomAndFlares.cs @@ -0,0 +1,314 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + public enum LensflareStyle34 + { + Ghosting = 0, + Anamorphic = 1, + Combined = 2, + } + + public enum TweakMode34 + { + Basic = 0, + Complex = 1, + } + + public enum HDRBloomMode + { + Auto = 0, + On = 1, + Off = 2, + } + + public enum BloomScreenBlendMode + { + Screen = 0, + Add = 1, + } + + [ExecuteInEditMode] + [RequireComponent(typeof(Camera))] + [AddComponentMenu("Image Effects/Bloom and Glow/BloomAndFlares (3.5, Deprecated)")] + public class BloomAndFlares : PostEffectsBase + { + public TweakMode34 tweakMode = 0; + public BloomScreenBlendMode screenBlendMode = BloomScreenBlendMode.Add; + + public HDRBloomMode hdr = HDRBloomMode.Auto; + private bool doHdr = false; + public float sepBlurSpread = 1.5f; + public float useSrcAlphaAsMask = 0.5f; + + public float bloomIntensity = 1.0f; + public float bloomThreshold = 0.5f; + public int bloomBlurIterations = 2; + + public bool lensflares = false; + public int hollywoodFlareBlurIterations = 2; + public LensflareStyle34 lensflareMode = (LensflareStyle34)1; + public float hollyStretchWidth = 3.5f; + public float lensflareIntensity = 1.0f; + public float lensflareThreshold = 0.3f; + public Color flareColorA = new Color(0.4f, 0.4f, 0.8f, 0.75f); + public Color flareColorB = new Color(0.4f, 0.8f, 0.8f, 0.75f); + public Color flareColorC = new Color(0.8f, 0.4f, 0.8f, 0.75f); + public Color flareColorD = new Color(0.8f, 0.4f, 0.0f, 0.75f); + public Texture2D lensFlareVignetteMask; + + public Shader lensFlareShader; + private Material lensFlareMaterial; + + public Shader vignetteShader; + private Material vignetteMaterial; + + public Shader separableBlurShader; + private Material separableBlurMaterial; + + public Shader addBrightStuffOneOneShader; + private Material addBrightStuffBlendOneOneMaterial; + + public Shader screenBlendShader; + private Material screenBlend; + + public Shader hollywoodFlaresShader; + private Material hollywoodFlaresMaterial; + + public Shader brightPassFilterShader; + private Material brightPassFilterMaterial; + + + public override bool CheckResources() + { + CheckSupport(false); + + screenBlend = CheckShaderAndCreateMaterial(screenBlendShader, screenBlend); + lensFlareMaterial = CheckShaderAndCreateMaterial(lensFlareShader, lensFlareMaterial); + vignetteMaterial = CheckShaderAndCreateMaterial(vignetteShader, vignetteMaterial); + separableBlurMaterial = CheckShaderAndCreateMaterial(separableBlurShader, separableBlurMaterial); + addBrightStuffBlendOneOneMaterial = CheckShaderAndCreateMaterial(addBrightStuffOneOneShader, addBrightStuffBlendOneOneMaterial); + hollywoodFlaresMaterial = CheckShaderAndCreateMaterial(hollywoodFlaresShader, hollywoodFlaresMaterial); + brightPassFilterMaterial = CheckShaderAndCreateMaterial(brightPassFilterShader, brightPassFilterMaterial); + + if (!isSupported) + ReportAutoDisable(); + return isSupported; + } + + void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (CheckResources() == false) + { + Graphics.Blit(source, destination); + return; + } + + // screen blend is not supported when HDR is enabled (will cap values) + + doHdr = false; + if (hdr == HDRBloomMode.Auto) + doHdr = source.format == RenderTextureFormat.ARGBHalf && GetComponent().hdr; + else + { + doHdr = hdr == HDRBloomMode.On; + } + + doHdr = doHdr && supportHDRTextures; + + BloomScreenBlendMode realBlendMode = screenBlendMode; + if (doHdr) + realBlendMode = BloomScreenBlendMode.Add; + + var rtFormat = (doHdr) ? RenderTextureFormat.ARGBHalf : RenderTextureFormat.Default; + RenderTexture halfRezColor = RenderTexture.GetTemporary(source.width / 2, source.height / 2, 0, rtFormat); + RenderTexture quarterRezColor = RenderTexture.GetTemporary(source.width / 4, source.height / 4, 0, rtFormat); + RenderTexture secondQuarterRezColor = RenderTexture.GetTemporary(source.width / 4, source.height / 4, 0, rtFormat); + RenderTexture thirdQuarterRezColor = RenderTexture.GetTemporary(source.width / 4, source.height / 4, 0, rtFormat); + + float widthOverHeight = (1.0f * source.width) / (1.0f * source.height); + float oneOverBaseSize = 1.0f / 512.0f; + + // downsample + + Graphics.Blit(source, halfRezColor, screenBlend, 2); // <- 2 is stable downsample + Graphics.Blit(halfRezColor, quarterRezColor, screenBlend, 2); // <- 2 is stable downsample + + RenderTexture.ReleaseTemporary(halfRezColor); + + // cut colors (thresholding) + + BrightFilter(bloomThreshold, useSrcAlphaAsMask, quarterRezColor, secondQuarterRezColor); + quarterRezColor.DiscardContents(); + + // blurring + + if (bloomBlurIterations < 1) bloomBlurIterations = 1; + + for (int iter = 0; iter < bloomBlurIterations; iter++) + { + float spreadForPass = (1.0f + (iter * 0.5f)) * sepBlurSpread; + separableBlurMaterial.SetVector("offsets", new Vector4(0.0f, spreadForPass * oneOverBaseSize, 0.0f, 0.0f)); + + RenderTexture src = iter == 0 ? secondQuarterRezColor : quarterRezColor; + Graphics.Blit(src, thirdQuarterRezColor, separableBlurMaterial); + src.DiscardContents(); + + separableBlurMaterial.SetVector("offsets", new Vector4((spreadForPass / widthOverHeight) * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + Graphics.Blit(thirdQuarterRezColor, quarterRezColor, separableBlurMaterial); + thirdQuarterRezColor.DiscardContents(); + } + + // lens flares: ghosting, anamorphic or a combination + + if (lensflares) + { + + if (lensflareMode == 0) + { + + BrightFilter(lensflareThreshold, 0.0f, quarterRezColor, thirdQuarterRezColor); + quarterRezColor.DiscardContents(); + + // smooth a little, this needs to be resolution dependent + /* + separableBlurMaterial.SetVector ("offsets", Vector4 (0.0ff, (2.0ff) / (1.0ff * quarterRezColor.height), 0.0ff, 0.0ff)); + Graphics.Blit (thirdQuarterRezColor, secondQuarterRezColor, separableBlurMaterial); + separableBlurMaterial.SetVector ("offsets", Vector4 ((2.0ff) / (1.0ff * quarterRezColor.width), 0.0ff, 0.0ff, 0.0ff)); + Graphics.Blit (secondQuarterRezColor, thirdQuarterRezColor, separableBlurMaterial); + */ + // no ugly edges! + + Vignette(0.975f, thirdQuarterRezColor, secondQuarterRezColor); + thirdQuarterRezColor.DiscardContents(); + + BlendFlares(secondQuarterRezColor, quarterRezColor); + secondQuarterRezColor.DiscardContents(); + } + + // (b) hollywood/anamorphic flares? + + else + { + + // thirdQuarter has the brightcut unblurred colors + // quarterRezColor is the blurred, brightcut buffer that will end up as bloom + + hollywoodFlaresMaterial.SetVector("_threshold", new Vector4(lensflareThreshold, 1.0f / (1.0f - lensflareThreshold), 0.0f, 0.0f)); + hollywoodFlaresMaterial.SetVector("tintColor", new Vector4(flareColorA.r, flareColorA.g, flareColorA.b, flareColorA.a) * flareColorA.a * lensflareIntensity); + Graphics.Blit(thirdQuarterRezColor, secondQuarterRezColor, hollywoodFlaresMaterial, 2); + thirdQuarterRezColor.DiscardContents(); + + Graphics.Blit(secondQuarterRezColor, thirdQuarterRezColor, hollywoodFlaresMaterial, 3); + secondQuarterRezColor.DiscardContents(); + + hollywoodFlaresMaterial.SetVector("offsets", new Vector4((sepBlurSpread * 1.0f / widthOverHeight) * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + hollywoodFlaresMaterial.SetFloat("stretchWidth", hollyStretchWidth); + Graphics.Blit(thirdQuarterRezColor, secondQuarterRezColor, hollywoodFlaresMaterial, 1); + thirdQuarterRezColor.DiscardContents(); + + hollywoodFlaresMaterial.SetFloat("stretchWidth", hollyStretchWidth * 2.0f); + Graphics.Blit(secondQuarterRezColor, thirdQuarterRezColor, hollywoodFlaresMaterial, 1); + secondQuarterRezColor.DiscardContents(); + + hollywoodFlaresMaterial.SetFloat("stretchWidth", hollyStretchWidth * 4.0f); + Graphics.Blit(thirdQuarterRezColor, secondQuarterRezColor, hollywoodFlaresMaterial, 1); + thirdQuarterRezColor.DiscardContents(); + + if (lensflareMode == (LensflareStyle34)1) + { + for (int itera = 0; itera < hollywoodFlareBlurIterations; itera++) + { + separableBlurMaterial.SetVector("offsets", new Vector4((hollyStretchWidth * 2.0f / widthOverHeight) * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + Graphics.Blit(secondQuarterRezColor, thirdQuarterRezColor, separableBlurMaterial); + secondQuarterRezColor.DiscardContents(); + + separableBlurMaterial.SetVector("offsets", new Vector4((hollyStretchWidth * 2.0f / widthOverHeight) * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + Graphics.Blit(thirdQuarterRezColor, secondQuarterRezColor, separableBlurMaterial); + thirdQuarterRezColor.DiscardContents(); + } + + AddTo(1.0f, secondQuarterRezColor, quarterRezColor); + secondQuarterRezColor.DiscardContents(); + } + else + { + + // (c) combined + + for (int ix = 0; ix < hollywoodFlareBlurIterations; ix++) + { + separableBlurMaterial.SetVector("offsets", new Vector4((hollyStretchWidth * 2.0f / widthOverHeight) * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + Graphics.Blit(secondQuarterRezColor, thirdQuarterRezColor, separableBlurMaterial); + secondQuarterRezColor.DiscardContents(); + + separableBlurMaterial.SetVector("offsets", new Vector4((hollyStretchWidth * 2.0f / widthOverHeight) * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + Graphics.Blit(thirdQuarterRezColor, secondQuarterRezColor, separableBlurMaterial); + thirdQuarterRezColor.DiscardContents(); + } + + Vignette(1.0f, secondQuarterRezColor, thirdQuarterRezColor); + secondQuarterRezColor.DiscardContents(); + + BlendFlares(thirdQuarterRezColor, secondQuarterRezColor); + thirdQuarterRezColor.DiscardContents(); + + AddTo(1.0f, secondQuarterRezColor, quarterRezColor); + secondQuarterRezColor.DiscardContents(); + } + } + } + + // screen blend bloom results to color buffer + + screenBlend.SetFloat("_Intensity", bloomIntensity); + screenBlend.SetTexture("_ColorBuffer", source); + Graphics.Blit(quarterRezColor, destination, screenBlend, (int)realBlendMode); + + RenderTexture.ReleaseTemporary(quarterRezColor); + RenderTexture.ReleaseTemporary(secondQuarterRezColor); + RenderTexture.ReleaseTemporary(thirdQuarterRezColor); + } + + private void AddTo(float intensity_, RenderTexture from, RenderTexture to) + { + addBrightStuffBlendOneOneMaterial.SetFloat("_Intensity", intensity_); + Graphics.Blit(from, to, addBrightStuffBlendOneOneMaterial); + } + + private void BlendFlares(RenderTexture from, RenderTexture to) + { + lensFlareMaterial.SetVector("colorA", new Vector4(flareColorA.r, flareColorA.g, flareColorA.b, flareColorA.a) * lensflareIntensity); + lensFlareMaterial.SetVector("colorB", new Vector4(flareColorB.r, flareColorB.g, flareColorB.b, flareColorB.a) * lensflareIntensity); + lensFlareMaterial.SetVector("colorC", new Vector4(flareColorC.r, flareColorC.g, flareColorC.b, flareColorC.a) * lensflareIntensity); + lensFlareMaterial.SetVector("colorD", new Vector4(flareColorD.r, flareColorD.g, flareColorD.b, flareColorD.a) * lensflareIntensity); + Graphics.Blit(from, to, lensFlareMaterial); + } + + private void BrightFilter(float thresh, float useAlphaAsMask, RenderTexture from, RenderTexture to) + { + if (doHdr) + brightPassFilterMaterial.SetVector("threshold", new Vector4(thresh, 1.0f, 0.0f, 0.0f)); + else + brightPassFilterMaterial.SetVector("threshold", new Vector4(thresh, 1.0f / (1.0f - thresh), 0.0f, 0.0f)); + brightPassFilterMaterial.SetFloat("useSrcAlphaAsMask", useAlphaAsMask); + Graphics.Blit(from, to, brightPassFilterMaterial); + } + + private void Vignette(float amount, RenderTexture from, RenderTexture to) + { + if (lensFlareVignetteMask) + { + screenBlend.SetTexture("_ColorBuffer", lensFlareVignetteMask); + Graphics.Blit(from, to, screenBlend, 3); + } + else + { + vignetteMaterial.SetFloat("vignetteIntensity", amount); + Graphics.Blit(from, to, vignetteMaterial); + } + } + + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomAndFlares.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomAndFlares.cs.meta new file mode 100644 index 0000000..d3b3c7b --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomAndFlares.cs.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 02536f33053638549ab5c50ff3ecc0de +MonoImporter: + serializedVersion: 2 + defaultReferences: + - lensFlareVignetteMask: {fileID: 2800000, guid: 95ef4804fe0be4c999ddaa383536cde8, + type: 3} + - lensFlareShader: {fileID: 4800000, guid: 459fe69d2f6d74ddb92f04dbf45a866b, type: 3} + - vignetteShader: {fileID: 4800000, guid: 627943dc7a9a74286b70a4f694a0acd5, type: 3} + - separableBlurShader: {fileID: 4800000, guid: a9df009a214e24a5ebbf271595f8d5b6, + type: 3} + - addBrightStuffOneOneShader: {fileID: 4800000, guid: f7898d203e9b94c0dbe2bf9dd5cb32c0, + type: 3} + - screenBlendShader: {fileID: 4800000, guid: 53b3960ee3d3d4a5caa8d5473d120187, type: 3} + - hollywoodFlaresShader: {fileID: 4800000, guid: e2baf3cae8edc4daf94c9adc2154be00, + type: 3} + - brightPassFilterShader: {fileID: 4800000, guid: 186c4c0d31e314f049595dcbaf4ca129, + type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomOptimized.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomOptimized.cs new file mode 100644 index 0000000..f7d9251 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomOptimized.cs @@ -0,0 +1,109 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Bloom and Glow/Bloom (Optimized)")] + public class BloomOptimized : PostEffectsBase + { + + public enum Resolution + { + Low = 0, + High = 1, + } + + public enum BlurType + { + Standard = 0, + Sgx = 1, + } + + [Range(0.0f, 1.5f)] + public float threshold = 0.25f; + [Range(0.0f, 2.5f)] + public float intensity = 0.75f; + + [Range(0.25f, 5.5f)] + public float blurSize = 1.0f; + + Resolution resolution = Resolution.Low; + [Range(1, 4)] + public int blurIterations = 1; + + public BlurType blurType= BlurType.Standard; + + public Shader fastBloomShader = null; + private Material fastBloomMaterial = null; + + + public override bool CheckResources () + { + CheckSupport (false); + + fastBloomMaterial = CheckShaderAndCreateMaterial (fastBloomShader, fastBloomMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + void OnDisable () + { + if (fastBloomMaterial) + DestroyImmediate (fastBloomMaterial); + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if (CheckResources() == false) + { + Graphics.Blit (source, destination); + return; + } + + int divider = resolution == Resolution.Low ? 4 : 2; + float widthMod = resolution == Resolution.Low ? 0.5f : 1.0f; + + fastBloomMaterial.SetVector ("_Parameter", new Vector4 (blurSize * widthMod, 0.0f, threshold, intensity)); + source.filterMode = FilterMode.Bilinear; + + var rtW= source.width/divider; + var rtH= source.height/divider; + + // downsample + RenderTexture rt = RenderTexture.GetTemporary (rtW, rtH, 0, source.format); + rt.filterMode = FilterMode.Bilinear; + Graphics.Blit (source, rt, fastBloomMaterial, 1); + + var passOffs= blurType == BlurType.Standard ? 0 : 2; + + for(int i = 0; i < blurIterations; i++) + { + fastBloomMaterial.SetVector ("_Parameter", new Vector4 (blurSize * widthMod + (i*1.0f), 0.0f, threshold, intensity)); + + // vertical blur + RenderTexture rt2 = RenderTexture.GetTemporary (rtW, rtH, 0, source.format); + rt2.filterMode = FilterMode.Bilinear; + Graphics.Blit (rt, rt2, fastBloomMaterial, 2 + passOffs); + RenderTexture.ReleaseTemporary (rt); + rt = rt2; + + // horizontal blur + rt2 = RenderTexture.GetTemporary (rtW, rtH, 0, source.format); + rt2.filterMode = FilterMode.Bilinear; + Graphics.Blit (rt, rt2, fastBloomMaterial, 3 + passOffs); + RenderTexture.ReleaseTemporary (rt); + rt = rt2; + } + + fastBloomMaterial.SetTexture ("_Bloom", rt); + + Graphics.Blit (source, destination, fastBloomMaterial, 0); + + RenderTexture.ReleaseTemporary (rt); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomOptimized.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomOptimized.cs.meta new file mode 100644 index 0000000..68dcfc1 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BloomOptimized.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 4975a6e437fc3b149a8cd508ce5bdd69 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - fastBloomShader: {fileID: 4800000, guid: 68a00c837b82e4c6d92e7da765dc5f1d, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Blur.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Blur.cs new file mode 100644 index 0000000..1db8a3f --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Blur.cs @@ -0,0 +1,108 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [AddComponentMenu("Image Effects/Blur/Blur")] + public class Blur : MonoBehaviour + { + /// Blur iterations - larger number means more blur. + [Range(0,10)] + public int iterations = 3; + + /// Blur spread for each iteration. Lower values + /// give better looking blur, but require more iterations to + /// get large blurs. Value is usually between 0.5 and 1.0. + [Range(0.0f,1.0f)] + public float blurSpread = 0.6f; + + + // -------------------------------------------------------- + // The blur iteration shader. + // Basically it just takes 4 texture samples and averages them. + // By applying it repeatedly and spreading out sample locations + // we get a Gaussian blur approximation. + + public Shader blurShader = null; + + static Material m_Material = null; + protected Material material { + get { + if (m_Material == null) { + m_Material = new Material(blurShader); + m_Material.hideFlags = HideFlags.DontSave; + } + return m_Material; + } + } + + protected void OnDisable() { + if ( m_Material ) { + DestroyImmediate( m_Material ); + } + } + + // -------------------------------------------------------- + + protected void Start() + { + // Disable if we don't support image effects + if (!SystemInfo.supportsImageEffects) { + enabled = false; + return; + } + // Disable if the shader can't run on the users graphics card + if (!blurShader || !material.shader.isSupported) { + enabled = false; + return; + } + } + + // Performs one blur iteration. + public void FourTapCone (RenderTexture source, RenderTexture dest, int iteration) + { + float off = 0.5f + iteration*blurSpread; + Graphics.BlitMultiTap (source, dest, material, + new Vector2(-off, -off), + new Vector2(-off, off), + new Vector2( off, off), + new Vector2( off, -off) + ); + } + + // Downsamples the texture to a quarter resolution. + private void DownSample4x (RenderTexture source, RenderTexture dest) + { + float off = 1.0f; + Graphics.BlitMultiTap (source, dest, material, + new Vector2(-off, -off), + new Vector2(-off, off), + new Vector2( off, off), + new Vector2( off, -off) + ); + } + + // Called by the camera to apply the image effect + void OnRenderImage (RenderTexture source, RenderTexture destination) { + int rtW = source.width/4; + int rtH = source.height/4; + RenderTexture buffer = RenderTexture.GetTemporary(rtW, rtH, 0); + + // Copy source to the 4x4 smaller texture. + DownSample4x (source, buffer); + + // Blur the small texture + for(int i = 0; i < iterations; i++) + { + RenderTexture buffer2 = RenderTexture.GetTemporary(rtW, rtH, 0); + FourTapCone (buffer, buffer2, i); + RenderTexture.ReleaseTemporary(buffer); + buffer = buffer2; + } + Graphics.Blit(buffer, destination); + + RenderTexture.ReleaseTemporary(buffer); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Blur.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Blur.cs.meta new file mode 100644 index 0000000..c4bb7e7 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Blur.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 34382083ad114a07d000fbfb8d76c639 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - blurShader: {fileID: 4800000, guid: 57e6deea7c2924e22a5138e2b70bb4dc, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/BlurOptimized.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BlurOptimized.cs new file mode 100644 index 0000000..c922dbe --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BlurOptimized.cs @@ -0,0 +1,93 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Blur/Blur (Optimized)")] + public class BlurOptimized : PostEffectsBase + { + + [Range(0, 2)] + public int downsample = 1; + + public enum BlurType { + StandardGauss = 0, + SgxGauss = 1, + } + + [Range(0.0f, 10.0f)] + public float blurSize = 3.0f; + + [Range(1, 4)] + public int blurIterations = 2; + + public BlurType blurType= BlurType.StandardGauss; + + public Shader blurShader = null; + private Material blurMaterial = null; + + + public override bool CheckResources () { + CheckSupport (false); + + blurMaterial = CheckShaderAndCreateMaterial (blurShader, blurMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + public void OnDisable () { + if (blurMaterial) + DestroyImmediate (blurMaterial); + } + + public void OnRenderImage (RenderTexture source, RenderTexture destination) { + if (CheckResources() == false) { + Graphics.Blit (source, destination); + return; + } + + float widthMod = 1.0f / (1.0f * (1<> downsample; + int rtH = source.height >> downsample; + + // downsample + RenderTexture rt = RenderTexture.GetTemporary (rtW, rtH, 0, source.format); + + rt.filterMode = FilterMode.Bilinear; + Graphics.Blit (source, rt, blurMaterial, 0); + + var passOffs= blurType == BlurType.StandardGauss ? 0 : 2; + + for(int i = 0; i < blurIterations; i++) { + float iterationOffs = (i*1.0f); + blurMaterial.SetVector ("_Parameter", new Vector4 (blurSize * widthMod + iterationOffs, -blurSize * widthMod - iterationOffs, 0.0f, 0.0f)); + + // vertical blur + RenderTexture rt2 = RenderTexture.GetTemporary (rtW, rtH, 0, source.format); + rt2.filterMode = FilterMode.Bilinear; + Graphics.Blit (rt, rt2, blurMaterial, 1 + passOffs); + RenderTexture.ReleaseTemporary (rt); + rt = rt2; + + // horizontal blur + rt2 = RenderTexture.GetTemporary (rtW, rtH, 0, source.format); + rt2.filterMode = FilterMode.Bilinear; + Graphics.Blit (rt, rt2, blurMaterial, 2 + passOffs); + RenderTexture.ReleaseTemporary (rt); + rt = rt2; + } + + Graphics.Blit (rt, destination); + + RenderTexture.ReleaseTemporary (rt); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/BlurOptimized.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BlurOptimized.cs.meta new file mode 100644 index 0000000..47ca17b --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/BlurOptimized.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7fc6bde01469c7b4badee5362f191d96 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - blurShader: {fileID: 4800000, guid: f9d5fa183cd6b45eeb1491f74863cd91, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/CameraMotionBlur.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/CameraMotionBlur.cs new file mode 100644 index 0000000..0909001 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/CameraMotionBlur.cs @@ -0,0 +1,381 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Camera/Camera Motion Blur") ] + public class CameraMotionBlur : PostEffectsBase + { + // make sure to match this to MAX_RADIUS in shader ('k' in paper) + static float MAX_RADIUS = 10.0f; + + public enum MotionBlurFilter { + CameraMotion = 0, // global screen blur based on cam motion + LocalBlur = 1, // cheap blur, no dilation or scattering + Reconstruction = 2, // advanced filter (simulates scattering) as in plausible motion blur paper + ReconstructionDX11 = 3, // advanced filter (simulates scattering) as in plausible motion blur paper + ReconstructionDisc = 4, // advanced filter using scaled poisson disc sampling + } + + // settings + public MotionBlurFilter filterType = MotionBlurFilter.Reconstruction; + public bool preview = false; // show how blur would look like in action ... + public Vector3 previewScale = Vector3.one; // ... given this movement vector + + // params + public float movementScale = 0.0f; + public float rotationScale = 1.0f; + public float maxVelocity = 8.0f; // maximum velocity in pixels + public float minVelocity = 0.1f; // minimum velocity in pixels + public float velocityScale = 0.375f; // global velocity scale + public float softZDistance = 0.005f; // for z overlap check softness (reconstruction filter only) + public int velocityDownsample = 1; // low resolution velocity buffer? (optimization) + public LayerMask excludeLayers = 0; + private GameObject tmpCam = null; + + // resources + public Shader shader; + public Shader dx11MotionBlurShader; + public Shader replacementClear; + + private Material motionBlurMaterial = null; + private Material dx11MotionBlurMaterial = null; + + public Texture2D noiseTexture = null; + public float jitter = 0.05f; + + // (internal) debug + public bool showVelocity = false; + public float showVelocityScale = 1.0f; + + // camera transforms + private Matrix4x4 currentViewProjMat; + private Matrix4x4 prevViewProjMat; + private int prevFrameCount; + private bool wasActive; + // shortcuts to calculate global blur direction when using 'CameraMotion' + private Vector3 prevFrameForward = Vector3.forward; + private Vector3 prevFrameUp = Vector3.up; + private Vector3 prevFramePos = Vector3.zero; + private Camera _camera; + + + private void CalculateViewProjection () { + Matrix4x4 viewMat = _camera.worldToCameraMatrix; + Matrix4x4 projMat = GL.GetGPUProjectionMatrix (_camera.projectionMatrix, true); + currentViewProjMat = projMat * viewMat; + } + + + new void Start () { + CheckResources (); + + if (_camera == null) + _camera = GetComponent(); + + wasActive = gameObject.activeInHierarchy; + CalculateViewProjection (); + Remember (); + wasActive = false; // hack to fake position/rotation update and prevent bad blurs + } + + void OnEnable () { + + if (_camera == null) + _camera = GetComponent(); + + _camera.depthTextureMode |= DepthTextureMode.Depth; + } + + void OnDisable () { + if (null != motionBlurMaterial) { + DestroyImmediate (motionBlurMaterial); + motionBlurMaterial = null; + } + if (null != dx11MotionBlurMaterial) { + DestroyImmediate (dx11MotionBlurMaterial); + dx11MotionBlurMaterial = null; + } + if (null != tmpCam) { + DestroyImmediate (tmpCam); + tmpCam = null; + } + } + + + public override bool CheckResources () { + CheckSupport (true, true); // depth & hdr needed + motionBlurMaterial = CheckShaderAndCreateMaterial (shader, motionBlurMaterial); + + if (supportDX11 && filterType == MotionBlurFilter.ReconstructionDX11) { + dx11MotionBlurMaterial = CheckShaderAndCreateMaterial (dx11MotionBlurShader, dx11MotionBlurMaterial); + } + + if (!isSupported) + ReportAutoDisable (); + + return isSupported; + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) { + if (false == CheckResources ()) { + Graphics.Blit (source, destination); + return; + } + + if (filterType == MotionBlurFilter.CameraMotion) + StartFrame (); + + // use if possible new RG format ... fallback to half otherwise + var rtFormat= SystemInfo.SupportsRenderTextureFormat (RenderTextureFormat.RGHalf) ? RenderTextureFormat.RGHalf : RenderTextureFormat.ARGBHalf; + + // get temp textures + RenderTexture velBuffer = RenderTexture.GetTemporary (divRoundUp (source.width, velocityDownsample), divRoundUp (source.height, velocityDownsample), 0, rtFormat); + int tileWidth = 1; + int tileHeight = 1; + maxVelocity = Mathf.Max (2.0f, maxVelocity); + + float _maxVelocity = maxVelocity; // calculate 'k' + // note: 's' is hardcoded in shaders except for DX11 path + + // auto DX11 fallback! + bool fallbackFromDX11 = filterType == MotionBlurFilter.ReconstructionDX11 && dx11MotionBlurMaterial == null; + + if (filterType == MotionBlurFilter.Reconstruction || fallbackFromDX11 || filterType == MotionBlurFilter.ReconstructionDisc) { + maxVelocity = Mathf.Min (maxVelocity, MAX_RADIUS); + tileWidth = divRoundUp (velBuffer.width, (int) maxVelocity); + tileHeight = divRoundUp (velBuffer.height, (int) maxVelocity); + _maxVelocity = velBuffer.width/tileWidth; + } + else { + tileWidth = divRoundUp (velBuffer.width, (int) maxVelocity); + tileHeight = divRoundUp (velBuffer.height, (int) maxVelocity); + _maxVelocity = velBuffer.width/tileWidth; + } + + RenderTexture tileMax = RenderTexture.GetTemporary (tileWidth, tileHeight, 0, rtFormat); + RenderTexture neighbourMax = RenderTexture.GetTemporary (tileWidth, tileHeight, 0, rtFormat); + velBuffer.filterMode = FilterMode.Point; + tileMax.filterMode = FilterMode.Point; + neighbourMax.filterMode = FilterMode.Point; + if (noiseTexture) noiseTexture.filterMode = FilterMode.Point; + source.wrapMode = TextureWrapMode.Clamp; + velBuffer.wrapMode = TextureWrapMode.Clamp; + neighbourMax.wrapMode = TextureWrapMode.Clamp; + tileMax.wrapMode = TextureWrapMode.Clamp; + + // calc correct viewprj matrix + CalculateViewProjection (); + + // just started up? + if (gameObject.activeInHierarchy && !wasActive) { + Remember (); + } + wasActive = gameObject.activeInHierarchy; + + // matrices + Matrix4x4 invViewPrj = Matrix4x4.Inverse (currentViewProjMat); + motionBlurMaterial.SetMatrix ("_InvViewProj", invViewPrj); + motionBlurMaterial.SetMatrix ("_PrevViewProj", prevViewProjMat); + motionBlurMaterial.SetMatrix ("_ToPrevViewProjCombined", prevViewProjMat * invViewPrj); + + motionBlurMaterial.SetFloat ("_MaxVelocity", _maxVelocity); + motionBlurMaterial.SetFloat ("_MaxRadiusOrKInPaper", _maxVelocity); + motionBlurMaterial.SetFloat ("_MinVelocity", minVelocity); + motionBlurMaterial.SetFloat ("_VelocityScale", velocityScale); + motionBlurMaterial.SetFloat ("_Jitter", jitter); + + // texture samplers + motionBlurMaterial.SetTexture ("_NoiseTex", noiseTexture); + motionBlurMaterial.SetTexture ("_VelTex", velBuffer); + motionBlurMaterial.SetTexture ("_NeighbourMaxTex", neighbourMax); + motionBlurMaterial.SetTexture ("_TileTexDebug", tileMax); + + if (preview) { + // generate an artifical 'previous' matrix to simulate blur look + Matrix4x4 viewMat = _camera.worldToCameraMatrix; + Matrix4x4 offset = Matrix4x4.identity; + offset.SetTRS(previewScale * 0.3333f, Quaternion.identity, Vector3.one); // using only translation + Matrix4x4 projMat = GL.GetGPUProjectionMatrix (_camera.projectionMatrix, true); + prevViewProjMat = projMat * offset * viewMat; + motionBlurMaterial.SetMatrix ("_PrevViewProj", prevViewProjMat); + motionBlurMaterial.SetMatrix ("_ToPrevViewProjCombined", prevViewProjMat * invViewPrj); + } + + if (filterType == MotionBlurFilter.CameraMotion) + { + // build blur vector to be used in shader to create a global blur direction + Vector4 blurVector = Vector4.zero; + + float lookUpDown = Vector3.Dot (transform.up, Vector3.up); + Vector3 distanceVector = prevFramePos-transform.position; + + float distMag = distanceVector.magnitude; + + float farHeur = 1.0f; + + // pitch (vertical) + farHeur = (Vector3.Angle (transform.up, prevFrameUp) / _camera.fieldOfView) * (source.width * 0.75f); + blurVector.x = rotationScale * farHeur;//Mathf.Clamp01((1.0ff-Vector3.Dot(transform.up, prevFrameUp))); + + // yaw #1 (horizontal, faded by pitch) + farHeur = (Vector3.Angle (transform.forward, prevFrameForward) / _camera.fieldOfView) * (source.width * 0.75f); + blurVector.y = rotationScale * lookUpDown * farHeur;//Mathf.Clamp01((1.0ff-Vector3.Dot(transform.forward, prevFrameForward))); + + // yaw #2 (when looking down, faded by 1-pitch) + farHeur = (Vector3.Angle (transform.forward, prevFrameForward) / _camera.fieldOfView) * (source.width * 0.75f); + blurVector.z = rotationScale * (1.0f- lookUpDown) * farHeur;//Mathf.Clamp01((1.0ff-Vector3.Dot(transform.forward, prevFrameForward))); + + if (distMag > Mathf.Epsilon && movementScale > Mathf.Epsilon) { + // forward (probably most important) + blurVector.w = movementScale * (Vector3.Dot (transform.forward, distanceVector) ) * (source.width * 0.5f); + // jump (maybe scale down further) + blurVector.x += movementScale * (Vector3.Dot (transform.up, distanceVector) ) * (source.width * 0.5f); + // strafe (maybe scale down further) + blurVector.y += movementScale * (Vector3.Dot (transform.right, distanceVector) ) * (source.width * 0.5f); + } + + if (preview) // crude approximation + motionBlurMaterial.SetVector ("_BlurDirectionPacked", new Vector4 (previewScale.y, previewScale.x, 0.0f, previewScale.z) * 0.5f * _camera.fieldOfView); + else + motionBlurMaterial.SetVector ("_BlurDirectionPacked", blurVector); + } + else { + // generate velocity buffer + Graphics.Blit (source, velBuffer, motionBlurMaterial, 0); + + // patch up velocity buffer: + + // exclude certain layers (e.g. skinned objects as we cant really support that atm) + + Camera cam = null; + if (excludeLayers.value != 0)// || dynamicLayers.value) + cam = GetTmpCam (); + + if (cam && excludeLayers.value != 0 && replacementClear && replacementClear.isSupported) { + cam.targetTexture = velBuffer; + cam.cullingMask = excludeLayers; + cam.RenderWithShader (replacementClear, ""); + } + } + + if (!preview && Time.frameCount != prevFrameCount) { + // remember current transformation data for next frame + prevFrameCount = Time.frameCount; + Remember (); + } + + source.filterMode = FilterMode.Bilinear; + + // debug vel buffer: + if (showVelocity) { + // generate tile max and neighbour max + //Graphics.Blit (velBuffer, tileMax, motionBlurMaterial, 2); + //Graphics.Blit (tileMax, neighbourMax, motionBlurMaterial, 3); + motionBlurMaterial.SetFloat ("_DisplayVelocityScale", showVelocityScale); + Graphics.Blit (velBuffer, destination, motionBlurMaterial, 1); + } + else { + if (filterType == MotionBlurFilter.ReconstructionDX11 && !fallbackFromDX11) { + // need to reset some parameters for dx11 shader + dx11MotionBlurMaterial.SetFloat ("_MinVelocity", minVelocity); + dx11MotionBlurMaterial.SetFloat ("_VelocityScale", velocityScale); + dx11MotionBlurMaterial.SetFloat ("_Jitter", jitter); + + // texture samplers + dx11MotionBlurMaterial.SetTexture ("_NoiseTex", noiseTexture); + dx11MotionBlurMaterial.SetTexture ("_VelTex", velBuffer); + dx11MotionBlurMaterial.SetTexture ("_NeighbourMaxTex", neighbourMax); + + dx11MotionBlurMaterial.SetFloat ("_SoftZDistance", Mathf.Max(0.00025f, softZDistance) ); + dx11MotionBlurMaterial.SetFloat ("_MaxRadiusOrKInPaper", _maxVelocity); + + // generate tile max and neighbour max + Graphics.Blit (velBuffer, tileMax, dx11MotionBlurMaterial, 0); + Graphics.Blit (tileMax, neighbourMax, dx11MotionBlurMaterial, 1); + + // final blur + Graphics.Blit (source, destination, dx11MotionBlurMaterial, 2); + } + else if (filterType == MotionBlurFilter.Reconstruction || fallbackFromDX11) { + // 'reconstructing' properly integrated color + motionBlurMaterial.SetFloat ("_SoftZDistance", Mathf.Max(0.00025f, softZDistance) ); + + // generate tile max and neighbour max + Graphics.Blit (velBuffer, tileMax, motionBlurMaterial, 2); + Graphics.Blit (tileMax, neighbourMax, motionBlurMaterial, 3); + + // final blur + Graphics.Blit (source, destination, motionBlurMaterial, 4); + } + else if (filterType == MotionBlurFilter.CameraMotion) { + // orange box style motion blur + Graphics.Blit (source, destination, motionBlurMaterial, 6); + } + else if (filterType == MotionBlurFilter.ReconstructionDisc) { + // dof style motion blur defocuing and ellipse around the princical blur direction + // 'reconstructing' properly integrated color + motionBlurMaterial.SetFloat ("_SoftZDistance", Mathf.Max(0.00025f, softZDistance) ); + + // generate tile max and neighbour max + Graphics.Blit (velBuffer, tileMax, motionBlurMaterial, 2); + Graphics.Blit (tileMax, neighbourMax, motionBlurMaterial, 3); + + Graphics.Blit (source, destination, motionBlurMaterial, 7); + } + else { + // simple & fast blur (low quality): just blurring along velocity + Graphics.Blit (source, destination, motionBlurMaterial, 5); + } + } + + // cleanup + RenderTexture.ReleaseTemporary (velBuffer); + RenderTexture.ReleaseTemporary (tileMax); + RenderTexture.ReleaseTemporary (neighbourMax); + } + + void Remember () { + prevViewProjMat = currentViewProjMat; + prevFrameForward = transform.forward; + prevFrameUp = transform.up; + prevFramePos = transform.position; + } + + Camera GetTmpCam () { + if (tmpCam == null) { + string name = "_" + _camera.name + "_MotionBlurTmpCam"; + GameObject go = GameObject.Find (name); + if (null == go) // couldn't find, recreate + tmpCam = new GameObject (name, typeof (Camera)); + else + tmpCam = go; + } + + tmpCam.hideFlags = HideFlags.DontSave; + tmpCam.transform.position = _camera.transform.position; + tmpCam.transform.rotation = _camera.transform.rotation; + tmpCam.transform.localScale = _camera.transform.localScale; + tmpCam.GetComponent().CopyFrom(_camera); + + tmpCam.GetComponent().enabled = false; + tmpCam.GetComponent().depthTextureMode = DepthTextureMode.None; + tmpCam.GetComponent().clearFlags = CameraClearFlags.Nothing; + + return tmpCam.GetComponent(); + } + + void StartFrame () { + // take only x% of positional changes into account (camera motion) + // TODO: possibly do the same for rotational part + prevFramePos = Vector3.Slerp(prevFramePos, transform.position, 0.75f); + } + + static int divRoundUp (int x, int d) + { + return (x + d - 1) / d; + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/CameraMotionBlur.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/CameraMotionBlur.cs.meta new file mode 100644 index 0000000..ef18200 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/CameraMotionBlur.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 97e9b95cf609d96409b6c40519432957 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - shader: {fileID: 4800000, guid: 85a88efa8c871af4a9d17c64791b6f4f, type: 3} + - dx11MotionBlurShader: {fileID: 4800000, guid: f1b13d7a80660504a858ea24cfa418c6, + type: 3} + - replacementClear: {fileID: 4800000, guid: 7699c5fbfa27745a1abe111ab7bf9785, type: 3} + - noiseTexture: {fileID: 2800000, guid: 31f5a8611c4ed1245b18456206e798dc, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionCurves.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionCurves.cs new file mode 100644 index 0000000..0425da9 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionCurves.cs @@ -0,0 +1,181 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [AddComponentMenu ("Image Effects/Color Adjustments/Color Correction (Curves, Saturation)")] + public class ColorCorrectionCurves : PostEffectsBase + { + public enum ColorCorrectionMode + { + Simple = 0, + Advanced = 1 + } + + public AnimationCurve redChannel = new AnimationCurve(new Keyframe(0f,0f), new Keyframe(1f,1f)); + public AnimationCurve greenChannel = new AnimationCurve(new Keyframe(0f,0f), new Keyframe(1f,1f)); + public AnimationCurve blueChannel = new AnimationCurve(new Keyframe(0f,0f), new Keyframe(1f,1f)); + + public bool useDepthCorrection = false; + + public AnimationCurve zCurve = new AnimationCurve(new Keyframe(0f,0f), new Keyframe(1f,1f)); + public AnimationCurve depthRedChannel = new AnimationCurve(new Keyframe(0f,0f), new Keyframe(1f,1f)); + public AnimationCurve depthGreenChannel = new AnimationCurve(new Keyframe(0f,0f), new Keyframe(1f,1f)); + public AnimationCurve depthBlueChannel = new AnimationCurve(new Keyframe(0f,0f), new Keyframe(1f,1f)); + + private Material ccMaterial; + private Material ccDepthMaterial; + private Material selectiveCcMaterial; + + private Texture2D rgbChannelTex; + private Texture2D rgbDepthChannelTex; + private Texture2D zCurveTex; + + public float saturation = 1.0f; + + public bool selectiveCc = false; + + public Color selectiveFromColor = Color.white; + public Color selectiveToColor = Color.white; + + public ColorCorrectionMode mode; + + public bool updateTextures = true; + + public Shader colorCorrectionCurvesShader = null; + public Shader simpleColorCorrectionCurvesShader = null; + public Shader colorCorrectionSelectiveShader = null; + + private bool updateTexturesOnStartup = true; + + + new void Start () + { + base.Start (); + updateTexturesOnStartup = true; + } + + void Awake () { } + + + public override bool CheckResources () + { + CheckSupport (mode == ColorCorrectionMode.Advanced); + + ccMaterial = CheckShaderAndCreateMaterial (simpleColorCorrectionCurvesShader, ccMaterial); + ccDepthMaterial = CheckShaderAndCreateMaterial (colorCorrectionCurvesShader, ccDepthMaterial); + selectiveCcMaterial = CheckShaderAndCreateMaterial (colorCorrectionSelectiveShader, selectiveCcMaterial); + + if (!rgbChannelTex) + rgbChannelTex = new Texture2D (256, 4, TextureFormat.ARGB32, false, true); + if (!rgbDepthChannelTex) + rgbDepthChannelTex = new Texture2D (256, 4, TextureFormat.ARGB32, false, true); + if (!zCurveTex) + zCurveTex = new Texture2D (256, 1, TextureFormat.ARGB32, false, true); + + rgbChannelTex.hideFlags = HideFlags.DontSave; + rgbDepthChannelTex.hideFlags = HideFlags.DontSave; + zCurveTex.hideFlags = HideFlags.DontSave; + + rgbChannelTex.wrapMode = TextureWrapMode.Clamp; + rgbDepthChannelTex.wrapMode = TextureWrapMode.Clamp; + zCurveTex.wrapMode = TextureWrapMode.Clamp; + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + public void UpdateParameters () + { + CheckResources(); // textures might not be created if we're tweaking UI while disabled + + if (redChannel != null && greenChannel != null && blueChannel != null) + { + for (float i = 0.0f; i <= 1.0f; i += 1.0f / 255.0f) + { + float rCh = Mathf.Clamp (redChannel.Evaluate(i), 0.0f, 1.0f); + float gCh = Mathf.Clamp (greenChannel.Evaluate(i), 0.0f, 1.0f); + float bCh = Mathf.Clamp (blueChannel.Evaluate(i), 0.0f, 1.0f); + + rgbChannelTex.SetPixel ((int) Mathf.Floor(i*255.0f), 0, new Color(rCh,rCh,rCh) ); + rgbChannelTex.SetPixel ((int) Mathf.Floor(i*255.0f), 1, new Color(gCh,gCh,gCh) ); + rgbChannelTex.SetPixel ((int) Mathf.Floor(i*255.0f), 2, new Color(bCh,bCh,bCh) ); + + float zC = Mathf.Clamp (zCurve.Evaluate(i), 0.0f,1.0f); + + zCurveTex.SetPixel ((int) Mathf.Floor(i*255.0f), 0, new Color(zC,zC,zC) ); + + rCh = Mathf.Clamp (depthRedChannel.Evaluate(i), 0.0f,1.0f); + gCh = Mathf.Clamp (depthGreenChannel.Evaluate(i), 0.0f,1.0f); + bCh = Mathf.Clamp (depthBlueChannel.Evaluate(i), 0.0f,1.0f); + + rgbDepthChannelTex.SetPixel ((int) Mathf.Floor(i*255.0f), 0, new Color(rCh,rCh,rCh) ); + rgbDepthChannelTex.SetPixel ((int) Mathf.Floor(i*255.0f), 1, new Color(gCh,gCh,gCh) ); + rgbDepthChannelTex.SetPixel ((int) Mathf.Floor(i*255.0f), 2, new Color(bCh,bCh,bCh) ); + } + + rgbChannelTex.Apply (); + rgbDepthChannelTex.Apply (); + zCurveTex.Apply (); + } + } + + void UpdateTextures () + { + UpdateParameters (); + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if (CheckResources()==false) + { + Graphics.Blit (source, destination); + return; + } + + if (updateTexturesOnStartup) + { + UpdateParameters (); + updateTexturesOnStartup = false; + } + + if (useDepthCorrection) + GetComponent().depthTextureMode |= DepthTextureMode.Depth; + + RenderTexture renderTarget2Use = destination; + + if (selectiveCc) + { + renderTarget2Use = RenderTexture.GetTemporary (source.width, source.height); + } + + if (useDepthCorrection) + { + ccDepthMaterial.SetTexture ("_RgbTex", rgbChannelTex); + ccDepthMaterial.SetTexture ("_ZCurve", zCurveTex); + ccDepthMaterial.SetTexture ("_RgbDepthTex", rgbDepthChannelTex); + ccDepthMaterial.SetFloat ("_Saturation", saturation); + + Graphics.Blit (source, renderTarget2Use, ccDepthMaterial); + } + else + { + ccMaterial.SetTexture ("_RgbTex", rgbChannelTex); + ccMaterial.SetFloat ("_Saturation", saturation); + + Graphics.Blit (source, renderTarget2Use, ccMaterial); + } + + if (selectiveCc) + { + selectiveCcMaterial.SetColor ("selColor", selectiveFromColor); + selectiveCcMaterial.SetColor ("targetColor", selectiveToColor); + Graphics.Blit (renderTarget2Use, destination, selectiveCcMaterial); + + RenderTexture.ReleaseTemporary (renderTarget2Use); + } + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionCurves.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionCurves.cs.meta new file mode 100644 index 0000000..e60e166 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionCurves.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 1fd999d1b2cf94a45a5b0a47ce074bef +MonoImporter: + serializedVersion: 2 + defaultReferences: + - colorCorrectionCurvesShader: {fileID: 4800000, guid: 62bcade1028c24ca1a39760ed84b9487, + type: 3} + - simpleColorCorrectionCurvesShader: {fileID: 4800000, guid: 438ddd58d82c84d9eb1fdc56111702e1, + type: 3} + - colorCorrectionSelectiveShader: {fileID: 4800000, guid: e515e0f94cefc4c0db54b45cba621544, + type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionLookup.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionLookup.cs new file mode 100644 index 0000000..e85bb59 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionLookup.cs @@ -0,0 +1,130 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [AddComponentMenu ("Image Effects/Color Adjustments/Color Correction (3D Lookup Texture)")] + public class ColorCorrectionLookup : PostEffectsBase + { + public Shader shader; + private Material material; + + // serialize this instead of having another 2d texture ref'ed + public Texture3D converted3DLut = null; + public string basedOnTempTex = ""; + + + public override bool CheckResources () { + CheckSupport (false); + + material = CheckShaderAndCreateMaterial (shader, material); + + if (!isSupported || !SystemInfo.supports3DTextures) + ReportAutoDisable (); + return isSupported; + } + + void OnDisable () { + if (material) { + DestroyImmediate (material); + material = null; + } + } + + void OnDestroy () { + if (converted3DLut) + DestroyImmediate (converted3DLut); + converted3DLut = null; + } + + public void SetIdentityLut () { + int dim = 16; + var newC = new Color[dim*dim*dim]; + float oneOverDim = 1.0f / (1.0f * dim - 1.0f); + + for(int i = 0; i < dim; i++) { + for(int j = 0; j < dim; j++) { + for(int k = 0; k < dim; k++) { + newC[i + (j*dim) + (k*dim*dim)] = new Color((i*1.0f)*oneOverDim, (j*1.0f)*oneOverDim, (k*1.0f)*oneOverDim, 1.0f); + } + } + } + + if (converted3DLut) + DestroyImmediate (converted3DLut); + converted3DLut = new Texture3D (dim, dim, dim, TextureFormat.ARGB32, false); + converted3DLut.SetPixels (newC); + converted3DLut.Apply (); + basedOnTempTex = ""; + } + + public bool ValidDimensions ( Texture2D tex2d) { + if (!tex2d) return false; + int h = tex2d.height; + if (h != Mathf.FloorToInt(Mathf.Sqrt(tex2d.width))) { + return false; + } + return true; + } + + public void Convert ( Texture2D temp2DTex, string path) { + + // conversion fun: the given 2D texture needs to be of the format + // w * h, wheras h is the 'depth' (or 3d dimension 'dim') and w = dim * dim + + if (temp2DTex) { + int dim = temp2DTex.width * temp2DTex.height; + dim = temp2DTex.height; + + if (!ValidDimensions(temp2DTex)) { + Debug.LogWarning ("The given 2D texture " + temp2DTex.name + " cannot be used as a 3D LUT."); + basedOnTempTex = ""; + return; + } + + var c = temp2DTex.GetPixels(); + var newC = new Color[c.Length]; + + for(int i = 0; i < dim; i++) { + for(int j = 0; j < dim; j++) { + for(int k = 0; k < dim; k++) { + int j_ = dim-j-1; + newC[i + (j*dim) + (k*dim*dim)] = c[k*dim+i+j_*dim*dim]; + } + } + } + + if (converted3DLut) + DestroyImmediate (converted3DLut); + converted3DLut = new Texture3D (dim, dim, dim, TextureFormat.ARGB32, false); + converted3DLut.SetPixels (newC); + converted3DLut.Apply (); + basedOnTempTex = path; + } + else { + // error, something went terribly wrong + Debug.LogError ("Couldn't color correct with 3D LUT texture. Image Effect will be disabled."); + } + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) { + if (CheckResources () == false || !SystemInfo.supports3DTextures) { + Graphics.Blit (source, destination); + return; + } + + if (converted3DLut == null) { + SetIdentityLut (); + } + + int lutSize = converted3DLut.width; + converted3DLut.wrapMode = TextureWrapMode.Clamp; + material.SetFloat("_Scale", (lutSize - 1) / (1.0f*lutSize)); + material.SetFloat("_Offset", 1.0f / (2.0f * lutSize)); + material.SetTexture("_ClutTex", converted3DLut); + + Graphics.Blit (source, destination, material, QualitySettings.activeColorSpace == ColorSpace.Linear ? 1 : 0); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionLookup.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionLookup.cs.meta new file mode 100644 index 0000000..82f6837 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionLookup.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8cde8c0fd649d9b46bb403ba5e157391 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - shader: {fileID: 4800000, guid: b61f0d8d8244b4b28aa66b0c8cb46a8d, type: 3} + - converted3DLut: {instanceID: 0} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionRamp.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionRamp.cs new file mode 100644 index 0000000..ae594f8 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionRamp.cs @@ -0,0 +1,17 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [AddComponentMenu("Image Effects/Color Adjustments/Color Correction (Ramp)")] + public class ColorCorrectionRamp : ImageEffectBase { + public Texture textureRamp; + + // Called by camera to apply image effect + void OnRenderImage (RenderTexture source, RenderTexture destination) { + material.SetTexture ("_RampTex", textureRamp); + Graphics.Blit (source, destination, material); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionRamp.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionRamp.cs.meta new file mode 100644 index 0000000..009d841 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ColorCorrectionRamp.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ea59781cad112c75d0008dfa8d76c639 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - shader: {fileID: 4800000, guid: 67f8781cad112c75d0008dfa8d76c639, type: 3} + - textureRamp: {fileID: 2800000, guid: d440902fad11e807d00044888d76c639, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastEnhance.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastEnhance.cs new file mode 100644 index 0000000..00c2820 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastEnhance.cs @@ -0,0 +1,80 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent(typeof(Camera))] + [AddComponentMenu("Image Effects/Color Adjustments/Contrast Enhance (Unsharp Mask)")] + public class ContrastEnhance : PostEffectsBase + { + [Range(0.0f, 1.0f)] + public float intensity = 0.5f; + [Range(0.0f,0.999f)] + public float threshold = 0.0f; + + private Material separableBlurMaterial; + private Material contrastCompositeMaterial; + + [Range(0.0f,1.0f)] + public float blurSpread = 1.0f; + + public Shader separableBlurShader = null; + public Shader contrastCompositeShader = null; + + + public override bool CheckResources () + { + CheckSupport (false); + + contrastCompositeMaterial = CheckShaderAndCreateMaterial (contrastCompositeShader, contrastCompositeMaterial); + separableBlurMaterial = CheckShaderAndCreateMaterial (separableBlurShader, separableBlurMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if (CheckResources()==false) + { + Graphics.Blit (source, destination); + return; + } + + int rtW = source.width; + int rtH = source.height; + + RenderTexture color2 = RenderTexture.GetTemporary (rtW/2, rtH/2, 0); + + // downsample + + Graphics.Blit (source, color2); + RenderTexture color4a = RenderTexture.GetTemporary (rtW/4, rtH/4, 0); + Graphics.Blit (color2, color4a); + RenderTexture.ReleaseTemporary (color2); + + // blur + + separableBlurMaterial.SetVector ("offsets", new Vector4 (0.0f, (blurSpread * 1.0f) / color4a.height, 0.0f, 0.0f)); + RenderTexture color4b = RenderTexture.GetTemporary (rtW/4, rtH/4, 0); + Graphics.Blit (color4a, color4b, separableBlurMaterial); + RenderTexture.ReleaseTemporary (color4a); + + separableBlurMaterial.SetVector ("offsets", new Vector4 ((blurSpread * 1.0f) / color4a.width, 0.0f, 0.0f, 0.0f)); + color4a = RenderTexture.GetTemporary (rtW/4, rtH/4, 0); + Graphics.Blit (color4b, color4a, separableBlurMaterial); + RenderTexture.ReleaseTemporary (color4b); + + // composite + + contrastCompositeMaterial.SetTexture ("_MainTexBlurred", color4a); + contrastCompositeMaterial.SetFloat ("intensity", intensity); + contrastCompositeMaterial.SetFloat ("threshold", threshold); + Graphics.Blit (source, destination, contrastCompositeMaterial); + + RenderTexture.ReleaseTemporary (color4a); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastEnhance.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastEnhance.cs.meta new file mode 100644 index 0000000..c469a7c --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastEnhance.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 3309686a9fbbe6e42a182d5e0257704c +MonoImporter: + serializedVersion: 2 + defaultReferences: + - separableBlurShader: {fileID: 4800000, guid: e97c14fbb5ea04c3a902cc533d7fc5d1, + type: 3} + - contrastCompositeShader: {fileID: 4800000, guid: 273404942eede4ea1883ca1fb2942507, + type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastStretch.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastStretch.cs new file mode 100644 index 0000000..a349d5c --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastStretch.cs @@ -0,0 +1,200 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [AddComponentMenu("Image Effects/Color Adjustments/Contrast Stretch")] + public class ContrastStretch : MonoBehaviour + { + /// Adaptation speed - percents per frame, if playing at 30FPS. + /// Default is 0.02 (2% each 1/30s). + [Range(0.0001f, 1.0f)] + public float adaptationSpeed = 0.02f; + + /// If our scene is really dark (or really bright), we might not want to + /// stretch its contrast to the full range. + /// limitMinimum=0, limitMaximum=1 is the same as not applying the effect at all. + /// limitMinimum=1, limitMaximum=0 is always stretching colors to full range. + + /// The limit on the minimum luminance (0...1) - we won't go above this. + [Range(0.0f,1.0f)] + public float limitMinimum = 0.2f; + + /// The limit on the maximum luminance (0...1) - we won't go below this. + [Range(0.0f, 1.0f)] + public float limitMaximum = 0.6f; + + + // To maintain adaptation levels over time, we need two 1x1 render textures + // and ping-pong between them. + private RenderTexture[] adaptRenderTex = new RenderTexture[2]; + private int curAdaptIndex = 0; + + + // Computes scene luminance (grayscale) image + public Shader shaderLum; + private Material m_materialLum; + protected Material materialLum { + get { + if ( m_materialLum == null ) { + m_materialLum = new Material(shaderLum); + m_materialLum.hideFlags = HideFlags.HideAndDontSave; + } + return m_materialLum; + } + } + + // Reduces size of the image by 2x2, while computing maximum/minimum values. + // By repeatedly applying this shader, we reduce the initial luminance image + // to 1x1 image with minimum/maximum luminances found. + public Shader shaderReduce; + private Material m_materialReduce; + protected Material materialReduce { + get { + if ( m_materialReduce == null ) { + m_materialReduce = new Material(shaderReduce); + m_materialReduce.hideFlags = HideFlags.HideAndDontSave; + } + return m_materialReduce; + } + } + + // Adaptation shader - gradually "adapts" minimum/maximum luminances, + // based on currently adapted 1x1 image and the actual 1x1 image of the current scene. + public Shader shaderAdapt; + private Material m_materialAdapt; + protected Material materialAdapt { + get { + if ( m_materialAdapt == null ) { + m_materialAdapt = new Material(shaderAdapt); + m_materialAdapt.hideFlags = HideFlags.HideAndDontSave; + } + return m_materialAdapt; + } + } + + // Final pass - stretches the color values of the original scene, based on currently + // adpated minimum/maximum values. + public Shader shaderApply; + private Material m_materialApply; + protected Material materialApply { + get { + if ( m_materialApply == null ) { + m_materialApply = new Material(shaderApply); + m_materialApply.hideFlags = HideFlags.HideAndDontSave; + } + return m_materialApply; + } + } + + void Start() + { + // Disable if we don't support image effects + if (!SystemInfo.supportsImageEffects) { + enabled = false; + return; + } + + if (!shaderAdapt.isSupported || !shaderApply.isSupported || !shaderLum.isSupported || !shaderReduce.isSupported) { + enabled = false; + return; + } + } + + void OnEnable() + { + for( int i = 0; i < 2; ++i ) + { + if ( !adaptRenderTex[i] ) { + adaptRenderTex[i] = new RenderTexture(1, 1, 0); + adaptRenderTex[i].hideFlags = HideFlags.HideAndDontSave; + } + } + } + + void OnDisable() + { + for( int i = 0; i < 2; ++i ) + { + DestroyImmediate( adaptRenderTex[i] ); + adaptRenderTex[i] = null; + } + if ( m_materialLum ) + DestroyImmediate( m_materialLum ); + if ( m_materialReduce ) + DestroyImmediate( m_materialReduce ); + if ( m_materialAdapt ) + DestroyImmediate( m_materialAdapt ); + if ( m_materialApply ) + DestroyImmediate( m_materialApply ); + } + + + /// Apply the filter + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + // Blit to smaller RT and convert to luminance on the way + const int TEMP_RATIO = 1; // 4x4 smaller + RenderTexture rtTempSrc = RenderTexture.GetTemporary(source.width/TEMP_RATIO, source.height/TEMP_RATIO); + Graphics.Blit (source, rtTempSrc, materialLum); + + // Repeatedly reduce this image in size, computing min/max luminance values + // In the end we'll have 1x1 image with min/max luminances found. + const int FINAL_SIZE = 1; + //const int FINAL_SIZE = 1; + while( rtTempSrc.width > FINAL_SIZE || rtTempSrc.height > FINAL_SIZE ) + { + const int REDUCE_RATIO = 2; // our shader does 2x2 reduction + int destW = rtTempSrc.width / REDUCE_RATIO; + if ( destW < FINAL_SIZE ) destW = FINAL_SIZE; + int destH = rtTempSrc.height / REDUCE_RATIO; + if ( destH < FINAL_SIZE ) destH = FINAL_SIZE; + RenderTexture rtTempDst = RenderTexture.GetTemporary(destW,destH); + Graphics.Blit (rtTempSrc, rtTempDst, materialReduce); + + // Release old src temporary, and make new temporary the source + RenderTexture.ReleaseTemporary( rtTempSrc ); + rtTempSrc = rtTempDst; + } + + // Update viewer's adaptation level + CalculateAdaptation( rtTempSrc ); + + // Apply contrast strech to the original scene, using currently adapted parameters + materialApply.SetTexture("_AdaptTex", adaptRenderTex[curAdaptIndex] ); + Graphics.Blit (source, destination, materialApply); + + RenderTexture.ReleaseTemporary( rtTempSrc ); + } + + + /// Helper function to do gradual adaptation to min/max luminances + private void CalculateAdaptation( Texture curTexture ) + { + int prevAdaptIndex = curAdaptIndex; + curAdaptIndex = (curAdaptIndex+1) % 2; + + // Adaptation speed is expressed in percents/frame, based on 30FPS. + // Calculate the adaptation lerp, based on current FPS. + float adaptLerp = 1.0f - Mathf.Pow( 1.0f - adaptationSpeed, 30.0f * Time.deltaTime ); + const float kMinAdaptLerp = 0.01f; + adaptLerp = Mathf.Clamp( adaptLerp, kMinAdaptLerp, 1 ); + + materialAdapt.SetTexture("_CurTex", curTexture ); + materialAdapt.SetVector("_AdaptParams", new Vector4( + adaptLerp, + limitMinimum, + limitMaximum, + 0.0f + )); + // clear destination RT so its contents don't need to be restored + Graphics.SetRenderTarget(adaptRenderTex[curAdaptIndex]); + GL.Clear(false, true, Color.black); + Graphics.Blit ( + adaptRenderTex[prevAdaptIndex], + adaptRenderTex[curAdaptIndex], + materialAdapt); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastStretch.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastStretch.cs.meta new file mode 100644 index 0000000..a9285bb --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ContrastStretch.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ec92b071d2d424aecb3e46f28eb63174 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - shaderLum: {fileID: 4800000, guid: befbb4b9c320b4b18a08ef7afb93b6c9, type: 3} + - shaderReduce: {fileID: 4800000, guid: 57b33a14b6d5347c5a85c36f6cb3b280, type: 3} + - shaderAdapt: {fileID: 4800000, guid: 257bc83cbeb544540bd0e558aa9b1383, type: 3} + - shaderApply: {fileID: 4800000, guid: f4901f25d4e1542589348bbb89563d8e, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/CreaseShading.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/CreaseShading.cs new file mode 100644 index 0000000..a26d007 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/CreaseShading.cs @@ -0,0 +1,82 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Edge Detection/Crease Shading")] + public class CreaseShading : PostEffectsBase + { + public float intensity = 0.5f; + public int softness = 1; + public float spread = 1.0f; + + public Shader blurShader = null; + private Material blurMaterial = null; + + public Shader depthFetchShader = null; + private Material depthFetchMaterial = null; + + public Shader creaseApplyShader = null; + private Material creaseApplyMaterial = null; + + + public override bool CheckResources () + { + CheckSupport (true); + + blurMaterial = CheckShaderAndCreateMaterial (blurShader, blurMaterial); + depthFetchMaterial = CheckShaderAndCreateMaterial (depthFetchShader, depthFetchMaterial); + creaseApplyMaterial = CheckShaderAndCreateMaterial (creaseApplyShader, creaseApplyMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if (CheckResources()==false) + { + Graphics.Blit (source, destination); + return; + } + + int rtW = source.width; + int rtH = source.height; + + float widthOverHeight = (1.0f * rtW) / (1.0f * rtH); + float oneOverBaseSize = 1.0f / 512.0f; + + RenderTexture hrTex = RenderTexture.GetTemporary (rtW, rtH, 0); + RenderTexture lrTex1 = RenderTexture.GetTemporary (rtW/2, rtH/2, 0); + + Graphics.Blit (source,hrTex, depthFetchMaterial); + Graphics.Blit (hrTex, lrTex1); + + for(int i = 0; i < softness; i++) + { + RenderTexture lrTex2 = RenderTexture.GetTemporary (rtW/2, rtH/2, 0); + blurMaterial.SetVector ("offsets", new Vector4 (0.0f, spread * oneOverBaseSize, 0.0f, 0.0f)); + Graphics.Blit (lrTex1, lrTex2, blurMaterial); + RenderTexture.ReleaseTemporary (lrTex1); + lrTex1 = lrTex2; + + lrTex2 = RenderTexture.GetTemporary (rtW/2, rtH/2, 0); + blurMaterial.SetVector ("offsets", new Vector4 (spread * oneOverBaseSize / widthOverHeight, 0.0f, 0.0f, 0.0f)); + Graphics.Blit (lrTex1, lrTex2, blurMaterial); + RenderTexture.ReleaseTemporary (lrTex1); + lrTex1 = lrTex2; + } + + creaseApplyMaterial.SetTexture ("_HrDepthTex", hrTex); + creaseApplyMaterial.SetTexture ("_LrDepthTex", lrTex1); + creaseApplyMaterial.SetFloat ("intensity", intensity); + Graphics.Blit (source,destination, creaseApplyMaterial); + + RenderTexture.ReleaseTemporary (hrTex); + RenderTexture.ReleaseTemporary (lrTex1); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/CreaseShading.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/CreaseShading.cs.meta new file mode 100644 index 0000000..c6ebebe --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/CreaseShading.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d64b4f3a592f28b44bf19223ac8b6cd2 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - blurShader: {fileID: 4800000, guid: e97c14fbb5ea04c3a902cc533d7fc5d1, type: 3} + - depthFetchShader: {fileID: 4800000, guid: 14768d3865b1342e3a861fbe19ba2db2, type: 3} + - creaseApplyShader: {fileID: 4800000, guid: b59984d82af624bd3b0c777f038276f2, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfField.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfField.cs new file mode 100644 index 0000000..59aee65 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfField.cs @@ -0,0 +1,387 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Camera/Depth of Field (Lens Blur, Scatter, DX11)") ] + public class DepthOfField : PostEffectsBase { + + public bool visualizeFocus = false; + public float focalLength = 10.0f; + public float focalSize = 0.05f; + public float aperture = 0.5f; + public Transform focalTransform = null; + public float maxBlurSize = 2.0f; + public bool highResolution = false; + + public enum BlurType { + DiscBlur = 0, + DX11 = 1, + } + + public enum BlurSampleCount { + Low = 0, + Medium = 1, + High = 2, + } + + public BlurType blurType = BlurType.DiscBlur; + public BlurSampleCount blurSampleCount = BlurSampleCount.High; + + public bool nearBlur = false; + public float foregroundOverlap = 1.0f; + + public Shader dofHdrShader; + private Material dofHdrMaterial = null; + + public Shader dx11BokehShader; + private Material dx11bokehMaterial; + + public float dx11BokehThreshold = 0.5f; + public float dx11SpawnHeuristic = 0.0875f; + public Texture2D dx11BokehTexture = null; + public float dx11BokehScale = 1.2f; + public float dx11BokehIntensity = 2.5f; + + private float focalDistance01 = 10.0f; + private ComputeBuffer cbDrawArgs; + private ComputeBuffer cbPoints; + private float internalBlurWidth = 1.0f; + + private Camera cachedCamera; + + public override bool CheckResources () { + CheckSupport (true); // only requires depth, not HDR + + dofHdrMaterial = CheckShaderAndCreateMaterial (dofHdrShader, dofHdrMaterial); + if (supportDX11 && blurType == BlurType.DX11) { + dx11bokehMaterial = CheckShaderAndCreateMaterial(dx11BokehShader, dx11bokehMaterial); + CreateComputeResources (); + } + + if (!isSupported) + ReportAutoDisable (); + + return isSupported; + } + + void OnEnable () { + cachedCamera = GetComponent(); + cachedCamera.depthTextureMode |= DepthTextureMode.Depth; + } + + void OnDisable () { + ReleaseComputeResources (); + + if (dofHdrMaterial) DestroyImmediate(dofHdrMaterial); + dofHdrMaterial = null; + if (dx11bokehMaterial) DestroyImmediate(dx11bokehMaterial); + dx11bokehMaterial = null; + } + + void ReleaseComputeResources () { + if (cbDrawArgs != null) cbDrawArgs.Release(); + cbDrawArgs = null; + if (cbPoints != null) cbPoints.Release(); + cbPoints = null; + } + + void CreateComputeResources () { + if (cbDrawArgs == null) + { + cbDrawArgs = new ComputeBuffer (1, 16, ComputeBufferType.IndirectArguments); + var args= new int[4]; + args[0] = 0; args[1] = 1; args[2] = 0; args[3] = 0; + cbDrawArgs.SetData (args); + } + if (cbPoints == null) + { + cbPoints = new ComputeBuffer (90000, 12+16, ComputeBufferType.Append); + } + } + + float FocalDistance01 ( float worldDist) { + return cachedCamera.WorldToViewportPoint((worldDist-cachedCamera.nearClipPlane) * cachedCamera.transform.forward + cachedCamera.transform.position).z / (cachedCamera.farClipPlane-cachedCamera.nearClipPlane); + } + + private void WriteCoc ( RenderTexture fromTo, bool fgDilate) { + dofHdrMaterial.SetTexture("_FgOverlap", null); + + if (nearBlur && fgDilate) { + + int rtW = fromTo.width/2; + int rtH = fromTo.height/2; + + // capture fg coc + RenderTexture temp2 = RenderTexture.GetTemporary (rtW, rtH, 0, fromTo.format); + Graphics.Blit (fromTo, temp2, dofHdrMaterial, 4); + + // special blur + float fgAdjustment = internalBlurWidth * foregroundOverlap; + + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (0.0f, fgAdjustment , 0.0f, fgAdjustment)); + RenderTexture temp1 = RenderTexture.GetTemporary (rtW, rtH, 0, fromTo.format); + Graphics.Blit (temp2, temp1, dofHdrMaterial, 2); + RenderTexture.ReleaseTemporary(temp2); + + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (fgAdjustment, 0.0f, 0.0f, fgAdjustment)); + temp2 = RenderTexture.GetTemporary (rtW, rtH, 0, fromTo.format); + Graphics.Blit (temp1, temp2, dofHdrMaterial, 2); + RenderTexture.ReleaseTemporary(temp1); + + // "merge up" with background COC + dofHdrMaterial.SetTexture("_FgOverlap", temp2); + fromTo.MarkRestoreExpected(); // only touching alpha channel, RT restore expected + Graphics.Blit (fromTo, fromTo, dofHdrMaterial, 13); + RenderTexture.ReleaseTemporary(temp2); + } + else { + // capture full coc in alpha channel (fromTo is not read, but bound to detect screen flip) + fromTo.MarkRestoreExpected(); // only touching alpha channel, RT restore expected + Graphics.Blit (fromTo, fromTo, dofHdrMaterial, 0); + } + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) { + if (!CheckResources ()) { + Graphics.Blit (source, destination); + return; + } + + // clamp & prepare values so they make sense + + if (aperture < 0.0f) aperture = 0.0f; + if (maxBlurSize < 0.1f) maxBlurSize = 0.1f; + focalSize = Mathf.Clamp(focalSize, 0.0f, 2.0f); + internalBlurWidth = Mathf.Max(maxBlurSize, 0.0f); + + // focal & coc calculations + + focalDistance01 = (focalTransform) ? (cachedCamera.WorldToViewportPoint (focalTransform.position)).z / (cachedCamera.farClipPlane) : FocalDistance01 (focalLength); + dofHdrMaterial.SetVector("_CurveParams", new Vector4(1.0f, focalSize, (1.0f / (1.0f - aperture) - 1.0f), focalDistance01)); + + // possible render texture helpers + + RenderTexture rtLow = null; + RenderTexture rtLow2 = null; + RenderTexture rtSuperLow1 = null; + RenderTexture rtSuperLow2 = null; + float fgBlurDist = internalBlurWidth * foregroundOverlap; + + if (visualizeFocus) + { + + // + // 2. + // visualize coc + // + // + + WriteCoc (source, true); + Graphics.Blit (source, destination, dofHdrMaterial, 16); + } + else if ((blurType == BlurType.DX11) && dx11bokehMaterial) + { + + // + // 1. + // optimized dx11 bokeh scatter + // + // + + + if (highResolution) { + + internalBlurWidth = internalBlurWidth < 0.1f ? 0.1f : internalBlurWidth; + fgBlurDist = internalBlurWidth * foregroundOverlap; + + rtLow = RenderTexture.GetTemporary (source.width, source.height, 0, source.format); + + var dest2= RenderTexture.GetTemporary (source.width, source.height, 0, source.format); + + // capture COC + WriteCoc (source, false); + + // blur a bit so we can do a frequency check + rtSuperLow1 = RenderTexture.GetTemporary(source.width>>1, source.height>>1, 0, source.format); + rtSuperLow2 = RenderTexture.GetTemporary(source.width>>1, source.height>>1, 0, source.format); + + Graphics.Blit(source, rtSuperLow1, dofHdrMaterial, 15); + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (0.0f, 1.5f , 0.0f, 1.5f)); + Graphics.Blit (rtSuperLow1, rtSuperLow2, dofHdrMaterial, 19); + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (1.5f, 0.0f, 0.0f, 1.5f)); + Graphics.Blit (rtSuperLow2, rtSuperLow1, dofHdrMaterial, 19); + + // capture fg coc + if (nearBlur) + Graphics.Blit (source, rtSuperLow2, dofHdrMaterial, 4); + + dx11bokehMaterial.SetTexture ("_BlurredColor", rtSuperLow1); + dx11bokehMaterial.SetFloat ("_SpawnHeuristic", dx11SpawnHeuristic); + dx11bokehMaterial.SetVector ("_BokehParams", new Vector4(dx11BokehScale, dx11BokehIntensity, Mathf.Clamp(dx11BokehThreshold, 0.005f, 4.0f), internalBlurWidth)); + dx11bokehMaterial.SetTexture ("_FgCocMask", nearBlur ? rtSuperLow2 : null); + + // collect bokeh candidates and replace with a darker pixel + Graphics.SetRandomWriteTarget (1, cbPoints); + Graphics.Blit (source, rtLow, dx11bokehMaterial, 0); + Graphics.ClearRandomWriteTargets (); + + // fg coc blur happens here (after collect!) + if (nearBlur) { + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (0.0f, fgBlurDist , 0.0f, fgBlurDist)); + Graphics.Blit (rtSuperLow2, rtSuperLow1, dofHdrMaterial, 2); + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (fgBlurDist, 0.0f, 0.0f, fgBlurDist)); + Graphics.Blit (rtSuperLow1, rtSuperLow2, dofHdrMaterial, 2); + + // merge fg coc with bg coc + Graphics.Blit (rtSuperLow2, rtLow, dofHdrMaterial, 3); + } + + // NEW: LAY OUT ALPHA on destination target so we get nicer outlines for the high rez version + Graphics.Blit (rtLow, dest2, dofHdrMaterial, 20); + + // box blur (easier to merge with bokeh buffer) + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (internalBlurWidth, 0.0f , 0.0f, internalBlurWidth)); + Graphics.Blit (rtLow, source, dofHdrMaterial, 5); + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (0.0f, internalBlurWidth, 0.0f, internalBlurWidth)); + Graphics.Blit (source, dest2, dofHdrMaterial, 21); + + // apply bokeh candidates + Graphics.SetRenderTarget (dest2); + ComputeBuffer.CopyCount (cbPoints, cbDrawArgs, 0); + dx11bokehMaterial.SetBuffer ("pointBuffer", cbPoints); + dx11bokehMaterial.SetTexture ("_MainTex", dx11BokehTexture); + dx11bokehMaterial.SetVector ("_Screen", new Vector3(1.0f/(1.0f*source.width), 1.0f/(1.0f*source.height), internalBlurWidth)); + dx11bokehMaterial.SetPass (2); + + Graphics.DrawProceduralIndirect (MeshTopology.Points, cbDrawArgs, 0); + + Graphics.Blit (dest2, destination); // hackaround for DX11 high resolution flipfun (OPTIMIZEME) + + RenderTexture.ReleaseTemporary(dest2); + RenderTexture.ReleaseTemporary(rtSuperLow1); + RenderTexture.ReleaseTemporary(rtSuperLow2); + } + else { + rtLow = RenderTexture.GetTemporary (source.width>>1, source.height>>1, 0, source.format); + rtLow2 = RenderTexture.GetTemporary (source.width>>1, source.height>>1, 0, source.format); + + fgBlurDist = internalBlurWidth * foregroundOverlap; + + // capture COC & color in low resolution + WriteCoc (source, false); + source.filterMode = FilterMode.Bilinear; + Graphics.Blit (source, rtLow, dofHdrMaterial, 6); + + // blur a bit so we can do a frequency check + rtSuperLow1 = RenderTexture.GetTemporary(rtLow.width>>1, rtLow.height>>1, 0, rtLow.format); + rtSuperLow2 = RenderTexture.GetTemporary(rtLow.width>>1, rtLow.height>>1, 0, rtLow.format); + + Graphics.Blit(rtLow, rtSuperLow1, dofHdrMaterial, 15); + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (0.0f, 1.5f , 0.0f, 1.5f)); + Graphics.Blit (rtSuperLow1, rtSuperLow2, dofHdrMaterial, 19); + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (1.5f, 0.0f, 0.0f, 1.5f)); + Graphics.Blit (rtSuperLow2, rtSuperLow1, dofHdrMaterial, 19); + + RenderTexture rtLow3 = null; + + if (nearBlur) { + // capture fg coc + rtLow3 = RenderTexture.GetTemporary (source.width>>1, source.height>>1, 0, source.format); + Graphics.Blit (source, rtLow3, dofHdrMaterial, 4); + } + + dx11bokehMaterial.SetTexture ("_BlurredColor", rtSuperLow1); + dx11bokehMaterial.SetFloat ("_SpawnHeuristic", dx11SpawnHeuristic); + dx11bokehMaterial.SetVector ("_BokehParams", new Vector4(dx11BokehScale, dx11BokehIntensity, Mathf.Clamp(dx11BokehThreshold, 0.005f, 4.0f), internalBlurWidth)); + dx11bokehMaterial.SetTexture ("_FgCocMask", rtLow3); + + // collect bokeh candidates and replace with a darker pixel + Graphics.SetRandomWriteTarget (1, cbPoints); + Graphics.Blit (rtLow, rtLow2, dx11bokehMaterial, 0); + Graphics.ClearRandomWriteTargets (); + + RenderTexture.ReleaseTemporary(rtSuperLow1); + RenderTexture.ReleaseTemporary(rtSuperLow2); + + // fg coc blur happens here (after collect!) + if (nearBlur) { + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (0.0f, fgBlurDist , 0.0f, fgBlurDist)); + Graphics.Blit (rtLow3, rtLow, dofHdrMaterial, 2); + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (fgBlurDist, 0.0f, 0.0f, fgBlurDist)); + Graphics.Blit (rtLow, rtLow3, dofHdrMaterial, 2); + + // merge fg coc with bg coc + Graphics.Blit (rtLow3, rtLow2, dofHdrMaterial, 3); + } + + // box blur (easier to merge with bokeh buffer) + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (internalBlurWidth, 0.0f , 0.0f, internalBlurWidth)); + Graphics.Blit (rtLow2, rtLow, dofHdrMaterial, 5); + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (0.0f, internalBlurWidth, 0.0f, internalBlurWidth)); + Graphics.Blit (rtLow, rtLow2, dofHdrMaterial, 5); + + // apply bokeh candidates + Graphics.SetRenderTarget (rtLow2); + ComputeBuffer.CopyCount (cbPoints, cbDrawArgs, 0); + dx11bokehMaterial.SetBuffer ("pointBuffer", cbPoints); + dx11bokehMaterial.SetTexture ("_MainTex", dx11BokehTexture); + dx11bokehMaterial.SetVector ("_Screen", new Vector3(1.0f/(1.0f*rtLow2.width), 1.0f/(1.0f*rtLow2.height), internalBlurWidth)); + dx11bokehMaterial.SetPass (1); + Graphics.DrawProceduralIndirect (MeshTopology.Points, cbDrawArgs, 0); + + // upsample & combine + dofHdrMaterial.SetTexture ("_LowRez", rtLow2); + dofHdrMaterial.SetTexture ("_FgOverlap", rtLow3); + dofHdrMaterial.SetVector ("_Offsets", ((1.0f*source.width)/(1.0f*rtLow2.width)) * internalBlurWidth * Vector4.one); + Graphics.Blit (source, destination, dofHdrMaterial, 9); + + if (rtLow3) RenderTexture.ReleaseTemporary(rtLow3); + } + } + else + { + + // + // 2. + // poisson disc style blur in low resolution + // + // + + source.filterMode = FilterMode.Bilinear; + + if (highResolution) internalBlurWidth *= 2.0f; + + WriteCoc (source, true); + + rtLow = RenderTexture.GetTemporary (source.width >> 1, source.height >> 1, 0, source.format); + rtLow2 = RenderTexture.GetTemporary (source.width >> 1, source.height >> 1, 0, source.format); + + int blurPass = (blurSampleCount == BlurSampleCount.High || blurSampleCount == BlurSampleCount.Medium) ? 17 : 11; + + if (highResolution) { + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (0.0f, internalBlurWidth, 0.025f, internalBlurWidth)); + Graphics.Blit (source, destination, dofHdrMaterial, blurPass); + } + else { + dofHdrMaterial.SetVector ("_Offsets", new Vector4 (0.0f, internalBlurWidth, 0.1f, internalBlurWidth)); + + // blur + Graphics.Blit (source, rtLow, dofHdrMaterial, 6); + Graphics.Blit (rtLow, rtLow2, dofHdrMaterial, blurPass); + + // cheaper blur in high resolution, upsample and combine + dofHdrMaterial.SetTexture("_LowRez", rtLow2); + dofHdrMaterial.SetTexture("_FgOverlap", null); + dofHdrMaterial.SetVector ("_Offsets", Vector4.one * ((1.0f*source.width)/(1.0f*rtLow2.width)) * internalBlurWidth); + Graphics.Blit (source, destination, dofHdrMaterial, blurSampleCount == BlurSampleCount.High ? 18 : 12); + } + } + + if (rtLow) RenderTexture.ReleaseTemporary(rtLow); + if (rtLow2) RenderTexture.ReleaseTemporary(rtLow2); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfField.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfField.cs.meta new file mode 100644 index 0000000..82a4f57 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfField.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: bd70d448b18cfbc46af26466f752332c +MonoImporter: + serializedVersion: 2 + defaultReferences: + - focalTransform: {instanceID: 0} + - dofHdrShader: {fileID: 4800000, guid: acd613035ff3e455e8abf23fdc8c8c24, type: 3} + - dx11BokehShader: {fileID: 4800000, guid: d8e82664aa8686642a424c88ab10164a, type: 3} + - dx11BokehTexture: {fileID: 2800000, guid: a4cdca73d61814d33ac1587f6c163bca, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfFieldDeprecated.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfFieldDeprecated.cs new file mode 100644 index 0000000..c0953df --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfFieldDeprecated.cs @@ -0,0 +1,427 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Camera/Depth of Field (deprecated)") ] + public class DepthOfFieldDeprecated : PostEffectsBase + { + public enum Dof34QualitySetting + { + OnlyBackground = 1, + BackgroundAndForeground = 2, + } + + public enum DofResolution + { + High = 2, + Medium = 3, + Low = 4, + } + + public enum DofBlurriness + { + Low = 1, + High = 2, + VeryHigh = 4, + } + + public enum BokehDestination + { + Background = 0x1, + Foreground = 0x2, + BackgroundAndForeground = 0x3, + } + + static private int SMOOTH_DOWNSAMPLE_PASS = 6; + static private float BOKEH_EXTRA_BLUR = 2.0f; + + public Dof34QualitySetting quality = Dof34QualitySetting.OnlyBackground; + public DofResolution resolution = DofResolution.Low; + public bool simpleTweakMode = true; + + public float focalPoint = 1.0f; + public float smoothness = 0.5f; + + public float focalZDistance = 0.0f; + public float focalZStartCurve = 1.0f; + public float focalZEndCurve = 1.0f; + + private float focalStartCurve = 2.0f; + private float focalEndCurve = 2.0f; + private float focalDistance01 = 0.1f; + + public Transform objectFocus = null; + public float focalSize = 0.0f; + + public DofBlurriness bluriness = DofBlurriness.High; + public float maxBlurSpread = 1.75f; + + public float foregroundBlurExtrude = 1.15f; + + public Shader dofBlurShader; + private Material dofBlurMaterial = null; + + public Shader dofShader; + private Material dofMaterial = null; + + public bool visualize = false; + public BokehDestination bokehDestination = BokehDestination.Background; + + private float widthOverHeight = 1.25f; + private float oneOverBaseSize = 1.0f / 512.0f; + + public bool bokeh = false; + public bool bokehSupport = true; + public Shader bokehShader; + public Texture2D bokehTexture; + public float bokehScale = 2.4f; + public float bokehIntensity = 0.15f; + public float bokehThresholdContrast = 0.1f; + public float bokehThresholdLuminance = 0.55f; + public int bokehDownsample = 1; + private Material bokehMaterial; + + private Camera _camera; + + void CreateMaterials () { + dofBlurMaterial = CheckShaderAndCreateMaterial (dofBlurShader, dofBlurMaterial); + dofMaterial = CheckShaderAndCreateMaterial (dofShader,dofMaterial); + bokehSupport = bokehShader.isSupported; + + if (bokeh && bokehSupport && bokehShader) + bokehMaterial = CheckShaderAndCreateMaterial (bokehShader, bokehMaterial); + } + + + public override bool CheckResources () { + CheckSupport (true); + + dofBlurMaterial = CheckShaderAndCreateMaterial (dofBlurShader, dofBlurMaterial); + dofMaterial = CheckShaderAndCreateMaterial (dofShader,dofMaterial); + bokehSupport = bokehShader.isSupported; + + if (bokeh && bokehSupport && bokehShader) + bokehMaterial = CheckShaderAndCreateMaterial (bokehShader, bokehMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + void OnDisable () { + Quads.Cleanup (); + } + + void OnEnable () { + _camera = GetComponent(); + _camera.depthTextureMode |= DepthTextureMode.Depth; + } + + float FocalDistance01 ( float worldDist) { + return _camera.WorldToViewportPoint((worldDist-_camera.nearClipPlane) * _camera.transform.forward + _camera.transform.position).z / (_camera.farClipPlane-_camera.nearClipPlane); + } + + int GetDividerBasedOnQuality () { + int divider = 1; + if (resolution == DofResolution.Medium) + divider = 2; + else if (resolution == DofResolution.Low) + divider = 2; + return divider; + } + + int GetLowResolutionDividerBasedOnQuality ( int baseDivider) { + int lowTexDivider = baseDivider; + if (resolution == DofResolution.High) + lowTexDivider *= 2; + if (resolution == DofResolution.Low) + lowTexDivider *= 2; + return lowTexDivider; + } + + private RenderTexture foregroundTexture = null; + private RenderTexture mediumRezWorkTexture = null; + private RenderTexture finalDefocus = null; + private RenderTexture lowRezWorkTexture = null; + private RenderTexture bokehSource = null; + private RenderTexture bokehSource2 = null; + + void OnRenderImage (RenderTexture source, RenderTexture destination) { + if (CheckResources()==false) { + Graphics.Blit (source, destination); + return; + } + + if (smoothness < 0.1f) + smoothness = 0.1f; + + // update needed focal & rt size parameter + + bokeh = bokeh && bokehSupport; + float bokehBlurAmplifier = bokeh ? BOKEH_EXTRA_BLUR : 1.0f; + + bool blurForeground = quality > Dof34QualitySetting.OnlyBackground; + float focal01Size = focalSize / (_camera.farClipPlane - _camera.nearClipPlane);; + + if (simpleTweakMode) { + focalDistance01 = objectFocus ? (_camera.WorldToViewportPoint (objectFocus.position)).z / (_camera.farClipPlane) : FocalDistance01 (focalPoint); + focalStartCurve = focalDistance01 * smoothness; + focalEndCurve = focalStartCurve; + blurForeground = blurForeground && (focalPoint > (_camera.nearClipPlane + Mathf.Epsilon)); + } + else { + if (objectFocus) { + var vpPoint= _camera.WorldToViewportPoint (objectFocus.position); + vpPoint.z = (vpPoint.z) / (_camera.farClipPlane); + focalDistance01 = vpPoint.z; + } + else + focalDistance01 = FocalDistance01 (focalZDistance); + + focalStartCurve = focalZStartCurve; + focalEndCurve = focalZEndCurve; + blurForeground = blurForeground && (focalPoint > (_camera.nearClipPlane + Mathf.Epsilon)); + } + + widthOverHeight = (1.0f * source.width) / (1.0f * source.height); + oneOverBaseSize = 1.0f / 512.0f; + + dofMaterial.SetFloat ("_ForegroundBlurExtrude", foregroundBlurExtrude); + dofMaterial.SetVector ("_CurveParams", new Vector4 (simpleTweakMode ? 1.0f / focalStartCurve : focalStartCurve, simpleTweakMode ? 1.0f / focalEndCurve : focalEndCurve, focal01Size * 0.5f, focalDistance01)); + dofMaterial.SetVector ("_InvRenderTargetSize", new Vector4 (1.0f / (1.0f * source.width), 1.0f / (1.0f * source.height),0.0f,0.0f)); + + int divider = GetDividerBasedOnQuality (); + int lowTexDivider = GetLowResolutionDividerBasedOnQuality (divider); + + AllocateTextures (blurForeground, source, divider, lowTexDivider); + + // WRITE COC to alpha channel + // source is only being bound to detect y texcoord flip + Graphics.Blit (source, source, dofMaterial, 3); + + // better DOWNSAMPLE (could actually be weighted for higher quality) + Downsample (source, mediumRezWorkTexture); + + // BLUR A LITTLE first, which has two purposes + // 1.) reduce jitter, noise, aliasing + // 2.) produce the little-blur buffer used in composition later + Blur (mediumRezWorkTexture, mediumRezWorkTexture, DofBlurriness.Low, 4, maxBlurSpread); + + if ((bokeh) && ((BokehDestination.Foreground & bokehDestination) != 0)) + { + dofMaterial.SetVector ("_Threshhold", new Vector4(bokehThresholdContrast, bokehThresholdLuminance, 0.95f, 0.0f)); + + // add and mark the parts that should end up as bokeh shapes + Graphics.Blit (mediumRezWorkTexture, bokehSource2, dofMaterial, 11); + + // remove those parts (maybe even a little tittle bittle more) from the regurlarly blurred buffer + //Graphics.Blit (mediumRezWorkTexture, lowRezWorkTexture, dofMaterial, 10); + Graphics.Blit (mediumRezWorkTexture, lowRezWorkTexture);//, dofMaterial, 10); + + // maybe you want to reblur the small blur ... but not really needed. + //Blur (mediumRezWorkTexture, mediumRezWorkTexture, DofBlurriness.Low, 4, maxBlurSpread); + + // bigger BLUR + Blur (lowRezWorkTexture, lowRezWorkTexture, bluriness, 0, maxBlurSpread * bokehBlurAmplifier); + } + else { + // bigger BLUR + Downsample (mediumRezWorkTexture, lowRezWorkTexture); + Blur (lowRezWorkTexture, lowRezWorkTexture, bluriness, 0, maxBlurSpread); + } + + dofBlurMaterial.SetTexture ("_TapLow", lowRezWorkTexture); + dofBlurMaterial.SetTexture ("_TapMedium", mediumRezWorkTexture); + Graphics.Blit (null, finalDefocus, dofBlurMaterial, 3); + + // we are only adding bokeh now if the background is the only part we have to deal with + if ((bokeh) && ((BokehDestination.Foreground & bokehDestination) != 0)) + AddBokeh (bokehSource2, bokehSource, finalDefocus); + + dofMaterial.SetTexture ("_TapLowBackground", finalDefocus); + dofMaterial.SetTexture ("_TapMedium", mediumRezWorkTexture); // needed for debugging/visualization + + // FINAL DEFOCUS (background) + Graphics.Blit (source, blurForeground ? foregroundTexture : destination, dofMaterial, visualize ? 2 : 0); + + // FINAL DEFOCUS (foreground) + if (blurForeground) { + // WRITE COC to alpha channel + Graphics.Blit (foregroundTexture, source, dofMaterial, 5); + + // DOWNSAMPLE (unweighted) + Downsample (source, mediumRezWorkTexture); + + // BLUR A LITTLE first, which has two purposes + // 1.) reduce jitter, noise, aliasing + // 2.) produce the little-blur buffer used in composition later + BlurFg (mediumRezWorkTexture, mediumRezWorkTexture, DofBlurriness.Low, 2, maxBlurSpread); + + if ((bokeh) && ((BokehDestination.Foreground & bokehDestination) != 0)) + { + dofMaterial.SetVector ("_Threshhold", new Vector4(bokehThresholdContrast * 0.5f, bokehThresholdLuminance, 0.0f, 0.0f)); + + // add and mark the parts that should end up as bokeh shapes + Graphics.Blit (mediumRezWorkTexture, bokehSource2, dofMaterial, 11); + + // remove the parts (maybe even a little tittle bittle more) that will end up in bokeh space + //Graphics.Blit (mediumRezWorkTexture, lowRezWorkTexture, dofMaterial, 10); + Graphics.Blit (mediumRezWorkTexture, lowRezWorkTexture);//, dofMaterial, 10); + + // big BLUR + BlurFg (lowRezWorkTexture, lowRezWorkTexture, bluriness, 1, maxBlurSpread * bokehBlurAmplifier); + } + else { + // big BLUR + BlurFg (mediumRezWorkTexture, lowRezWorkTexture, bluriness, 1, maxBlurSpread); + } + + // simple upsample once + Graphics.Blit (lowRezWorkTexture, finalDefocus); + + dofMaterial.SetTexture ("_TapLowForeground", finalDefocus); + Graphics.Blit (source, destination, dofMaterial, visualize ? 1 : 4); + + if ((bokeh) && ((BokehDestination.Foreground & bokehDestination) != 0)) + AddBokeh (bokehSource2, bokehSource, destination); + } + + ReleaseTextures (); + } + + void Blur ( RenderTexture from, RenderTexture to, DofBlurriness iterations, int blurPass, float spread) { + RenderTexture tmp = RenderTexture.GetTemporary (to.width, to.height); + if ((int)iterations > 1) { + BlurHex (from, to, blurPass, spread, tmp); + if ((int)iterations > 2) { + dofBlurMaterial.SetVector ("offsets", new Vector4 (0.0f, spread * oneOverBaseSize, 0.0f, 0.0f)); + Graphics.Blit (to, tmp, dofBlurMaterial, blurPass); + dofBlurMaterial.SetVector ("offsets", new Vector4 (spread / widthOverHeight * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + Graphics.Blit (tmp, to, dofBlurMaterial, blurPass); + } + } + else { + dofBlurMaterial.SetVector ("offsets", new Vector4 (0.0f, spread * oneOverBaseSize, 0.0f, 0.0f)); + Graphics.Blit (from, tmp, dofBlurMaterial, blurPass); + dofBlurMaterial.SetVector ("offsets", new Vector4 (spread / widthOverHeight * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + Graphics.Blit (tmp, to, dofBlurMaterial, blurPass); + } + RenderTexture.ReleaseTemporary (tmp); + } + + void BlurFg ( RenderTexture from, RenderTexture to, DofBlurriness iterations, int blurPass, float spread) { + // we want a nice, big coc, hence we need to tap once from this (higher resolution) texture + dofBlurMaterial.SetTexture ("_TapHigh", from); + + RenderTexture tmp = RenderTexture.GetTemporary (to.width, to.height); + if ((int)iterations > 1) { + BlurHex (from, to, blurPass, spread, tmp); + if ((int)iterations > 2) { + dofBlurMaterial.SetVector ("offsets", new Vector4 (0.0f, spread * oneOverBaseSize, 0.0f, 0.0f)); + Graphics.Blit (to, tmp, dofBlurMaterial, blurPass); + dofBlurMaterial.SetVector ("offsets", new Vector4 (spread / widthOverHeight * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + Graphics.Blit (tmp, to, dofBlurMaterial, blurPass); + } + } + else { + dofBlurMaterial.SetVector ("offsets", new Vector4 (0.0f, spread * oneOverBaseSize, 0.0f, 0.0f)); + Graphics.Blit (from, tmp, dofBlurMaterial, blurPass); + dofBlurMaterial.SetVector ("offsets", new Vector4 (spread / widthOverHeight * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + Graphics.Blit (tmp, to, dofBlurMaterial, blurPass); + } + RenderTexture.ReleaseTemporary (tmp); + } + + void BlurHex ( RenderTexture from, RenderTexture to, int blurPass, float spread, RenderTexture tmp) { + dofBlurMaterial.SetVector ("offsets", new Vector4 (0.0f, spread * oneOverBaseSize, 0.0f, 0.0f)); + Graphics.Blit (from, tmp, dofBlurMaterial, blurPass); + dofBlurMaterial.SetVector ("offsets", new Vector4 (spread / widthOverHeight * oneOverBaseSize, 0.0f, 0.0f, 0.0f)); + Graphics.Blit (tmp, to, dofBlurMaterial, blurPass); + dofBlurMaterial.SetVector ("offsets", new Vector4 (spread / widthOverHeight * oneOverBaseSize, spread * oneOverBaseSize, 0.0f, 0.0f)); + Graphics.Blit (to, tmp, dofBlurMaterial, blurPass); + dofBlurMaterial.SetVector ("offsets", new Vector4 (spread / widthOverHeight * oneOverBaseSize, -spread * oneOverBaseSize, 0.0f, 0.0f)); + Graphics.Blit (tmp, to, dofBlurMaterial, blurPass); + } + + void Downsample ( RenderTexture from, RenderTexture to) { + dofMaterial.SetVector ("_InvRenderTargetSize", new Vector4 (1.0f / (1.0f * to.width), 1.0f / (1.0f * to.height), 0.0f, 0.0f)); + Graphics.Blit (from, to, dofMaterial, SMOOTH_DOWNSAMPLE_PASS); + } + + void AddBokeh ( RenderTexture bokehInfo, RenderTexture tempTex, RenderTexture finalTarget) { + if (bokehMaterial) { + var meshes = Quads.GetMeshes (tempTex.width, tempTex.height); // quads: exchanging more triangles with less overdraw + + RenderTexture.active = tempTex; + GL.Clear (false, true, new Color (0.0f, 0.0f, 0.0f, 0.0f)); + + GL.PushMatrix (); + GL.LoadIdentity (); + + // point filter mode is important, otherwise we get bokeh shape & size artefacts + bokehInfo.filterMode = FilterMode.Point; + + float arW = (bokehInfo.width * 1.0f) / (bokehInfo.height * 1.0f); + float sc = 2.0f / (1.0f * bokehInfo.width); + sc += bokehScale * maxBlurSpread * BOKEH_EXTRA_BLUR * oneOverBaseSize; + + bokehMaterial.SetTexture ("_Source", bokehInfo); + bokehMaterial.SetTexture ("_MainTex", bokehTexture); + bokehMaterial.SetVector ("_ArScale",new Vector4 (sc, sc * arW, 0.5f, 0.5f * arW)); + bokehMaterial.SetFloat ("_Intensity", bokehIntensity); + bokehMaterial.SetPass (0); + + foreach(Mesh m in meshes) + if (m) Graphics.DrawMeshNow (m, Matrix4x4.identity); + + GL.PopMatrix (); + + Graphics.Blit (tempTex, finalTarget, dofMaterial, 8); + + // important to set back as we sample from this later on + bokehInfo.filterMode = FilterMode.Bilinear; + } + } + + + void ReleaseTextures () { + if (foregroundTexture) RenderTexture.ReleaseTemporary (foregroundTexture); + if (finalDefocus) RenderTexture.ReleaseTemporary (finalDefocus); + if (mediumRezWorkTexture) RenderTexture.ReleaseTemporary (mediumRezWorkTexture); + if (lowRezWorkTexture) RenderTexture.ReleaseTemporary (lowRezWorkTexture); + if (bokehSource) RenderTexture.ReleaseTemporary (bokehSource); + if (bokehSource2) RenderTexture.ReleaseTemporary (bokehSource2); + } + + void AllocateTextures ( bool blurForeground, RenderTexture source, int divider, int lowTexDivider) { + foregroundTexture = null; + if (blurForeground) + foregroundTexture = RenderTexture.GetTemporary (source.width, source.height, 0); + mediumRezWorkTexture = RenderTexture.GetTemporary (source.width / divider, source.height / divider, 0); + finalDefocus = RenderTexture.GetTemporary (source.width / divider, source.height / divider, 0); + lowRezWorkTexture = RenderTexture.GetTemporary (source.width / lowTexDivider, source.height / lowTexDivider, 0); + bokehSource = null; + bokehSource2 = null; + if (bokeh) { + bokehSource = RenderTexture.GetTemporary (source.width / (lowTexDivider * bokehDownsample), source.height / (lowTexDivider * bokehDownsample), 0, RenderTextureFormat.ARGBHalf); + bokehSource2 = RenderTexture.GetTemporary (source.width / (lowTexDivider * bokehDownsample), source.height / (lowTexDivider * bokehDownsample), 0, RenderTextureFormat.ARGBHalf); + bokehSource.filterMode = FilterMode.Bilinear; + bokehSource2.filterMode = FilterMode.Bilinear; + RenderTexture.active = bokehSource2; + GL.Clear (false, true, new Color(0.0f, 0.0f, 0.0f, 0.0f)); + } + + // to make sure: always use bilinear filter setting + + source.filterMode = FilterMode.Bilinear; + finalDefocus.filterMode = FilterMode.Bilinear; + mediumRezWorkTexture.filterMode = FilterMode.Bilinear; + lowRezWorkTexture.filterMode = FilterMode.Bilinear; + if (foregroundTexture) + foregroundTexture.filterMode = FilterMode.Bilinear; + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfFieldDeprecated.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfFieldDeprecated.cs.meta new file mode 100644 index 0000000..b252a6c --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/DepthOfFieldDeprecated.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 83d8db0ec466c14429f58c68c16398a1 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - objectFocus: {instanceID: 0} + - dofBlurShader: {fileID: 4800000, guid: bb4af680337344a4abad65a4e8873c50, type: 3} + - dofShader: {fileID: 4800000, guid: 987fb0677d01f43ce8a9dbf12271e668, type: 3} + - bokehShader: {fileID: 4800000, guid: 57cdacf9b217546aaa18edf39a6151c0, type: 3} + - bokehTexture: {fileID: 2800000, guid: fc00ec05a89da4ff695a4273715cd5ce, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/EdgeDetection.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/EdgeDetection.cs new file mode 100644 index 0000000..9f95aa0 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/EdgeDetection.cs @@ -0,0 +1,89 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof (Camera))] + [AddComponentMenu ("Image Effects/Edge Detection/Edge Detection")] + public class EdgeDetection : PostEffectsBase + { + public enum EdgeDetectMode + { + TriangleDepthNormals = 0, + RobertsCrossDepthNormals = 1, + SobelDepth = 2, + SobelDepthThin = 3, + TriangleLuminance = 4, + } + + + public EdgeDetectMode mode = EdgeDetectMode.SobelDepthThin; + public float sensitivityDepth = 1.0f; + public float sensitivityNormals = 1.0f; + public float lumThreshold = 0.2f; + public float edgeExp = 1.0f; + public float sampleDist = 1.0f; + public float edgesOnly = 0.0f; + public Color edgesOnlyBgColor = Color.white; + + public Shader edgeDetectShader; + private Material edgeDetectMaterial = null; + private EdgeDetectMode oldMode = EdgeDetectMode.SobelDepthThin; + + + public override bool CheckResources () + { + CheckSupport (true); + + edgeDetectMaterial = CheckShaderAndCreateMaterial (edgeDetectShader,edgeDetectMaterial); + if (mode != oldMode) + SetCameraFlag (); + + oldMode = mode; + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + + new void Start () + { + oldMode = mode; + } + + void SetCameraFlag () + { + if (mode == EdgeDetectMode.SobelDepth || mode == EdgeDetectMode.SobelDepthThin) + GetComponent().depthTextureMode |= DepthTextureMode.Depth; + else if (mode == EdgeDetectMode.TriangleDepthNormals || mode == EdgeDetectMode.RobertsCrossDepthNormals) + GetComponent().depthTextureMode |= DepthTextureMode.DepthNormals; + } + + void OnEnable () + { + SetCameraFlag(); + } + + [ImageEffectOpaque] + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if (CheckResources () == false) + { + Graphics.Blit (source, destination); + return; + } + + Vector2 sensitivity = new Vector2 (sensitivityDepth, sensitivityNormals); + edgeDetectMaterial.SetVector ("_Sensitivity", new Vector4 (sensitivity.x, sensitivity.y, 1.0f, sensitivity.y)); + edgeDetectMaterial.SetFloat ("_BgFade", edgesOnly); + edgeDetectMaterial.SetFloat ("_SampleDistance", sampleDist); + edgeDetectMaterial.SetVector ("_BgColor", edgesOnlyBgColor); + edgeDetectMaterial.SetFloat ("_Exponent", edgeExp); + edgeDetectMaterial.SetFloat ("_Threshold", lumThreshold); + + Graphics.Blit (source, destination, edgeDetectMaterial, (int) mode); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/EdgeDetection.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/EdgeDetection.cs.meta new file mode 100644 index 0000000..22ad6e8 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/EdgeDetection.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 730475ee64f9a894bbac0d9e6f22e813 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - edgeDetectShader: {fileID: 4800000, guid: 0d1644bdf064147baa97f235fc5b4903, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Fisheye.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Fisheye.cs new file mode 100644 index 0000000..069affa --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Fisheye.cs @@ -0,0 +1,46 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Displacement/Fisheye")] + public class Fisheye : PostEffectsBase + { + [Range(0.0f, 1.5f)] + public float strengthX = 0.05f; + [Range(0.0f, 1.5f)] + public float strengthY = 0.05f; + + public Shader fishEyeShader = null; + private Material fisheyeMaterial = null; + + + public override bool CheckResources () + { + CheckSupport (false); + fisheyeMaterial = CheckShaderAndCreateMaterial(fishEyeShader,fisheyeMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if (CheckResources()==false) + { + Graphics.Blit (source, destination); + return; + } + + float oneOverBaseSize = 80.0f / 512.0f; // to keep values more like in the old version of fisheye + + float ar = (source.width * 1.0f) / (source.height * 1.0f); + + fisheyeMaterial.SetVector ("intensity", new Vector4 (strengthX * ar * oneOverBaseSize, strengthY * oneOverBaseSize, strengthX * ar * oneOverBaseSize, strengthY * oneOverBaseSize)); + Graphics.Blit (source, destination, fisheyeMaterial); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Fisheye.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Fisheye.cs.meta new file mode 100644 index 0000000..deb7976 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Fisheye.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 4739c22ef73ad62488fe344c8fe9addd +MonoImporter: + serializedVersion: 2 + defaultReferences: + - fishEyeShader: {fileID: 4800000, guid: 874ceab4425f64bccb1d14032f4452b1, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/GlobalFog.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/GlobalFog.cs new file mode 100644 index 0000000..8a1bd96 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/GlobalFog.cs @@ -0,0 +1,150 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Rendering/Global Fog")] + class GlobalFog : PostEffectsBase + { + [Tooltip("Apply distance-based fog?")] + public bool distanceFog = true; + [Tooltip("Exclude far plane pixels from distance-based fog? (Skybox or clear color)")] + public bool excludeFarPixels = true; + [Tooltip("Distance fog is based on radial distance from camera when checked")] + public bool useRadialDistance = false; + [Tooltip("Apply height-based fog?")] + public bool heightFog = true; + [Tooltip("Fog top Y coordinate")] + public float height = 1.0f; + [Range(0.001f,10.0f)] + public float heightDensity = 2.0f; + [Tooltip("Push fog away from the camera by this amount")] + public float startDistance = 0.0f; + + public Shader fogShader = null; + private Material fogMaterial = null; + + + public override bool CheckResources () + { + CheckSupport (true); + + fogMaterial = CheckShaderAndCreateMaterial (fogShader, fogMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + [ImageEffectOpaque] + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if (CheckResources()==false || (!distanceFog && !heightFog)) + { + Graphics.Blit (source, destination); + return; + } + + Camera cam = GetComponent(); + Transform camtr = cam.transform; + float camNear = cam.nearClipPlane; + float camFar = cam.farClipPlane; + float camFov = cam.fieldOfView; + float camAspect = cam.aspect; + + Matrix4x4 frustumCorners = Matrix4x4.identity; + + float fovWHalf = camFov * 0.5f; + + Vector3 toRight = camtr.right * camNear * Mathf.Tan (fovWHalf * Mathf.Deg2Rad) * camAspect; + Vector3 toTop = camtr.up * camNear * Mathf.Tan (fovWHalf * Mathf.Deg2Rad); + + Vector3 topLeft = (camtr.forward * camNear - toRight + toTop); + float camScale = topLeft.magnitude * camFar/camNear; + + topLeft.Normalize(); + topLeft *= camScale; + + Vector3 topRight = (camtr.forward * camNear + toRight + toTop); + topRight.Normalize(); + topRight *= camScale; + + Vector3 bottomRight = (camtr.forward * camNear + toRight - toTop); + bottomRight.Normalize(); + bottomRight *= camScale; + + Vector3 bottomLeft = (camtr.forward * camNear - toRight - toTop); + bottomLeft.Normalize(); + bottomLeft *= camScale; + + frustumCorners.SetRow (0, topLeft); + frustumCorners.SetRow (1, topRight); + frustumCorners.SetRow (2, bottomRight); + frustumCorners.SetRow (3, bottomLeft); + + var camPos= camtr.position; + float FdotC = camPos.y-height; + float paramK = (FdotC <= 0.0f ? 1.0f : 0.0f); + float excludeDepth = (excludeFarPixels ? 1.0f : 2.0f); + fogMaterial.SetMatrix ("_FrustumCornersWS", frustumCorners); + fogMaterial.SetVector ("_CameraWS", camPos); + fogMaterial.SetVector ("_HeightParams", new Vector4 (height, FdotC, paramK, heightDensity*0.5f)); + fogMaterial.SetVector ("_DistanceParams", new Vector4 (-Mathf.Max(startDistance,0.0f), excludeDepth, 0, 0)); + + var sceneMode= RenderSettings.fogMode; + var sceneDensity= RenderSettings.fogDensity; + var sceneStart= RenderSettings.fogStartDistance; + var sceneEnd= RenderSettings.fogEndDistance; + Vector4 sceneParams; + bool linear = (sceneMode == FogMode.Linear); + float diff = linear ? sceneEnd - sceneStart : 0.0f; + float invDiff = Mathf.Abs(diff) > 0.0001f ? 1.0f / diff : 0.0f; + sceneParams.x = sceneDensity * 1.2011224087f; // density / sqrt(ln(2)), used by Exp2 fog mode + sceneParams.y = sceneDensity * 1.4426950408f; // density / ln(2), used by Exp fog mode + sceneParams.z = linear ? -invDiff : 0.0f; + sceneParams.w = linear ? sceneEnd * invDiff : 0.0f; + fogMaterial.SetVector ("_SceneFogParams", sceneParams); + fogMaterial.SetVector ("_SceneFogMode", new Vector4((int)sceneMode, useRadialDistance ? 1 : 0, 0, 0)); + + int pass = 0; + if (distanceFog && heightFog) + pass = 0; // distance + height + else if (distanceFog) + pass = 1; // distance only + else + pass = 2; // height only + CustomGraphicsBlit (source, destination, fogMaterial, pass); + } + + static void CustomGraphicsBlit (RenderTexture source, RenderTexture dest, Material fxMaterial, int passNr) + { + RenderTexture.active = dest; + + fxMaterial.SetTexture ("_MainTex", source); + + GL.PushMatrix (); + GL.LoadOrtho (); + + fxMaterial.SetPass (passNr); + + GL.Begin (GL.QUADS); + + GL.MultiTexCoord2 (0, 0.0f, 0.0f); + GL.Vertex3 (0.0f, 0.0f, 3.0f); // BL + + GL.MultiTexCoord2 (0, 1.0f, 0.0f); + GL.Vertex3 (1.0f, 0.0f, 2.0f); // BR + + GL.MultiTexCoord2 (0, 1.0f, 1.0f); + GL.Vertex3 (1.0f, 1.0f, 1.0f); // TR + + GL.MultiTexCoord2 (0, 0.0f, 1.0f); + GL.Vertex3 (0.0f, 1.0f, 0.0f); // TL + + GL.End (); + GL.PopMatrix (); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/GlobalFog.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/GlobalFog.cs.meta new file mode 100644 index 0000000..fa21d25 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/GlobalFog.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 76b5ec6153a1d55438228df10fe66844 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - fogShader: {fileID: 4800000, guid: 70d8568987ac0499f952b54c7c13e265, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Grayscale.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Grayscale.cs new file mode 100644 index 0000000..369d5cd --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Grayscale.cs @@ -0,0 +1,21 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [AddComponentMenu("Image Effects/Color Adjustments/Grayscale")] + public class Grayscale : ImageEffectBase { + public Texture textureRamp; + + [Range(-1.0f,1.0f)] + public float rampOffset; + + // Called by camera to apply image effect + void OnRenderImage (RenderTexture source, RenderTexture destination) { + material.SetTexture("_RampTex", textureRamp); + material.SetFloat("_RampOffset", rampOffset); + Graphics.Blit (source, destination, material); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Grayscale.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Grayscale.cs.meta new file mode 100644 index 0000000..b23db62 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Grayscale.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 243a781cad112c75d0008dfa8d76c639 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - shader: {fileID: 4800000, guid: daf9781cad112c75d0008dfa8d76c639, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffectBase.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffectBase.cs new file mode 100644 index 0000000..0158215 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffectBase.cs @@ -0,0 +1,55 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [RequireComponent(typeof (Camera))] + [AddComponentMenu("")] + public class ImageEffectBase : MonoBehaviour + { + /// Provides a shader property that is set in the inspector + /// and a material instantiated from the shader + public Shader shader; + + private Material m_Material; + + + protected virtual void Start() + { + // Disable if we don't support image effects + if (!SystemInfo.supportsImageEffects) + { + enabled = false; + return; + } + + // Disable the image effect if the shader can't + // run on the users graphics card + if (!shader || !shader.isSupported) + enabled = false; + } + + + protected Material material + { + get + { + if (m_Material == null) + { + m_Material = new Material(shader); + m_Material.hideFlags = HideFlags.HideAndDontSave; + } + return m_Material; + } + } + + + protected virtual void OnDisable() + { + if (m_Material) + { + DestroyImmediate(m_Material); + } + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffectBase.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffectBase.cs.meta new file mode 100644 index 0000000..f3c0025 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffectBase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f6469eb0ad1119d6d00011d98d76c639 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffects.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffects.cs new file mode 100644 index 0000000..c8d4afc --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffects.cs @@ -0,0 +1,42 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + /// A Utility class for performing various image based rendering tasks. + [AddComponentMenu("")] + public class ImageEffects + { + public static void RenderDistortion(Material material, RenderTexture source, RenderTexture destination, float angle, Vector2 center, Vector2 radius) + { + bool invertY = source.texelSize.y < 0.0f; + if (invertY) + { + center.y = 1.0f - center.y; + angle = -angle; + } + + Matrix4x4 rotationMatrix = Matrix4x4.TRS(Vector3.zero, Quaternion.Euler(0, 0, angle), Vector3.one); + + material.SetMatrix("_RotationMatrix", rotationMatrix); + material.SetVector("_CenterRadius", new Vector4(center.x, center.y, radius.x, radius.y)); + material.SetFloat("_Angle", angle*Mathf.Deg2Rad); + + Graphics.Blit(source, destination, material); + } + + + [Obsolete("Use Graphics.Blit(source,dest) instead")] + public static void Blit(RenderTexture source, RenderTexture dest) + { + Graphics.Blit(source, dest); + } + + + [Obsolete("Use Graphics.Blit(source, destination, material) instead")] + public static void BlitWithMaterial(Material material, RenderTexture source, RenderTexture dest) + { + Graphics.Blit(source, dest, material); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffects.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffects.cs.meta new file mode 100644 index 0000000..9d82a11 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ImageEffects.cs.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 89a037199d11087f1100e2b844295342 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - blitCopyShader: {fileID: 4800000, guid: 3338b5ea2f3cb594698fae65cf060346, type: 3} + - blitMultiplyShader: {fileID: 4800000, guid: 7034c801b78acab448cdcf845f7c352d, + type: 3} + - blitMultiply2XShader: {fileID: 4800000, guid: cde82987e0a884c4788c65f7b54390e8, + type: 3} + - blitAddShader: {fileID: 4800000, guid: c7515f214a63bdb42b6ae6335a00a8a4, type: 3} + - blitAddSmoothShader: {fileID: 4800000, guid: 7741a77a7c455d0418bc429bd508dc87, + type: 3} + - blitBlendShader: {fileID: 4800000, guid: f1cf7e9c98754c4429ff0f7cc1d9dd7b, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/MotionBlur.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/MotionBlur.cs new file mode 100644 index 0000000..3914868 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/MotionBlur.cs @@ -0,0 +1,76 @@ +using System; +using UnityEngine; + +// This class implements simple ghosting type Motion Blur. +// If Extra Blur is selected, the scene will allways be a little blurred, +// as it is scaled to a smaller resolution. +// The effect works by accumulating the previous frames in an accumulation +// texture. +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [AddComponentMenu("Image Effects/Blur/Motion Blur (Color Accumulation)")] + [RequireComponent(typeof(Camera))] + public class MotionBlur : ImageEffectBase + { + [Range(0.0f, 0.92f)] + public float blurAmount = 0.8f; + public bool extraBlur = false; + + private RenderTexture accumTexture; + + override protected void Start() + { + if (!SystemInfo.supportsRenderTextures) + { + enabled = false; + return; + } + base.Start(); + } + + override protected void OnDisable() + { + base.OnDisable(); + DestroyImmediate(accumTexture); + } + + // Called by camera to apply image effect + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + // Create the accumulation texture + if (accumTexture == null || accumTexture.width != source.width || accumTexture.height != source.height) + { + DestroyImmediate(accumTexture); + accumTexture = new RenderTexture(source.width, source.height, 0); + accumTexture.hideFlags = HideFlags.HideAndDontSave; + Graphics.Blit( source, accumTexture ); + } + + // If Extra Blur is selected, downscale the texture to 4x4 smaller resolution. + if (extraBlur) + { + RenderTexture blurbuffer = RenderTexture.GetTemporary(source.width/4, source.height/4, 0); + accumTexture.MarkRestoreExpected(); + Graphics.Blit(accumTexture, blurbuffer); + Graphics.Blit(blurbuffer,accumTexture); + RenderTexture.ReleaseTemporary(blurbuffer); + } + + // Clamp the motion blur variable, so it can never leave permanent trails in the image + blurAmount = Mathf.Clamp( blurAmount, 0.0f, 0.92f ); + + // Setup the texture and floating point values in the shader + material.SetTexture("_MainTex", accumTexture); + material.SetFloat("_AccumOrig", 1.0F-blurAmount); + + // We are accumulating motion over frames without clear/discard + // by design, so silence any performance warnings from Unity + accumTexture.MarkRestoreExpected(); + + // Render the image using the motion blur shader + Graphics.Blit (source, accumTexture, material); + Graphics.Blit (accumTexture, destination); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/MotionBlur.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/MotionBlur.cs.meta new file mode 100644 index 0000000..5fe9ed8 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/MotionBlur.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 478a2083ad114a07d000fbfb8d76c639 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - shader: {fileID: 4800000, guid: e9ba2083ad114a07d000fbfb8d76c639, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndGrain.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndGrain.cs new file mode 100644 index 0000000..3230bdb --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndGrain.cs @@ -0,0 +1,181 @@ +using System; +using UnityEngine; +using Random = UnityEngine.Random; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Noise/Noise And Grain (Filmic)")] + public class NoiseAndGrain : PostEffectsBase + { + + public float intensityMultiplier = 0.25f; + + public float generalIntensity = 0.5f; + public float blackIntensity = 1.0f; + public float whiteIntensity = 1.0f; + public float midGrey = 0.2f; + + public bool dx11Grain = false; + public float softness = 0.0f; + public bool monochrome = false; + + public Vector3 intensities = new Vector3(1.0f, 1.0f, 1.0f); + public Vector3 tiling = new Vector3(64.0f, 64.0f, 64.0f); + public float monochromeTiling = 64.0f; + + public FilterMode filterMode = FilterMode.Bilinear; + + public Texture2D noiseTexture; + + public Shader noiseShader; + private Material noiseMaterial = null; + + public Shader dx11NoiseShader; + private Material dx11NoiseMaterial = null; + + private static float TILE_AMOUNT = 64.0f; + + + public override bool CheckResources () + { + CheckSupport (false); + + noiseMaterial = CheckShaderAndCreateMaterial (noiseShader, noiseMaterial); + + if (dx11Grain && supportDX11) + { +#if UNITY_EDITOR + dx11NoiseShader = Shader.Find("Hidden/NoiseAndGrainDX11"); +#endif + dx11NoiseMaterial = CheckShaderAndCreateMaterial (dx11NoiseShader, dx11NoiseMaterial); + } + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if (CheckResources()==false || (null==noiseTexture)) + { + Graphics.Blit (source, destination); + if (null==noiseTexture) { + Debug.LogWarning("Noise & Grain effect failing as noise texture is not assigned. please assign.", transform); + } + return; + } + + softness = Mathf.Clamp(softness, 0.0f, 0.99f); + + if (dx11Grain && supportDX11) + { + // We have a fancy, procedural noise pattern in this version, so no texture needed + + dx11NoiseMaterial.SetFloat("_DX11NoiseTime", Time.frameCount); + dx11NoiseMaterial.SetTexture ("_NoiseTex", noiseTexture); + dx11NoiseMaterial.SetVector ("_NoisePerChannel", monochrome ? Vector3.one : intensities); + dx11NoiseMaterial.SetVector ("_MidGrey", new Vector3(midGrey, 1.0f/(1.0f-midGrey), -1.0f/midGrey)); + dx11NoiseMaterial.SetVector ("_NoiseAmount", new Vector3(generalIntensity, blackIntensity, whiteIntensity) * intensityMultiplier); + + if (softness > Mathf.Epsilon) + { + RenderTexture rt = RenderTexture.GetTemporary((int) (source.width * (1.0f-softness)), (int) (source.height * (1.0f-softness))); + DrawNoiseQuadGrid (source, rt, dx11NoiseMaterial, noiseTexture, monochrome ? 3 : 2); + dx11NoiseMaterial.SetTexture("_NoiseTex", rt); + Graphics.Blit(source, destination, dx11NoiseMaterial, 4); + RenderTexture.ReleaseTemporary(rt); + } + else + DrawNoiseQuadGrid (source, destination, dx11NoiseMaterial, noiseTexture, (monochrome ? 1 : 0)); + } + else + { + // normal noise (DX9 style) + + if (noiseTexture) { + noiseTexture.wrapMode = TextureWrapMode.Repeat; + noiseTexture.filterMode = filterMode; + } + + noiseMaterial.SetTexture ("_NoiseTex", noiseTexture); + noiseMaterial.SetVector ("_NoisePerChannel", monochrome ? Vector3.one : intensities); + noiseMaterial.SetVector ("_NoiseTilingPerChannel", monochrome ? Vector3.one * monochromeTiling : tiling); + noiseMaterial.SetVector ("_MidGrey", new Vector3(midGrey, 1.0f/(1.0f-midGrey), -1.0f/midGrey)); + noiseMaterial.SetVector ("_NoiseAmount", new Vector3(generalIntensity, blackIntensity, whiteIntensity) * intensityMultiplier); + + if (softness > Mathf.Epsilon) + { + RenderTexture rt2 = RenderTexture.GetTemporary((int) (source.width * (1.0f-softness)), (int) (source.height * (1.0f-softness))); + DrawNoiseQuadGrid (source, rt2, noiseMaterial, noiseTexture, 2); + noiseMaterial.SetTexture("_NoiseTex", rt2); + Graphics.Blit(source, destination, noiseMaterial, 1); + RenderTexture.ReleaseTemporary(rt2); + } + else + DrawNoiseQuadGrid (source, destination, noiseMaterial, noiseTexture, 0); + } + } + + static void DrawNoiseQuadGrid (RenderTexture source, RenderTexture dest, Material fxMaterial, Texture2D noise, int passNr) + { + RenderTexture.active = dest; + + float noiseSize = (noise.width * 1.0f); + float subDs = (1.0f * source.width) / TILE_AMOUNT; + + fxMaterial.SetTexture ("_MainTex", source); + + GL.PushMatrix (); + GL.LoadOrtho (); + + float aspectCorrection = (1.0f * source.width) / (1.0f * source.height); + float stepSizeX = 1.0f / subDs; + float stepSizeY = stepSizeX * aspectCorrection; + float texTile = noiseSize / (noise.width * 1.0f); + + fxMaterial.SetPass (passNr); + + GL.Begin (GL.QUADS); + + for (float x1 = 0.0f; x1 < 1.0f; x1 += stepSizeX) + { + for (float y1 = 0.0f; y1 < 1.0f; y1 += stepSizeY) + { + float tcXStart = Random.Range (0.0f, 1.0f); + float tcYStart = Random.Range (0.0f, 1.0f); + + //Vector3 v3 = Random.insideUnitSphere; + //Color c = new Color(v3.x, v3.y, v3.z); + + tcXStart = Mathf.Floor(tcXStart*noiseSize) / noiseSize; + tcYStart = Mathf.Floor(tcYStart*noiseSize) / noiseSize; + + float texTileMod = 1.0f / noiseSize; + + GL.MultiTexCoord2 (0, tcXStart, tcYStart); + GL.MultiTexCoord2 (1, 0.0f, 0.0f); + //GL.Color( c ); + GL.Vertex3 (x1, y1, 0.1f); + GL.MultiTexCoord2 (0, tcXStart + texTile * texTileMod, tcYStart); + GL.MultiTexCoord2 (1, 1.0f, 0.0f); + //GL.Color( c ); + GL.Vertex3 (x1 + stepSizeX, y1, 0.1f); + GL.MultiTexCoord2 (0, tcXStart + texTile * texTileMod, tcYStart + texTile * texTileMod); + GL.MultiTexCoord2 (1, 1.0f, 1.0f); + //GL.Color( c ); + GL.Vertex3 (x1 + stepSizeX, y1 + stepSizeY, 0.1f); + GL.MultiTexCoord2 (0, tcXStart, tcYStart + texTile * texTileMod); + GL.MultiTexCoord2 (1, 0.0f, 1.0f); + //GL.Color( c ); + GL.Vertex3 (x1, y1 + stepSizeY, 0.1f); + } + } + + GL.End (); + GL.PopMatrix (); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndGrain.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndGrain.cs.meta new file mode 100644 index 0000000..6d740fc --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndGrain.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9191284b058eef549b7108b5f04e1117 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - noiseTexture: {fileID: 2800000, guid: 7a632f967e8ad42f5bd275898151ab6a, type: 3} + - noiseShader: {fileID: 4800000, guid: b0249d8c935344451aa4de6db76f0688, type: 3} + - dx11NoiseShader: {fileID: 4800000, guid: 8b30686bb4322ab42ad5eb50a0210b58, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndScratches.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndScratches.cs new file mode 100644 index 0000000..4f894a9 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndScratches.cs @@ -0,0 +1,142 @@ +using System; +using UnityEngine; +using Random = UnityEngine.Random; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu("Image Effects/Noise/Noise and Scratches")] + public class NoiseAndScratches : MonoBehaviour + { + /// Monochrome noise just adds grain. Non-monochrome noise + /// more resembles VCR as it adds noise in YUV color space, + /// thus introducing magenta/green colors. + public bool monochrome = true; + private bool rgbFallback = false; + + // Noise grain takes random intensity from Min to Max. + [Range(0.0f,5.0f)] + public float grainIntensityMin = 0.1f; + [Range(0.0f, 5.0f)] + public float grainIntensityMax = 0.2f; + + /// The size of the noise grains (1 = one pixel). + [Range(0.1f, 50.0f)] + public float grainSize = 2.0f; + + // Scratches take random intensity from Min to Max. + [Range(0.0f, 5.0f)] + public float scratchIntensityMin = 0.05f; + [Range(0.0f, 5.0f)] + public float scratchIntensityMax = 0.25f; + + /// Scratches jump to another locations at this times per second. + [Range(1.0f, 30.0f)] + public float scratchFPS = 10.0f; + /// While scratches are in the same location, they jitter a bit. + [Range(0.0f, 1.0f)] + public float scratchJitter = 0.01f; + + public Texture grainTexture; + public Texture scratchTexture; + public Shader shaderRGB; + public Shader shaderYUV; + private Material m_MaterialRGB; + private Material m_MaterialYUV; + + private float scratchTimeLeft = 0.0f; + private float scratchX, scratchY; + + protected void Start () + { + // Disable if we don't support image effects + if (!SystemInfo.supportsImageEffects) { + enabled = false; + return; + } + + if ( shaderRGB == null || shaderYUV == null ) + { + Debug.Log( "Noise shaders are not set up! Disabling noise effect." ); + enabled = false; + } + else + { + if ( !shaderRGB.isSupported ) // disable effect if RGB shader is not supported + enabled = false; + else if ( !shaderYUV.isSupported ) // fallback to RGB if YUV is not supported + rgbFallback = true; + } + } + + protected Material material { + get { + if ( m_MaterialRGB == null ) { + m_MaterialRGB = new Material( shaderRGB ); + m_MaterialRGB.hideFlags = HideFlags.HideAndDontSave; + } + if ( m_MaterialYUV == null && !rgbFallback ) { + m_MaterialYUV = new Material( shaderYUV ); + m_MaterialYUV.hideFlags = HideFlags.HideAndDontSave; + } + return (!rgbFallback && !monochrome) ? m_MaterialYUV : m_MaterialRGB; + } + } + + protected void OnDisable() { + if ( m_MaterialRGB ) + DestroyImmediate( m_MaterialRGB ); + if ( m_MaterialYUV ) + DestroyImmediate( m_MaterialYUV ); + } + + private void SanitizeParameters() + { + grainIntensityMin = Mathf.Clamp( grainIntensityMin, 0.0f, 5.0f ); + grainIntensityMax = Mathf.Clamp( grainIntensityMax, 0.0f, 5.0f ); + scratchIntensityMin = Mathf.Clamp( scratchIntensityMin, 0.0f, 5.0f ); + scratchIntensityMax = Mathf.Clamp( scratchIntensityMax, 0.0f, 5.0f ); + scratchFPS = Mathf.Clamp( scratchFPS, 1, 30 ); + scratchJitter = Mathf.Clamp( scratchJitter, 0.0f, 1.0f ); + grainSize = Mathf.Clamp( grainSize, 0.1f, 50.0f ); + } + + // Called by the camera to apply the image effect + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + SanitizeParameters(); + + if ( scratchTimeLeft <= 0.0f ) + { + scratchTimeLeft = Random.value * 2 / scratchFPS; // we have sanitized it earlier, won't be zero + scratchX = Random.value; + scratchY = Random.value; + } + scratchTimeLeft -= Time.deltaTime; + + Material mat = material; + + mat.SetTexture("_GrainTex", grainTexture); + mat.SetTexture("_ScratchTex", scratchTexture); + float grainScale = 1.0f / grainSize; // we have sanitized it earlier, won't be zero + mat.SetVector("_GrainOffsetScale", new Vector4( + Random.value, + Random.value, + (float)Screen.width / (float)grainTexture.width * grainScale, + (float)Screen.height / (float)grainTexture.height * grainScale + )); + mat.SetVector("_ScratchOffsetScale", new Vector4( + scratchX + Random.value*scratchJitter, + scratchY + Random.value*scratchJitter, + (float)Screen.width / (float) scratchTexture.width, + (float)Screen.height / (float) scratchTexture.height + )); + mat.SetVector("_Intensity", new Vector4( + Random.Range(grainIntensityMin, grainIntensityMax), + Random.Range(scratchIntensityMin, scratchIntensityMax), + 0, 0 )); + Graphics.Blit (source, destination, mat); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndScratches.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndScratches.cs.meta new file mode 100644 index 0000000..6d5b821 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/NoiseAndScratches.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a88a26a276b4e47619ce2c5adad33fab +MonoImporter: + serializedVersion: 2 + defaultReferences: + - grainTexture: {fileID: 2800000, guid: ffa9c02760c2b4e8eb9814ec06c4b05b, type: 3} + - scratchTexture: {fileID: 2800000, guid: 6205c27cc031f4e66b8ea90d1bfaa158, type: 3} + - shaderRGB: {fileID: 4800000, guid: 5d7f4c401ae8946bcb0d6ff68a9e7466, type: 3} + - shaderYUV: {fileID: 4800000, guid: 0e447868506ba49f0a73235b8a8b647a, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsBase.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsBase.cs new file mode 100644 index 0000000..4909fd2 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsBase.cs @@ -0,0 +1,243 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + public class PostEffectsBase : MonoBehaviour + { + protected bool supportHDRTextures = true; + protected bool supportDX11 = false; + protected bool isSupported = true; + + protected Material CheckShaderAndCreateMaterial ( Shader s, Material m2Create) + { + if (!s) + { + Debug.Log("Missing shader in " + ToString ()); + enabled = false; + return null; + } + + if (s.isSupported && m2Create && m2Create.shader == s) + return m2Create; + + if (!s.isSupported) + { + NotSupported (); + Debug.Log("The shader " + s.ToString() + " on effect "+ToString()+" is not supported on this platform!"); + return null; + } + else + { + m2Create = new Material (s); + m2Create.hideFlags = HideFlags.DontSave; + if (m2Create) + return m2Create; + else return null; + } + } + + + protected Material CreateMaterial (Shader s, Material m2Create) + { + if (!s) + { + Debug.Log ("Missing shader in " + ToString ()); + return null; + } + + if (m2Create && (m2Create.shader == s) && (s.isSupported)) + return m2Create; + + if (!s.isSupported) + { + return null; + } + else + { + m2Create = new Material (s); + m2Create.hideFlags = HideFlags.DontSave; + if (m2Create) + return m2Create; + else return null; + } + } + + void OnEnable () + { + isSupported = true; + } + + protected bool CheckSupport () + { + return CheckSupport (false); + } + + + public virtual bool CheckResources () + { + Debug.LogWarning ("CheckResources () for " + ToString() + " should be overwritten."); + return isSupported; + } + + + protected void Start () + { + CheckResources (); + } + + protected bool CheckSupport (bool needDepth) + { + isSupported = true; + supportHDRTextures = SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBHalf); + supportDX11 = SystemInfo.graphicsShaderLevel >= 50 && SystemInfo.supportsComputeShaders; + + if (!SystemInfo.supportsImageEffects || !SystemInfo.supportsRenderTextures) + { + NotSupported (); + return false; + } + + if (needDepth && !SystemInfo.SupportsRenderTextureFormat (RenderTextureFormat.Depth)) + { + NotSupported (); + return false; + } + + if (needDepth) + GetComponent().depthTextureMode |= DepthTextureMode.Depth; + + return true; + } + + protected bool CheckSupport (bool needDepth, bool needHdr) + { + if (!CheckSupport(needDepth)) + return false; + + if (needHdr && !supportHDRTextures) + { + NotSupported (); + return false; + } + + return true; + } + + + public bool Dx11Support () + { + return supportDX11; + } + + + protected void ReportAutoDisable () + { + Debug.LogWarning ("The image effect " + ToString() + " has been disabled as it's not supported on the current platform."); + } + + // deprecated but needed for old effects to survive upgrading + bool CheckShader (Shader s) + { + Debug.Log("The shader " + s.ToString () + " on effect "+ ToString () + " is not part of the Unity 3.2+ effects suite anymore. For best performance and quality, please ensure you are using the latest Standard Assets Image Effects (Pro only) package."); + if (!s.isSupported) + { + NotSupported (); + return false; + } + else + { + return false; + } + } + + + protected void NotSupported () + { + enabled = false; + isSupported = false; + return; + } + + + protected void DrawBorder (RenderTexture dest, Material material) + { + float x1; + float x2; + float y1; + float y2; + + RenderTexture.active = dest; + bool invertY = true; // source.texelSize.y < 0.0ff; + // Set up the simple Matrix + GL.PushMatrix(); + GL.LoadOrtho(); + + for (int i = 0; i < material.passCount; i++) + { + material.SetPass(i); + + float y1_; float y2_; + if (invertY) + { + y1_ = 1.0f; y2_ = 0.0f; + } + else + { + y1_ = 0.0f; y2_ = 1.0f; + } + + // left + x1 = 0.0f; + x2 = 0.0f + 1.0f/(dest.width*1.0f); + y1 = 0.0f; + y2 = 1.0f; + GL.Begin(GL.QUADS); + + GL.TexCoord2(0.0f, y1_); GL.Vertex3(x1, y1, 0.1f); + GL.TexCoord2(1.0f, y1_); GL.Vertex3(x2, y1, 0.1f); + GL.TexCoord2(1.0f, y2_); GL.Vertex3(x2, y2, 0.1f); + GL.TexCoord2(0.0f, y2_); GL.Vertex3(x1, y2, 0.1f); + + // right + x1 = 1.0f - 1.0f/(dest.width*1.0f); + x2 = 1.0f; + y1 = 0.0f; + y2 = 1.0f; + + GL.TexCoord2(0.0f, y1_); GL.Vertex3(x1, y1, 0.1f); + GL.TexCoord2(1.0f, y1_); GL.Vertex3(x2, y1, 0.1f); + GL.TexCoord2(1.0f, y2_); GL.Vertex3(x2, y2, 0.1f); + GL.TexCoord2(0.0f, y2_); GL.Vertex3(x1, y2, 0.1f); + + // top + x1 = 0.0f; + x2 = 1.0f; + y1 = 0.0f; + y2 = 0.0f + 1.0f/(dest.height*1.0f); + + GL.TexCoord2(0.0f, y1_); GL.Vertex3(x1, y1, 0.1f); + GL.TexCoord2(1.0f, y1_); GL.Vertex3(x2, y1, 0.1f); + GL.TexCoord2(1.0f, y2_); GL.Vertex3(x2, y2, 0.1f); + GL.TexCoord2(0.0f, y2_); GL.Vertex3(x1, y2, 0.1f); + + // bottom + x1 = 0.0f; + x2 = 1.0f; + y1 = 1.0f - 1.0f/(dest.height*1.0f); + y2 = 1.0f; + + GL.TexCoord2(0.0f, y1_); GL.Vertex3(x1, y1, 0.1f); + GL.TexCoord2(1.0f, y1_); GL.Vertex3(x2, y1, 0.1f); + GL.TexCoord2(1.0f, y2_); GL.Vertex3(x2, y2, 0.1f); + GL.TexCoord2(0.0f, y2_); GL.Vertex3(x1, y2, 0.1f); + + GL.End(); + } + + GL.PopMatrix(); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsBase.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsBase.cs.meta new file mode 100644 index 0000000..a310534 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsBase.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b6f4318ec6c2bf643a0f9edfeeaba0ec +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsHelper.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsHelper.cs new file mode 100644 index 0000000..156370f --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsHelper.cs @@ -0,0 +1,188 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + class PostEffectsHelper : MonoBehaviour + { + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + Debug.Log("OnRenderImage in Helper called ..."); + } + + static void DrawLowLevelPlaneAlignedWithCamera ( + float dist , + RenderTexture source, RenderTexture dest , + Material material , + Camera cameraForProjectionMatrix ) + { + // Make the destination texture the target for all rendering + RenderTexture.active = dest; + // Assign the source texture to a property from a shader + material.SetTexture("_MainTex", source); + bool invertY = true; // source.texelSize.y < 0.0f; + // Set up the simple Matrix + GL.PushMatrix(); + GL.LoadIdentity(); + GL.LoadProjectionMatrix(cameraForProjectionMatrix.projectionMatrix); + + float fovYHalfRad = cameraForProjectionMatrix.fieldOfView * 0.5f * Mathf.Deg2Rad; + float cotangent = Mathf.Cos(fovYHalfRad) / Mathf.Sin(fovYHalfRad); + float asp = cameraForProjectionMatrix.aspect; + + float x1 = asp/-cotangent; + float x2 = asp/cotangent; + float y1 = 1.0f/-cotangent; + float y2 = 1.0f/cotangent; + + float sc = 1.0f; // magic constant (for now) + + x1 *= dist * sc; + x2 *= dist * sc; + y1 *= dist * sc; + y2 *= dist * sc; + + float z1 = -dist; + + for (int i = 0; i < material.passCount; i++) + { + material.SetPass(i); + + GL.Begin(GL.QUADS); + float y1_; float y2_; + if (invertY) + { + y1_ = 1.0f; y2_ = 0.0f; + } + else + { + y1_ = 0.0f; y2_ = 1.0f; + } + GL.TexCoord2(0.0f, y1_); GL.Vertex3(x1, y1, z1); + GL.TexCoord2(1.0f, y1_); GL.Vertex3(x2, y1, z1); + GL.TexCoord2(1.0f, y2_); GL.Vertex3(x2, y2, z1); + GL.TexCoord2(0.0f, y2_); GL.Vertex3(x1, y2, z1); + GL.End(); + } + + GL.PopMatrix(); + } + + static void DrawBorder ( + RenderTexture dest , + Material material ) + { + float x1; + float x2; + float y1; + float y2; + + RenderTexture.active = dest; + bool invertY = true; // source.texelSize.y < 0.0ff; + // Set up the simple Matrix + GL.PushMatrix(); + GL.LoadOrtho(); + + for (int i = 0; i < material.passCount; i++) + { + material.SetPass(i); + + float y1_; float y2_; + if (invertY) + { + y1_ = 1.0f; y2_ = 0.0f; + } + else + { + y1_ = 0.0f; y2_ = 1.0f; + } + + // left + x1 = 0.0f; + x2 = 0.0f + 1.0f/(dest.width*1.0f); + y1 = 0.0f; + y2 = 1.0f; + GL.Begin(GL.QUADS); + + GL.TexCoord2(0.0f, y1_); GL.Vertex3(x1, y1, 0.1f); + GL.TexCoord2(1.0f, y1_); GL.Vertex3(x2, y1, 0.1f); + GL.TexCoord2(1.0f, y2_); GL.Vertex3(x2, y2, 0.1f); + GL.TexCoord2(0.0f, y2_); GL.Vertex3(x1, y2, 0.1f); + + // right + x1 = 1.0f - 1.0f/(dest.width*1.0f); + x2 = 1.0f; + y1 = 0.0f; + y2 = 1.0f; + + GL.TexCoord2(0.0f, y1_); GL.Vertex3(x1, y1, 0.1f); + GL.TexCoord2(1.0f, y1_); GL.Vertex3(x2, y1, 0.1f); + GL.TexCoord2(1.0f, y2_); GL.Vertex3(x2, y2, 0.1f); + GL.TexCoord2(0.0f, y2_); GL.Vertex3(x1, y2, 0.1f); + + // top + x1 = 0.0f; + x2 = 1.0f; + y1 = 0.0f; + y2 = 0.0f + 1.0f/(dest.height*1.0f); + + GL.TexCoord2(0.0f, y1_); GL.Vertex3(x1, y1, 0.1f); + GL.TexCoord2(1.0f, y1_); GL.Vertex3(x2, y1, 0.1f); + GL.TexCoord2(1.0f, y2_); GL.Vertex3(x2, y2, 0.1f); + GL.TexCoord2(0.0f, y2_); GL.Vertex3(x1, y2, 0.1f); + + // bottom + x1 = 0.0f; + x2 = 1.0f; + y1 = 1.0f - 1.0f/(dest.height*1.0f); + y2 = 1.0f; + + GL.TexCoord2(0.0f, y1_); GL.Vertex3(x1, y1, 0.1f); + GL.TexCoord2(1.0f, y1_); GL.Vertex3(x2, y1, 0.1f); + GL.TexCoord2(1.0f, y2_); GL.Vertex3(x2, y2, 0.1f); + GL.TexCoord2(0.0f, y2_); GL.Vertex3(x1, y2, 0.1f); + + GL.End(); + } + + GL.PopMatrix(); + } + + static void DrawLowLevelQuad ( float x1, float x2, float y1, float y2, RenderTexture source, RenderTexture dest, Material material ) + { + // Make the destination texture the target for all rendering + RenderTexture.active = dest; + // Assign the source texture to a property from a shader + material.SetTexture("_MainTex", source); + bool invertY = true; // source.texelSize.y < 0.0f; + // Set up the simple Matrix + GL.PushMatrix(); + GL.LoadOrtho(); + + for (int i = 0; i < material.passCount; i++) + { + material.SetPass(i); + + GL.Begin(GL.QUADS); + float y1_; float y2_; + if (invertY) + { + y1_ = 1.0f; y2_ = 0.0f; + } + else + { + y1_ = 0.0f; y2_ = 1.0f; + } + GL.TexCoord2(0.0f, y1_); GL.Vertex3(x1, y1, 0.1f); + GL.TexCoord2(1.0f, y1_); GL.Vertex3(x2, y1, 0.1f); + GL.TexCoord2(1.0f, y2_); GL.Vertex3(x2, y2, 0.1f); + GL.TexCoord2(0.0f, y2_); GL.Vertex3(x1, y2, 0.1f); + GL.End(); + } + + GL.PopMatrix(); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsHelper.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsHelper.cs.meta new file mode 100644 index 0000000..4ccd033 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/PostEffectsHelper.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 50b03df8f04b5c441aaac5b7fccb4734 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Quads.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Quads.cs new file mode 100644 index 0000000..3d2caca --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Quads.cs @@ -0,0 +1,125 @@ +using System; +using UnityEngine; +using Object = UnityEngine.Object; + +// same as Triangles but creates quads instead which generally +// saves fillrate at the expense for more triangles to issue +namespace UnityStandardAssets.ImageEffects +{ + class Quads + { + static Mesh[] meshes; + static int currentQuads = 0; + + static bool HasMeshes () + { + if (meshes == null) + return false; + foreach (Mesh m in meshes) + if (null == m) + return false; + return true; + } + + + public static void Cleanup () + { + if (meshes == null) + return; + + for (int i = 0; i < meshes.Length; i++) + { + if (null != meshes[i]) + { + Object.DestroyImmediate (meshes[i]); + meshes[i] = null; + } + } + meshes = null; + } + + + public static Mesh[] GetMeshes ( int totalWidth, int totalHeight) + { + if (HasMeshes () && (currentQuads == (totalWidth * totalHeight))) { + return meshes; + } + + int maxQuads = 65000 / 6; + int totalQuads = totalWidth * totalHeight; + currentQuads = totalQuads; + + int meshCount = Mathf.CeilToInt ((1.0f * totalQuads) / (1.0f * maxQuads)); + + meshes = new Mesh [meshCount]; + + int i = 0; + int index = 0; + for (i = 0; i < totalQuads; i += maxQuads) + { + int quads = Mathf.FloorToInt (Mathf.Clamp ((totalQuads-i), 0, maxQuads)); + + meshes[index] = GetMesh (quads, i, totalWidth, totalHeight); + index++; + } + + return meshes; + } + + static Mesh GetMesh (int triCount, int triOffset, int totalWidth, int totalHeight) + { + var mesh = new Mesh (); + mesh.hideFlags = HideFlags.DontSave; + + var verts = new Vector3[triCount * 4]; + var uvs = new Vector2[triCount * 4]; + var uvs2 = new Vector2[triCount * 4]; + var tris = new int[triCount * 6]; + + for (int i = 0; i < triCount; i++) + { + int i4 = i * 4; + int i6 = i * 6; + + int vertexWithOffset = triOffset + i; + + float x = Mathf.Floor (vertexWithOffset % totalWidth) / totalWidth; + float y = Mathf.Floor (vertexWithOffset / totalWidth) / totalHeight; + + Vector3 position = new Vector3 (x * 2 - 1, y * 2 - 1, 1.0f); + + verts[i4 + 0] = position; + verts[i4 + 1] = position; + verts[i4 + 2] = position; + verts[i4 + 3] = position; + + uvs[i4 + 0] = new Vector2 (0.0f, 0.0f); + uvs[i4 + 1] = new Vector2 (1.0f, 0.0f); + uvs[i4 + 2] = new Vector2 (0.0f, 1.0f); + uvs[i4 + 3] = new Vector2 (1.0f, 1.0f); + + uvs2[i4 + 0] = new Vector2 (x, y); + uvs2[i4 + 1] = new Vector2 (x, y); + uvs2[i4 + 2] = new Vector2 (x, y); + uvs2[i4 + 3] = new Vector2 (x, y); + + tris[i6 + 0] = i4 + 0; + tris[i6 + 1] = i4 + 1; + tris[i6 + 2] = i4 + 2; + + tris[i6 + 3] = i4 + 1; + tris[i6 + 4] = i4 + 2; + tris[i6 + 5] = i4 + 3; + + } + + mesh.vertices = verts; + mesh.triangles = tris; + mesh.uv = uvs; + mesh.uv2 = uvs2; + + return mesh; + } + + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Quads.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Quads.cs.meta new file mode 100644 index 0000000..14c9d59 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Quads.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a20852ce049f64e4695a48b6a354be83 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenOverlay.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenOverlay.cs new file mode 100644 index 0000000..790593c --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenOverlay.cs @@ -0,0 +1,69 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Other/Screen Overlay")] + public class ScreenOverlay : PostEffectsBase + { + public enum OverlayBlendMode + { + Additive = 0, + ScreenBlend = 1, + Multiply = 2, + Overlay = 3, + AlphaBlend = 4, + } + + public OverlayBlendMode blendMode = OverlayBlendMode.Overlay; + public float intensity = 1.0f; + public Texture2D texture = null; + + public Shader overlayShader = null; + private Material overlayMaterial = null; + + + public override bool CheckResources () + { + CheckSupport (false); + + overlayMaterial = CheckShaderAndCreateMaterial (overlayShader, overlayMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if (CheckResources() == false) + { + Graphics.Blit (source, destination); + return; + } + + Vector4 UV_Transform = new Vector4(1, 0, 0, 1); + + #if UNITY_WP8 + // WP8 has no OS support for rotating screen with device orientation, + // so we do those transformations ourselves. + if (Screen.orientation == ScreenOrientation.LandscapeLeft) { + UV_Transform = new Vector4(0, -1, 1, 0); + } + if (Screen.orientation == ScreenOrientation.LandscapeRight) { + UV_Transform = new Vector4(0, 1, -1, 0); + } + if (Screen.orientation == ScreenOrientation.PortraitUpsideDown) { + UV_Transform = new Vector4(-1, 0, 0, -1); + } + #endif + + overlayMaterial.SetVector("_UV_Transform", UV_Transform); + overlayMaterial.SetFloat ("_Intensity", intensity); + overlayMaterial.SetTexture ("_Overlay", texture); + Graphics.Blit (source, destination, overlayMaterial, (int) blendMode); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenOverlay.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenOverlay.cs.meta new file mode 100644 index 0000000..75c03f9 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenOverlay.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6f19108706fdce9469603d07980eb8ad +MonoImporter: + serializedVersion: 2 + defaultReferences: + - texture: {instanceID: 0} + - overlayShader: {fileID: 4800000, guid: 8c81db0e527d24acc9bcec04e87781bd, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientObscurance.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientObscurance.cs new file mode 100644 index 0000000..a6e6f78 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientObscurance.cs @@ -0,0 +1,101 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Rendering/Screen Space Ambient Obscurance")] + class ScreenSpaceAmbientObscurance : PostEffectsBase { + [Range (0,3)] + public float intensity = 0.5f; + [Range (0.1f,3)] + public float radius = 0.2f; + [Range (0,3)] + public int blurIterations = 1; + [Range (0,5)] + public float blurFilterDistance = 1.25f; + [Range (0,1)] + public int downsample = 0; + + public Texture2D rand = null; + public Shader aoShader= null; + + private Material aoMaterial = null; + + public override bool CheckResources () { + CheckSupport (true); + + aoMaterial = CheckShaderAndCreateMaterial (aoShader, aoMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + void OnDisable () { + if (aoMaterial) + DestroyImmediate (aoMaterial); + aoMaterial = null; + } + + [ImageEffectOpaque] + void OnRenderImage (RenderTexture source, RenderTexture destination) { + if (CheckResources () == false) { + Graphics.Blit (source, destination); + return; + } + + Matrix4x4 P = GetComponent().projectionMatrix; + var invP= P.inverse; + Vector4 projInfo = new Vector4 + ((-2.0f / (Screen.width * P[0])), + (-2.0f / (Screen.height * P[5])), + ((1.0f - P[2]) / P[0]), + ((1.0f + P[6]) / P[5])); + + aoMaterial.SetVector ("_ProjInfo", projInfo); // used for unprojection + aoMaterial.SetMatrix ("_ProjectionInv", invP); // only used for reference + aoMaterial.SetTexture ("_Rand", rand); // not needed for DX11 :) + aoMaterial.SetFloat ("_Radius", radius); + aoMaterial.SetFloat ("_Radius2", radius*radius); + aoMaterial.SetFloat ("_Intensity", intensity); + aoMaterial.SetFloat ("_BlurFilterDistance", blurFilterDistance); + + int rtW = source.width; + int rtH = source.height; + + RenderTexture tmpRt = RenderTexture.GetTemporary (rtW>>downsample, rtH>>downsample); + RenderTexture tmpRt2; + + Graphics.Blit (source, tmpRt, aoMaterial, 0); + + if (downsample > 0) { + tmpRt2 = RenderTexture.GetTemporary (rtW, rtH); + Graphics.Blit(tmpRt, tmpRt2, aoMaterial, 4); + RenderTexture.ReleaseTemporary (tmpRt); + tmpRt = tmpRt2; + + // @NOTE: it's probably worth a shot to blur in low resolution + // instead with a bilat-upsample afterwards ... + } + + for (int i = 0; i < blurIterations; i++) { + aoMaterial.SetVector("_Axis", new Vector2(1.0f,0.0f)); + tmpRt2 = RenderTexture.GetTemporary (rtW, rtH); + Graphics.Blit (tmpRt, tmpRt2, aoMaterial, 1); + RenderTexture.ReleaseTemporary (tmpRt); + + aoMaterial.SetVector("_Axis", new Vector2(0.0f,1.0f)); + tmpRt = RenderTexture.GetTemporary (rtW, rtH); + Graphics.Blit (tmpRt2, tmpRt, aoMaterial, 1); + RenderTexture.ReleaseTemporary (tmpRt2); + } + + aoMaterial.SetTexture ("_AOTex", tmpRt); + Graphics.Blit (source, destination, aoMaterial, 2); + + RenderTexture.ReleaseTemporary (tmpRt); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientObscurance.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientObscurance.cs.meta new file mode 100644 index 0000000..99d4452 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientObscurance.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 75febd242c999f04d9654522a10c006b +MonoImporter: + serializedVersion: 2 + defaultReferences: + - rand: {fileID: 2800000, guid: a181ca8e3c62f3e4b8f183f6c586b032, type: 3} + - aoShader: {fileID: 4800000, guid: 95616c020c5604dda96cf76afbbc0272, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientOcclusion.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientOcclusion.cs new file mode 100644 index 0000000..7981ff8 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientOcclusion.cs @@ -0,0 +1,205 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu("Image Effects/Rendering/Screen Space Ambient Occlusion")] + public class ScreenSpaceAmbientOcclusion : MonoBehaviour + { + public enum SSAOSamples + { + Low = 0, + Medium = 1, + High = 2, + } + + [Range(0.05f, 1.0f)] + public float m_Radius = 0.4f; + public SSAOSamples m_SampleCount = SSAOSamples.Medium; + [Range(0.5f, 4.0f)] + public float m_OcclusionIntensity = 1.5f; + [Range(0, 4)] + public int m_Blur = 2; + [Range(1,6)] + public int m_Downsampling = 2; + [Range(0.2f, 2.0f)] + public float m_OcclusionAttenuation = 1.0f; + [Range(0.00001f, 0.5f)] + public float m_MinZ = 0.01f; + + public Shader m_SSAOShader; + private Material m_SSAOMaterial; + + public Texture2D m_RandomTexture; + + private bool m_Supported; + + private static Material CreateMaterial (Shader shader) + { + if (!shader) + return null; + Material m = new Material (shader); + m.hideFlags = HideFlags.HideAndDontSave; + return m; + } + private static void DestroyMaterial (Material mat) + { + if (mat) + { + DestroyImmediate (mat); + mat = null; + } + } + + + void OnDisable() + { + DestroyMaterial (m_SSAOMaterial); + } + + void Start() + { + if (!SystemInfo.supportsImageEffects || !SystemInfo.SupportsRenderTextureFormat (RenderTextureFormat.Depth)) + { + m_Supported = false; + enabled = false; + return; + } + + CreateMaterials (); + if (!m_SSAOMaterial || m_SSAOMaterial.passCount != 5) + { + m_Supported = false; + enabled = false; + return; + } + + //CreateRandomTable (26, 0.2f); + + m_Supported = true; + } + + void OnEnable () { + GetComponent().depthTextureMode |= DepthTextureMode.DepthNormals; + } + + private void CreateMaterials () + { + if (!m_SSAOMaterial && m_SSAOShader.isSupported) + { + m_SSAOMaterial = CreateMaterial (m_SSAOShader); + m_SSAOMaterial.SetTexture ("_RandomTexture", m_RandomTexture); + } + } + + [ImageEffectOpaque] + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if (!m_Supported || !m_SSAOShader.isSupported) { + enabled = false; + return; + } + CreateMaterials (); + + m_Downsampling = Mathf.Clamp (m_Downsampling, 1, 6); + m_Radius = Mathf.Clamp (m_Radius, 0.05f, 1.0f); + m_MinZ = Mathf.Clamp (m_MinZ, 0.00001f, 0.5f); + m_OcclusionIntensity = Mathf.Clamp (m_OcclusionIntensity, 0.5f, 4.0f); + m_OcclusionAttenuation = Mathf.Clamp (m_OcclusionAttenuation, 0.2f, 2.0f); + m_Blur = Mathf.Clamp (m_Blur, 0, 4); + + // Render SSAO term into a smaller texture + RenderTexture rtAO = RenderTexture.GetTemporary (source.width / m_Downsampling, source.height / m_Downsampling, 0); + float fovY = GetComponent().fieldOfView; + float far = GetComponent().farClipPlane; + float y = Mathf.Tan (fovY * Mathf.Deg2Rad * 0.5f) * far; + float x = y * GetComponent().aspect; + m_SSAOMaterial.SetVector ("_FarCorner", new Vector3(x,y,far)); + int noiseWidth, noiseHeight; + if (m_RandomTexture) { + noiseWidth = m_RandomTexture.width; + noiseHeight = m_RandomTexture.height; + } else { + noiseWidth = 1; noiseHeight = 1; + } + m_SSAOMaterial.SetVector ("_NoiseScale", new Vector3 ((float)rtAO.width / noiseWidth, (float)rtAO.height / noiseHeight, 0.0f)); + m_SSAOMaterial.SetVector ("_Params", new Vector4( + m_Radius, + m_MinZ, + 1.0f / m_OcclusionAttenuation, + m_OcclusionIntensity)); + + bool doBlur = m_Blur > 0; + Graphics.Blit (doBlur ? null : source, rtAO, m_SSAOMaterial, (int)m_SampleCount); + + if (doBlur) + { + // Blur SSAO horizontally + RenderTexture rtBlurX = RenderTexture.GetTemporary (source.width, source.height, 0); + m_SSAOMaterial.SetVector ("_TexelOffsetScale", + new Vector4 ((float)m_Blur / source.width, 0,0,0)); + m_SSAOMaterial.SetTexture ("_SSAO", rtAO); + Graphics.Blit (null, rtBlurX, m_SSAOMaterial, 3); + RenderTexture.ReleaseTemporary (rtAO); // original rtAO not needed anymore + + // Blur SSAO vertically + RenderTexture rtBlurY = RenderTexture.GetTemporary (source.width, source.height, 0); + m_SSAOMaterial.SetVector ("_TexelOffsetScale", + new Vector4 (0, (float)m_Blur/source.height, 0,0)); + m_SSAOMaterial.SetTexture ("_SSAO", rtBlurX); + Graphics.Blit (source, rtBlurY, m_SSAOMaterial, 3); + RenderTexture.ReleaseTemporary (rtBlurX); // blurX RT not needed anymore + + rtAO = rtBlurY; // AO is the blurred one now + } + + // Modulate scene rendering with SSAO + m_SSAOMaterial.SetTexture ("_SSAO", rtAO); + Graphics.Blit (source, destination, m_SSAOMaterial, 4); + + RenderTexture.ReleaseTemporary (rtAO); + } + + /* + private void CreateRandomTable (int count, float minLength) + { + Random.seed = 1337; + Vector3[] samples = new Vector3[count]; + // initial samples + for (int i = 0; i < count; ++i) + samples[i] = Random.onUnitSphere; + // energy minimization: push samples away from others + int iterations = 100; + while (iterations-- > 0) { + for (int i = 0; i < count; ++i) { + Vector3 vec = samples[i]; + Vector3 res = Vector3.zero; + // minimize with other samples + for (int j = 0; j < count; ++j) { + Vector3 force = vec - samples[j]; + float fac = Vector3.Dot (force, force); + if (fac > 0.00001f) + res += force * (1.0f / fac); + } + samples[i] = (samples[i] + res * 0.5f).normalized; + } + } + // now scale samples between minLength and 1.0 + for (int i = 0; i < count; ++i) { + samples[i] = samples[i] * Random.Range (minLength, 1.0f); + } + + string table = string.Format ("#define SAMPLE_COUNT {0}\n", count); + table += "const float3 RAND_SAMPLES[SAMPLE_COUNT] = {\n"; + for (int i = 0; i < count; ++i) { + Vector3 v = samples[i]; + table += string.Format("\tfloat3({0},{1},{2}),\n", v.x, v.y, v.z); + } + table += "};\n"; + Debug.Log (table); + } + */ + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientOcclusion.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientOcclusion.cs.meta new file mode 100644 index 0000000..8fda23b --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/ScreenSpaceAmbientOcclusion.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b0923359e9e352a4b9b11c7b7161ad67 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - m_SSAOShader: {fileID: 4800000, guid: 43ca18288c424f645aaa1e9e07f04c50, type: 3} + - m_RandomTexture: {fileID: 2800000, guid: a181ca8e3c62f3e4b8f183f6c586b032, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/SepiaTone.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/SepiaTone.cs new file mode 100644 index 0000000..86ac0c1 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/SepiaTone.cs @@ -0,0 +1,16 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [AddComponentMenu("Image Effects/Color Adjustments/Sepia Tone")] + public class SepiaTone : ImageEffectBase + { + // Called by camera to apply image effect + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + Graphics.Blit (source, destination, material); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/SepiaTone.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/SepiaTone.cs.meta new file mode 100644 index 0000000..94ff94c --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/SepiaTone.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a07a781cad112c75d0008dfa8d76c639 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - shader: {fileID: 4800000, guid: b6aa781cad112c75d0008dfa8d76c639, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/SunShafts.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/SunShafts.cs new file mode 100644 index 0000000..480ef25 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/SunShafts.cs @@ -0,0 +1,147 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Rendering/Sun Shafts")] + public class SunShafts : PostEffectsBase + { + public enum SunShaftsResolution + { + Low = 0, + Normal = 1, + High = 2, + } + + public enum ShaftsScreenBlendMode + { + Screen = 0, + Add = 1, + } + + + public SunShaftsResolution resolution = SunShaftsResolution.Normal; + public ShaftsScreenBlendMode screenBlendMode = ShaftsScreenBlendMode.Screen; + + public Transform sunTransform; + public int radialBlurIterations = 2; + public Color sunColor = Color.white; + public Color sunThreshold = new Color(0.87f,0.74f,0.65f); + public float sunShaftBlurRadius = 2.5f; + public float sunShaftIntensity = 1.15f; + + public float maxRadius = 0.75f; + + public bool useDepthTexture = true; + + public Shader sunShaftsShader; + private Material sunShaftsMaterial; + + public Shader simpleClearShader; + private Material simpleClearMaterial; + + + public override bool CheckResources () { + CheckSupport (useDepthTexture); + + sunShaftsMaterial = CheckShaderAndCreateMaterial (sunShaftsShader, sunShaftsMaterial); + simpleClearMaterial = CheckShaderAndCreateMaterial (simpleClearShader, simpleClearMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) { + if (CheckResources()==false) { + Graphics.Blit (source, destination); + return; + } + + // we actually need to check this every frame + if (useDepthTexture) + GetComponent().depthTextureMode |= DepthTextureMode.Depth; + + int divider = 4; + if (resolution == SunShaftsResolution.Normal) + divider = 2; + else if (resolution == SunShaftsResolution.High) + divider = 1; + + Vector3 v = Vector3.one * 0.5f; + if (sunTransform) + v = GetComponent().WorldToViewportPoint (sunTransform.position); + else + v = new Vector3(0.5f, 0.5f, 0.0f); + + int rtW = source.width / divider; + int rtH = source.height / divider; + + RenderTexture lrColorB; + RenderTexture lrDepthBuffer = RenderTexture.GetTemporary (rtW, rtH, 0); + + // mask out everything except the skybox + // we have 2 methods, one of which requires depth buffer support, the other one is just comparing images + + sunShaftsMaterial.SetVector ("_BlurRadius4", new Vector4 (1.0f, 1.0f, 0.0f, 0.0f) * sunShaftBlurRadius ); + sunShaftsMaterial.SetVector ("_SunPosition", new Vector4 (v.x, v.y, v.z, maxRadius)); + sunShaftsMaterial.SetVector ("_SunThreshold", sunThreshold); + + if (!useDepthTexture) { + var format= GetComponent().hdr ? RenderTextureFormat.DefaultHDR: RenderTextureFormat.Default; + RenderTexture tmpBuffer = RenderTexture.GetTemporary (source.width, source.height, 0, format); + RenderTexture.active = tmpBuffer; + GL.ClearWithSkybox (false, GetComponent()); + + sunShaftsMaterial.SetTexture ("_Skybox", tmpBuffer); + Graphics.Blit (source, lrDepthBuffer, sunShaftsMaterial, 3); + RenderTexture.ReleaseTemporary (tmpBuffer); + } + else { + Graphics.Blit (source, lrDepthBuffer, sunShaftsMaterial, 2); + } + + // paint a small black small border to get rid of clamping problems + DrawBorder (lrDepthBuffer, simpleClearMaterial); + + // radial blur: + + radialBlurIterations = Mathf.Clamp (radialBlurIterations, 1, 4); + + float ofs = sunShaftBlurRadius * (1.0f / 768.0f); + + sunShaftsMaterial.SetVector ("_BlurRadius4", new Vector4 (ofs, ofs, 0.0f, 0.0f)); + sunShaftsMaterial.SetVector ("_SunPosition", new Vector4 (v.x, v.y, v.z, maxRadius)); + + for (int it2 = 0; it2 < radialBlurIterations; it2++ ) { + // each iteration takes 2 * 6 samples + // we update _BlurRadius each time to cheaply get a very smooth look + + lrColorB = RenderTexture.GetTemporary (rtW, rtH, 0); + Graphics.Blit (lrDepthBuffer, lrColorB, sunShaftsMaterial, 1); + RenderTexture.ReleaseTemporary (lrDepthBuffer); + ofs = sunShaftBlurRadius * (((it2 * 2.0f + 1.0f) * 6.0f)) / 768.0f; + sunShaftsMaterial.SetVector ("_BlurRadius4", new Vector4 (ofs, ofs, 0.0f, 0.0f) ); + + lrDepthBuffer = RenderTexture.GetTemporary (rtW, rtH, 0); + Graphics.Blit (lrColorB, lrDepthBuffer, sunShaftsMaterial, 1); + RenderTexture.ReleaseTemporary (lrColorB); + ofs = sunShaftBlurRadius * (((it2 * 2.0f + 2.0f) * 6.0f)) / 768.0f; + sunShaftsMaterial.SetVector ("_BlurRadius4", new Vector4 (ofs, ofs, 0.0f, 0.0f) ); + } + + // put together: + + if (v.z >= 0.0f) + sunShaftsMaterial.SetVector ("_SunColor", new Vector4 (sunColor.r, sunColor.g, sunColor.b, sunColor.a) * sunShaftIntensity); + else + sunShaftsMaterial.SetVector ("_SunColor", Vector4.zero); // no backprojection ! + sunShaftsMaterial.SetTexture ("_ColorBuffer", lrDepthBuffer); + Graphics.Blit (source, destination, sunShaftsMaterial, (screenBlendMode == ShaftsScreenBlendMode.Screen) ? 0 : 4); + + RenderTexture.ReleaseTemporary (lrDepthBuffer); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/SunShafts.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/SunShafts.cs.meta new file mode 100644 index 0000000..acf1863 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/SunShafts.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 60e318a6043c1cb4a8ce1c8805bab930 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - sunTransform: {instanceID: 0} + - sunShaftsShader: {fileID: 4800000, guid: d3b1c8c1036784176946f5cfbfb7fe4c, type: 3} + - simpleClearShader: {fileID: 4800000, guid: f688f89ed5eb847c5b19c934a0f1e772, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/TiltShift.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/TiltShift.cs new file mode 100644 index 0000000..41fde70 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/TiltShift.cs @@ -0,0 +1,75 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Camera/Tilt Shift (Lens Blur)")] + class TiltShift : PostEffectsBase { + public enum TiltShiftMode + { + TiltShiftMode, + IrisMode, + } + public enum TiltShiftQuality + { + Preview, + Normal, + High, + } + + public TiltShiftMode mode = TiltShiftMode.TiltShiftMode; + public TiltShiftQuality quality = TiltShiftQuality.Normal; + + [Range(0.0f, 15.0f)] + public float blurArea = 1.0f; + + [Range(0.0f, 25.0f)] + public float maxBlurSize = 5.0f; + + [Range(0, 1)] + public int downsample = 0; + + public Shader tiltShiftShader = null; + private Material tiltShiftMaterial = null; + + + public override bool CheckResources () { + CheckSupport (true); + + tiltShiftMaterial = CheckShaderAndCreateMaterial (tiltShiftShader, tiltShiftMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + void OnRenderImage (RenderTexture source, RenderTexture destination) { + if (CheckResources() == false) { + Graphics.Blit (source, destination); + return; + } + + tiltShiftMaterial.SetFloat("_BlurSize", maxBlurSize < 0.0f ? 0.0f : maxBlurSize); + tiltShiftMaterial.SetFloat("_BlurArea", blurArea); + source.filterMode = FilterMode.Bilinear; + + RenderTexture rt = destination; + if (downsample > 0f) { + rt = RenderTexture.GetTemporary (source.width>>downsample, source.height>>downsample, 0, source.format); + rt.filterMode = FilterMode.Bilinear; + } + + int basePassNr = (int) quality; basePassNr *= 2; + Graphics.Blit (source, rt, tiltShiftMaterial, mode == TiltShiftMode.TiltShiftMode ? basePassNr : basePassNr + 1); + + if (downsample > 0) { + tiltShiftMaterial.SetTexture ("_Blurred", rt); + Graphics.Blit (source, destination, tiltShiftMaterial, 6); + } + + if (rt != destination) + RenderTexture.ReleaseTemporary (rt); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/TiltShift.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/TiltShift.cs.meta new file mode 100644 index 0000000..6fb44f4 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/TiltShift.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a22b3a7095a744a428c134b5e26ad68e +MonoImporter: + serializedVersion: 2 + defaultReferences: + - tiltShiftShader: {fileID: 4800000, guid: bf34d2a25450349699e8ae6456fa7ca9, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Tonemapping.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Tonemapping.cs new file mode 100644 index 0000000..665ee98 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Tonemapping.cs @@ -0,0 +1,274 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent(typeof (Camera))] + [AddComponentMenu("Image Effects/Color Adjustments/Tonemapping")] + public class Tonemapping : PostEffectsBase + { + public enum TonemapperType + { + SimpleReinhard, + UserCurve, + Hable, + Photographic, + OptimizedHejiDawson, + AdaptiveReinhard, + AdaptiveReinhardAutoWhite, + }; + + public enum AdaptiveTexSize + { + Square16 = 16, + Square32 = 32, + Square64 = 64, + Square128 = 128, + Square256 = 256, + Square512 = 512, + Square1024 = 1024, + }; + + public TonemapperType type = TonemapperType.Photographic; + public AdaptiveTexSize adaptiveTextureSize = AdaptiveTexSize.Square256; + + // CURVE parameter + public AnimationCurve remapCurve; + private Texture2D curveTex = null; + + // UNCHARTED parameter + public float exposureAdjustment = 1.5f; + + // REINHARD parameter + public float middleGrey = 0.4f; + public float white = 2.0f; + public float adaptionSpeed = 1.5f; + + // usual & internal stuff + public Shader tonemapper = null; + public bool validRenderTextureFormat = true; + private Material tonemapMaterial = null; + private RenderTexture rt = null; + private RenderTextureFormat rtFormat = RenderTextureFormat.ARGBHalf; + + + public override bool CheckResources() + { + CheckSupport(false, true); + + tonemapMaterial = CheckShaderAndCreateMaterial(tonemapper, tonemapMaterial); + if (!curveTex && type == TonemapperType.UserCurve) + { + curveTex = new Texture2D(256, 1, TextureFormat.ARGB32, false, true); + curveTex.filterMode = FilterMode.Bilinear; + curveTex.wrapMode = TextureWrapMode.Clamp; + curveTex.hideFlags = HideFlags.DontSave; + } + + if (!isSupported) + ReportAutoDisable(); + return isSupported; + } + + + public float UpdateCurve() + { + float range = 1.0f; + if (remapCurve.keys.Length < 1) + remapCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(2, 1)); + if (remapCurve != null) + { + if (remapCurve.length > 0) + range = remapCurve[remapCurve.length - 1].time; + for (float i = 0.0f; i <= 1.0f; i += 1.0f/255.0f) + { + float c = remapCurve.Evaluate(i*1.0f*range); + curveTex.SetPixel((int) Mathf.Floor(i*255.0f), 0, new Color(c, c, c)); + } + curveTex.Apply(); + } + return 1.0f/range; + } + + + private void OnDisable() + { + if (rt) + { + DestroyImmediate(rt); + rt = null; + } + if (tonemapMaterial) + { + DestroyImmediate(tonemapMaterial); + tonemapMaterial = null; + } + if (curveTex) + { + DestroyImmediate(curveTex); + curveTex = null; + } + } + + + private bool CreateInternalRenderTexture() + { + if (rt) + { + return false; + } + rtFormat = SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.RGHalf) ? RenderTextureFormat.RGHalf : RenderTextureFormat.ARGBHalf; + rt = new RenderTexture(1, 1, 0, rtFormat); + rt.hideFlags = HideFlags.DontSave; + return true; + } + + + // attribute indicates that the image filter chain will continue in LDR + [ImageEffectTransformsToLDR] + private void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (CheckResources() == false) + { + Graphics.Blit(source, destination); + return; + } + +#if UNITY_EDITOR + validRenderTextureFormat = true; + if (source.format != RenderTextureFormat.ARGBHalf) + { + validRenderTextureFormat = false; + } +#endif + + // clamp some values to not go out of a valid range + + exposureAdjustment = exposureAdjustment < 0.001f ? 0.001f : exposureAdjustment; + + // SimpleReinhard tonemappers (local, non adaptive) + + if (type == TonemapperType.UserCurve) + { + float rangeScale = UpdateCurve(); + tonemapMaterial.SetFloat("_RangeScale", rangeScale); + tonemapMaterial.SetTexture("_Curve", curveTex); + Graphics.Blit(source, destination, tonemapMaterial, 4); + return; + } + + if (type == TonemapperType.SimpleReinhard) + { + tonemapMaterial.SetFloat("_ExposureAdjustment", exposureAdjustment); + Graphics.Blit(source, destination, tonemapMaterial, 6); + return; + } + + if (type == TonemapperType.Hable) + { + tonemapMaterial.SetFloat("_ExposureAdjustment", exposureAdjustment); + Graphics.Blit(source, destination, tonemapMaterial, 5); + return; + } + + if (type == TonemapperType.Photographic) + { + tonemapMaterial.SetFloat("_ExposureAdjustment", exposureAdjustment); + Graphics.Blit(source, destination, tonemapMaterial, 8); + return; + } + + if (type == TonemapperType.OptimizedHejiDawson) + { + tonemapMaterial.SetFloat("_ExposureAdjustment", 0.5f*exposureAdjustment); + Graphics.Blit(source, destination, tonemapMaterial, 7); + return; + } + + // still here? + // => adaptive tone mapping: + // builds an average log luminance, tonemaps according to + // middle grey and white values (user controlled) + + // AdaptiveReinhardAutoWhite will calculate white value automagically + + bool freshlyBrewedInternalRt = CreateInternalRenderTexture(); // this retrieves rtFormat, so should happen before rt allocations + + RenderTexture rtSquared = RenderTexture.GetTemporary((int) adaptiveTextureSize, (int) adaptiveTextureSize, 0, rtFormat); + Graphics.Blit(source, rtSquared); + + int downsample = (int) Mathf.Log(rtSquared.width*1.0f, 2); + + int div = 2; + var rts = new RenderTexture[downsample]; + for (int i = 0; i < downsample; i++) + { + rts[i] = RenderTexture.GetTemporary(rtSquared.width/div, rtSquared.width/div, 0, rtFormat); + div *= 2; + } + + // downsample pyramid + + var lumRt = rts[downsample - 1]; + Graphics.Blit(rtSquared, rts[0], tonemapMaterial, 1); + if (type == TonemapperType.AdaptiveReinhardAutoWhite) + { + for (int i = 0; i < downsample - 1; i++) + { + Graphics.Blit(rts[i], rts[i + 1], tonemapMaterial, 9); + lumRt = rts[i + 1]; + } + } + else if (type == TonemapperType.AdaptiveReinhard) + { + for (int i = 0; i < downsample - 1; i++) + { + Graphics.Blit(rts[i], rts[i + 1]); + lumRt = rts[i + 1]; + } + } + + // we have the needed values, let's apply adaptive tonemapping + + adaptionSpeed = adaptionSpeed < 0.001f ? 0.001f : adaptionSpeed; + tonemapMaterial.SetFloat("_AdaptionSpeed", adaptionSpeed); + + rt.MarkRestoreExpected(); // keeping luminance values between frames, RT restore expected + +#if UNITY_EDITOR + if (Application.isPlaying && !freshlyBrewedInternalRt) + Graphics.Blit(lumRt, rt, tonemapMaterial, 2); + else + Graphics.Blit(lumRt, rt, tonemapMaterial, 3); +#else + Graphics.Blit (lumRt, rt, tonemapMaterial, freshlyBrewedInternalRt ? 3 : 2); +#endif + + middleGrey = middleGrey < 0.001f ? 0.001f : middleGrey; + tonemapMaterial.SetVector("_HdrParams", new Vector4(middleGrey, middleGrey, middleGrey, white*white)); + tonemapMaterial.SetTexture("_SmallTex", rt); + if (type == TonemapperType.AdaptiveReinhard) + { + Graphics.Blit(source, destination, tonemapMaterial, 0); + } + else if (type == TonemapperType.AdaptiveReinhardAutoWhite) + { + Graphics.Blit(source, destination, tonemapMaterial, 10); + } + else + { + Debug.LogError("No valid adaptive tonemapper type found!"); + Graphics.Blit(source, destination); // at least we get the TransformToLDR effect + } + + // cleanup for adaptive + + for (int i = 0; i < downsample; i++) + { + RenderTexture.ReleaseTemporary(rts[i]); + } + RenderTexture.ReleaseTemporary(rtSquared); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Tonemapping.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Tonemapping.cs.meta new file mode 100644 index 0000000..4443b42 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Tonemapping.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: e50e925fb93c78246bf995d9dc3a2330 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - tonemapper: {fileID: 4800000, guid: 003377fc2620a44939dadde6fe3f8190, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Triangles.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Triangles.cs new file mode 100644 index 0000000..516bded --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Triangles.cs @@ -0,0 +1,112 @@ +using System; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace UnityStandardAssets.ImageEffects +{ + class Triangles + { + private static Mesh[] meshes; + private static int currentTris = 0; + + static bool HasMeshes() + { + if (meshes == null) + return false; + for (int i = 0; i < meshes.Length; i++) + if (null == meshes[i]) + return false; + + return true; + } + + static void Cleanup() + { + if (meshes == null) + return; + + for (int i = 0; i < meshes.Length; i++) + { + if (null != meshes[i]) + { + Object.DestroyImmediate(meshes[i]); + meshes[i] = null; + } + } + meshes = null; + } + + static Mesh[] GetMeshes(int totalWidth, int totalHeight) + { + if (HasMeshes() && (currentTris == (totalWidth * totalHeight))) + { + return meshes; + } + + int maxTris = 65000 / 3; + int totalTris = totalWidth * totalHeight; + currentTris = totalTris; + + int meshCount = Mathf.CeilToInt((1.0f * totalTris) / (1.0f * maxTris)); + + meshes = new Mesh[meshCount]; + + int i = 0; + int index = 0; + for (i = 0; i < totalTris; i += maxTris) + { + int tris = Mathf.FloorToInt(Mathf.Clamp((totalTris - i), 0, maxTris)); + + meshes[index] = GetMesh(tris, i, totalWidth, totalHeight); + index++; + } + + return meshes; + } + + static Mesh GetMesh(int triCount, int triOffset, int totalWidth, int totalHeight) + { + var mesh = new Mesh(); + mesh.hideFlags = HideFlags.DontSave; + + var verts = new Vector3[triCount * 3]; + var uvs = new Vector2[triCount * 3]; + var uvs2 = new Vector2[triCount * 3]; + var tris = new int[triCount * 3]; + + for (int i = 0; i < triCount; i++) + { + int i3 = i * 3; + int vertexWithOffset = triOffset + i; + + float x = Mathf.Floor(vertexWithOffset % totalWidth) / totalWidth; + float y = Mathf.Floor(vertexWithOffset / totalWidth) / totalHeight; + + Vector3 position = new Vector3(x * 2 - 1, y * 2 - 1, 1.0f); + + verts[i3 + 0] = position; + verts[i3 + 1] = position; + verts[i3 + 2] = position; + + uvs[i3 + 0] = new Vector2(0.0f, 0.0f); + uvs[i3 + 1] = new Vector2(1.0f, 0.0f); + uvs[i3 + 2] = new Vector2(0.0f, 1.0f); + + uvs2[i3 + 0] = new Vector2(x, y); + uvs2[i3 + 1] = new Vector2(x, y); + uvs2[i3 + 2] = new Vector2(x, y); + + tris[i3 + 0] = i3 + 0; + tris[i3 + 1] = i3 + 1; + tris[i3 + 2] = i3 + 2; + } + + mesh.vertices = verts; + mesh.triangles = tris; + mesh.uv = uvs; + mesh.uv2 = uvs2; + + return mesh; + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Triangles.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Triangles.cs.meta new file mode 100644 index 0000000..2ea56f0 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Triangles.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 18b91636de2ba3445913e4cf38528dc8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Twirl.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Twirl.cs new file mode 100644 index 0000000..a7b57e9 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Twirl.cs @@ -0,0 +1,22 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [AddComponentMenu("Image Effects/Displacement/Twirl")] + public class Twirl : ImageEffectBase + { + public Vector2 radius = new Vector2(0.3F,0.3F); + [Range(0.0f,360.0f)] + public float angle = 50; + public Vector2 center = new Vector2 (0.5F, 0.5F); + + + // Called by camera to apply image effect + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + ImageEffects.RenderDistortion (material, source, destination, angle, center, radius); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Twirl.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Twirl.cs.meta new file mode 100644 index 0000000..4b0b6c8 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Twirl.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bdda781cad112c75d0008dfa8d76c639 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - shader: {fileID: 4800000, guid: 641b781cad112c75d0008dfa8d76c639, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/VignetteAndChromaticAberration.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/VignetteAndChromaticAberration.cs new file mode 100644 index 0000000..e34321b --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/VignetteAndChromaticAberration.cs @@ -0,0 +1,114 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [RequireComponent (typeof(Camera))] + [AddComponentMenu ("Image Effects/Camera/Vignette and Chromatic Aberration")] + public class VignetteAndChromaticAberration : PostEffectsBase + { + public enum AberrationMode + { + Simple = 0, + Advanced = 1, + } + + + public AberrationMode mode = AberrationMode.Simple; + public float intensity = 0.036f; // intensity == 0 disables pre pass (optimization) + public float chromaticAberration = 0.2f; + public float axialAberration = 0.5f; + public float blur = 0.0f; // blur == 0 disables blur pass (optimization) + public float blurSpread = 0.75f; + public float luminanceDependency = 0.25f; + public float blurDistance = 2.5f; + public Shader vignetteShader; + public Shader separableBlurShader; + public Shader chromAberrationShader; + + + private Material m_VignetteMaterial; + private Material m_SeparableBlurMaterial; + private Material m_ChromAberrationMaterial; + + + public override bool CheckResources () + { + CheckSupport (false); + + m_VignetteMaterial = CheckShaderAndCreateMaterial (vignetteShader, m_VignetteMaterial); + m_SeparableBlurMaterial = CheckShaderAndCreateMaterial (separableBlurShader, m_SeparableBlurMaterial); + m_ChromAberrationMaterial = CheckShaderAndCreateMaterial (chromAberrationShader, m_ChromAberrationMaterial); + + if (!isSupported) + ReportAutoDisable (); + return isSupported; + } + + + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + if ( CheckResources () == false) + { + Graphics.Blit (source, destination); + return; + } + + int rtW = source.width; + int rtH = source.height; + + bool doPrepass = (Mathf.Abs(blur)>0.0f || Mathf.Abs(intensity)>0.0f); + + float widthOverHeight = (1.0f * rtW) / (1.0f * rtH); + const float oneOverBaseSize = 1.0f / 512.0f; + + RenderTexture color = null; + RenderTexture color2A = null; + + if (doPrepass) + { + color = RenderTexture.GetTemporary (rtW, rtH, 0, source.format); + + // Blur corners + if (Mathf.Abs (blur)>0.0f) + { + color2A = RenderTexture.GetTemporary (rtW / 2, rtH / 2, 0, source.format); + + Graphics.Blit (source, color2A, m_ChromAberrationMaterial, 0); + + for(int i = 0; i < 2; i++) + { // maybe make iteration count tweakable + m_SeparableBlurMaterial.SetVector ("offsets",new Vector4 (0.0f, blurSpread * oneOverBaseSize, 0.0f, 0.0f)); + RenderTexture color2B = RenderTexture.GetTemporary (rtW / 2, rtH / 2, 0, source.format); + Graphics.Blit (color2A, color2B, m_SeparableBlurMaterial); + RenderTexture.ReleaseTemporary (color2A); + + m_SeparableBlurMaterial.SetVector ("offsets",new Vector4 (blurSpread * oneOverBaseSize / widthOverHeight, 0.0f, 0.0f, 0.0f)); + color2A = RenderTexture.GetTemporary (rtW / 2, rtH / 2, 0, source.format); + Graphics.Blit (color2B, color2A, m_SeparableBlurMaterial); + RenderTexture.ReleaseTemporary (color2B); + } + } + + m_VignetteMaterial.SetFloat("_Intensity", (1.0f / (1.0f - intensity) - 1.0f)); // intensity for vignette + m_VignetteMaterial.SetFloat("_Blur", (1.0f / (1.0f - blur)) - 1.0f); // blur intensity + m_VignetteMaterial.SetTexture ("_VignetteTex", color2A); // blurred texture + + Graphics.Blit (source, color, m_VignetteMaterial, 0); // prepass blit: darken & blur corners + } + + m_ChromAberrationMaterial.SetFloat ("_ChromaticAberration", chromaticAberration); + m_ChromAberrationMaterial.SetFloat ("_AxialAberration", axialAberration); + m_ChromAberrationMaterial.SetVector ("_BlurDistance", new Vector2 (-blurDistance, blurDistance)); + m_ChromAberrationMaterial.SetFloat ("_Luminance", 1.0f/Mathf.Max(Mathf.Epsilon, luminanceDependency)); + + if (doPrepass) color.wrapMode = TextureWrapMode.Clamp; + else source.wrapMode = TextureWrapMode.Clamp; + Graphics.Blit (doPrepass ? color : source, destination, m_ChromAberrationMaterial, mode == AberrationMode.Advanced ? 2 : 1); + + RenderTexture.ReleaseTemporary (color); + RenderTexture.ReleaseTemporary (color2A); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/VignetteAndChromaticAberration.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/VignetteAndChromaticAberration.cs.meta new file mode 100644 index 0000000..6b6a813 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/VignetteAndChromaticAberration.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: dd6d4281e5d7cd44d8c6e38bc2c1b8d8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - vignetteShader: {fileID: 4800000, guid: 627943dc7a9a74286b70a4f694a0acd5, type: 3} + - separableBlurShader: {fileID: 4800000, guid: e97c14fbb5ea04c3a902cc533d7fc5d1, + type: 3} + - chromAberrationShader: {fileID: 4800000, guid: 2b4f29398d9484ccfa9fd220449f5eee, + type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Vortex.cs b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Vortex.cs new file mode 100644 index 0000000..8a2d866 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Vortex.cs @@ -0,0 +1,20 @@ +using System; +using UnityEngine; + +namespace UnityStandardAssets.ImageEffects +{ + [ExecuteInEditMode] + [AddComponentMenu("Image Effects/Displacement/Vortex")] + public class Vortex : ImageEffectBase + { + public Vector2 radius = new Vector2(0.4F,0.4F); + public float angle = 50; + public Vector2 center = new Vector2(0.5F, 0.5F); + + // Called by camera to apply image effect + void OnRenderImage (RenderTexture source, RenderTexture destination) + { + ImageEffects.RenderDistortion (material, source, destination, angle, center, radius); + } + } +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Scripts/Vortex.cs.meta b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Vortex.cs.meta new file mode 100644 index 0000000..f6b8089 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Scripts/Vortex.cs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a94b781cad112c75d0008dfa8d76c639 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - shader: {fileID: 4800000, guid: 708b781cad112c75d0008dfa8d76c639, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders.meta new file mode 100644 index 0000000..b68c7f9 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: b2145489f7c704db8acb14a52bddeee9 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlendModesOverlay.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlendModesOverlay.shader new file mode 100644 index 0000000..e76d027 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlendModesOverlay.shader @@ -0,0 +1,133 @@ +Shader "Hidden/BlendModesOverlay" { + Properties { + _MainTex ("Screen Blended", 2D) = "" {} + _Overlay ("Color", 2D) = "grey" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv[2] : TEXCOORD0; + }; + + sampler2D _Overlay; + sampler2D _MainTex; + + half _Intensity; + half4 _MainTex_TexelSize; + half4 _UV_Transform = half4(1, 0, 0, 1); + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + + o.uv[0] = float2( + dot(v.texcoord.xy, _UV_Transform.xy), + dot(v.texcoord.xy, _UV_Transform.zw) + ); + + #if UNITY_UV_STARTS_AT_TOP + if(_MainTex_TexelSize.y<0.0) + o.uv[0].y = 1.0-o.uv[0].y; + #endif + + o.uv[1] = v.texcoord.xy; + return o; + } + + half4 fragAddSub (v2f i) : SV_Target { + half4 toAdd = tex2D(_Overlay, i.uv[0]) * _Intensity; + return tex2D(_MainTex, i.uv[1]) + toAdd; + } + + half4 fragMultiply (v2f i) : SV_Target { + half4 toBlend = tex2D(_Overlay, i.uv[0]) * _Intensity; + return tex2D(_MainTex, i.uv[1]) * toBlend; + } + + half4 fragScreen (v2f i) : SV_Target { + half4 toBlend = (tex2D(_Overlay, i.uv[0]) * _Intensity); + return 1-(1-toBlend)*(1-(tex2D(_MainTex, i.uv[1]))); + } + + half4 fragOverlay (v2f i) : SV_Target { + half4 m = (tex2D(_Overlay, i.uv[0]));// * 255.0; + half4 color = (tex2D(_MainTex, i.uv[1]));//* 255.0; + + // overlay blend mode + //color.rgb = (color.rgb/255.0) * (color.rgb + ((2*m.rgb)/( 255.0 )) * (255.0-color.rgb)); + //color.rgb /= 255.0; + + /* +if (Target > ½) R = 1 - (1-2x(Target-½)) x (1-Blend) +if (Target <= ½) R = (2xTarget) x Blend + */ + + float3 check = step(0.5, color.rgb); + float3 result = 0; + + result = check * (half3(1,1,1) - ( (half3(1,1,1) - 2*(color.rgb-0.5)) * (1-m.rgb))); + result += (1-check) * (2*color.rgb) * m.rgb; + + return half4(lerp(color.rgb, result.rgb, (_Intensity)), color.a); + } + + half4 fragAlphaBlend (v2f i) : SV_Target { + half4 toAdd = tex2D(_Overlay, i.uv[0]) ; + return lerp(tex2D(_MainTex, i.uv[1]), toAdd, toAdd.a * _Intensity); + } + + + ENDCG + +Subshader { + ZTest Always Cull Off ZWrite Off + ColorMask RGB + + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragAddSub + ENDCG + } + + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragScreen + ENDCG + } + + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragMultiply + ENDCG + } + + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragOverlay + ENDCG + } + + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragAlphaBlend + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlendModesOverlay.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlendModesOverlay.shader.meta new file mode 100644 index 0000000..ebf8628 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlendModesOverlay.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 8c81db0e527d24acc9bcec04e87781bd +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlurEffectConeTaps.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlurEffectConeTaps.shader new file mode 100644 index 0000000..2328b7c --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlurEffectConeTaps.shader @@ -0,0 +1,42 @@ +Shader "Hidden/BlurEffectConeTap" { + Properties { _MainTex ("", any) = "" {} } + CGINCLUDE + #include "UnityCG.cginc" + struct v2f { + float4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + half2 taps[4] : TEXCOORD1; + }; + sampler2D _MainTex; + half4 _MainTex_TexelSize; + half4 _BlurOffsets; + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord - _BlurOffsets.xy * _MainTex_TexelSize.xy; // hack, see BlurEffect.cs for the reason for this. let's make a new blur effect soon + o.taps[0] = o.uv + _MainTex_TexelSize * _BlurOffsets.xy; + o.taps[1] = o.uv - _MainTex_TexelSize * _BlurOffsets.xy; + o.taps[2] = o.uv + _MainTex_TexelSize * _BlurOffsets.xy * half2(1,-1); + o.taps[3] = o.uv - _MainTex_TexelSize * _BlurOffsets.xy * half2(1,-1); + return o; + } + half4 frag(v2f i) : SV_Target { + half4 color = tex2D(_MainTex, i.taps[0]); + color += tex2D(_MainTex, i.taps[1]); + color += tex2D(_MainTex, i.taps[2]); + color += tex2D(_MainTex, i.taps[3]); + return color * 0.25; + } + ENDCG + SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + ENDCG + } + } + Fallback off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlurEffectConeTaps.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlurEffectConeTaps.shader.meta new file mode 100644 index 0000000..5d9fd5e --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/BlurEffectConeTaps.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 57e6deea7c2924e22a5138e2b70bb4dc +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/CameraMotionBlur.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/CameraMotionBlur.shader new file mode 100644 index 0000000..355f62b --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/CameraMotionBlur.shader @@ -0,0 +1,516 @@ + /* + CAMERA MOTION BLUR IMAGE EFFECTS + + Reconstruction Filter: + Based on "Plausible Motion Blur" + http://graphics.cs.williams.edu/papers/MotionBlurI3D12/ + + CameraMotion: + Based on Alex Vlacho's technique in + http://www.valvesoftware.com/publications/2008/GDC2008_PostProcessingInTheOrangeBox.pdf + + SimpleBlur: + Straightforward sampling along velocities + + ScatterFromGather: + Combines Reconstruction with depth of field type defocus + */ + + Shader "Hidden/CameraMotionBlur" { + Properties { + _MainTex ("-", 2D) = "" {} + _NoiseTex ("-", 2D) = "grey" {} + _VelTex ("-", 2D) = "black" {} + _NeighbourMaxTex ("-", 2D) = "black" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + // 's' in paper (# of samples for reconstruction) + #define NUM_SAMPLES (11) + // # samples for valve style blur + #define MOTION_SAMPLES (16) + // 'k' in paper + float _MaxRadiusOrKInPaper; + + static const int SmallDiscKernelSamples = 12; + static const float2 SmallDiscKernel[SmallDiscKernelSamples] = + { + float2(-0.326212,-0.40581), + float2(-0.840144,-0.07358), + float2(-0.695914,0.457137), + float2(-0.203345,0.620716), + float2(0.96234,-0.194983), + float2(0.473434,-0.480026), + float2(0.519456,0.767022), + float2(0.185461,-0.893124), + float2(0.507431,0.064425), + float2(0.89642,0.412458), + float2(-0.32194,-0.932615), + float2(-0.791559,-0.59771) + }; + + struct v2f + { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MainTex; + sampler2D_float _CameraDepthTexture; + sampler2D _VelTex; + sampler2D _NeighbourMaxTex; + sampler2D _NoiseTex; + sampler2D _TileTexDebug; + + float4 _MainTex_TexelSize; + float4 _CameraDepthTexture_TexelSize; + float4 _VelTex_TexelSize; + + float4x4 _InvViewProj; // inverse view-projection matrix + float4x4 _PrevViewProj; // previous view-projection matrix + float4x4 _ToPrevViewProjCombined; // combined + + float _Jitter; + + float _VelocityScale; + float _DisplayVelocityScale; + + float _MaxVelocity; + float _MinVelocity; + + float4 _BlurDirectionPacked; + + float _SoftZDistance; + + v2f vert(appdata_img v) + { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + return o; + } + + float4 CameraVelocity(v2f i) : SV_Target + { + float2 depth_uv = i.uv; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + depth_uv.y = 1 - depth_uv.y; + #endif + + // read depth + float d = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, depth_uv); + + // calculate position from pixel from depth + float3 clipPos = float3(i.uv.x*2.0-1.0, (i.uv.y)*2.0-1.0, d); + + // only 1 matrix mul: + float4 prevClipPos = mul(_ToPrevViewProjCombined, float4(clipPos, 1.0)); + prevClipPos.xyz /= prevClipPos.w; + + /* + float4 ws = mul(_InvViewProj, float4(clipPos, 1.0)); + ws /= ws.w; + prevClipPos = mul(_PrevViewProj,ws); + prevClipPos.xyz /= prevClipPos.w; + */ + + /* + float2 vel = _VelocityScale *(clipPos.xy - prevClipPos.xy) / 2.f; + // clamp to maximum velocity (in pixels) + float maxVel = length(_MainTex_TexelSize.xy*_MaxVelocity); + if (length(vel) > maxVel) { + vel = normalize(vel) * maxVel; + } + return float4(vel, 0.0, 0.0); + */ + + float2 vel = _MainTex_TexelSize.zw * _VelocityScale * (clipPos.xy - prevClipPos.xy) / 2.f; + float vellen = length(vel); + float maxVel = _MaxVelocity; + float2 velOut = vel * max(0.5, min(vellen, maxVel)) / (vellen + 1e-2f); + velOut *= _MainTex_TexelSize.xy; + return float4(velOut, 0.0, 0.0); + + } + + // vector with largest magnitude + float2 vmax(float2 a, float2 b) + { + float ma = dot(a, a); + float mb = dot(b, b); + return (ma > mb) ? a : b; + } + + // find dominant velocity for each tile + float4 TileMax(v2f i) : SV_Target + { + float2 uvCorner = i.uv - _MainTex_TexelSize.xy * (_MaxRadiusOrKInPaper * 0.5); + float2 maxvel = float2(0,0); + float4 baseUv = float4(uvCorner,0,0); + float4 uvScale = float4(_MainTex_TexelSize.xy, 0, 0); + + for(int l=0; l<(int)_MaxRadiusOrKInPaper; l++) + { + for(int k=0; k<(int)_MaxRadiusOrKInPaper; k++) + { + maxvel = vmax(maxvel, tex2Dlod(_MainTex, baseUv + float4(l,k,0,0) * uvScale).xy); + } + } + return float4(maxvel, 0, 1); + } + + // find maximum velocity in any adjacent tile + float4 NeighbourMax(v2f i) : SV_Target + { + float2 x_ = i.uv; + + // to fetch all neighbours, we need 3x3 point filtered samples + + float2 nx = tex2D(_MainTex, x_+float2(1.0, 1.0)*_MainTex_TexelSize.xy).xy; + nx = vmax(nx, tex2D(_MainTex, x_+float2(1.0, 0.0)*_MainTex_TexelSize.xy).xy); + nx = vmax(nx, tex2D(_MainTex, x_+float2(1.0,-1.0)*_MainTex_TexelSize.xy).xy); + nx = vmax(nx, tex2D(_MainTex, x_+float2(0.0, 1.0)*_MainTex_TexelSize.xy).xy); + nx = vmax(nx, tex2D(_MainTex, x_+float2(0.0, 0.0)*_MainTex_TexelSize.xy).xy); + nx = vmax(nx, tex2D(_MainTex, x_+float2(0.0,-1.0)*_MainTex_TexelSize.xy).xy); + nx = vmax(nx, tex2D(_MainTex, x_+float2(-1.0, 1.0)*_MainTex_TexelSize.xy).xy); + nx = vmax(nx, tex2D(_MainTex, x_+float2(-1.0, 0.0)*_MainTex_TexelSize.xy).xy); + nx = vmax(nx, tex2D(_MainTex, x_+float2(-1.0,-1.0)*_MainTex_TexelSize.xy).xy); + + return float4(nx, 0, 0); + } + + float4 Debug(v2f i) : SV_Target + { + return saturate( float4(tex2D(_MainTex, i.uv).x,abs(tex2D(_MainTex, i.uv).y),-tex2D(_MainTex, i.uv).xy) * _DisplayVelocityScale); + } + + // classification filters + float cone(float2 px, float2 py, float2 v) + { + return clamp(1.0 - (length(px - py) / length(v)), 0.0, 1.0); + } + + float cylinder(float2 x, float2 y, float2 v) + { + float lv = length(v); + return 1.0 - smoothstep(0.95*lv, 1.05*lv, length(x - y)); + } + + // is zb closer than za? + float softDepthCompare(float za, float zb) + { + return clamp(1.0 - (za - zb) / _SoftZDistance, 0.0, 1.0); + } + + float4 SimpleBlur (v2f i) : SV_Target + { + float2 x = i.uv; + float2 xf = x; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + xf.y = 1 - xf.y; + #endif + + float2 vx = tex2D(_VelTex, xf).xy; // vel at x + + float4 sum = float4(0, 0, 0, 0); + for(int l=0; l _MaxVelocity) { + blurDir *= (_MaxVelocity / velMag); + velMag = _MaxVelocity; + } + + float4 centerTap = tex2D(_MainTex, x); + float4 sum = centerTap; + + blurDir *= smoothstep(_MinVelocity * 0.25f, _MinVelocity * 2.5, velMag); + + blurDir *= _MainTex_TexelSize.xy; + blurDir /= MOTION_SAMPLES; + + for(int i=0; i mb) ? a : b; + } + + // find dominant velocity in each tile + float4 TileMax(v2f i) : SV_Target + { + float2 tilemax = float2(0.0, 0.0); + float2 srcPos = i.uv - _MainTex_TexelSize.xy * _MaxRadiusOrKInPaper * 0.5; + + for(int y=0; y<(int)_MaxRadiusOrKInPaper; y++) { + for(int x=0; x<(int)_MaxRadiusOrKInPaper; x++) { + float2 v = tex2D(_MainTex, srcPos + float2(x,y) * _MainTex_TexelSize.xy).xy; + tilemax = vmax(tilemax, v); + } + } + return float4(tilemax, 0, 1); + } + + // find maximum velocity in any adjacent tile + float4 NeighbourMax(v2f i) : SV_Target + { + float2 maxvel = float2(0.0, 0.0); + for(int y=-1; y<=1; y++) { + for(int x=-1; x<=1; x++) { + float2 v = tex2D(_MainTex, i.uv + float2(x,y) * _MainTex_TexelSize.xy).xy; + maxvel = vmax(maxvel, v); + } + } + return float4(maxvel, 0, 1); + } + + float cone(float2 px, float2 py, float2 v) + { + return clamp(1.0 - (length(px - py) / length(v)), 0.0, 1.0); + } + + float cylinder(float2 x, float2 y, float2 v) + { + float lv = length(v); + return 1.0 - smoothstep(0.95*lv, 1.05*lv, length(x - y)); + } + + float softDepthCompare(float za, float zb) + { + return clamp(1.0 - (za - zb) / _SoftZDistance, 0.0, 1.0); + } + + float4 ReconstructFilterBlur(v2f i) : SV_Target + { + float2 x = i.uv; + float2 xf = x; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + xf.y = 1-xf.y; + #endif + + float2 x2 = xf; + + float2 vn = tex2D(_NeighbourMaxTex, x2).xy; // largest velocity in neighbourhood + float4 cx = tex2D(_MainTex, x); // color at x + + float zx = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, x); + zx = -Linear01Depth(zx); // depth at x + float2 vx = tex2D(_VelTex, xf).xy; // vel at x + + // random offset [-0.5, 0.5] + float j = (tex2D(_NoiseTex, i.uv * 11.0f ).r*2-1) * _Jitter; + + // sample current pixel + float weight = 1.0; + float4 sum = cx * weight; + + int centerSample = (int)(NUM_SAMPLES-1) / 2; + + // in DX11 county we take more samples and interleave with sampling along vx direction to break up "patternized" look + + for(int l=0; l0.99999) + return half4(1,1,1,1); + else + return EncodeFloatRGBA(d); + } + + ENDCG + +Subshader { + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/ConvertDepth.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/ConvertDepth.shader.meta new file mode 100644 index 0000000..8b325fa --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/ConvertDepth.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 14768d3865b1342e3a861fbe19ba2db2 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/CreaseApply.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/CreaseApply.shader new file mode 100644 index 0000000..2c8af5d --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/CreaseApply.shader @@ -0,0 +1,61 @@ + + +Shader "Hidden/CreaseApply" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _HrDepthTex ("Base (RGB)", 2D) = "white" {} + _LrDepthTex ("Base (RGB)", 2D) = "white" {} +} + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM +#pragma vertex vert +#pragma fragment frag +#include "UnityCG.cginc" + +sampler2D _MainTex; +sampler2D _HrDepthTex; +sampler2D _LrDepthTex; + +uniform float4 _MainTex_TexelSize; + +uniform float intensity; + +struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; +}; + +v2f vert( appdata_img v ) +{ + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv.xy = v.texcoord.xy; + return o; +} + +half4 frag (v2f i) : SV_Target +{ + float4 hrDepth = tex2D(_HrDepthTex, i.uv); + float4 lrDepth = tex2D(_LrDepthTex, i.uv); + + hrDepth.a = DecodeFloatRGBA(hrDepth); + lrDepth.a = DecodeFloatRGBA(lrDepth); + + float4 color = tex2D(_MainTex, i.uv); + + return color * (1.0-abs(hrDepth.a-lrDepth.a)*intensity); +} + +ENDCG + + + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/CreaseApply.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/CreaseApply.shader.meta new file mode 100644 index 0000000..648c60a --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/CreaseApply.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: b59984d82af624bd3b0c777f038276f2 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/EdgeDetectNormals.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/EdgeDetectNormals.shader new file mode 100644 index 0000000..cef4bce --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/EdgeDetectNormals.shader @@ -0,0 +1,325 @@ + +Shader "Hidden/EdgeDetect" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv[5] : TEXCOORD0; + }; + + struct v2fd { + float4 pos : SV_POSITION; + float2 uv[2] : TEXCOORD0; + }; + + sampler2D _MainTex; + uniform float4 _MainTex_TexelSize; + + sampler2D _CameraDepthNormalsTexture; + sampler2D_float _CameraDepthTexture; + + uniform half4 _Sensitivity; + uniform half4 _BgColor; + uniform half _BgFade; + uniform half _SampleDistance; + uniform float _Exponent; + + uniform float _Threshold; + + struct v2flum { + float4 pos : SV_POSITION; + float2 uv[3] : TEXCOORD0; + }; + + v2flum vertLum (appdata_img v) + { + v2flum o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + float2 uv = MultiplyUV( UNITY_MATRIX_TEXTURE0, v.texcoord ); + o.uv[0] = uv; + o.uv[1] = uv + float2(-_MainTex_TexelSize.x, -_MainTex_TexelSize.y) * _SampleDistance; + o.uv[2] = uv + float2(+_MainTex_TexelSize.x, -_MainTex_TexelSize.y) * _SampleDistance; + return o; + } + + + fixed4 fragLum (v2flum i) : SV_Target + { + fixed4 original = tex2D(_MainTex, i.uv[0]); + + // a very simple cross gradient filter + + half3 p1 = original.rgb; + half3 p2 = tex2D(_MainTex, i.uv[1]).rgb; + half3 p3 = tex2D(_MainTex, i.uv[2]).rgb; + + half3 diff = p1 * 2 - p2 - p3; + half len = dot(diff, diff); + len = step(len, _Threshold); + //if(len >= _Threshold) + // original.rgb = 0; + + return len * lerp(original, _BgColor, _BgFade); + } + + inline half CheckSame (half2 centerNormal, float centerDepth, half4 theSample) + { + // difference in normals + // do not bother decoding normals - there's no need here + half2 diff = abs(centerNormal - theSample.xy) * _Sensitivity.y; + int isSameNormal = (diff.x + diff.y) * _Sensitivity.y < 0.1; + // difference in depth + float sampleDepth = DecodeFloatRG (theSample.zw); + float zdiff = abs(centerDepth-sampleDepth); + // scale the required threshold by the distance + int isSameDepth = zdiff * _Sensitivity.x < 0.09 * centerDepth; + + // return: + // 1 - if normals and depth are similar enough + // 0 - otherwise + + return isSameNormal * isSameDepth ? 1.0 : 0.0; + } + + v2f vertRobert( appdata_img v ) + { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + + float2 uv = v.texcoord.xy; + o.uv[0] = uv; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + uv.y = 1-uv.y; + #endif + + // calc coord for the X pattern + // maybe nicer TODO for the future: 'rotated triangles' + + o.uv[1] = uv + _MainTex_TexelSize.xy * half2(1,1) * _SampleDistance; + o.uv[2] = uv + _MainTex_TexelSize.xy * half2(-1,-1) * _SampleDistance; + o.uv[3] = uv + _MainTex_TexelSize.xy * half2(-1,1) * _SampleDistance; + o.uv[4] = uv + _MainTex_TexelSize.xy * half2(1,-1) * _SampleDistance; + + return o; + } + + v2f vertThin( appdata_img v ) + { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + float2 uv = v.texcoord.xy; + o.uv[0] = uv; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + uv.y = 1-uv.y; + #endif + + o.uv[1] = uv; + o.uv[4] = uv; + + // offsets for two additional samples + o.uv[2] = uv + float2(-_MainTex_TexelSize.x, -_MainTex_TexelSize.y) * _SampleDistance; + o.uv[3] = uv + float2(+_MainTex_TexelSize.x, -_MainTex_TexelSize.y) * _SampleDistance; + + return o; + } + + v2fd vertD( appdata_img v ) + { + v2fd o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + float2 uv = v.texcoord.xy; + o.uv[0] = uv; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + uv.y = 1-uv.y; + #endif + + o.uv[1] = uv; + + return o; + } + + float4 fragDCheap(v2fd i) : SV_Target + { + // inspired by borderlands implementation of popular "sobel filter" + + float centerDepth = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv[1])); + float4 depthsDiag; + float4 depthsAxis; + + float2 uvDist = _SampleDistance * _MainTex_TexelSize.xy; + + depthsDiag.x = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]+uvDist)); // TR + depthsDiag.y = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]+uvDist*float2(-1,1))); // TL + depthsDiag.z = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]-uvDist*float2(-1,1))); // BR + depthsDiag.w = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]-uvDist)); // BL + + depthsAxis.x = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]+uvDist*float2(0,1))); // T + depthsAxis.y = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]-uvDist*float2(1,0))); // L + depthsAxis.z = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]+uvDist*float2(1,0))); // R + depthsAxis.w = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]-uvDist*float2(0,1))); // B + + depthsDiag -= centerDepth; + depthsAxis /= centerDepth; + + const float4 HorizDiagCoeff = float4(1,1,-1,-1); + const float4 VertDiagCoeff = float4(-1,1,-1,1); + const float4 HorizAxisCoeff = float4(1,0,0,-1); + const float4 VertAxisCoeff = float4(0,1,-1,0); + + float4 SobelH = depthsDiag * HorizDiagCoeff + depthsAxis * HorizAxisCoeff; + float4 SobelV = depthsDiag * VertDiagCoeff + depthsAxis * VertAxisCoeff; + + float SobelX = dot(SobelH, float4(1,1,1,1)); + float SobelY = dot(SobelV, float4(1,1,1,1)); + float Sobel = sqrt(SobelX * SobelX + SobelY * SobelY); + + Sobel = 1.0-pow(saturate(Sobel), _Exponent); + return Sobel * lerp(tex2D(_MainTex, i.uv[0].xy), _BgColor, _BgFade); + } + + // pretty much also just a sobel filter, except for that edges "outside" the silhouette get discarded + // which makes it compatible with other depth based post fx + + float4 fragD(v2fd i) : SV_Target + { + // inspired by borderlands implementation of popular "sobel filter" + + float centerDepth = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv[1])); + float4 depthsDiag; + float4 depthsAxis; + + float2 uvDist = _SampleDistance * _MainTex_TexelSize.xy; + + depthsDiag.x = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]+uvDist)); // TR + depthsDiag.y = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]+uvDist*float2(-1,1))); // TL + depthsDiag.z = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]-uvDist*float2(-1,1))); // BR + depthsDiag.w = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]-uvDist)); // BL + + depthsAxis.x = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]+uvDist*float2(0,1))); // T + depthsAxis.y = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]-uvDist*float2(1,0))); // L + depthsAxis.z = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]+uvDist*float2(1,0))); // R + depthsAxis.w = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv[1]-uvDist*float2(0,1))); // B + + // make it work nicely with depth based image effects such as depth of field: + depthsDiag = (depthsDiag > centerDepth.xxxx) ? depthsDiag : centerDepth.xxxx; + depthsAxis = (depthsAxis > centerDepth.xxxx) ? depthsAxis : centerDepth.xxxx; + + depthsDiag -= centerDepth; + depthsAxis /= centerDepth; + + const float4 HorizDiagCoeff = float4(1,1,-1,-1); + const float4 VertDiagCoeff = float4(-1,1,-1,1); + const float4 HorizAxisCoeff = float4(1,0,0,-1); + const float4 VertAxisCoeff = float4(0,1,-1,0); + + float4 SobelH = depthsDiag * HorizDiagCoeff + depthsAxis * HorizAxisCoeff; + float4 SobelV = depthsDiag * VertDiagCoeff + depthsAxis * VertAxisCoeff; + + float SobelX = dot(SobelH, float4(1,1,1,1)); + float SobelY = dot(SobelV, float4(1,1,1,1)); + float Sobel = sqrt(SobelX * SobelX + SobelY * SobelY); + + Sobel = 1.0-pow(saturate(Sobel), _Exponent); + return Sobel * lerp(tex2D(_MainTex, i.uv[0].xy), _BgColor, _BgFade); + } + + half4 fragRobert(v2f i) : SV_Target { + half4 sample1 = tex2D(_CameraDepthNormalsTexture, i.uv[1].xy); + half4 sample2 = tex2D(_CameraDepthNormalsTexture, i.uv[2].xy); + half4 sample3 = tex2D(_CameraDepthNormalsTexture, i.uv[3].xy); + half4 sample4 = tex2D(_CameraDepthNormalsTexture, i.uv[4].xy); + + half edge = 1.0; + + edge *= CheckSame(sample1.xy, DecodeFloatRG(sample1.zw), sample2); + edge *= CheckSame(sample3.xy, DecodeFloatRG(sample3.zw), sample4); + + return edge * lerp(tex2D(_MainTex, i.uv[0]), _BgColor, _BgFade); + } + + half4 fragThin (v2f i) : SV_Target + { + half4 original = tex2D(_MainTex, i.uv[0]); + + half4 center = tex2D (_CameraDepthNormalsTexture, i.uv[1]); + half4 sample1 = tex2D (_CameraDepthNormalsTexture, i.uv[2]); + half4 sample2 = tex2D (_CameraDepthNormalsTexture, i.uv[3]); + + // encoded normal + half2 centerNormal = center.xy; + // decoded depth + float centerDepth = DecodeFloatRG (center.zw); + + half edge = 1.0; + + edge *= CheckSame(centerNormal, centerDepth, sample1); + edge *= CheckSame(centerNormal, centerDepth, sample2); + + return edge * lerp(original, _BgColor, _BgFade); + } + + ENDCG + +Subshader { + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vertThin + #pragma fragment fragThin + ENDCG + } + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vertRobert + #pragma fragment fragRobert + ENDCG + } + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma target 3.0 + #pragma vertex vertD + #pragma fragment fragDCheap + ENDCG + } + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma target 3.0 + #pragma vertex vertD + #pragma fragment fragD + ENDCG + } + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma target 3.0 + #pragma vertex vertLum + #pragma fragment fragLum + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/EdgeDetectNormals.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/EdgeDetectNormals.shader.meta new file mode 100644 index 0000000..328c9db --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/EdgeDetectNormals.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 0d1644bdf064147baa97f235fc5b4903 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/FisheyeShader.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/FisheyeShader.shader new file mode 100644 index 0000000..5338e2e --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/FisheyeShader.shader @@ -0,0 +1,58 @@ +Shader "Hidden/FisheyeShader" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + // Shader code pasted into all further CGPROGRAM blocks + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MainTex; + + float2 intensity; + + v2f vert( appdata_img v ) + { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + return o; + } + + half4 frag(v2f i) : SV_Target + { + half2 coords = i.uv; + coords = (coords - 0.5) * 2.0; + + half2 realCoordOffs; + realCoordOffs.x = (1-coords.y * coords.y) * intensity.y * (coords.x); + realCoordOffs.y = (1-coords.x * coords.x) * intensity.x * (coords.y); + + half4 color = tex2D (_MainTex, i.uv - realCoordOffs); + + return color; + } + + ENDCG + +Subshader { + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + ENDCG + } + +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/FisheyeShader.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/FisheyeShader.shader.meta new file mode 100644 index 0000000..8eb2318 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/FisheyeShader.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 874ceab4425f64bccb1d14032f4452b1 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/GlobalFog.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/GlobalFog.shader new file mode 100644 index 0000000..5cb17dc --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/GlobalFog.shader @@ -0,0 +1,186 @@ +Shader "Hidden/GlobalFog" { +Properties { + _MainTex ("Base (RGB)", 2D) = "black" {} +} + +CGINCLUDE + + #include "UnityCG.cginc" + + uniform sampler2D _MainTex; + uniform sampler2D_float _CameraDepthTexture; + + // x = fog height + // y = FdotC (CameraY-FogHeight) + // z = k (FdotC > 0.0) + // w = a/2 + uniform float4 _HeightParams; + + // x = start distance + uniform float4 _DistanceParams; + + int4 _SceneFogMode; // x = fog mode, y = use radial flag + float4 _SceneFogParams; + #ifndef UNITY_APPLY_FOG + half4 unity_FogColor; + half4 unity_FogDensity; + #endif + + uniform float4 _MainTex_TexelSize; + + // for fast world space reconstruction + uniform float4x4 _FrustumCornersWS; + uniform float4 _CameraWS; + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 uv_depth : TEXCOORD1; + float4 interpolatedRay : TEXCOORD2; + }; + + v2f vert (appdata_img v) + { + v2f o; + half index = v.vertex.z; + v.vertex.z = 0.1; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + o.uv_depth = v.texcoord.xy; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + o.uv.y = 1-o.uv.y; + #endif + + o.interpolatedRay = _FrustumCornersWS[(int)index]; + o.interpolatedRay.w = index; + + return o; + } + + // Applies one of standard fog formulas, given fog coordinate (i.e. distance) + half ComputeFogFactor (float coord) + { + float fogFac = 0.0; + if (_SceneFogMode.x == 1) // linear + { + // factor = (end-z)/(end-start) = z * (-1/(end-start)) + (end/(end-start)) + fogFac = coord * _SceneFogParams.z + _SceneFogParams.w; + } + if (_SceneFogMode.x == 2) // exp + { + // factor = exp(-density*z) + fogFac = _SceneFogParams.y * coord; fogFac = exp2(-fogFac); + } + if (_SceneFogMode.x == 3) // exp2 + { + // factor = exp(-(density*z)^2) + fogFac = _SceneFogParams.x * coord; fogFac = exp2(-fogFac*fogFac); + } + return saturate(fogFac); + } + + // Distance-based fog + float ComputeDistance (float3 camDir, float zdepth) + { + float dist; + if (_SceneFogMode.y == 1) + dist = length(camDir); + else + dist = zdepth * _ProjectionParams.z; + // Built-in fog starts at near plane, so match that by + // subtracting the near value. Not a perfect approximation + // if near plane is very large, but good enough. + dist -= _ProjectionParams.y; + return dist; + } + + // Linear half-space fog, from https://www.terathon.com/lengyel/Lengyel-UnifiedFog.pdf + float ComputeHalfSpace (float3 wsDir) + { + float3 wpos = _CameraWS + wsDir; + float FH = _HeightParams.x; + float3 C = _CameraWS; + float3 V = wsDir; + float3 P = wpos; + float3 aV = _HeightParams.w * V; + float FdotC = _HeightParams.y; + float k = _HeightParams.z; + float FdotP = P.y-FH; + float FdotV = wsDir.y; + float c1 = k * (FdotP + FdotC); + float c2 = (1-2*k) * FdotP; + float g = min(c2, 0.0); + g = -length(aV) * (c1 - g * g / abs(FdotV+1.0e-5f)); + return g; + } + + half4 ComputeFog (v2f i, bool distance, bool height) : SV_Target + { + half4 sceneColor = tex2D(_MainTex, i.uv); + + // Reconstruct world space position & direction + // towards this screen pixel. + float rawDepth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture,i.uv_depth); + float dpth = Linear01Depth(rawDepth); + float4 wsDir = dpth * i.interpolatedRay; + float4 wsPos = _CameraWS + wsDir; + + // Compute fog distance + float g = _DistanceParams.x; + if (distance) + g += ComputeDistance (wsDir, dpth); + if (height) + g += ComputeHalfSpace (wsDir); + + // Compute fog amount + half fogFac = ComputeFogFactor (max(0.0,g)); + // Do not fog skybox + if (rawDepth == _DistanceParams.y) + fogFac = 1.0; + //return fogFac; // for debugging + + // Lerp between fog color & original scene color + // by fog amount + return lerp (unity_FogColor, sceneColor, fogFac); + } + +ENDCG + +SubShader +{ + ZTest Always Cull Off ZWrite Off Fog { Mode Off } + + // 0: distance + height + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + half4 frag (v2f i) : SV_Target { return ComputeFog (i, true, true); } + ENDCG + } + // 1: distance + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + half4 frag (v2f i) : SV_Target { return ComputeFog (i, true, false); } + ENDCG + } + // 2: height + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + half4 frag (v2f i) : SV_Target { return ComputeFog (i, false, true); } + ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/GlobalFog.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/GlobalFog.shader.meta new file mode 100644 index 0000000..bcb93d2 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/GlobalFog.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 70d8568987ac0499f952b54c7c13e265 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/GrayscaleEffect.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/GrayscaleEffect.shader new file mode 100644 index 0000000..2d27c9d --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/GrayscaleEffect.shader @@ -0,0 +1,36 @@ +Shader "Hidden/Grayscale Effect" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _RampTex ("Base (RGB)", 2D) = "grayscaleRamp" {} +} + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM +#pragma vertex vert_img +#pragma fragment frag +#include "UnityCG.cginc" + +uniform sampler2D _MainTex; +uniform sampler2D _RampTex; +uniform half _RampOffset; + +fixed4 frag (v2f_img i) : SV_Target +{ + fixed4 original = tex2D(_MainTex, i.uv); + fixed grayscale = Luminance(original.rgb); + half2 remap = half2 (grayscale + _RampOffset, .5); + fixed4 output = tex2D(_RampTex, remap); + output.a = original.a; + return output; +} +ENDCG + + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/GrayscaleEffect.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/GrayscaleEffect.shader.meta new file mode 100644 index 0000000..5fbca77 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/GrayscaleEffect.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: daf9781cad112c75d0008dfa8d76c639 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlur.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlur.shader new file mode 100644 index 0000000..e00e988 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlur.shader @@ -0,0 +1,120 @@ +Shader "Hidden/MotionBlur" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _AccumOrig("AccumOrig", Float) = 0.65 +} + + SubShader { + ZTest Always Cull Off ZWrite Off + Pass { + Blend SrcAlpha OneMinusSrcAlpha + ColorMask RGB + BindChannels { + Bind "vertex", vertex + Bind "texcoord", texcoord + } + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD; + }; + + struct v2f { + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD; + }; + + float4 _MainTex_ST; + float _AccumOrig; + + v2f vert (appdata_t v) + { + v2f o; + o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + return o; + } + + sampler2D _MainTex; + + half4 frag (v2f i) : SV_Target + { + return half4(tex2D(_MainTex, i.texcoord).rgb, _AccumOrig ); + } + ENDCG + } + + Pass { + Blend One Zero + ColorMask A + + BindChannels { + Bind "vertex", vertex + Bind "texcoord", texcoord + } + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD; + }; + + struct v2f { + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD; + }; + + float4 _MainTex_ST; + + v2f vert (appdata_t v) + { + v2f o; + o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + return o; + } + + sampler2D _MainTex; + + half4 frag (v2f i) : SV_Target + { + return tex2D(_MainTex, i.texcoord); + } + ENDCG + } + + } + +SubShader { + ZTest Always Cull Off ZWrite Off + Pass { + Blend SrcAlpha OneMinusSrcAlpha + ColorMask RGB + SetTexture [_MainTex] { + ConstantColor (0,0,0,[_AccumOrig]) + Combine texture, constant + } + } + Pass { + Blend One Zero + ColorMask A + SetTexture [_MainTex] { + Combine texture + } + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlur.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlur.shader.meta new file mode 100644 index 0000000..281af89 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlur.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: e9ba2083ad114a07d000fbfb8d76c639 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlurClear.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlurClear.shader new file mode 100644 index 0000000..d448630 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlurClear.shader @@ -0,0 +1,58 @@ + +Shader "Hidden/MotionBlurClear" +{ + +Properties { } + +SubShader { +Pass { + //ZTest LEqual + ZTest Always // lame depth test + ZWrite Off // lame depth test + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct vs_input { + float4 vertex : POSITION; + }; + + struct ps_input { + float4 pos : SV_POSITION; + float4 screen : TEXCOORD0; + }; + + sampler2D_float _CameraDepthTexture; + + ps_input vert (vs_input v) + { + ps_input o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.screen = ComputeScreenPos(o.pos); + COMPUTE_EYEDEPTH(o.screen.z); + return o; + } + + float4 frag (ps_input i) : SV_Target + { + // superlame: manual depth test needed as we can't bind depth, FIXME for 4.x + // alternatively implement SM > 3 version where we write out custom depth + + float d = SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.screen)); + d = LinearEyeDepth(d); + + clip(d - i.screen.z + 1e-2f); + return float4(0, 0, 0, 0); + } + + ENDCG + + } +} + +Fallback Off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlurClear.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlurClear.shader.meta new file mode 100644 index 0000000..3e9e48f --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/MotionBlurClear.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 7699c5fbfa27745a1abe111ab7bf9785 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrain.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrain.shader new file mode 100644 index 0000000..cb93fe9 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrain.shader @@ -0,0 +1,156 @@ +Shader "Hidden/NoiseAndGrain" { + Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _NoiseTex ("Noise (RGB)", 2D) = "white" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + sampler2D _NoiseTex; + float4 _NoiseTex_TexelSize; + + uniform float4 _MainTex_TexelSize; + + uniform float3 _NoisePerChannel; + uniform float3 _NoiseTilingPerChannel; + uniform float3 _NoiseAmount; + uniform float3 _ThreshholdRGB; + uniform float3 _MidGrey; + + struct v2f + { + float4 pos : SV_POSITION; + float2 uv_screen : TEXCOORD0; + float4 uvRg : TEXCOORD1; + float2 uvB : TEXCOORD2; + }; + + struct appdata_img2 + { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + inline float3 Overlay(float3 m, float3 color) { + color = saturate(color); + float3 check = step(float3(0.5,0.5,0.5), color.rgb); + float3 result = check * (float3(1,1,1) - ((float3(1,1,1) - 2*(color.rgb-0.5)) * (1-m.rgb))); + result += (1-check) * (2*color.rgb) * m.rgb; + return result; + } + + v2f vert (appdata_img2 v) + { + v2f o; + + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + #if UNITY_UV_STARTS_AT_TOP + o.uv_screen = v.vertex.xyxy; + if (_MainTex_TexelSize.y < 0) + o.uv_screen.y = 1-o.uv_screen.y; + #else + o.uv_screen = v.vertex.xy; + #endif + + // different tiling for 3 channels + o.uvRg = v.texcoord.xyxy + v.texcoord1.xyxy * _NoiseTilingPerChannel.rrgg * _NoiseTex_TexelSize.xyxy; + o.uvB = v.texcoord.xy + v.texcoord1.xy * _NoiseTilingPerChannel.bb * _NoiseTex_TexelSize.xy; + + return o; + } + + float4 frag ( v2f i ) : SV_Target + { + float4 color = (tex2D (_MainTex, i.uv_screen.xy)); + + // black & white intensities + float2 blackWhiteCurve = Luminance(color.rgb) - _MidGrey.x; // maybe tweak middle grey + blackWhiteCurve.xy = saturate(blackWhiteCurve.xy * _MidGrey.yz); //float2(1.0/0.8, -1.0/0.2)); + + float finalIntensity = _NoiseAmount.x + max(0.0f, dot(_NoiseAmount.zy, blackWhiteCurve.xy)); + + // fetching & scaling noise (COMPILER BUG WORKAROUND) + float3 m = float3(0,0,0); + m += (tex2D(_NoiseTex, i.uvRg.xy) * float4(1,0,0,0)).rgb; + m += (tex2D(_NoiseTex, i.uvRg.zw) * float4(0,1,0,0)).rgb; + m += (tex2D(_NoiseTex, i.uvB.xy) * float4(0,0,1,0)).rgb; + + m = saturate(lerp(float3(0.5,0.5,0.5), m, _NoisePerChannel.rgb * float3(finalIntensity,finalIntensity,finalIntensity) )); + + return float4(Overlay(m, color.rgb), color.a); + } + + float4 fragTmp ( v2f i ) : SV_Target + { + float4 color = (tex2D (_MainTex, i.uv_screen.xy)); + + // black & white intensities + float2 blackWhiteCurve = Luminance(color.rgb) - _MidGrey.x; // maybe tweak middle grey + blackWhiteCurve.xy = saturate(blackWhiteCurve.xy * _MidGrey.yz); //float2(1.0/0.8, -1.0/0.2)); + + float finalIntensity = _NoiseAmount.x + max(0.0f, dot(_NoiseAmount.zy, blackWhiteCurve.xy)); + + // fetching & scaling noise (COMPILER BUG WORKAROUND) + float3 m = float3(0,0,0); + m += (tex2D(_NoiseTex, i.uvRg.xy) * float4(1,0,0,0)).rgb; + m += (tex2D(_NoiseTex, i.uvRg.zw) * float4(0,1,0,0)).rgb; + m += (tex2D(_NoiseTex, i.uvB.xy) * float4(0,0,1,0)).rgb; + + m = saturate(lerp(float3(0.5,0.5,0.5), m, _NoisePerChannel.rgb * float3(finalIntensity,finalIntensity,finalIntensity))); + + return float4(m.rgb, color.a); + } + + float4 fragOverlayBlend ( v2f i ) : SV_Target + { + float4 color = tex2D(_MainTex, i.uv_screen.xy); + float4 m = tex2D(_NoiseTex, i.uv_screen.xy); + + return float4(Overlay(m, color.rgb), color.a); + } + + ENDCG + + SubShader { + ZTest Always Cull Off ZWrite Off Blend Off + + Pass { + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + ENDCG + + } + + Pass { + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragOverlayBlend + + ENDCG + + } + + Pass { + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragTmp + + ENDCG + + } + } + FallBack Off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrain.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrain.shader.meta new file mode 100644 index 0000000..4f9286a --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrain.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: b0249d8c935344451aa4de6db76f0688 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrainDX11.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrainDX11.shader new file mode 100644 index 0000000..d0053eb --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrainDX11.shader @@ -0,0 +1,237 @@ +Shader "Hidden/NoiseAndGrainDX11" { + Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _NoiseTex ("Noise (RGB)", 2D) = "white" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + sampler2D _NoiseTex; + float4 _NoiseTex_TexelSize; + + uniform float4 _MainTex_TexelSize; + + uniform float3 _NoisePerChannel; + uniform float3 _NoiseTilingPerChannel; + uniform float3 _NoiseAmount; + uniform float3 _ThreshholdRGB; + uniform float3 _MidGrey; + uniform float _DX11NoiseTime; + + // DX11 noise helper functions, credit: rgba/iq + + int ihash(int n) + { + n = (n<<13)^n; + return (n*(n*n*15731+789221)+1376312589) & 2147483647; + } + + float frand(int n) + { + return ihash(n) / 2147483647.0; + } + + float cellNoise1f(int3 p) + { + return frand(p.z*65536 + p.y*256 + p.x);//*2.0-1.0; + } + + float3 cellNoise3f(int3 p) + { + int i = p.z*65536 + p.y*256 + p.x; + return float3(frand(i), frand(i + 57), frand(i + 113));//*2.0-1.0; + } + + struct v2f + { + float4 pos : SV_POSITION; + float2 uv_screen : TEXCOORD0; + float4 uvRg : TEXCOORD1; + float2 uvB : TEXCOORD2; + float2 uvOffsets : TEXCOORD4; + }; + + struct appdata_img2 + { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + }; + + inline float3 Overlay(float3 m, float3 color) { + float3 check = step(0.5, color.rgb); + float3 result = check * (float3(1,1,1) - ((float3(1,1,1) - 2*(color.rgb-0.5)) * (1-m.rgb))); + result += (1-check) * (2*color.rgb) * m.rgb; + return result; + } + + v2f vert (appdata_img2 v) + { + v2f o; + + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + #if UNITY_UV_STARTS_AT_TOP + o.uv_screen = v.vertex.xyxy; + if (_MainTex_TexelSize.y < 0) + o.uv_screen.y = 1-o.uv_screen.y; + #else + o.uv_screen = v.vertex.xy; + #endif + + // different tiling for 3 channels + o.uvRg = v.texcoord.xyxy + v.texcoord1.xyxy * _NoiseTilingPerChannel.rrgg * _NoiseTex_TexelSize.xyxy; + o.uvB = v.texcoord.xy + v.texcoord1.xy * _NoiseTilingPerChannel.bb * _NoiseTex_TexelSize.xy; + + o.uvOffsets = v.texcoord.xy; + + return o; + } + + float4 fragDX11 ( v2f i ) : SV_Target + { + float4 color = saturate(tex2D (_MainTex, i.uv_screen.xy)); + + // black & white intensities + float2 blackWhiteCurve = Luminance(color.rgb) - _MidGrey.x; // maybe tweak middle grey + blackWhiteCurve.xy = saturate(blackWhiteCurve.xy * _MidGrey.yz); //float2(1.0/0.8, -1.0/0.2)); + + float finalIntensity = _NoiseAmount.x + max(0.0f, dot(_NoiseAmount.zy, blackWhiteCurve.xy)); + + float3 m = cellNoise3f(float3( (i.uv_screen.xy + i.uvOffsets) * _MainTex_TexelSize.zw, _DX11NoiseTime)); + m = saturate(lerp(float3(0.5,0.5,0.5), m, _NoisePerChannel.rgb * finalIntensity)); + + return float4(Overlay(m, color.rgb), color.a); + } + + float4 fragDX11Monochrome ( v2f i ) : SV_Target + { + float4 color = saturate(tex2D (_MainTex, i.uv_screen.xy)); + + // black & white intensities + float2 blackWhiteCurve = Luminance(color.rgb) - _MidGrey.x; // maybe tweak middle grey + blackWhiteCurve.xy = saturate(blackWhiteCurve.xy * _MidGrey.yz); //float2(1.0/0.8, -1.0/0.2)); + + float finalIntensity = _NoiseAmount.x + max(0.0f, dot(_NoiseAmount.zy, blackWhiteCurve.xy)); + + float3 m = cellNoise1f(float3( (i.uv_screen.xy + i.uvOffsets) * _MainTex_TexelSize.zw, _DX11NoiseTime)); + m = saturate(lerp(float3(0.5,0.5,0.5), m, finalIntensity)); + + return float4(Overlay(m, color.rgb), color.a); + } + + float4 fragDX11Tmp ( v2f i ) : SV_Target + { + float4 color = saturate(tex2D (_MainTex, i.uv_screen.xy)); + + // black & white intensities + float2 blackWhiteCurve = Luminance(color.rgb) - _MidGrey.x; // maybe tweak middle grey + blackWhiteCurve.xy = saturate(blackWhiteCurve.xy * _MidGrey.yz); //float2(1.0/0.8, -1.0/0.2)); + + float finalIntensity = _NoiseAmount.x + max(0.0f, dot(_NoiseAmount.zy, blackWhiteCurve.xy)); + + float3 m = cellNoise3f(float3( (i.uv_screen.xy + i.uvOffsets) * _MainTex_TexelSize.zw, _DX11NoiseTime)); + m = saturate(lerp(float3(0.5,0.5,0.5), m, _NoisePerChannel.rgb * finalIntensity)); + + return float4(m.rgb, color.a); + } + + float4 fragDX11MonochromeTmp ( v2f i ) : SV_Target + { + float4 color = saturate(tex2D (_MainTex, i.uv_screen.xy)); + + // black & white intensities + float2 blackWhiteCurve = Luminance(color.rgb) - _MidGrey.x; // maybe tweak middle grey + blackWhiteCurve.xy = saturate(blackWhiteCurve.xy * _MidGrey.yz); //float2(1.0/0.8, -1.0/0.2)); + + float finalIntensity = _NoiseAmount.x + max(0.0f, dot(_NoiseAmount.zy, blackWhiteCurve.xy)); + + float3 m = cellNoise1f(float3( (i.uv_screen.xy + i.uvOffsets) * _MainTex_TexelSize.zw, _DX11NoiseTime)); + m = saturate(lerp(float3(0.5,0.5,0.5), m, finalIntensity)); + + return float4(m.rgb, color.a); + } + + float4 fragOverlayBlend ( v2f i ) : SV_Target + { + float4 color = saturate(tex2D (_MainTex, i.uv_screen.xy)); + float4 m = saturate(tex2D (_NoiseTex, i.uv_screen.xy)); + + return float4(Overlay(m, color.rgb), color.a); + } + + ENDCG + + SubShader { + ZTest Always Cull Off ZWrite Off Blend Off + + Pass { + + CGPROGRAM + + #pragma exclude_renderers gles xbox360 ps3 d3d9 + #pragma target 5.0 + #pragma vertex vert + #pragma fragment fragDX11 + + ENDCG + + } + + Pass { + + CGPROGRAM + + #pragma exclude_renderers gles xbox360 ps3 d3d9 + #pragma target 5.0 + #pragma vertex vert + #pragma fragment fragDX11Monochrome + + ENDCG + + } + + Pass { + + CGPROGRAM + + #pragma exclude_renderers gles xbox360 ps3 d3d9 + #pragma target 5.0 + #pragma vertex vert + #pragma fragment fragDX11Tmp + + ENDCG + + } + + Pass { + + CGPROGRAM + + #pragma exclude_renderers gles xbox360 ps3 d3d9 + #pragma target 5.0 + #pragma vertex vert + #pragma fragment fragDX11MonochromeTmp + + ENDCG + + } + + Pass { + + CGPROGRAM + + #pragma exclude_renderers gles xbox360 ps3 d3d9 + #pragma target 5.0 + #pragma vertex vert + #pragma fragment fragOverlayBlend + + ENDCG + + } + } + FallBack Off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrainDX11.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrainDX11.shader.meta new file mode 100644 index 0000000..829e8e3 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseAndGrainDX11.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 8b30686bb4322ab42ad5eb50a0210b58 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderRGB.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderRGB.shader new file mode 100644 index 0000000..2c4a148 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderRGB.shader @@ -0,0 +1,62 @@ +Shader "Hidden/Noise Shader RGB" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _GrainTex ("Base (RGB)", 2D) = "gray" {} + _ScratchTex ("Base (RGB)", 2D) = "gray" {} +} + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM +#pragma vertex vert +#pragma fragment frag +#include "UnityCG.cginc" + +struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 uvg : TEXCOORD1; // grain + float2 uvs : TEXCOORD2; // scratch +}; + +uniform sampler2D _MainTex; +uniform sampler2D _GrainTex; +uniform sampler2D _ScratchTex; + +uniform float4 _GrainOffsetScale; +uniform float4 _ScratchOffsetScale; +uniform fixed4 _Intensity; // x=grain, y=scratch + +v2f vert (appdata_img v) +{ + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv = MultiplyUV (UNITY_MATRIX_TEXTURE0, v.texcoord); + o.uvg = v.texcoord.xy * _GrainOffsetScale.zw + _GrainOffsetScale.xy; + o.uvs = v.texcoord.xy * _ScratchOffsetScale.zw + _ScratchOffsetScale.xy; + return o; +} + +fixed4 frag (v2f i) : SV_Target +{ + fixed4 col = tex2D(_MainTex, i.uv); + + // sample noise texture and do a signed add + fixed3 grain = tex2D(_GrainTex, i.uvg).rgb * 2 - 1; + col.rgb += grain * _Intensity.x; + + // sample scratch texture and do a signed add + fixed3 scratch = tex2D(_ScratchTex, i.uvs).rgb * 2 - 1; + col.rgb += scratch * _Intensity.y; + + return col; +} +ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderRGB.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderRGB.shader.meta new file mode 100644 index 0000000..e11fb85 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderRGB.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 5d7f4c401ae8946bcb0d6ff68a9e7466 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderYUV.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderYUV.shader new file mode 100644 index 0000000..29d0845 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderYUV.shader @@ -0,0 +1,73 @@ +Shader "Hidden/Noise Shader YUV" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _GrainTex ("Base (RGB)", 2D) = "gray" {} + _ScratchTex ("Base (RGB)", 2D) = "gray" {} +} + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM +#pragma vertex vert +#pragma fragment frag +#include "UnityCG.cginc" + +struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 uvg : TEXCOORD1; // grain + float2 uvs : TEXCOORD2; // scratch +}; + +uniform sampler2D _MainTex; +uniform sampler2D _GrainTex; +uniform sampler2D _ScratchTex; + +uniform float4 _GrainOffsetScale; +uniform float4 _ScratchOffsetScale; +uniform fixed4 _Intensity; // x=grain, y=scratch + +v2f vert (appdata_img v) +{ + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv = MultiplyUV (UNITY_MATRIX_TEXTURE0, v.texcoord); + o.uvg = v.texcoord.xy * _GrainOffsetScale.zw + _GrainOffsetScale.xy; + o.uvs = v.texcoord.xy * _ScratchOffsetScale.zw + _ScratchOffsetScale.xy; + return o; +} + +fixed4 frag (v2f i) : SV_Target +{ + fixed4 col = tex2D(_MainTex, i.uv); + + // convert to YUV + fixed3 yuv; + yuv.x = dot( col.rgb, half3(0.299,0.587,0.114) ); + yuv.y = (col.b-yuv.x)*0.492; + yuv.z = (col.r-yuv.x)*0.877; + + // sample noise texture and do a signed add + fixed3 grain = tex2D(_GrainTex, i.uvg).rgb * 2 - 1; + yuv.rgb += grain * _Intensity.x; + + // convert back to rgb + col.r = yuv.z * 1.140 + yuv.x; + col.g = yuv.z * (-0.581) + yuv.y * (-0.395) + yuv.x; + col.b = yuv.y * 2.032 + yuv.x; + + // sample scratch texture and add + fixed3 scratch = tex2D(_ScratchTex, i.uvs).rgb * 2 - 1; + col.rgb += scratch * _Intensity.y; + + return col; +} +ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderYUV.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderYUV.shader.meta new file mode 100644 index 0000000..b817ce9 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/NoiseEffectShaderYUV.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 0e447868506ba49f0a73235b8a8b647a +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/PrepareSunShaftsBlur.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/PrepareSunShaftsBlur.shader new file mode 100644 index 0000000..2e41821 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/PrepareSunShaftsBlur.shader @@ -0,0 +1,97 @@ + +Shader "Hidden/PrepareSunShaftsBlur" { + Properties { + _MainTex ("Base", 2D) = "" {} + _Skybox ("Skybox", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MainTex; + sampler2D _Skybox; + sampler2D_float _CameraDepthTexture; + + uniform half _NoSkyBoxMask; + uniform half4 _SunPosition; + + v2f vert (appdata_img v) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + return o; + } + + half TransformColor (half4 skyboxValue) { + return max (skyboxValue.a, _NoSkyBoxMask * dot (skyboxValue.rgb, float3 (0.59,0.3,0.11))); + } + + half4 frag (v2f i) : SV_Target { + float depthSample = SAMPLE_DEPTH_TEXTURE( _CameraDepthTexture, i.uv.xy); + half4 tex = tex2D (_MainTex, i.uv.xy); + + depthSample = Linear01Depth (depthSample); + + // consider maximum radius + half2 vec = _SunPosition.xy - i.uv.xy; + half dist = saturate (_SunPosition.w - length (vec.xy)); + + half4 outColor = 0; + + // consider shafts blockers + if (depthSample > 0.99) + outColor = TransformColor (tex) * dist; + + return outColor; + } + + half4 fragNoDepthNeeded (v2f i) : SV_Target { + float4 sky = (tex2D (_Skybox, i.uv.xy)); + float4 tex = (tex2D (_MainTex, i.uv.xy)); + + // consider maximum radius + half2 vec = _SunPosition.xy - i.uv.xy; + half dist = saturate (_SunPosition.w - length (vec)); + + half4 outColor = 0; + + if (Luminance ( abs(sky.rgb - tex.rgb)) < 0.2) + outColor = TransformColor (sky) * dist; + + return outColor; + } + + ENDCG + +Subshader { + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + ENDCG + } + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragNoDepthNeeded + + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/PrepareSunShaftsBlur.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/PrepareSunShaftsBlur.shader.meta new file mode 100644 index 0000000..e32df02 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/PrepareSunShaftsBlur.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 9ad381ed8492840ab9f165df743e4826 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/RadialBlur.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/RadialBlur.shader new file mode 100644 index 0000000..f04e20b --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/RadialBlur.shader @@ -0,0 +1,71 @@ +Shader "Hidden/RadialBlur" +{ + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + // Shader code pasted into all further CGPROGRAM blocks + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 blurVector : TEXCOORD1; + }; + + sampler2D _MainTex; + + float4 _BlurRadius4; + float4 _SunPosition; + + float4 _MainTex_TexelSize; + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv.xy = v.texcoord.xy; + + o.blurVector = (_SunPosition.xy - v.texcoord.xy) * _BlurRadius4.xy; + + return o; + } + + #define SAMPLES_FLOAT 6.0f + #define SAMPLES_INT 6 + + half4 frag(v2f i) : SV_Target + { + half4 color = half4(0,0,0,0); + + for(int j = 0; j < SAMPLES_INT; j++) + { + half4 tmpColor = tex2D(_MainTex, i.uv.xy); + color += tmpColor; + + i.uv.xy += i.blurVector; + } + + return color / SAMPLES_FLOAT; + } + + ENDCG + +Subshader +{ + Blend One Zero + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + ENDCG + } // Pass +} // Subshader + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/RadialBlur.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/RadialBlur.shader.meta new file mode 100644 index 0000000..a8725c4 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/RadialBlur.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: f58445347fe2e4b8396487ed2bfa02ad +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/SSAOShader.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SSAOShader.shader new file mode 100644 index 0000000..a973142 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SSAOShader.shader @@ -0,0 +1,279 @@ +Shader "Hidden/SSAO" { +Properties { + _MainTex ("", 2D) = "" {} + _RandomTexture ("", 2D) = "" {} + _SSAO ("", 2D) = "" {} +} +Subshader { + ZTest Always Cull Off ZWrite Off + +CGINCLUDE +// Common code used by several SSAO passes below +#include "UnityCG.cginc" +struct v2f_ao { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 uvr : TEXCOORD1; +}; + +uniform float2 _NoiseScale; +float4 _CameraDepthNormalsTexture_ST; + +v2f_ao vert_ao (appdata_img v) +{ + v2f_ao o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv = TRANSFORM_TEX(v.texcoord, _CameraDepthNormalsTexture); + o.uvr = v.texcoord.xy * _NoiseScale; + return o; +} + +sampler2D _CameraDepthNormalsTexture; +sampler2D _RandomTexture; +float4 _Params; // x=radius, y=minz, z=attenuation power, w=SSAO power + +// HLSL and GLSL do not support arbitrarily sized arrays as function parameters (eg. float bla[]), whereas Cg does. +#if !defined(UNITY_COMPILER_CG) + +# define INPUT_SAMPLE_COUNT 8 +# include "frag_ao.cginc" +# undef INPUT_SAMPLE_COUNT + +# define INPUT_SAMPLE_COUNT 14 +# include "frag_ao.cginc" +# undef INPUT_SAMPLE_COUNT + +# define INPUT_SAMPLE_COUNT 26 +# include "frag_ao.cginc" +# undef INPUT_SAMPLE_COUNT + +# define INPUT_SAMPLE_COUNT 34 +# include "frag_ao.cginc" +# undef INPUT_SAMPLE_COUNT + +#else +# define INPUT_SAMPLE_COUNT +# include "frag_ao.cginc" +#endif + +ENDCG + + // ---- SSAO pass, 8 samples + Pass { + +CGPROGRAM +#pragma vertex vert_ao +#pragma fragment frag +#pragma target 3.0 + + +half4 frag (v2f_ao i) : SV_Target +{ + #define SAMPLE_COUNT 8 + const float3 RAND_SAMPLES[SAMPLE_COUNT] = { + float3(0.01305719,0.5872321,-0.119337), + float3(0.3230782,0.02207272,-0.4188725), + float3(-0.310725,-0.191367,0.05613686), + float3(-0.4796457,0.09398766,-0.5802653), + float3(0.1399992,-0.3357702,0.5596789), + float3(-0.2484578,0.2555322,0.3489439), + float3(0.1871898,-0.702764,-0.2317479), + float3(0.8849149,0.2842076,0.368524), + }; + return frag_ao (i, SAMPLE_COUNT, RAND_SAMPLES); +} +ENDCG + + } + +// ---- SSAO pass, 14 samples + Pass { + +CGPROGRAM +#pragma vertex vert_ao +#pragma fragment frag +#pragma target 3.0 + + +half4 frag (v2f_ao i) : SV_Target +{ + #define SAMPLE_COUNT 14 + const float3 RAND_SAMPLES[SAMPLE_COUNT] = { + float3(0.4010039,0.8899381,-0.01751772), + float3(0.1617837,0.1338552,-0.3530486), + float3(-0.2305296,-0.1900085,0.5025396), + float3(-0.6256684,0.1241661,0.1163932), + float3(0.3820786,-0.3241398,0.4112825), + float3(-0.08829653,0.1649759,0.1395879), + float3(0.1891677,-0.1283755,-0.09873557), + float3(0.1986142,0.1767239,0.4380491), + float3(-0.3294966,0.02684341,-0.4021836), + float3(-0.01956503,-0.3108062,-0.410663), + float3(-0.3215499,0.6832048,-0.3433446), + float3(0.7026125,0.1648249,0.02250625), + float3(0.03704464,-0.939131,0.1358765), + float3(-0.6984446,-0.6003422,-0.04016943), + }; + return frag_ao (i, SAMPLE_COUNT, RAND_SAMPLES); +} +ENDCG + + } + +// ---- SSAO pass, 26 samples + Pass { + +CGPROGRAM +#pragma vertex vert_ao +#pragma fragment frag +#pragma target 3.0 + + +half4 frag (v2f_ao i) : SV_Target +{ + #define SAMPLE_COUNT 26 + const float3 RAND_SAMPLES[SAMPLE_COUNT] = { + float3(0.2196607,0.9032637,0.2254677), + float3(0.05916681,0.2201506,-0.1430302), + float3(-0.4152246,0.1320857,0.7036734), + float3(-0.3790807,0.1454145,0.100605), + float3(0.3149606,-0.1294581,0.7044517), + float3(-0.1108412,0.2162839,0.1336278), + float3(0.658012,-0.4395972,-0.2919373), + float3(0.5377914,0.3112189,0.426864), + float3(-0.2752537,0.07625949,-0.1273409), + float3(-0.1915639,-0.4973421,-0.3129629), + float3(-0.2634767,0.5277923,-0.1107446), + float3(0.8242752,0.02434147,0.06049098), + float3(0.06262707,-0.2128643,-0.03671562), + float3(-0.1795662,-0.3543862,0.07924347), + float3(0.06039629,0.24629,0.4501176), + float3(-0.7786345,-0.3814852,-0.2391262), + float3(0.2792919,0.2487278,-0.05185341), + float3(0.1841383,0.1696993,-0.8936281), + float3(-0.3479781,0.4725766,-0.719685), + float3(-0.1365018,-0.2513416,0.470937), + float3(0.1280388,-0.563242,0.3419276), + float3(-0.4800232,-0.1899473,0.2398808), + float3(0.6389147,0.1191014,-0.5271206), + float3(0.1932822,-0.3692099,-0.6060588), + float3(-0.3465451,-0.1654651,-0.6746758), + float3(0.2448421,-0.1610962,0.1289366), + }; + return frag_ao (i, SAMPLE_COUNT, RAND_SAMPLES); +} +ENDCG + + } + +// ---- Blur pass + Pass { +CGPROGRAM +#pragma vertex vert +#pragma fragment frag +#pragma target 3.0 +#include "UnityCG.cginc" + +struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; +}; + +float4 _MainTex_ST; + +v2f vert (appdata_img v) +{ + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv = TRANSFORM_TEX (v.texcoord, _CameraDepthNormalsTexture); + return o; +} + +sampler2D _SSAO; +float3 _TexelOffsetScale; + +inline half CheckSame (half4 n, half4 nn) +{ + // difference in normals + half2 diff = abs(n.xy - nn.xy); + half sn = (diff.x + diff.y) < 0.1; + // difference in depth + float z = DecodeFloatRG (n.zw); + float zz = DecodeFloatRG (nn.zw); + float zdiff = abs(z-zz) * _ProjectionParams.z; + half sz = zdiff < 0.2; + return sn * sz; +} + + +half4 frag( v2f i ) : SV_Target +{ + #define NUM_BLUR_SAMPLES 4 + + float2 o = _TexelOffsetScale.xy; + + half sum = tex2D(_SSAO, i.uv).r * (NUM_BLUR_SAMPLES + 1); + half denom = NUM_BLUR_SAMPLES + 1; + + half4 geom = tex2D (_CameraDepthNormalsTexture, i.uv); + + for (int s = 0; s < NUM_BLUR_SAMPLES; ++s) + { + float2 nuv = i.uv + o * (s+1); + half4 ngeom = tex2D (_CameraDepthNormalsTexture, nuv.xy); + half coef = (NUM_BLUR_SAMPLES - s) * CheckSame (geom, ngeom); + sum += tex2D (_SSAO, nuv.xy).r * coef; + denom += coef; + } + for (int s = 0; s < NUM_BLUR_SAMPLES; ++s) + { + float2 nuv = i.uv - o * (s+1); + half4 ngeom = tex2D (_CameraDepthNormalsTexture, nuv.xy); + half coef = (NUM_BLUR_SAMPLES - s) * CheckSame (geom, ngeom); + sum += tex2D (_SSAO, nuv.xy).r * coef; + denom += coef; + } + return sum / denom; +} +ENDCG + } + + // ---- Composite pass + Pass { +CGPROGRAM +#pragma vertex vert +#pragma fragment frag +#include "UnityCG.cginc" + +struct v2f { + float4 pos : SV_POSITION; + float2 uv[2] : TEXCOORD0; +}; + +v2f vert (appdata_img v) +{ + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv[0] = MultiplyUV (UNITY_MATRIX_TEXTURE0, v.texcoord); + o.uv[1] = MultiplyUV (UNITY_MATRIX_TEXTURE1, v.texcoord); + return o; +} + +sampler2D _MainTex; +sampler2D _SSAO; + +half4 frag( v2f i ) : SV_Target +{ + half4 c = tex2D (_MainTex, i.uv[0]); + half ao = tex2D (_SSAO, i.uv[1]).r; + ao = pow (ao, _Params.w); + c.rgb *= ao; + return c; +} +ENDCG + } + +} + +Fallback off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/SSAOShader.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SSAOShader.shader.meta new file mode 100644 index 0000000..0e2cdcc --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SSAOShader.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 43ca18288c424f645aaa1e9e07f04c50 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/ScreenSpaceAmbientObscurance.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/ScreenSpaceAmbientObscurance.shader new file mode 100644 index 0000000..3564e03 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/ScreenSpaceAmbientObscurance.shader @@ -0,0 +1,402 @@ + +// This Ambient Occlusion image effect is based on "Scalable Ambient Obscurance": + +/** + +\author Morgan McGuire and Michael Mara, NVIDIA and Williams College, http://research.nvidia.com, http://graphics.cs.williams.edu + +Open Source under the "BSD" license: http://www.opensource.org/licenses/bsd-license.php + +Copyright (c) 2011-2012, NVIDIA +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +Shader "Hidden/ScreenSpaceAmbientObscurance" +{ + Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + #ifdef SHADER_API_D3D11 + #define NUM_SAMPLES (15) + #else + #define NUM_SAMPLES (11) + #endif + + #define FAR_PLANE_Z (300.0) + #define NUM_SPIRAL_TURNS (7) + #define bias (0.01) + + float _Radius; + float _Radius2; // _Radius * _Radius; + float _Intensity; + float4 _ProjInfo; + float4x4 _ProjectionInv; // ref only + + sampler2D_float _CameraDepthTexture; + sampler2D _Rand; + sampler2D _AOTex; + sampler2D _MainTex; + + float4 _MainTex_TexelSize; + + static const float gaussian[5] = { 0.153170, 0.144893, 0.122649, 0.092902, 0.062970 }; // stddev = 2.0 + + float2 _Axis; + + /** Increase to make edges crisper. Decrease to reduce temporal flicker. */ + #define EDGE_SHARPNESS (1.0) + + float _BlurFilterDistance; + #define SCALE _BlurFilterDistance + + /** Filter _Radius in pixels. This will be multiplied by SCALE. */ + #define R (4) + + struct v2f + { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 uv2 : TEXCOORD1; + }; + + v2f vert( appdata_img v ) + { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + o.uv2 = v.texcoord.xy; + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + o.uv2.y = 1-o.uv2.y; + #endif + return o; + } + + float3 ReconstructCSPosition(float2 S, float z) + { + float linEyeZ = LinearEyeDepth(z); + return float3(( ( S.xy * _MainTex_TexelSize.zw) * _ProjInfo.xy + _ProjInfo.zw) * linEyeZ, linEyeZ); + + /* + // for reference + float4 clipPos = float4(S*2.0-1.0, (z*2-1), 1); + float4 viewPos; + viewPos.x = dot((float4)_ProjectionInv[0], clipPos); + viewPos.y = dot((float4)_ProjectionInv[1], clipPos); + viewPos.w = dot((float4)_ProjectionInv[3], clipPos); + viewPos.z = z; + viewPos = viewPos/viewPos.w; + return viewPos.xyz; + */ + } + + float3 ReconstructCSFaceNormal(float3 C) { + return normalize(cross(ddy(C), ddx(C))); + } + + + /** Returns a unit vector and a screen-space _Radius for the tap on a unit disk (the caller should scale by the actual disk _Radius) */ + + float2 TapLocation(int sampleNumber, float spinAngle, out float ssR){ + // Radius relative to ssR + float alpha = float(sampleNumber + 0.5) * (1.0 / NUM_SAMPLES); + float angle = alpha * (NUM_SPIRAL_TURNS * 6.28) + spinAngle; + + ssR = alpha; + return float2(cos(angle), sin(angle)); + } + + /** Used for packing Z into the GB channels */ + float CSZToKey(float z) { + return saturate(z * (1.0 / FAR_PLANE_Z)); + } + + /** Used for packing Z into the GB channels */ + void packKey(float key, out float2 p) { + // Round to the nearest 1/256.0 + float temp = floor(key * 256.0); + + // Integer part + p.x = temp * (1.0 / 256.0); + + // Fractional part + p.y = key * 256.0 - temp; + } + + /** Returns a number on (0, 1) */ + float UnpackKey(float2 p) + { + return p.x * (256.0 / 257.0) + p.y * (1.0 / 257.0); + } + + + /** Read the camera-space position of the point at screen-space pixel ssP */ + float3 GetPosition(float2 ssP) { + float3 P; + + P.z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, ssP.xy); + + // Offset to pixel center + P = ReconstructCSPosition(float2(ssP) /*+ float2(0.5, 0.5)*/, P.z); + return P; + } + + /** Read the camera-space position of the point at screen-space pixel ssP + unitOffset * ssR. Assumes length(unitOffset) == 1 */ + float3 GetOffsetPosition(float2 ssC, float2 unitOffset, float ssR) + { + float2 ssP = saturate(float2(ssR*unitOffset) + ssC); + + float3 P; + P.z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, ssP.xy); + + // Offset to pixel center + P = ReconstructCSPosition(float2(ssP)/* + float2(0.5, 0.5)*/, P.z); + + return P; + } + + /** Compute the occlusion due to sample with index \a i about the pixel at \a ssC that corresponds + to camera-space point \a C with unit normal \a n_C, using maximum screen-space sampling _Radius \a ssDiskRadius */ + + float SampleAO(in float2 ssC, in float3 C, in float3 n_C, in float ssDiskRadius, in int tapIndex, in float randomPatternRotationAngle) + { + // Offset on the unit disk, spun for this pixel + float ssR; + float2 unitOffset = TapLocation(tapIndex, randomPatternRotationAngle, ssR); + ssR *= ssDiskRadius; + + // The occluding point in camera space + float3 Q = GetOffsetPosition(ssC, unitOffset, ssR); + + float3 v = Q - C; + + float vv = dot(v, v); + float vn = dot(v, n_C); + + const float epsilon = 0.01; + float f = max(_Radius2 - vv, 0.0); + return f * f * f * max((vn - bias) / (epsilon + vv), 0.0); + } + + float4 fragAO(v2f i) : SV_Target + { + float4 fragment = fixed4(1,1,1,1); + + // Pixel being shaded + float2 ssC = i.uv2.xy;// * _MainTex_TexelSize.zw; + + // View space point being shaded + float3 C = GetPosition(ssC); + + //return abs(float4(C.xyz,0)); + //if(abs(C.z)<0.31) + // return 1; + //return abs(C.z); + + packKey(CSZToKey(C.z), fragment.gb); + //packKey(CSZToKey(C.z), bilateralKey); + + float randomPatternRotationAngle = 1.0; + #ifdef SHADER_API_D3D11 + int2 ssCInt = ssC.xy * _MainTex_TexelSize.zw; + randomPatternRotationAngle = (3 * ssCInt.x ^ ssCInt.y + ssCInt.x * ssCInt.y) * 10; + #else + // TODO: make dx9 rand better + randomPatternRotationAngle = tex2D(_Rand, i.uv*12.0).x * 1000.0; + #endif + + // Reconstruct normals from positions. These will lead to 1-pixel black lines + // at depth discontinuities, however the blur will wipe those out so they are not visible + // in the final image. + float3 n_C = ReconstructCSFaceNormal(C); + + //return float4((n_C),0); + + // Choose the screen-space sample _Radius + // proportional to the projected area of the sphere + float ssDiskRadius = -_Radius / C.z; // -projScale * _Radius / C.z; // <::::: + + float sum = 0.0; + for (int l = 0; l < NUM_SAMPLES; ++l) { + sum += SampleAO(ssC, C, n_C, (ssDiskRadius), l, randomPatternRotationAngle); + } + + float temp = _Radius2 * _Radius; + sum /= temp * temp; + + float A = max(0.0, 1.0 - sum * _Intensity * (5.0 / NUM_SAMPLES)); + fragment.ra = float2(A,A); + + return fragment; + } + + float4 fragUpsample (v2f i) : SV_Target + { + float4 fragment = fixed4(1,1,1,1); + + // View space point being shaded + float3 C = GetPosition(i.uv.xy); + + packKey(CSZToKey(C.z), fragment.gb); + fragment.ra = tex2D(_MainTex, i.uv.xy).ra; + + return fragment; + } + + float4 fragApply (v2f i) : SV_Target + { + float4 ao = tex2D(_AOTex, i.uv2.xy); + return tex2D(_MainTex, i.uv.xy) * ao.rrrr; + } + + float4 fragApplySoft (v2f i) : SV_Target + { + float4 color = tex2D(_MainTex, i.uv.xy); + + float ao = tex2D(_AOTex, i.uv2.xy).r; + ao += tex2D(_AOTex, i.uv2.xy + _MainTex_TexelSize.xy * 0.75).r; + ao += tex2D(_AOTex, i.uv2.xy - _MainTex_TexelSize.xy * 0.75).r; + ao += tex2D(_AOTex, i.uv2.xy + _MainTex_TexelSize.xy * float2(-0.75,0.75)).r; + ao += tex2D(_AOTex, i.uv2.xy - _MainTex_TexelSize.xy * float2(-0.75,0.75)).r; + + return color * float4(ao,ao,ao,5)/5; + } + + float4 fragBlurBL (v2f i) : SV_Target + { + float4 fragment = float4(1,1,1,1); + + float2 ssC = i.uv.xy; + + float4 temp = tex2Dlod(_MainTex, float4(i.uv.xy,0,0)); + + float2 passthrough2 = temp.gb; + float key = UnpackKey(passthrough2); + + float sum = temp.r; + + /* + if (key >= 0.999) { + // Sky pixel (if you aren't using depth keying, disable this test) + fragment.gb = passthrough2; + return fragment; + } + */ + + // Base weight for depth falloff. Increase this for more blurriness, decrease it for better edge discrimination + + float BASE = gaussian[0] * 0.5; // ole: i decreased + float totalWeight = BASE; + sum *= totalWeight; + + for (int r = -R; r <= R; ++r) { + // We already handled the zero case above. This loop should be unrolled and the branch discarded + if (r != 0) { + temp = tex2Dlod(_MainTex, float4(ssC + _Axis * _MainTex_TexelSize.xy * (r * SCALE),0,0) ); + float tapKey = UnpackKey(temp.gb); + float value = temp.r; + + // spatial domain: offset gaussian tap + float weight = 0.3 + gaussian[abs(r)]; + + // range domain (the "bilateral" weight). As depth difference increases, decrease weight. + weight *= max(0.0, 1.0 - (2000.0 * EDGE_SHARPNESS) * abs(tapKey - key)); + + sum += value * weight; + totalWeight += weight; + } + } + + const float epsilon = 0.0001; + fragment = sum / (totalWeight + epsilon); + + fragment.gb = passthrough2; + + return fragment; + } + + ENDCG + +SubShader { + + // 0: get ao + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragAO + #pragma target 3.0 + + ENDCG + } + + // 1: bilateral blur + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragBlurBL + #pragma target 3.0 + + ENDCG + } + + // 2: apply ao + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragApply + #pragma target 3.0 + + ENDCG + } + + // 3: apply with a slight box filter + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragApplySoft + #pragma target 3.0 + + ENDCG + } + + // 4: in case you want to blur in high rez for nicer z borders + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragUpsample + #pragma target 3.0 + + ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/ScreenSpaceAmbientObscurance.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/ScreenSpaceAmbientObscurance.shader.meta new file mode 100644 index 0000000..dbe9a72 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/ScreenSpaceAmbientObscurance.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 95616c020c5604dda96cf76afbbc0272 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/SepiaToneEffect.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SepiaToneEffect.shader new file mode 100644 index 0000000..c042cd8 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SepiaToneEffect.shader @@ -0,0 +1,38 @@ +Shader "Hidden/Sepiatone Effect" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} +} + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM +#pragma vertex vert_img +#pragma fragment frag +#include "UnityCG.cginc" + +uniform sampler2D _MainTex; + +fixed4 frag (v2f_img i) : SV_Target +{ + fixed4 original = tex2D(_MainTex, i.uv); + + // get intensity value (Y part of YIQ color space) + fixed Y = dot (fixed3(0.299, 0.587, 0.114), original.rgb); + + // Convert to Sepia Tone by adding constant + fixed4 sepiaConvert = float4 (0.191, -0.054, -0.221, 0.0); + fixed4 output = sepiaConvert + Y; + output.a = original.a; + + return output; +} +ENDCG + + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/SepiaToneEffect.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SepiaToneEffect.shader.meta new file mode 100644 index 0000000..34528f5 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SepiaToneEffect.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: b6aa781cad112c75d0008dfa8d76c639 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/ShowAlphaChannel.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/ShowAlphaChannel.shader new file mode 100644 index 0000000..69c10a2 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/ShowAlphaChannel.shader @@ -0,0 +1,54 @@ + + +Shader "Hidden/ShowAlphaChannel" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _EdgeTex ("_EdgeTex", 2D) = "white" {} +} + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM +#pragma vertex vert +#pragma fragment frag + +#include "UnityCG.cginc" + +uniform sampler2D _MainTex; +uniform sampler2D _EdgeTex; + +uniform float4 _MainTex_TexelSize; + +float filterRadius; + +struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; +}; + +v2f vert( appdata_img v ) +{ + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + + return o; +} + +half4 frag (v2f i) : SV_Target +{ + + half4 color = tex2D(_MainTex, i.uv.xy); + half edges = color.a; + + return edges; +} +ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/ShowAlphaChannel.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/ShowAlphaChannel.shader.meta new file mode 100644 index 0000000..37d3f86 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/ShowAlphaChannel.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: da310021e2a4142429d95c537846dc38 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/SimpleClear.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SimpleClear.shader new file mode 100644 index 0000000..41b134c --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SimpleClear.shader @@ -0,0 +1,41 @@ + + +Shader "Hidden/SimpleClear" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} +} + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM +#pragma vertex vert +#pragma fragment frag +#include "UnityCG.cginc" + +uniform sampler2D _MainTex; +uniform float4 _MainTex_TexelSize; + +struct v2f { + float4 pos : SV_POSITION; +}; + +v2f vert( appdata_img v ) +{ + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + return o; +} + +half4 frag (v2f i) : SV_Target +{ + return half4(0,0,0,0); +} +ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/SimpleClear.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SimpleClear.shader.meta new file mode 100644 index 0000000..eba30cb --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SimpleClear.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: f688f89ed5eb847c5b19c934a0f1e772 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/SunShaftsComposite.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SunShaftsComposite.shader new file mode 100644 index 0000000..80375c1 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SunShaftsComposite.shader @@ -0,0 +1,222 @@ +Shader "Hidden/SunShaftsComposite" { + Properties { + _MainTex ("Base", 2D) = "" {} + _ColorBuffer ("Color", 2D) = "" {} + _Skybox ("Skybox", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + #if UNITY_UV_STARTS_AT_TOP + float2 uv1 : TEXCOORD1; + #endif + }; + + struct v2f_radial { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 blurVector : TEXCOORD1; + }; + + sampler2D _MainTex; + sampler2D _ColorBuffer; + sampler2D _Skybox; + sampler2D_float _CameraDepthTexture; + + uniform half4 _SunThreshold; + + uniform half4 _SunColor; + uniform half4 _BlurRadius4; + uniform half4 _SunPosition; + uniform half4 _MainTex_TexelSize; + + #define SAMPLES_FLOAT 6.0f + #define SAMPLES_INT 6 + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + + #if UNITY_UV_STARTS_AT_TOP + o.uv1 = v.texcoord.xy; + if (_MainTex_TexelSize.y < 0) + o.uv1.y = 1-o.uv1.y; + #endif + + return o; + } + + half4 fragScreen(v2f i) : SV_Target { + half4 colorA = tex2D (_MainTex, i.uv.xy); + #if UNITY_UV_STARTS_AT_TOP + half4 colorB = tex2D (_ColorBuffer, i.uv1.xy); + #else + half4 colorB = tex2D (_ColorBuffer, i.uv.xy); + #endif + half4 depthMask = saturate (colorB * _SunColor); + return 1.0f - (1.0f-colorA) * (1.0f-depthMask); + } + + half4 fragAdd(v2f i) : SV_Target { + half4 colorA = tex2D (_MainTex, i.uv.xy); + #if UNITY_UV_STARTS_AT_TOP + half4 colorB = tex2D (_ColorBuffer, i.uv1.xy); + #else + half4 colorB = tex2D (_ColorBuffer, i.uv.xy); + #endif + half4 depthMask = saturate (colorB * _SunColor); + return colorA + depthMask; + } + + v2f_radial vert_radial( appdata_img v ) { + v2f_radial o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + + o.uv.xy = v.texcoord.xy; + o.blurVector = (_SunPosition.xy - v.texcoord.xy) * _BlurRadius4.xy; + + return o; + } + + half4 frag_radial(v2f_radial i) : SV_Target + { + half4 color = half4(0,0,0,0); + for(int j = 0; j < SAMPLES_INT; j++) + { + half4 tmpColor = tex2D(_MainTex, i.uv.xy); + color += tmpColor; + i.uv.xy += i.blurVector; + } + return color / SAMPLES_FLOAT; + } + + half TransformColor (half4 skyboxValue) { + return dot(max(skyboxValue.rgb - _SunThreshold.rgb, half3(0,0,0)), half3(1,1,1)); // threshold and convert to greyscale + } + + half4 frag_depth (v2f i) : SV_Target { + #if UNITY_UV_STARTS_AT_TOP + float depthSample = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv1.xy); + #else + float depthSample = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv.xy); + #endif + + half4 tex = tex2D (_MainTex, i.uv.xy); + + depthSample = Linear01Depth (depthSample); + + // consider maximum radius + #if UNITY_UV_STARTS_AT_TOP + half2 vec = _SunPosition.xy - i.uv1.xy; + #else + half2 vec = _SunPosition.xy - i.uv.xy; + #endif + half dist = saturate (_SunPosition.w - length (vec.xy)); + + half4 outColor = 0; + + // consider shafts blockers + if (depthSample > 0.99) + outColor = TransformColor (tex) * dist; + + return outColor; + } + + half4 frag_nodepth (v2f i) : SV_Target { + #if UNITY_UV_STARTS_AT_TOP + float4 sky = (tex2D (_Skybox, i.uv1.xy)); + #else + float4 sky = (tex2D (_Skybox, i.uv.xy)); + #endif + + float4 tex = (tex2D (_MainTex, i.uv.xy)); + + // consider maximum radius + #if UNITY_UV_STARTS_AT_TOP + half2 vec = _SunPosition.xy - i.uv1.xy; + #else + half2 vec = _SunPosition.xy - i.uv.xy; + #endif + half dist = saturate (_SunPosition.w - length (vec)); + + half4 outColor = 0; + + // find unoccluded sky pixels + // consider pixel values that differ significantly between framebuffer and sky-only buffer as occluded + if (Luminance ( abs(sky.rgb - tex.rgb)) < 0.2) + outColor = TransformColor (sky) * dist; + + return outColor; + } + + + + ENDCG + +Subshader { + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragScreen + + ENDCG + } + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert_radial + #pragma fragment frag_radial + + ENDCG + } + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag_depth + + ENDCG + } + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag_nodepth + + ENDCG + } + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragAdd + + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/SunShaftsComposite.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SunShaftsComposite.shader.meta new file mode 100644 index 0000000..82a0680 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/SunShaftsComposite.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: d3b1c8c1036784176946f5cfbfb7fe4c +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/Tonemapper.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/Tonemapper.shader new file mode 100644 index 0000000..c0f3b1a --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/Tonemapper.shader @@ -0,0 +1,354 @@ +Shader "Hidden/Tonemapper" { + Properties { + _MainTex ("", 2D) = "black" {} + _SmallTex ("", 2D) = "grey" {} + _Curve ("", 2D) = "black" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MainTex; + sampler2D _SmallTex; + sampler2D _Curve; + + float4 _HdrParams; + float2 intensity; + float4 _MainTex_TexelSize; + float _AdaptionSpeed; + float _ExposureAdjustment; + float _RangeScale; + + v2f vert( appdata_img v ) + { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + return o; + } + + float4 fragLog(v2f i) : SV_Target + { + const float DELTA = 0.0001f; + + float fLogLumSum = 0.0f; + + fLogLumSum += log( Luminance(tex2D(_MainTex, i.uv + _MainTex_TexelSize.xy * float2(-1,-1)).rgb) + DELTA); + fLogLumSum += log( Luminance(tex2D(_MainTex, i.uv + _MainTex_TexelSize.xy * float2(1,1)).rgb) + DELTA); + fLogLumSum += log( Luminance(tex2D(_MainTex, i.uv + _MainTex_TexelSize.xy * float2(-1,1)).rgb) + DELTA); + fLogLumSum += log( Luminance(tex2D(_MainTex, i.uv + _MainTex_TexelSize.xy * float2(1,-1)).rgb) + DELTA); + + float avg = fLogLumSum / 4.0; + return float4(avg, avg, avg, avg); + } + + float4 fragExp(v2f i) : SV_Target + { + float2 lum = float2(0.0f, 0.0f); + + lum += tex2D(_MainTex, i.uv + _MainTex_TexelSize.xy * float2(-1,-1)).xy; + lum += tex2D(_MainTex, i.uv + _MainTex_TexelSize.xy * float2(1,1)).xy; + lum += tex2D(_MainTex, i.uv + _MainTex_TexelSize.xy * float2(1,-1)).xy; + lum += tex2D(_MainTex, i.uv + _MainTex_TexelSize.xy * float2(-1,1)).xy; + + lum = exp(lum / 4.0f); + + return float4(lum.x, lum.y, lum.x, saturate(0.0125 * _AdaptionSpeed)); + } + + float3 ToCIE(float3 FullScreenImage) + { + // RGB -> XYZ conversion + // http://www.w3.org/Graphics/Color/sRGB + // The official sRGB to XYZ conversion matrix is (following ITU-R BT.709) + // 0.4125 0.3576 0.1805 + // 0.2126 0.7152 0.0722 + // 0.0193 0.1192 0.9505 + + float3x3 RGB2XYZ = {0.5141364, 0.3238786, 0.16036376, 0.265068, 0.67023428, 0.06409157, 0.0241188, 0.1228178, 0.84442666}; + + float3 XYZ = mul(RGB2XYZ, FullScreenImage.rgb); + + // XYZ -> Yxy conversion + + float3 Yxy; + + Yxy.r = XYZ.g; + + // x = X / (X + Y + Z) + // y = X / (X + Y + Z) + + float temp = dot(float3(1.0,1.0,1.0), XYZ.rgb); + + Yxy.gb = XYZ.rg / temp; + + return Yxy; + } + + float3 FromCIE(float3 Yxy) + { + float3 XYZ; + // Yxy -> XYZ conversion + XYZ.r = Yxy.r * Yxy.g / Yxy. b; + + // X = Y * x / y + XYZ.g = Yxy.r; + + // copy luminance Y + XYZ.b = Yxy.r * (1 - Yxy.g - Yxy.b) / Yxy.b; + + // Z = Y * (1-x-y) / y + + // XYZ -> RGB conversion + // The official XYZ to sRGB conversion matrix is (following ITU-R BT.709) + // 3.2410 -1.5374 -0.4986 + // -0.9692 1.8760 0.0416 + // 0.0556 -0.2040 1.0570 + + float3x3 XYZ2RGB = { 2.5651,-1.1665,-0.3986, -1.0217, 1.9777, 0.0439, 0.0753, -0.2543, 1.1892}; + + return mul(XYZ2RGB, XYZ); + } + + // NOTE/OPTIMIZATION: we're not going the extra CIE detour anymore, but + // scale with the OUT/IN luminance ratio,this is sooooo much faster + + float4 fragAdaptive(v2f i) : SV_Target + { + float avgLum = tex2D(_SmallTex, i.uv).x; + float4 color = tex2D (_MainTex, i.uv); + + float cieLum = max(0.000001, Luminance(color.rgb)); //ToCIE(color.rgb); + + float lumScaled = cieLum * _HdrParams.z / (0.001 + avgLum.x); + + lumScaled = (lumScaled * (1.0f + lumScaled / (_HdrParams.w)))/(1.0f + lumScaled); + + //cie.r = lumScaled; + + color.rgb = color.rgb * (lumScaled / cieLum); + + //color.rgb = FromCIE(cie); + return color; + } + + float4 fragAdaptiveAutoWhite(v2f i) : SV_Target + { + float2 avgLum = tex2D(_SmallTex, i.uv).xy; + float4 color = tex2D(_MainTex, i.uv); + + float cieLum = max(0.000001, Luminance(color.rgb)); //ToCIE(color.rgb); + + float lumScaled = cieLum * _HdrParams.z / (0.001 + avgLum.x); + + lumScaled = (lumScaled * (1.0f + lumScaled / (avgLum.y*avgLum.y)))/(1.0f + lumScaled); + + //cie.r = lumScaled; + + color.rgb = color.rgb * (lumScaled / cieLum); + + //color.rgb = FromCIE(cie); + return color; + } + + float4 fragCurve(v2f i) : SV_Target + { + float4 color = tex2D(_MainTex, i.uv); + float3 cie = ToCIE(color.rgb); + + // Remap to new lum range + float newLum = tex2D(_Curve, float2(cie.r * _RangeScale, 0.5)).r; + cie.r = newLum; + color.rgb = FromCIE(cie); + + return color; + } + + float4 fragHable(v2f i) : SV_Target + { + const float A = 0.15; + const float B = 0.50; + const float C = 0.10; + const float D = 0.20; + const float E = 0.02; + const float F = 0.30; + const float W = 11.2; + + float3 texColor = tex2D(_MainTex, i.uv).rgb; + texColor *= _ExposureAdjustment; + + float ExposureBias = 2.0; + float3 x = ExposureBias*texColor; + float3 curr = ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F; + + x = W; + float3 whiteScale = 1.0f/(((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F); + float3 color = curr*whiteScale; + + // float3 retColor = pow(color,1/2.2); // we have SRGB write enabled at this stage + + return float4(color, 1.0); + } + + // we are doing it on luminance here (better color preservation, but some other problems like very fast saturation) + float4 fragSimpleReinhard(v2f i) : SV_Target + { + float4 texColor = tex2D(_MainTex, i.uv); + float lum = Luminance(texColor.rgb); + float lumTm = lum * _ExposureAdjustment; + float scale = lumTm / (1+lumTm); + return float4(texColor.rgb * scale / lum, texColor.a); + } + + float4 fragOptimizedHejiDawson(v2f i) : SV_Target + { + float4 texColor = tex2D(_MainTex, i.uv ); + texColor *= _ExposureAdjustment; + float4 X = max(float4(0.0,0.0,0.0,0.0), texColor-0.004); + float4 retColor = (X*(6.2*X+.5))/(X*(6.2*X+1.7)+0.06); + return retColor*retColor; + } + + float4 fragPhotographic(v2f i) : SV_Target + { + float4 texColor = tex2D(_MainTex, i.uv); + return 1-exp2(-_ExposureAdjustment * texColor); + } + + float4 fragDownsample(v2f i) : SV_Target + { + float4 tapA = tex2D(_MainTex, i.uv + _MainTex_TexelSize * 0.5); + float4 tapB = tex2D(_MainTex, i.uv - _MainTex_TexelSize * 0.5); + float4 tapC = tex2D(_MainTex, i.uv + _MainTex_TexelSize * float2(0.5,-0.5)); + float4 tapD = tex2D(_MainTex, i.uv - _MainTex_TexelSize * float2(0.5,-0.5)); + + float4 average = (tapA+tapB+tapC+tapD)/4; + average.y = max(max(tapA.y,tapB.y), max(tapC.y,tapD.y)); + + return average; + } + + ENDCG + +Subshader { + // adaptive reinhhard apply + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragAdaptive + ENDCG + } + + // 1 + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragLog + ENDCG + } + // 2 + Pass { + ZTest Always Cull Off ZWrite Off + Blend SrcAlpha OneMinusSrcAlpha + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragExp + ENDCG + } + // 3 + Pass { + ZTest Always Cull Off ZWrite Off + + Blend Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragExp + ENDCG + } + + // 4 user controllable tonemap curve + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragCurve + ENDCG + } + + // 5 tonemapping in uncharted + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragHable + ENDCG + } + + // 6 simple tonemapping based reinhard + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragSimpleReinhard + ENDCG + } + + // 7 OptimizedHejiDawson + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragOptimizedHejiDawson + ENDCG + } + + // 8 Photographic + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragPhotographic + ENDCG + } + + // 9 Downsample with auto white detection + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragDownsample + ENDCG + } + + // 10 adaptive reinhhard apply with auto white + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragAdaptiveAutoWhite + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/Tonemapper.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/Tonemapper.shader.meta new file mode 100644 index 0000000..370e284 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/Tonemapper.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 003377fc2620a44939dadde6fe3f8190 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/TwirlEffect.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/TwirlEffect.shader new file mode 100644 index 0000000..6e5886d --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/TwirlEffect.shader @@ -0,0 +1,52 @@ +Shader "Hidden/Twirt Effect Shader" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} +} + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM +#pragma vertex vert +#pragma fragment frag +#include "UnityCG.cginc" + +uniform sampler2D _MainTex; +uniform float4 _MainTex_TexelSize; +uniform float4 _CenterRadius; +uniform float4x4 _RotationMatrix; + +struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; +}; + +v2f vert( appdata_img v ) +{ + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord - _CenterRadius.xy; + return o; +} + +float4 frag (v2f i) : SV_Target +{ + float2 offset = i.uv; + float2 distortedOffset = MultiplyUV (_RotationMatrix, offset.xy); + float2 tmp = offset / _CenterRadius.zw; + float t = min (1, length(tmp)); + + offset = lerp (distortedOffset, offset, t); + offset += _CenterRadius.xy; + + return tex2D(_MainTex, offset); +} +ENDCG + + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/TwirlEffect.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/TwirlEffect.shader.meta new file mode 100644 index 0000000..a11709f --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/TwirlEffect.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 641b781cad112c75d0008dfa8d76c639 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/VignettingShader.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/VignettingShader.shader new file mode 100644 index 0000000..8529730 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/VignettingShader.shader @@ -0,0 +1,69 @@ +Shader "Hidden/Vignetting" { + Properties { + _MainTex ("Base", 2D) = "white" {} + _VignetteTex ("Vignette", 2D) = "white" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 uv2 : TEXCOORD1; + }; + + sampler2D _MainTex; + sampler2D _VignetteTex; + + half _Intensity; + half _Blur; + + float4 _MainTex_TexelSize; + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + o.uv2 = v.texcoord.xy; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + o.uv2.y = 1.0 - o.uv2.y; + #endif + + return o; + } + + half4 frag(v2f i) : SV_Target { + half2 coords = i.uv; + half2 uv = i.uv; + + coords = (coords - 0.5) * 2.0; + half coordDot = dot (coords,coords); + half4 color = tex2D (_MainTex, uv); + + float mask = 1.0 - coordDot * _Intensity; + + half4 colorBlur = tex2D (_VignetteTex, i.uv2); + color = lerp (color, colorBlur, saturate (_Blur * coordDot)); + + return color * mask; + } + + ENDCG + +Subshader { + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + ENDCG + } +} + +Fallback off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/VignettingShader.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/VignettingShader.shader.meta new file mode 100644 index 0000000..2ecd872 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/VignettingShader.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 627943dc7a9a74286b70a4f694a0acd5 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/VortexEffect.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/VortexEffect.shader new file mode 100644 index 0000000..751ab4e --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/VortexEffect.shader @@ -0,0 +1,65 @@ +Shader "Hidden/Twist Effect" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} +} + +SubShader +{ + Pass + { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM +#pragma vertex vert +#pragma fragment frag + +#include "UnityCG.cginc" + +uniform sampler2D _MainTex; + +uniform float4 _MainTex_ST; + +uniform float4 _MainTex_TexelSize; +uniform float _Angle; +uniform float4 _CenterRadius; + +struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 uvOrig : TEXCOORD1; +}; + +v2f vert (appdata_img v) +{ + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + float2 uv = v.texcoord.xy - _CenterRadius.xy; + o.uv = TRANSFORM_TEX(uv, _MainTex); //MultiplyUV (UNITY_MATRIX_TEXTURE0, uv); + o.uvOrig = uv; + return o; +} + +float4 frag (v2f i) : SV_Target +{ + float2 offset = i.uvOrig; + float angle = 1.0 - length(offset / _CenterRadius.zw); + angle = max (0, angle); + angle = angle * angle * _Angle; + float cosLength, sinLength; + sincos (angle, sinLength, cosLength); + + float2 uv; + uv.x = cosLength * offset[0] - sinLength * offset[1]; + uv.y = sinLength * offset[0] + cosLength * offset[1]; + uv += _CenterRadius.xy; + + return tex2D(_MainTex, uv); +} +ENDCG + + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/VortexEffect.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/VortexEffect.shader.meta new file mode 100644 index 0000000..78ded6f --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/VortexEffect.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 708b781cad112c75d0008dfa8d76c639 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing.meta new file mode 100644 index 0000000..34cabb7 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6d55b5e91b95c41739cdf4f804dd383d diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/DLAA.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/DLAA.shader new file mode 100644 index 0000000..88672e3 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/DLAA.shader @@ -0,0 +1,344 @@ + +// +// modified and adapted DLAA code based on Dmitry Andreev's +// Directionally Localized Anti-Aliasing (DLAA) +// +// as seen in "The Force Unleashed 2" +// + +Shader "Hidden/DLAA" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} +} + +CGINCLUDE + + #include "UnityCG.cginc" + + uniform sampler2D _MainTex; + uniform float4 _MainTex_TexelSize; + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + #define LD( o, dx, dy ) o = tex2D( _MainTex, texCoord + float2( dx, dy ) * _MainTex_TexelSize.xy ); + + float GetIntensity( float3 col ) + { + return dot( col, float3( 0.33f, 0.33f, 0.33f ) ); + } + + float4 highPassPre( float2 texCoord ) + { + LD(float4 sCenter, 0.0,0.0) + LD(float4 sUpLeft, -1.0,-1.0) + LD(float4 sUpRight, 1.0,-1.0) + LD(float4 sDownLeft, -1.0,1.0) + LD(float4 sDownRight, 1.0,1.0) + + float4 diff = 4.0f * abs( (sUpLeft + sUpRight + sDownLeft + sDownRight) - 4.0f * sCenter ); + float edgeMask = GetIntensity(diff.xyz); + + return float4(sCenter.rgb, edgeMask); + } + + // Softer (5-pixel wide high-pass) + /* + void HighPassEdgeHV (out float4 edge_h, out float4 edge_v, float4 center, float4 w_h, float4 w_v, float2 texCoord) { + edge_h = abs( w_h - 4.0f * center ) / 4.0f; + edge_v = abs( w_v - 4.0f * center ) / 4.0f; + } + + // Sharper (3-pixel wide high-pass) + void EdgeHV (out float4 edge_h, out float4 edge_v, float4 center, float2 texCoord) { + float4 left, right, top, bottom; + + LD( left, -1, 0 ) + LD( right, 1, 0 ) + LD( top, 0, -1 ) + LD( bottom, 0, 1 ) + + edge_h = abs( left + right - 2.0f * center ) / 2.0f; + edge_v = abs( top + bottom - 2.0f * center ) / 2.0f; + } + */ + + float4 edgeDetectAndBlur( float2 texCoord ) + { + float lambda = 3.0f; + float epsilon = 0.1f; + + // + // Short Edges + // + + float4 center, left_01, right_01, top_01, bottom_01; + + // sample 5x5 cross + LD( center, 0, 0 ) + LD( left_01, -1.5, 0 ) + LD( right_01, 1.5, 0 ) + LD( top_01, 0,-1.5 ) + LD( bottom_01, 0, 1.5 ) + + + float4 w_h = 2.0f * ( left_01 + right_01 ); + float4 w_v = 2.0f * ( top_01 + bottom_01 ); + + + // Softer (5-pixel wide high-pass) + float4 edge_h = abs( w_h - 4.0f * center ) / 4.0f; + float4 edge_v = abs( w_v - 4.0f * center ) / 4.0f; + + + float4 blurred_h = ( w_h + 2.0f * center ) / 6.0f; + float4 blurred_v = ( w_v + 2.0f * center ) / 6.0f; + + float edge_h_lum = GetIntensity( edge_h.xyz ); + float edge_v_lum = GetIntensity( edge_v.xyz ); + float blurred_h_lum = GetIntensity( blurred_h.xyz ); + float blurred_v_lum = GetIntensity( blurred_v.xyz ); + + float edge_mask_h = saturate( ( lambda * edge_h_lum - epsilon ) / blurred_v_lum ); + float edge_mask_v = saturate( ( lambda * edge_v_lum - epsilon ) / blurred_h_lum ); + + float4 clr = center; + clr = lerp( clr, blurred_h, edge_mask_v ); + clr = lerp( clr, blurred_v, edge_mask_h ); // blurrier version + + // + // Long Edges + // + + float4 h0, h1, h2, h3, h4, h5, h6, h7; + float4 v0, v1, v2, v3, v4, v5, v6, v7; + + // sample 16x16 cross (sparse-sample on X360, incremental kernel update on SPUs) + LD( h0, 1.5, 0 ) LD( h1, 3.5, 0 ) LD( h2, 5.5, 0 ) LD( h3, 7.5, 0 ) LD( h4, -1.5,0 ) LD( h5, -3.5,0 ) LD( h6, -5.5,0 ) LD( h7, -7.5,0 ) + LD( v0, 0, 1.5 ) LD( v1, 0, 3.5 ) LD( v2, 0, 5.5 ) LD( v3, 0, 7.5 ) LD( v4, 0,-1.5 ) LD( v5, 0,-3.5 ) LD( v6, 0,-5.5 ) LD( v7, 0,-7.5 ) + + float long_edge_mask_h = ( h0.a + h1.a + h2.a + h3.a + h4.a + h5.a + h6.a + h7.a ) / 8.0f; + float long_edge_mask_v = ( v0.a + v1.a + v2.a + v3.a + v4.a + v5.a + v6.a + v7.a ) / 8.0f; + + long_edge_mask_h = saturate( long_edge_mask_h * 2.0f - 1.0f ); + long_edge_mask_v = saturate( long_edge_mask_v * 2.0f - 1.0f ); + + float4 left, right, top, bottom; + + LD( left, -1, 0 ) + LD( right, 1, 0 ) + LD( top, 0, -1 ) + LD( bottom, 0, 1 ) + + if ( long_edge_mask_h > 0 || long_edge_mask_v > 0 ) // faster but less resistant to noise (TFU2 X360) + //if ( abs( long_edge_mask_h - long_edge_mask_v ) > 0.2f ) // resistant to noise (TFU2 SPUs) + { + float4 long_blurred_h = ( h0 + h1 + h2 + h3 + h4 + h5 + h6 + h7 ) / 8.0f; + float4 long_blurred_v = ( v0 + v1 + v2 + v3 + v4 + v5 + v6 + v7 ) / 8.0f; + + float lb_h_lum = GetIntensity( long_blurred_h.xyz ); + float lb_v_lum = GetIntensity( long_blurred_v.xyz ); + + float center_lum = GetIntensity( center.xyz ); + float left_lum = GetIntensity( left.xyz ); + float right_lum = GetIntensity( right.xyz ); + float top_lum = GetIntensity( top.xyz ); + float bottom_lum = GetIntensity( bottom.xyz ); + + float4 clr_v = center; + float4 clr_h = center; + + // we had to hack this because DIV by 0 gives some artefacts on different platforms + float hx = center_lum == top_lum ? 0.0 : saturate( 0 + ( lb_h_lum - top_lum ) / ( center_lum - top_lum ) ); + float hy = center_lum == bottom_lum ? 0.0 : saturate( 1 + ( lb_h_lum - center_lum ) / ( center_lum - bottom_lum ) ); + float vx = center_lum == left_lum ? 0.0 : saturate( 0 + ( lb_v_lum - left_lum ) / ( center_lum - left_lum ) ); + float vy = center_lum == right_lum ? 0.0 : saturate( 1 + ( lb_v_lum - center_lum ) / ( center_lum - right_lum ) ); + + float4 vhxy = float4( vx, vy, hx, hy ); + //vhxy = vhxy == float4( 0, 0, 0, 0 ) ? float4( 1, 1, 1, 1 ) : vhxy; + + clr_v = lerp( left , clr_v, vhxy.x ); + clr_v = lerp( right , clr_v, vhxy.y ); + clr_h = lerp( top , clr_h, vhxy.z ); + clr_h = lerp( bottom, clr_h, vhxy.w ); + + clr = lerp( clr, clr_v, long_edge_mask_v ); + clr = lerp( clr, clr_h, long_edge_mask_h ); + } + + return clr; + } + + float4 edgeDetectAndBlurSharper(float2 texCoord) + { + float lambda = 3.0f; + float epsilon = 0.1f; + + // + // Short Edges + // + + float4 center, left_01, right_01, top_01, bottom_01; + + // sample 5x5 cross + LD( center, 0, 0 ) + LD( left_01, -1.5, 0 ) + LD( right_01, 1.5, 0 ) + LD( top_01, 0,-1.5 ) + LD( bottom_01, 0, 1.5 ) + + + float4 w_h = 2.0f * ( left_01 + right_01 ); + float4 w_v = 2.0f * ( top_01 + bottom_01 ); + + // Sharper (3-pixel wide high-pass) + float4 left, right, top, bottom; + + LD( left, -1, 0 ) + LD( right, 1, 0 ) + LD( top, 0, -1 ) + LD( bottom, 0, 1 ) + + float4 edge_h = abs( left + right - 2.0f * center ) / 2.0f; + float4 edge_v = abs( top + bottom - 2.0f * center ) / 2.0f; + + float4 blurred_h = ( w_h + 2.0f * center ) / 6.0f; + float4 blurred_v = ( w_v + 2.0f * center ) / 6.0f; + + float edge_h_lum = GetIntensity( edge_h.xyz ); + float edge_v_lum = GetIntensity( edge_v.xyz ); + float blurred_h_lum = GetIntensity( blurred_h.xyz ); + float blurred_v_lum = GetIntensity( blurred_v.xyz ); + + float edge_mask_h = saturate( ( lambda * edge_h_lum - epsilon ) / blurred_v_lum ); + float edge_mask_v = saturate( ( lambda * edge_v_lum - epsilon ) / blurred_h_lum ); + + float4 clr = center; + clr = lerp( clr, blurred_h, edge_mask_v ); + clr = lerp( clr, blurred_v, edge_mask_h * 0.5f ); // TFU2 uses 1.0f instead of 0.5f + + // + // Long Edges + // + + float4 h0, h1, h2, h3, h4, h5, h6, h7; + float4 v0, v1, v2, v3, v4, v5, v6, v7; + + // sample 16x16 cross (sparse-sample on X360, incremental kernel update on SPUs) + LD( h0, 1.5, 0 ) LD( h1, 3.5, 0 ) LD( h2, 5.5, 0 ) LD( h3, 7.5, 0 ) LD( h4, -1.5,0 ) LD( h5, -3.5,0 ) LD( h6, -5.5,0 ) LD( h7, -7.5,0 ) + LD( v0, 0, 1.5 ) LD( v1, 0, 3.5 ) LD( v2, 0, 5.5 ) LD( v3, 0, 7.5 ) LD( v4, 0,-1.5 ) LD( v5, 0,-3.5 ) LD( v6, 0,-5.5 ) LD( v7, 0,-7.5 ) + + float long_edge_mask_h = ( h0.a + h1.a + h2.a + h3.a + h4.a + h5.a + h6.a + h7.a ) / 8.0f; + float long_edge_mask_v = ( v0.a + v1.a + v2.a + v3.a + v4.a + v5.a + v6.a + v7.a ) / 8.0f; + + long_edge_mask_h = saturate( long_edge_mask_h * 2.0f - 1.0f ); + long_edge_mask_v = saturate( long_edge_mask_v * 2.0f - 1.0f ); + + //if ( long_edge_mask_h > 0 || long_edge_mask_v > 0 ) // faster but less resistant to noise (TFU2 X360) + if ( abs( long_edge_mask_h - long_edge_mask_v ) > 0.2f ) // resistant to noise (TFU2 SPUs) + { + float4 long_blurred_h = ( h0 + h1 + h2 + h3 + h4 + h5 + h6 + h7 ) / 8.0f; + float4 long_blurred_v = ( v0 + v1 + v2 + v3 + v4 + v5 + v6 + v7 ) / 8.0f; + + float lb_h_lum = GetIntensity( long_blurred_h.xyz ); + float lb_v_lum = GetIntensity( long_blurred_v.xyz ); + + float center_lum = GetIntensity( center.xyz ); + float left_lum = GetIntensity( left.xyz ); + float right_lum = GetIntensity( right.xyz ); + float top_lum = GetIntensity( top.xyz ); + float bottom_lum = GetIntensity( bottom.xyz ); + + float4 clr_v = center; + float4 clr_h = center; + + // we had to hack this because DIV by 0 gives some artefacts on different platforms + float hx = center_lum == top_lum ? 0.0 : saturate( 0 + ( lb_h_lum - top_lum ) / ( center_lum - top_lum ) ); + float hy = center_lum == bottom_lum ? 0.0 : saturate( 1 + ( lb_h_lum - center_lum ) / ( center_lum - bottom_lum ) ); + float vx = center_lum == left_lum ? 0.0 : saturate( 0 + ( lb_v_lum - left_lum ) / ( center_lum - left_lum ) ); + float vy = center_lum == right_lum ? 0.0 : saturate( 1 + ( lb_v_lum - center_lum ) / ( center_lum - right_lum ) ); + + float4 vhxy = float4( vx, vy, hx, hy ); + //vhxy = vhxy == float4( 0, 0, 0, 0 ) ? float4( 1, 1, 1, 1 ) : vhxy; + + clr_v = lerp( left , clr_v, vhxy.x ); + clr_v = lerp( right , clr_v, vhxy.y ); + clr_h = lerp( top , clr_h, vhxy.z ); + clr_h = lerp( bottom, clr_h, vhxy.w ); + + clr = lerp( clr, clr_v, long_edge_mask_v ); + clr = lerp( clr, clr_h, long_edge_mask_h ); + } + + return clr; + } + + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + float2 uv = v.texcoord.xy; + o.uv.xy = uv; + + return o; + } + + half4 fragFirst (v2f i) : SV_Target { + return highPassPre (i.uv); + } + + half4 fragSecond (v2f i) : SV_Target { + return edgeDetectAndBlur( i.uv ); + } + + half4 fragThird (v2f i) : SV_Target { + return edgeDetectAndBlurSharper( i.uv ); + } + +ENDCG + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragFirst + #pragma exclude_renderers d3d11_9x + + ENDCG + } + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragSecond + #pragma target 3.0 + #pragma exclude_renderers d3d11_9x + + ENDCG + } + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragThird + #pragma target 3.0 + + ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/DLAA.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/DLAA.shader.meta new file mode 100644 index 0000000..8db070d --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/DLAA.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 017ca72b9e8a749058d13ebd527e98fa +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA2.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA2.shader new file mode 100644 index 0000000..3048f23 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA2.shader @@ -0,0 +1,187 @@ +Shader "Hidden/FXAA II" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} +} + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM + +#pragma vertex vert +#pragma fragment frag +#include "UnityCG.cginc" +#pragma target 3.0 + +#define FXAA_HLSL_3 1 + +/*============================================================================ + + FXAA v2 CONSOLE by TIMOTHY LOTTES @ NVIDIA + +============================================================================*/ + +/*============================================================================ + API PORTING +============================================================================*/ +#ifndef FXAA_GLSL_120 + #define FXAA_GLSL_120 0 +#endif +#ifndef FXAA_GLSL_130 + #define FXAA_GLSL_130 0 +#endif +#ifndef FXAA_HLSL_3 + #define FXAA_HLSL_3 0 +#endif +#ifndef FXAA_HLSL_4 + #define FXAA_HLSL_4 0 +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_GLSL_120 + // Requires, + // #version 120 + // #extension GL_EXT_gpu_shader4 : enable + #define int2 ivec2 + #define float2 vec2 + #define float3 vec3 + #define float4 vec4 + #define FxaaInt2 ivec2 + #define FxaaFloat2 vec2 + #define FxaaSat(a) clamp((a), 0.0, 1.0) + #define FxaaTex sampler2D + #define FxaaTexLod0(t, p) texture2DLod(t, p, 0.0) + #define FxaaTexOff(t, p, o, r) texture2DLodOffset(t, p, 0.0, o) +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_GLSL_130 + // Requires "#version 130" or better + #define int2 ivec2 + #define float2 vec2 + #define float3 vec3 + #define float4 vec4 + #define FxaaInt2 ivec2 + #define FxaaFloat2 vec2 + #define FxaaSat(a) clamp((a), 0.0, 1.0) + #define FxaaTex sampler2D + #define FxaaTexLod0(t, p) textureLod(t, p, 0.0) + #define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o) +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_HLSL_3 + #define int2 float2 + #define FxaaInt2 float2 + #define FxaaFloat2 float2 + #define FxaaSat(a) saturate((a)) + #define FxaaTex sampler2D + #define FxaaTexLod0(t, p) tex2Dlod(t, float4(p, 0.0, 0.0)) + #define FxaaTexOff(t, p, o, r) tex2Dlod(t, float4(p + (o * r), 0, 0)) +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_HLSL_4 + #define FxaaInt2 int2 + #define FxaaFloat2 float2 + #define FxaaSat(a) saturate((a)) + struct FxaaTex { SamplerState smpl; Texture2D tex; }; + #define FxaaTexLod0(t, p) t.tex.SampleLevel(t.smpl, p, 0.0) + #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o) +#endif + + +/*============================================================================ + + VERTEX SHADER + +============================================================================*/ +float4 FxaaVertexShader( +float2 pos, // Both x and y range {-1.0 to 1.0 across screen}. +float2 rcpFrame) { // {1.0/frameWidth, 1.0/frameHeight} +/*--------------------------------------------------------------------------*/ + #define FXAA_SUBPIX_SHIFT (1.0/4.0) +/*--------------------------------------------------------------------------*/ + float4 posPos; + posPos.xy = (pos.xy * 0.5) + 0.5; + posPos.zw = posPos.xy - (rcpFrame * (0.5 + FXAA_SUBPIX_SHIFT)); + return posPos; } + +/*============================================================================ + + PIXEL SHADER + +============================================================================*/ +float3 FxaaPixelShader( +float4 posPos, // Output of FxaaVertexShader interpolated across screen. +FxaaTex tex, // Input texture. +float2 rcpFrame) { // Constant {1.0/frameWidth, 1.0/frameHeight}. +/*--------------------------------------------------------------------------*/ + #define FXAA_REDUCE_MIN (1.0/128.0) + #define FXAA_REDUCE_MUL (1.0/8.0) + #define FXAA_SPAN_MAX 8.0 +/*--------------------------------------------------------------------------*/ + float3 rgbNW = FxaaTexLod0(tex, posPos.zw).xyz; + float3 rgbNE = FxaaTexOff(tex, posPos.zw, FxaaInt2(1,0), rcpFrame.xy).xyz; + float3 rgbSW = FxaaTexOff(tex, posPos.zw, FxaaInt2(0,1), rcpFrame.xy).xyz; + float3 rgbSE = FxaaTexOff(tex, posPos.zw, FxaaInt2(1,1), rcpFrame.xy).xyz; + float3 rgbM = FxaaTexLod0(tex, posPos.xy).xyz; +/*--------------------------------------------------------------------------*/ + float3 luma = float3(0.299, 0.587, 0.114); + float lumaNW = dot(rgbNW, luma); + float lumaNE = dot(rgbNE, luma); + float lumaSW = dot(rgbSW, luma); + float lumaSE = dot(rgbSE, luma); + float lumaM = dot(rgbM, luma); +/*--------------------------------------------------------------------------*/ + float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE))); + float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE))); +/*--------------------------------------------------------------------------*/ + float2 dir; + dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE)); + dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE)); +/*--------------------------------------------------------------------------*/ + float dirReduce = max( + (lumaNW + lumaNE + lumaSW + lumaSE) * (0.25 * FXAA_REDUCE_MUL), + FXAA_REDUCE_MIN); + float rcpDirMin = 1.0/(min(abs(dir.x), abs(dir.y)) + dirReduce); + dir = min(FxaaFloat2( FXAA_SPAN_MAX, FXAA_SPAN_MAX), + max(FxaaFloat2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX), + dir * rcpDirMin)) * rcpFrame.xy; +/*--------------------------------------------------------------------------*/ + float3 rgbA = (1.0/2.0) * ( + FxaaTexLod0(tex, posPos.xy + dir * (1.0/3.0 - 0.5)).xyz + + FxaaTexLod0(tex, posPos.xy + dir * (2.0/3.0 - 0.5)).xyz); + float3 rgbB = rgbA * (1.0/2.0) + (1.0/4.0) * ( + FxaaTexLod0(tex, posPos.xy + dir * (0.0/3.0 - 0.5)).xyz + + FxaaTexLod0(tex, posPos.xy + dir * (3.0/3.0 - 0.5)).xyz); + float lumaB = dot(rgbB, luma); + if((lumaB < lumaMin) || (lumaB > lumaMax)) return rgbA; + return rgbB; } + + +struct v2f { + float4 pos : SV_POSITION; + float4 uv : TEXCOORD0; +}; + +float4 _MainTex_TexelSize; + +v2f vert (appdata_img v) +{ + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv = FxaaVertexShader (v.texcoord.xy*2-1, _MainTex_TexelSize.xy); + return o; +} + +sampler2D _MainTex; + +float4 frag (v2f i) : SV_Target +{ + return float4(FxaaPixelShader(i.uv, _MainTex, _MainTex_TexelSize.xy).xyz, 0.0f); +} + +ENDCG + } +} + +Fallback off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA2.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA2.shader.meta new file mode 100644 index 0000000..365db5f --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA2.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: cd5b323dcc592457790ff18b528f5e67 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA3Console.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA3Console.shader new file mode 100644 index 0000000..06f2895 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA3Console.shader @@ -0,0 +1,172 @@ + + +/*============================================================================ + +source taken from + + + NVIDIA FXAA 3.11 by TIMOTHY LOTTES + + +and adapted and ported to Unity by Unity Technologies + + +------------------------------------------------------------------------------ +COPYRIGHT (C) 2010, 2011 NVIDIA CORPORATION. ALL RIGHTS RESERVED. +------------------------------------------------------------------------------ +TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED +*AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA +OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR +CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR +LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, +OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE +THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +============================================================================*/ + + +Shader "Hidden/FXAA III (Console)" { + Properties { + _MainTex ("-", 2D) = "white" {} + _EdgeThresholdMin ("Edge threshold min",float) = 0.125 + _EdgeThreshold("Edge Threshold", float) = 0.25 + _EdgeSharpness("Edge sharpness",float) = 4.0 + } + SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 3.0 + + #include "UnityCG.cginc" + + uniform sampler2D _MainTex; + uniform half _EdgeThresholdMin; + uniform half _EdgeThreshold; + uniform half _EdgeSharpness; + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float4 interpolatorA : TEXCOORD1; + float4 interpolatorB : TEXCOORD2; + float4 interpolatorC : TEXCOORD3; + }; + + float4 _MainTex_TexelSize; + + v2f vert (appdata_img v) + { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + o.uv = v.texcoord.xy; + + float4 extents; + float2 offset = ( _MainTex_TexelSize.xy ) * 0.5f; + extents.xy = v.texcoord.xy - offset; + extents.zw = v.texcoord.xy + offset; + + float4 rcpSize; + rcpSize.xy = -_MainTex_TexelSize.xy * 0.5f; + rcpSize.zw = _MainTex_TexelSize.xy * 0.5f; +#if defined (SHADER_API_PSP2) + //cg compiler linker bug workaround + float almostzero = v.texcoord.x*0.000001f; + rcpSize.x += almostzero; +#endif + o.interpolatorA = extents; + o.interpolatorB = rcpSize; + o.interpolatorC = rcpSize; + + o.interpolatorC.xy *= 4.0; + o.interpolatorC.zw *= 4.0; + + return o; + } + +// hacky support for NaCl +#if defined(SHADER_API_GLES) && defined(SHADER_API_DESKTOP) + #define FxaaTexTop(t, p) tex2D(t, p) +#else + #define FxaaTexTop(t, p) tex2Dlod(t, float4(p, 0.0, 0.0)) +#endif + + inline half TexLuminance( float2 uv ) + { + return Luminance(FxaaTexTop(_MainTex, uv).rgb); + } + + half3 FxaaPixelShader(float2 pos, float4 extents, float4 rcpSize, float4 rcpSize2) + { + half lumaNw = TexLuminance(extents.xy); + half lumaSw = TexLuminance(extents.xw); + half lumaNe = TexLuminance(extents.zy); + half lumaSe = TexLuminance(extents.zw); + + half3 centre = FxaaTexTop(_MainTex, pos).rgb; + half lumaCentre = Luminance(centre); + + half lumaMaxNwSw = max( lumaNw , lumaSw ); + lumaNe += 1.0/384.0; + half lumaMinNwSw = min( lumaNw , lumaSw ); + + half lumaMaxNeSe = max( lumaNe , lumaSe ); + half lumaMinNeSe = min( lumaNe , lumaSe ); + + half lumaMax = max( lumaMaxNeSe, lumaMaxNwSw ); + half lumaMin = min( lumaMinNeSe, lumaMinNwSw ); + + half lumaMaxScaled = lumaMax * _EdgeThreshold; + + half lumaMinCentre = min( lumaMin , lumaCentre ); + half lumaMaxScaledClamped = max( _EdgeThresholdMin , lumaMaxScaled ); + half lumaMaxCentre = max( lumaMax , lumaCentre ); + half dirSWMinusNE = lumaSw - lumaNe; + half lumaMaxCMinusMinC = lumaMaxCentre - lumaMinCentre; + half dirSEMinusNW = lumaSe - lumaNw; + + if(lumaMaxCMinusMinC < lumaMaxScaledClamped) + return centre; + + half2 dir; + dir.x = dirSWMinusNE + dirSEMinusNW; + dir.y = dirSWMinusNE - dirSEMinusNW; + + dir = normalize(dir); + half3 col1 = FxaaTexTop(_MainTex, pos.xy - dir * rcpSize.zw).rgb; + half3 col2 = FxaaTexTop(_MainTex, pos.xy + dir * rcpSize.zw).rgb; + + half dirAbsMinTimesC = min( abs( dir.x ) , abs( dir.y ) ) * _EdgeSharpness; + dir = clamp(dir.xy/dirAbsMinTimesC, -2.0, 2.0); + + half3 col3 = FxaaTexTop(_MainTex, pos.xy - dir * rcpSize2.zw).rgb; + half3 col4 = FxaaTexTop(_MainTex, pos.xy + dir * rcpSize2.zw).rgb; + + half3 rgbyA = col1 + col2; + half3 rgbyB = ((col3 + col4) * 0.25) + (rgbyA * 0.25); + + if((Luminance(rgbyA) < lumaMin) || (Luminance(rgbyB) > lumaMax)) + return rgbyA * 0.5; + else + return rgbyB; + } + + half4 frag (v2f i) : SV_Target + { + half3 color = FxaaPixelShader(i.uv, i.interpolatorA, i.interpolatorB, i.interpolatorC); + return half4(color, 1.0); + } + + ENDCG + } + } + FallBack Off +} + diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA3Console.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA3Console.shader.meta new file mode 100644 index 0000000..6306815 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAA3Console.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: c547503fff0e8482ea5793727057041c +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset2.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset2.shader new file mode 100644 index 0000000..45691a1 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset2.shader @@ -0,0 +1,827 @@ +Shader "Hidden/FXAA Preset 2" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} +} + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM +#pragma vertex vert +#pragma fragment frag +#include "UnityCG.cginc" +#pragma target 3.0 + +// doesn't make sense to have this on consoles, it'll fallback to FXAA2 +#pragma exclude_renderers xbox360 ps3 gles + + +#define FXAA_HLSL_3 1 +#define FXAA_PRESET 2 + + +// Copyright (c) 2010 NVIDIA Corporation. All rights reserved. +// +// TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED +// *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS +// OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY +// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS +// BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES +// WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, +// BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) +// ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS +// BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +/*============================================================================ + + FXAA + +============================================================================*/ + +/*============================================================================ + API PORTING +============================================================================*/ +#ifndef FXAA_GLSL_120 + #define FXAA_GLSL_120 0 +#endif +#ifndef FXAA_GLSL_130 + #define FXAA_GLSL_130 0 +#endif +#ifndef FXAA_HLSL_3 + #define FXAA_HLSL_3 0 +#endif +#ifndef FXAA_HLSL_4 + #define FXAA_HLSL_4 0 +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_GLSL_120 + // Requires, + // #version 120 + // #extension GL_EXT_gpu_shader4 : enable + #define int2 ivec2 + #define float2 vec2 + #define float3 vec3 + #define float4 vec4 + #define FxaaBool3 bvec3 + #define FxaaInt2 ivec2 + #define FxaaFloat2 vec2 + #define FxaaFloat3 vec3 + #define FxaaFloat4 vec4 + #define FxaaBool2Float(a) mix(0.0, 1.0, (a)) + #define FxaaPow3(x, y) pow(x, y) + #define FxaaSel3(f, t, b) mix((f), (t), (b)) + #define FxaaTex sampler2D +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_GLSL_130 + // Requires "#version 130" or better + #define int2 ivec2 + #define float2 vec2 + #define float3 vec3 + #define float4 vec4 + #define FxaaBool3 bvec3 + #define FxaaInt2 ivec2 + #define FxaaFloat2 vec2 + #define FxaaFloat3 vec3 + #define FxaaFloat4 vec4 + #define FxaaBool2Float(a) mix(0.0, 1.0, (a)) + #define FxaaPow3(x, y) pow(x, y) + #define FxaaSel3(f, t, b) mix((f), (t), (b)) + #define FxaaTex sampler2D +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_HLSL_3 + #define int2 float2 + #define FxaaInt2 float2 + #define FxaaFloat2 float2 + #define FxaaFloat3 float3 + #define FxaaFloat4 float4 + #define FxaaBool2Float(a) (a) + #define FxaaPow3(x, y) pow(x, y) + #define FxaaSel3(f, t, b) ((f)*(!b) + (t)*(b)) + #define FxaaTex sampler2D +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_HLSL_4 + #define FxaaInt2 int2 + #define FxaaFloat2 float2 + #define FxaaFloat3 float3 + #define FxaaFloat4 float4 + #define FxaaBool2Float(a) (a) + #define FxaaPow3(x, y) pow(x, y) + #define FxaaSel3(f, t, b) ((f)*(!b) + (t)*(b)) + struct FxaaTex { SamplerState smpl; Texture2D tex; }; +#endif +/*--------------------------------------------------------------------------*/ +#define FxaaToFloat3(a) FxaaFloat3((a), (a), (a)) +/*--------------------------------------------------------------------------*/ +float4 FxaaTexLod0(FxaaTex tex, float2 pos) { + #if FXAA_GLSL_120 + return texture2DLod(tex, pos.xy, 0.0); + #endif + #if FXAA_GLSL_130 + return textureLod(tex, pos.xy, 0.0); + #endif + #if FXAA_HLSL_3 + return tex2Dlod(tex, float4(pos.xy, 0.0, 0.0)); + #endif + #if FXAA_HLSL_4 + return tex.tex.SampleLevel(tex.smpl, pos.xy, 0.0); + #endif +} +/*--------------------------------------------------------------------------*/ +float4 FxaaTexGrad(FxaaTex tex, float2 pos, float2 grad) { + #if FXAA_GLSL_120 + return texture2DGrad(tex, pos.xy, grad, grad); + #endif + #if FXAA_GLSL_130 + return textureGrad(tex, pos.xy, grad, grad); + #endif + #if FXAA_HLSL_3 + return tex2Dgrad(tex, pos.xy, grad, grad); + #endif + #if FXAA_HLSL_4 + return tex.tex.SampleGrad(tex.smpl, pos.xy, grad, grad); + #endif +} +/*--------------------------------------------------------------------------*/ +float4 FxaaTexOff(FxaaTex tex, float2 pos, int2 off, float2 rcpFrame) { + #if FXAA_GLSL_120 + return texture2DLodOffset(tex, pos.xy, 0.0, off.xy); + #endif + #if FXAA_GLSL_130 + return textureLodOffset(tex, pos.xy, 0.0, off.xy); + #endif + #if FXAA_HLSL_3 + return tex2Dlod(tex, float4(pos.xy + (off * rcpFrame), 0, 0)); + #endif + #if FXAA_HLSL_4 + return tex.tex.SampleLevel(tex.smpl, pos.xy, 0.0, off.xy); + #endif +} + +/*============================================================================ + SRGB KNOBS +------------------------------------------------------------------------------ +FXAA_SRGB_ROP - Set to 1 when applying FXAA to an sRGB back buffer (DX10/11). + This will do the sRGB to linear transform, + as ROP will expect linear color from this shader, + and this shader works in non-linear color. +============================================================================*/ +#define FXAA_SRGB_ROP 0 + +/*============================================================================ + DEBUG KNOBS +------------------------------------------------------------------------------ +All debug knobs draw FXAA-untouched pixels in FXAA computed luma (monochrome). + +FXAA_DEBUG_PASSTHROUGH - Red for pixels which are filtered by FXAA with a + yellow tint on sub-pixel aliasing filtered by FXAA. +FXAA_DEBUG_HORZVERT - Blue for horizontal edges, gold for vertical edges. +FXAA_DEBUG_PAIR - Blue/green for the 2 pixel pair choice. +FXAA_DEBUG_NEGPOS - Red/blue for which side of center of span. +FXAA_DEBUG_OFFSET - Red/blue for -/+ x, gold/skyblue for -/+ y. +============================================================================*/ +#ifndef FXAA_DEBUG_PASSTHROUGH + #define FXAA_DEBUG_PASSTHROUGH 0 +#endif +#ifndef FXAA_DEBUG_HORZVERT + #define FXAA_DEBUG_HORZVERT 0 +#endif +#ifndef FXAA_DEBUG_PAIR + #define FXAA_DEBUG_PAIR 0 +#endif +#ifndef FXAA_DEBUG_NEGPOS + #define FXAA_DEBUG_NEGPOS 0 +#endif +#ifndef FXAA_DEBUG_OFFSET + #define FXAA_DEBUG_OFFSET 0 +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_DEBUG_PASSTHROUGH || FXAA_DEBUG_HORZVERT || FXAA_DEBUG_PAIR + #define FXAA_DEBUG 1 +#endif +#if FXAA_DEBUG_NEGPOS || FXAA_DEBUG_OFFSET + #define FXAA_DEBUG 1 +#endif +#ifndef FXAA_DEBUG + #define FXAA_DEBUG 0 +#endif + +/*============================================================================ + COMPILE-IN KNOBS +------------------------------------------------------------------------------ +FXAA_PRESET - Choose compile-in knob preset 0-5. +------------------------------------------------------------------------------ +FXAA_EDGE_THRESHOLD - The minimum amount of local contrast required + to apply algorithm. + 1.0/3.0 - too little + 1.0/4.0 - good start + 1.0/8.0 - applies to more edges + 1.0/16.0 - overkill +------------------------------------------------------------------------------ +FXAA_EDGE_THRESHOLD_MIN - Trims the algorithm from processing darks. + Perf optimization. + 1.0/32.0 - visible limit (smaller isn't visible) + 1.0/16.0 - good compromise + 1.0/12.0 - upper limit (seeing artifacts) +------------------------------------------------------------------------------ +FXAA_SEARCH_STEPS - Maximum number of search steps for end of span. +------------------------------------------------------------------------------ +FXAA_SEARCH_ACCELERATION - How much to accelerate search, + 1 - no acceleration + 2 - skip by 2 pixels + 3 - skip by 3 pixels + 4 - skip by 4 pixels +------------------------------------------------------------------------------ +FXAA_SEARCH_THRESHOLD - Controls when to stop searching. + 1.0/4.0 - seems to be the best quality wise +------------------------------------------------------------------------------ +FXAA_SUBPIX_FASTER - Turn on lower quality but faster subpix path. + Not recomended, but used in preset 0. +------------------------------------------------------------------------------ +FXAA_SUBPIX - Toggle subpix filtering. + 0 - turn off + 1 - turn on + 2 - turn on full (ignores FXAA_SUBPIX_TRIM and CAP) +------------------------------------------------------------------------------ +FXAA_SUBPIX_TRIM - Controls sub-pixel aliasing removal. + 1.0/2.0 - low removal + 1.0/3.0 - medium removal + 1.0/4.0 - default removal + 1.0/8.0 - high removal + 0.0 - complete removal +------------------------------------------------------------------------------ +FXAA_SUBPIX_CAP - Insures fine detail is not completely removed. + This is important for the transition of sub-pixel detail, + like fences and wires. + 3.0/4.0 - default (medium amount of filtering) + 7.0/8.0 - high amount of filtering + 1.0 - no capping of sub-pixel aliasing removal +============================================================================*/ +#ifndef FXAA_PRESET + #define FXAA_PRESET 3 +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 0) + #define FXAA_EDGE_THRESHOLD (1.0/4.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/12.0) + #define FXAA_SEARCH_STEPS 2 + #define FXAA_SEARCH_ACCELERATION 4 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 1 + #define FXAA_SUBPIX_CAP (2.0/3.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 1) + #define FXAA_EDGE_THRESHOLD (1.0/8.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/16.0) + #define FXAA_SEARCH_STEPS 4 + #define FXAA_SEARCH_ACCELERATION 3 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 0 + #define FXAA_SUBPIX_CAP (3.0/4.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 2) + #define FXAA_EDGE_THRESHOLD (1.0/8.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/24.0) + #define FXAA_SEARCH_STEPS 8 + #define FXAA_SEARCH_ACCELERATION 2 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 0 + #define FXAA_SUBPIX_CAP (3.0/4.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 3) + #define FXAA_EDGE_THRESHOLD (1.0/8.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/24.0) + #define FXAA_SEARCH_STEPS 16 + #define FXAA_SEARCH_ACCELERATION 1 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 0 + #define FXAA_SUBPIX_CAP (3.0/4.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 4) + #define FXAA_EDGE_THRESHOLD (1.0/8.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/24.0) + #define FXAA_SEARCH_STEPS 24 + #define FXAA_SEARCH_ACCELERATION 1 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 0 + #define FXAA_SUBPIX_CAP (3.0/4.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 5) + #define FXAA_EDGE_THRESHOLD (1.0/8.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/24.0) + #define FXAA_SEARCH_STEPS 32 + #define FXAA_SEARCH_ACCELERATION 1 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 0 + #define FXAA_SUBPIX_CAP (3.0/4.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#define FXAA_SUBPIX_TRIM_SCALE (1.0/(1.0 - FXAA_SUBPIX_TRIM)) + +/*============================================================================ + HELPERS +============================================================================*/ +// Return the luma, the estimation of luminance from rgb inputs. +// This approximates luma using one FMA instruction, +// skipping normalization and tossing out blue. +// FxaaLuma() will range 0.0 to 2.963210702. +float FxaaLuma(float3 rgb) { + return rgb.y * (0.587/0.299) + rgb.x; } +/*--------------------------------------------------------------------------*/ +float3 FxaaLerp3(float3 a, float3 b, float amountOfA) { + return (FxaaToFloat3(-amountOfA) * b) + + ((a * FxaaToFloat3(amountOfA)) + b); } +/*--------------------------------------------------------------------------*/ +// Support any extra filtering before returning color. +float3 FxaaFilterReturn(float3 rgb) { + #if FXAA_SRGB_ROP + // Do sRGB encoded value to linear conversion. + return FxaaSel3( + rgb * FxaaToFloat3(1.0/12.92), + FxaaPow3( + rgb * FxaaToFloat3(1.0/1.055) + FxaaToFloat3(0.055/1.055), + FxaaToFloat3(2.4)), + rgb > FxaaToFloat3(0.04045)); + #else + return rgb; + #endif +} + +/*============================================================================ + VERTEX SHADER +============================================================================*/ +float2 FxaaVertexShader( +// Both x and y range {-1.0 to 1.0 across screen}. +float2 inPos) { + float2 pos; + pos.xy = (inPos.xy * FxaaFloat2(0.5, 0.5)) + FxaaFloat2(0.5, 0.5); + return pos; } + +/*============================================================================ + + PIXEL SHADER + +============================================================================*/ +float3 FxaaPixelShader( +// Output of FxaaVertexShader interpolated across screen. +// xy -> actual texture position {0.0 to 1.0} +float2 pos, +// Input texture. +FxaaTex tex, +// RCPFRAME SHOULD PIXEL SHADER CONSTANTS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +// {1.0/frameWidth, 1.0/frameHeight} +float2 rcpFrame) { + +/*---------------------------------------------------------------------------- + EARLY EXIT IF LOCAL CONTRAST BELOW EDGE DETECT LIMIT +------------------------------------------------------------------------------ +Majority of pixels of a typical image do not require filtering, +often pixels are grouped into blocks which could benefit from early exit +right at the beginning of the algorithm. +Given the following neighborhood, + + N + W M E + S + +If the difference in local maximum and minimum luma (contrast "range") +is lower than a threshold proportional to the maximum local luma ("rangeMax"), +then the shader early exits (no visible aliasing). +This threshold is clamped at a minimum value ("FXAA_EDGE_THRESHOLD_MIN") +to avoid processing in really dark areas. +----------------------------------------------------------------------------*/ + float3 rgbN = FxaaTexOff(tex, pos.xy, FxaaInt2( 0,-1), rcpFrame).xyz; + float3 rgbW = FxaaTexOff(tex, pos.xy, FxaaInt2(-1, 0), rcpFrame).xyz; + float3 rgbM = FxaaTexOff(tex, pos.xy, FxaaInt2( 0, 0), rcpFrame).xyz; + float3 rgbE = FxaaTexOff(tex, pos.xy, FxaaInt2( 1, 0), rcpFrame).xyz; + float3 rgbS = FxaaTexOff(tex, pos.xy, FxaaInt2( 0, 1), rcpFrame).xyz; + float lumaN = FxaaLuma(rgbN); + float lumaW = FxaaLuma(rgbW); + float lumaM = FxaaLuma(rgbM); + float lumaE = FxaaLuma(rgbE); + float lumaS = FxaaLuma(rgbS); + float rangeMin = min(lumaM, min(min(lumaN, lumaW), min(lumaS, lumaE))); + float rangeMax = max(lumaM, max(max(lumaN, lumaW), max(lumaS, lumaE))); + float range = rangeMax - rangeMin; + #if FXAA_DEBUG + float lumaO = lumaM / (1.0 + (0.587/0.299)); + #endif + if(range < max(FXAA_EDGE_THRESHOLD_MIN, rangeMax * FXAA_EDGE_THRESHOLD)) { + #if FXAA_DEBUG + return FxaaFilterReturn(FxaaToFloat3(lumaO)); + #endif + return FxaaFilterReturn(rgbM); } + #if FXAA_SUBPIX > 0 + #if FXAA_SUBPIX_FASTER + float3 rgbL = (rgbN + rgbW + rgbE + rgbS + rgbM) * + FxaaToFloat3(1.0/5.0); + #else + float3 rgbL = rgbN + rgbW + rgbM + rgbE + rgbS; + #endif + #endif + +/*---------------------------------------------------------------------------- + COMPUTE LOWPASS +------------------------------------------------------------------------------ +FXAA computes a local neighborhood lowpass value as follows, + + (N + W + E + S)/4 + +Then uses the ratio of the contrast range of the lowpass +and the range found in the early exit check, +as a sub-pixel aliasing detection filter. +When FXAA detects sub-pixel aliasing (such as single pixel dots), +it later blends in "blendL" amount +of a lowpass value (computed in the next section) to the final result. +----------------------------------------------------------------------------*/ + #if FXAA_SUBPIX != 0 + float lumaL = (lumaN + lumaW + lumaE + lumaS) * 0.25; + float rangeL = abs(lumaL - lumaM); + #endif + #if FXAA_SUBPIX == 1 + float blendL = max(0.0, + (rangeL / range) - FXAA_SUBPIX_TRIM) * FXAA_SUBPIX_TRIM_SCALE; + blendL = min(FXAA_SUBPIX_CAP, blendL); + #endif + #if FXAA_SUBPIX == 2 + float blendL = rangeL / range; + #endif + #if FXAA_DEBUG_PASSTHROUGH + #if FXAA_SUBPIX == 0 + float blendL = 0.0; + #endif + return FxaaFilterReturn( + FxaaFloat3(1.0, blendL/FXAA_SUBPIX_CAP, 0.0)); + #endif + +/*---------------------------------------------------------------------------- + CHOOSE VERTICAL OR HORIZONTAL SEARCH +------------------------------------------------------------------------------ +FXAA uses the following local neighborhood, + + NW N NE + W M E + SW S SE + +To compute an edge amount for both vertical and horizontal directions. +Note edge detect filters like Sobel fail on single pixel lines through M. +FXAA takes the weighted average magnitude of the high-pass values +for rows and columns as an indication of local edge amount. + +A lowpass value for anti-sub-pixel-aliasing is computed as + (N+W+E+S+M+NW+NE+SW+SE)/9. +This full box pattern has higher quality than other options. + +Note following this block, both vertical and horizontal cases +flow in parallel (reusing the horizontal variables). +----------------------------------------------------------------------------*/ + float3 rgbNW = FxaaTexOff(tex, pos.xy, FxaaInt2(-1,-1), rcpFrame).xyz; + float3 rgbNE = FxaaTexOff(tex, pos.xy, FxaaInt2( 1,-1), rcpFrame).xyz; + float3 rgbSW = FxaaTexOff(tex, pos.xy, FxaaInt2(-1, 1), rcpFrame).xyz; + float3 rgbSE = FxaaTexOff(tex, pos.xy, FxaaInt2( 1, 1), rcpFrame).xyz; + #if (FXAA_SUBPIX_FASTER == 0) && (FXAA_SUBPIX > 0) + rgbL += (rgbNW + rgbNE + rgbSW + rgbSE); + rgbL *= FxaaToFloat3(1.0/9.0); + #endif + float lumaNW = FxaaLuma(rgbNW); + float lumaNE = FxaaLuma(rgbNE); + float lumaSW = FxaaLuma(rgbSW); + float lumaSE = FxaaLuma(rgbSE); + float edgeVert = + abs((0.25 * lumaNW) + (-0.5 * lumaN) + (0.25 * lumaNE)) + + abs((0.50 * lumaW ) + (-1.0 * lumaM) + (0.50 * lumaE )) + + abs((0.25 * lumaSW) + (-0.5 * lumaS) + (0.25 * lumaSE)); + float edgeHorz = + abs((0.25 * lumaNW) + (-0.5 * lumaW) + (0.25 * lumaSW)) + + abs((0.50 * lumaN ) + (-1.0 * lumaM) + (0.50 * lumaS )) + + abs((0.25 * lumaNE) + (-0.5 * lumaE) + (0.25 * lumaSE)); + bool horzSpan = edgeHorz >= edgeVert; + #if FXAA_DEBUG_HORZVERT + if(horzSpan) return FxaaFilterReturn(FxaaFloat3(1.0, 0.75, 0.0)); + else return FxaaFilterReturn(FxaaFloat3(0.0, 0.50, 1.0)); + #endif + float lengthSign = horzSpan ? -rcpFrame.y : -rcpFrame.x; + if(!horzSpan) lumaN = lumaW; + if(!horzSpan) lumaS = lumaE; + float gradientN = abs(lumaN - lumaM); + float gradientS = abs(lumaS - lumaM); + lumaN = (lumaN + lumaM) * 0.5; + lumaS = (lumaS + lumaM) * 0.5; + +/*---------------------------------------------------------------------------- + CHOOSE SIDE OF PIXEL WHERE GRADIENT IS HIGHEST +------------------------------------------------------------------------------ +This chooses a pixel pair. +For "horzSpan == true" this will be a vertical pair, + + [N] N + [M] or [M] + S [S] + +Note following this block, both {N,M} and {S,M} cases +flow in parallel (reusing the {N,M} variables). + +This pair of image rows or columns is searched below +in the positive and negative direction +until edge status changes +(or the maximum number of search steps is reached). +----------------------------------------------------------------------------*/ + bool pairN = gradientN >= gradientS; + #if FXAA_DEBUG_PAIR + if(pairN) return FxaaFilterReturn(FxaaFloat3(0.0, 0.0, 1.0)); + else return FxaaFilterReturn(FxaaFloat3(0.0, 1.0, 0.0)); + #endif + if(!pairN) lumaN = lumaS; + if(!pairN) gradientN = gradientS; + if(!pairN) lengthSign *= -1.0; + float2 posN; + posN.x = pos.x + (horzSpan ? 0.0 : lengthSign * 0.5); + posN.y = pos.y + (horzSpan ? lengthSign * 0.5 : 0.0); + +/*---------------------------------------------------------------------------- + CHOOSE SEARCH LIMITING VALUES +------------------------------------------------------------------------------ +Search limit (+/- gradientN) is a function of local gradient. +----------------------------------------------------------------------------*/ + gradientN *= FXAA_SEARCH_THRESHOLD; + +/*---------------------------------------------------------------------------- + SEARCH IN BOTH DIRECTIONS UNTIL FIND LUMA PAIR AVERAGE IS OUT OF RANGE +------------------------------------------------------------------------------ +This loop searches either in vertical or horizontal directions, +and in both the negative and positive direction in parallel. +This loop fusion is faster than searching separately. + +The search is accelerated using FXAA_SEARCH_ACCELERATION length box filter +via anisotropic filtering with specified texture gradients. +----------------------------------------------------------------------------*/ + float2 posP = posN; + float2 offNP = horzSpan ? + FxaaFloat2(rcpFrame.x, 0.0) : + FxaaFloat2(0.0f, rcpFrame.y); + float lumaEndN = lumaN; + float lumaEndP = lumaN; + bool doneN = false; + bool doneP = false; + #if FXAA_SEARCH_ACCELERATION == 1 + posN += offNP * FxaaFloat2(-1.0, -1.0); + posP += offNP * FxaaFloat2( 1.0, 1.0); + #endif + #if FXAA_SEARCH_ACCELERATION == 2 + posN += offNP * FxaaFloat2(-1.5, -1.5); + posP += offNP * FxaaFloat2( 1.5, 1.5); + offNP *= FxaaFloat2(2.0, 2.0); + #endif + #if FXAA_SEARCH_ACCELERATION == 3 + posN += offNP * FxaaFloat2(-2.0, -2.0); + posP += offNP * FxaaFloat2( 2.0, 2.0); + offNP *= FxaaFloat2(3.0, 3.0); + #endif + #if FXAA_SEARCH_ACCELERATION == 4 + posN += offNP * FxaaFloat2(-2.5, -2.5); + posP += offNP * FxaaFloat2( 2.5, 2.5); + offNP *= FxaaFloat2(4.0, 4.0); + #endif + for(int i = 0; i < FXAA_SEARCH_STEPS; i++) { + #if FXAA_SEARCH_ACCELERATION == 1 + if(!doneN) lumaEndN = + FxaaLuma(FxaaTexLod0(tex, posN.xy).xyz); + if(!doneP) lumaEndP = + FxaaLuma(FxaaTexLod0(tex, posP.xy).xyz); + #else + if(!doneN) lumaEndN = + FxaaLuma(FxaaTexGrad(tex, posN.xy, offNP).xyz); + if(!doneP) lumaEndP = + FxaaLuma(FxaaTexGrad(tex, posP.xy, offNP).xyz); + #endif + doneN = doneN || (abs(lumaEndN - lumaN) >= gradientN); + doneP = doneP || (abs(lumaEndP - lumaN) >= gradientN); + if(doneN && doneP) break; + if(!doneN) posN -= offNP; + if(!doneP) posP += offNP; } + +/*---------------------------------------------------------------------------- + HANDLE IF CENTER IS ON POSITIVE OR NEGATIVE SIDE +------------------------------------------------------------------------------ +FXAA uses the pixel's position in the span +in combination with the values (lumaEnd*) at the ends of the span, +to determine filtering. + +This step computes which side of the span the pixel is on. +On negative side if dstN < dstP, + + posN pos posP + |-----------|------|------------------| + | | | | + |<--dstN--->|<---------dstP---------->| + | + span center + +----------------------------------------------------------------------------*/ + float dstN = horzSpan ? pos.x - posN.x : pos.y - posN.y; + float dstP = horzSpan ? posP.x - pos.x : posP.y - pos.y; + bool directionN = dstN < dstP; + #if FXAA_DEBUG_NEGPOS + if(directionN) return FxaaFilterReturn(FxaaFloat3(1.0, 0.0, 0.0)); + else return FxaaFilterReturn(FxaaFloat3(0.0, 0.0, 1.0)); + #endif + lumaEndN = directionN ? lumaEndN : lumaEndP; + +/*---------------------------------------------------------------------------- + CHECK IF PIXEL IS IN SECTION OF SPAN WHICH GETS NO FILTERING +------------------------------------------------------------------------------ +If both the pair luma at the end of the span (lumaEndN) +and middle pixel luma (lumaM) +are on the same side of the middle pair average luma (lumaN), +then don't filter. + +Cases, + +(1.) "L", + + lumaM + | + V XXXXXXXX <- other line averaged + XXXXXXX[X]XXXXXXXXXXX <- source pixel line + | . | + -------------------------- + [ ]xxxxxx[x]xx[X]XXXXXX <- pair average + -------------------------- + ^ ^ ^ ^ + | | | | + . |<---->|<---------- no filter region + . | | | + . center | | + . | lumaEndN + . | . + . lumaN . + . . + |<--- span -->| + + +(2.) "^" and "-", + + <- other line averaged + XXXXX[X]XXX <- source pixel line + | | | + -------------------------- + [ ]xxxx[x]xx[ ] <- pair average + -------------------------- + | | | + |<--->|<--->|<---------- filter both sides + + +(3.) "v" and inverse of "-", + + XXXXXX XXXXXXXXX <- other line averaged + XXXXXXXXXXX[X]XXXXXXXXXXXX <- source pixel line + | | | + -------------------------- + XXXX[X]xxxx[x]xx[X]XXXXXXX <- pair average + -------------------------- + | | | + |<--->|<--->|<---------- don't filter both! + + +Note the "v" case for FXAA requires no filtering. +This is because the inverse of the "-" case is the "v". +Filtering "v" case turns open spans like this, + + XXXXXXXXX + +Into this (which is not desired), + + x+. .+x + XXXXXXXXX + +----------------------------------------------------------------------------*/ + if(((lumaM - lumaN) < 0.0) == ((lumaEndN - lumaN) < 0.0)) + lengthSign = 0.0; + +/*---------------------------------------------------------------------------- + COMPUTE SUB-PIXEL OFFSET AND FILTER SPAN +------------------------------------------------------------------------------ +FXAA filters using a bilinear texture fetch offset +from the middle pixel M towards the center of the pair (NM below). +Maximum filtering will be half way between pair. +Reminder, at this point in the code, +the {N,M} pair is also reused for all cases: {S,M}, {W,M}, and {E,M}. + + +-------+ + | | 0.5 offset + | N | | + | | V + +-------+....--- + | | + | M...|....--- + | | ^ + +-------+ | + . . 0.0 offset + . S . + . . + ......... + +Position on span is used to compute sub-pixel filter offset using simple ramp, + + posN posP + |\ |<------- 0.5 pixel offset into pair pixel + | \ | + | \ | + ---.......|...\..........|<------- 0.25 pixel offset into pair pixel + ^ | ^\ | + | | | \ | + V | | \ | + ---.......|===|==========|<------- 0.0 pixel offset (ie M pixel) + ^ . | ^ . + | . pos | . + | . . | . + | . . center . + | . . . + | |<->|<---------.-------- dstN + | . . . + | . |<-------->|<------- dstP + | . . + | |<------------>|<------- spanLength + | + subPixelOffset + +----------------------------------------------------------------------------*/ + float spanLength = (dstP + dstN); + dstN = directionN ? dstN : dstP; + float subPixelOffset = (0.5 + (dstN * (-1.0/spanLength))) * lengthSign; + #if FXAA_DEBUG_OFFSET + float ox = horzSpan ? 0.0 : subPixelOffset*2.0/rcpFrame.x; + float oy = horzSpan ? subPixelOffset*2.0/rcpFrame.y : 0.0; + if(ox < 0.0) return FxaaFilterReturn( + FxaaLerp3(FxaaToFloat3(lumaO), + FxaaFloat3(1.0, 0.0, 0.0), -ox)); + if(ox > 0.0) return FxaaFilterReturn( + FxaaLerp3(FxaaToFloat3(lumaO), + FxaaFloat3(0.0, 0.0, 1.0), ox)); + if(oy < 0.0) return FxaaFilterReturn( + FxaaLerp3(FxaaToFloat3(lumaO), + FxaaFloat3(1.0, 0.6, 0.2), -oy)); + if(oy > 0.0) return FxaaFilterReturn( + FxaaLerp3(FxaaToFloat3(lumaO), + FxaaFloat3(0.2, 0.6, 1.0), oy)); + return FxaaFilterReturn(FxaaFloat3(lumaO, lumaO, lumaO)); + #endif + float3 rgbF = FxaaTexLod0(tex, FxaaFloat2( + pos.x + (horzSpan ? 0.0 : subPixelOffset), + pos.y + (horzSpan ? subPixelOffset : 0.0))).xyz; + #if FXAA_SUBPIX == 0 + return FxaaFilterReturn(rgbF); + #else + return FxaaFilterReturn(FxaaLerp3(rgbL, rgbF, blendL)); + #endif +} + + + +struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; +}; + +v2f vert (appdata_img v) +{ + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + return o; +} + +sampler2D _MainTex; +float4 _MainTex_TexelSize; + +float4 frag (v2f i) : SV_Target +{ + return float4(FxaaPixelShader(i.uv.xy, _MainTex, _MainTex_TexelSize.xy).xyz, 0.0f); +} + +ENDCG + } +} + +Fallback "Hidden/FXAA II" +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset2.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset2.shader.meta new file mode 100644 index 0000000..a0d603d --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset2.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 6f1418cffd12146f2a83be795f6fa5a7 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset3.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset3.shader new file mode 100644 index 0000000..787acd6 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset3.shader @@ -0,0 +1,826 @@ +Shader "Hidden/FXAA Preset 3" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} +} + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + +CGPROGRAM +#pragma vertex vert +#pragma fragment frag +#include "UnityCG.cginc" +#pragma target 3.0 + +// Not very practical on consoles/mobile, and PS3 Cg takes ages to compile this :( +#pragma exclude_renderers xbox360 ps3 gles + +#define FXAA_HLSL_3 1 +#define FXAA_PRESET 3 + + +// Copyright (c) 2010 NVIDIA Corporation. All rights reserved. +// +// TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED +// *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS +// OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY +// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS +// BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES +// WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, +// BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) +// ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS +// BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +/*============================================================================ + + FXAA + +============================================================================*/ + +/*============================================================================ + API PORTING +============================================================================*/ +#ifndef FXAA_GLSL_120 + #define FXAA_GLSL_120 0 +#endif +#ifndef FXAA_GLSL_130 + #define FXAA_GLSL_130 0 +#endif +#ifndef FXAA_HLSL_3 + #define FXAA_HLSL_3 0 +#endif +#ifndef FXAA_HLSL_4 + #define FXAA_HLSL_4 0 +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_GLSL_120 + // Requires, + // #version 120 + // #extension GL_EXT_gpu_shader4 : enable + #define int2 ivec2 + #define float2 vec2 + #define float3 vec3 + #define float4 vec4 + #define FxaaBool3 bvec3 + #define FxaaInt2 ivec2 + #define FxaaFloat2 vec2 + #define FxaaFloat3 vec3 + #define FxaaFloat4 vec4 + #define FxaaBool2Float(a) mix(0.0, 1.0, (a)) + #define FxaaPow3(x, y) pow(x, y) + #define FxaaSel3(f, t, b) mix((f), (t), (b)) + #define FxaaTex sampler2D +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_GLSL_130 + // Requires "#version 130" or better + #define int2 ivec2 + #define float2 vec2 + #define float3 vec3 + #define float4 vec4 + #define FxaaBool3 bvec3 + #define FxaaInt2 ivec2 + #define FxaaFloat2 vec2 + #define FxaaFloat3 vec3 + #define FxaaFloat4 vec4 + #define FxaaBool2Float(a) mix(0.0, 1.0, (a)) + #define FxaaPow3(x, y) pow(x, y) + #define FxaaSel3(f, t, b) mix((f), (t), (b)) + #define FxaaTex sampler2D +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_HLSL_3 + #define int2 float2 + #define FxaaInt2 float2 + #define FxaaFloat2 float2 + #define FxaaFloat3 float3 + #define FxaaFloat4 float4 + #define FxaaBool2Float(a) (a) + #define FxaaPow3(x, y) pow(x, y) + #define FxaaSel3(f, t, b) ((f)*(!b) + (t)*(b)) + #define FxaaTex sampler2D +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_HLSL_4 + #define FxaaInt2 int2 + #define FxaaFloat2 float2 + #define FxaaFloat3 float3 + #define FxaaFloat4 float4 + #define FxaaBool2Float(a) (a) + #define FxaaPow3(x, y) pow(x, y) + #define FxaaSel3(f, t, b) ((f)*(!b) + (t)*(b)) + struct FxaaTex { SamplerState smpl; Texture2D tex; }; +#endif +/*--------------------------------------------------------------------------*/ +#define FxaaToFloat3(a) FxaaFloat3((a), (a), (a)) +/*--------------------------------------------------------------------------*/ +float4 FxaaTexLod0(FxaaTex tex, float2 pos) { + #if FXAA_GLSL_120 + return texture2DLod(tex, pos.xy, 0.0); + #endif + #if FXAA_GLSL_130 + return textureLod(tex, pos.xy, 0.0); + #endif + #if FXAA_HLSL_3 + return tex2Dlod(tex, float4(pos.xy, 0.0, 0.0)); + #endif + #if FXAA_HLSL_4 + return tex.tex.SampleLevel(tex.smpl, pos.xy, 0.0); + #endif +} +/*--------------------------------------------------------------------------*/ +float4 FxaaTexGrad(FxaaTex tex, float2 pos, float2 grad) { + #if FXAA_GLSL_120 + return texture2DGrad(tex, pos.xy, grad, grad); + #endif + #if FXAA_GLSL_130 + return textureGrad(tex, pos.xy, grad, grad); + #endif + #if FXAA_HLSL_3 + return tex2Dgrad(tex, pos.xy, grad, grad); + #endif + #if FXAA_HLSL_4 + return tex.tex.SampleGrad(tex.smpl, pos.xy, grad, grad); + #endif +} +/*--------------------------------------------------------------------------*/ +float4 FxaaTexOff(FxaaTex tex, float2 pos, int2 off, float2 rcpFrame) { + #if FXAA_GLSL_120 + return texture2DLodOffset(tex, pos.xy, 0.0, off.xy); + #endif + #if FXAA_GLSL_130 + return textureLodOffset(tex, pos.xy, 0.0, off.xy); + #endif + #if FXAA_HLSL_3 + return tex2Dlod(tex, float4(pos.xy + (off * rcpFrame), 0, 0)); + #endif + #if FXAA_HLSL_4 + return tex.tex.SampleLevel(tex.smpl, pos.xy, 0.0, off.xy); + #endif +} + +/*============================================================================ + SRGB KNOBS +------------------------------------------------------------------------------ +FXAA_SRGB_ROP - Set to 1 when applying FXAA to an sRGB back buffer (DX10/11). + This will do the sRGB to linear transform, + as ROP will expect linear color from this shader, + and this shader works in non-linear color. +============================================================================*/ +#define FXAA_SRGB_ROP 0 + +/*============================================================================ + DEBUG KNOBS +------------------------------------------------------------------------------ +All debug knobs draw FXAA-untouched pixels in FXAA computed luma (monochrome). + +FXAA_DEBUG_PASSTHROUGH - Red for pixels which are filtered by FXAA with a + yellow tint on sub-pixel aliasing filtered by FXAA. +FXAA_DEBUG_HORZVERT - Blue for horizontal edges, gold for vertical edges. +FXAA_DEBUG_PAIR - Blue/green for the 2 pixel pair choice. +FXAA_DEBUG_NEGPOS - Red/blue for which side of center of span. +FXAA_DEBUG_OFFSET - Red/blue for -/+ x, gold/skyblue for -/+ y. +============================================================================*/ +#ifndef FXAA_DEBUG_PASSTHROUGH + #define FXAA_DEBUG_PASSTHROUGH 0 +#endif +#ifndef FXAA_DEBUG_HORZVERT + #define FXAA_DEBUG_HORZVERT 0 +#endif +#ifndef FXAA_DEBUG_PAIR + #define FXAA_DEBUG_PAIR 0 +#endif +#ifndef FXAA_DEBUG_NEGPOS + #define FXAA_DEBUG_NEGPOS 0 +#endif +#ifndef FXAA_DEBUG_OFFSET + #define FXAA_DEBUG_OFFSET 0 +#endif +/*--------------------------------------------------------------------------*/ +#if FXAA_DEBUG_PASSTHROUGH || FXAA_DEBUG_HORZVERT || FXAA_DEBUG_PAIR + #define FXAA_DEBUG 1 +#endif +#if FXAA_DEBUG_NEGPOS || FXAA_DEBUG_OFFSET + #define FXAA_DEBUG 1 +#endif +#ifndef FXAA_DEBUG + #define FXAA_DEBUG 0 +#endif + +/*============================================================================ + COMPILE-IN KNOBS +------------------------------------------------------------------------------ +FXAA_PRESET - Choose compile-in knob preset 0-5. +------------------------------------------------------------------------------ +FXAA_EDGE_THRESHOLD - The minimum amount of local contrast required + to apply algorithm. + 1.0/3.0 - too little + 1.0/4.0 - good start + 1.0/8.0 - applies to more edges + 1.0/16.0 - overkill +------------------------------------------------------------------------------ +FXAA_EDGE_THRESHOLD_MIN - Trims the algorithm from processing darks. + Perf optimization. + 1.0/32.0 - visible limit (smaller isn't visible) + 1.0/16.0 - good compromise + 1.0/12.0 - upper limit (seeing artifacts) +------------------------------------------------------------------------------ +FXAA_SEARCH_STEPS - Maximum number of search steps for end of span. +------------------------------------------------------------------------------ +FXAA_SEARCH_ACCELERATION - How much to accelerate search, + 1 - no acceleration + 2 - skip by 2 pixels + 3 - skip by 3 pixels + 4 - skip by 4 pixels +------------------------------------------------------------------------------ +FXAA_SEARCH_THRESHOLD - Controls when to stop searching. + 1.0/4.0 - seems to be the best quality wise +------------------------------------------------------------------------------ +FXAA_SUBPIX_FASTER - Turn on lower quality but faster subpix path. + Not recomended, but used in preset 0. +------------------------------------------------------------------------------ +FXAA_SUBPIX - Toggle subpix filtering. + 0 - turn off + 1 - turn on + 2 - turn on full (ignores FXAA_SUBPIX_TRIM and CAP) +------------------------------------------------------------------------------ +FXAA_SUBPIX_TRIM - Controls sub-pixel aliasing removal. + 1.0/2.0 - low removal + 1.0/3.0 - medium removal + 1.0/4.0 - default removal + 1.0/8.0 - high removal + 0.0 - complete removal +------------------------------------------------------------------------------ +FXAA_SUBPIX_CAP - Insures fine detail is not completely removed. + This is important for the transition of sub-pixel detail, + like fences and wires. + 3.0/4.0 - default (medium amount of filtering) + 7.0/8.0 - high amount of filtering + 1.0 - no capping of sub-pixel aliasing removal +============================================================================*/ +#ifndef FXAA_PRESET + #define FXAA_PRESET 3 +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 0) + #define FXAA_EDGE_THRESHOLD (1.0/4.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/12.0) + #define FXAA_SEARCH_STEPS 2 + #define FXAA_SEARCH_ACCELERATION 4 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 1 + #define FXAA_SUBPIX_CAP (2.0/3.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 1) + #define FXAA_EDGE_THRESHOLD (1.0/8.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/16.0) + #define FXAA_SEARCH_STEPS 4 + #define FXAA_SEARCH_ACCELERATION 3 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 0 + #define FXAA_SUBPIX_CAP (3.0/4.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 2) + #define FXAA_EDGE_THRESHOLD (1.0/8.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/24.0) + #define FXAA_SEARCH_STEPS 8 + #define FXAA_SEARCH_ACCELERATION 2 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 0 + #define FXAA_SUBPIX_CAP (3.0/4.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 3) + #define FXAA_EDGE_THRESHOLD (1.0/8.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/24.0) + #define FXAA_SEARCH_STEPS 16 + #define FXAA_SEARCH_ACCELERATION 1 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 0 + #define FXAA_SUBPIX_CAP (3.0/4.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 4) + #define FXAA_EDGE_THRESHOLD (1.0/8.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/24.0) + #define FXAA_SEARCH_STEPS 24 + #define FXAA_SEARCH_ACCELERATION 1 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 0 + #define FXAA_SUBPIX_CAP (3.0/4.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#if (FXAA_PRESET == 5) + #define FXAA_EDGE_THRESHOLD (1.0/8.0) + #define FXAA_EDGE_THRESHOLD_MIN (1.0/24.0) + #define FXAA_SEARCH_STEPS 32 + #define FXAA_SEARCH_ACCELERATION 1 + #define FXAA_SEARCH_THRESHOLD (1.0/4.0) + #define FXAA_SUBPIX 1 + #define FXAA_SUBPIX_FASTER 0 + #define FXAA_SUBPIX_CAP (3.0/4.0) + #define FXAA_SUBPIX_TRIM (1.0/4.0) +#endif +/*--------------------------------------------------------------------------*/ +#define FXAA_SUBPIX_TRIM_SCALE (1.0/(1.0 - FXAA_SUBPIX_TRIM)) + +/*============================================================================ + HELPERS +============================================================================*/ +// Return the luma, the estimation of luminance from rgb inputs. +// This approximates luma using one FMA instruction, +// skipping normalization and tossing out blue. +// FxaaLuma() will range 0.0 to 2.963210702. +float FxaaLuma(float3 rgb) { + return rgb.y * (0.587/0.299) + rgb.x; } +/*--------------------------------------------------------------------------*/ +float3 FxaaLerp3(float3 a, float3 b, float amountOfA) { + return (FxaaToFloat3(-amountOfA) * b) + + ((a * FxaaToFloat3(amountOfA)) + b); } +/*--------------------------------------------------------------------------*/ +// Support any extra filtering before returning color. +float3 FxaaFilterReturn(float3 rgb) { + #if FXAA_SRGB_ROP + // Do sRGB encoded value to linear conversion. + return FxaaSel3( + rgb * FxaaToFloat3(1.0/12.92), + FxaaPow3( + rgb * FxaaToFloat3(1.0/1.055) + FxaaToFloat3(0.055/1.055), + FxaaToFloat3(2.4)), + rgb > FxaaToFloat3(0.04045)); + #else + return rgb; + #endif +} + +/*============================================================================ + VERTEX SHADER +============================================================================*/ +float2 FxaaVertexShader( +// Both x and y range {-1.0 to 1.0 across screen}. +float2 inPos) { + float2 pos; + pos.xy = (inPos.xy * FxaaFloat2(0.5, 0.5)) + FxaaFloat2(0.5, 0.5); + return pos; } + +/*============================================================================ + + PIXEL SHADER + +============================================================================*/ +float3 FxaaPixelShader( +// Output of FxaaVertexShader interpolated across screen. +// xy -> actual texture position {0.0 to 1.0} +float2 pos, +// Input texture. +FxaaTex tex, +// RCPFRAME SHOULD PIXEL SHADER CONSTANTS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +// {1.0/frameWidth, 1.0/frameHeight} +float2 rcpFrame) { + +/*---------------------------------------------------------------------------- + EARLY EXIT IF LOCAL CONTRAST BELOW EDGE DETECT LIMIT +------------------------------------------------------------------------------ +Majority of pixels of a typical image do not require filtering, +often pixels are grouped into blocks which could benefit from early exit +right at the beginning of the algorithm. +Given the following neighborhood, + + N + W M E + S + +If the difference in local maximum and minimum luma (contrast "range") +is lower than a threshold proportional to the maximum local luma ("rangeMax"), +then the shader early exits (no visible aliasing). +This threshold is clamped at a minimum value ("FXAA_EDGE_THRESHOLD_MIN") +to avoid processing in really dark areas. +----------------------------------------------------------------------------*/ + float3 rgbN = FxaaTexOff(tex, pos.xy, FxaaInt2( 0,-1), rcpFrame).xyz; + float3 rgbW = FxaaTexOff(tex, pos.xy, FxaaInt2(-1, 0), rcpFrame).xyz; + float3 rgbM = FxaaTexOff(tex, pos.xy, FxaaInt2( 0, 0), rcpFrame).xyz; + float3 rgbE = FxaaTexOff(tex, pos.xy, FxaaInt2( 1, 0), rcpFrame).xyz; + float3 rgbS = FxaaTexOff(tex, pos.xy, FxaaInt2( 0, 1), rcpFrame).xyz; + float lumaN = FxaaLuma(rgbN); + float lumaW = FxaaLuma(rgbW); + float lumaM = FxaaLuma(rgbM); + float lumaE = FxaaLuma(rgbE); + float lumaS = FxaaLuma(rgbS); + float rangeMin = min(lumaM, min(min(lumaN, lumaW), min(lumaS, lumaE))); + float rangeMax = max(lumaM, max(max(lumaN, lumaW), max(lumaS, lumaE))); + float range = rangeMax - rangeMin; + #if FXAA_DEBUG + float lumaO = lumaM / (1.0 + (0.587/0.299)); + #endif + if(range < max(FXAA_EDGE_THRESHOLD_MIN, rangeMax * FXAA_EDGE_THRESHOLD)) { + #if FXAA_DEBUG + return FxaaFilterReturn(FxaaToFloat3(lumaO)); + #endif + return FxaaFilterReturn(rgbM); } + #if FXAA_SUBPIX > 0 + #if FXAA_SUBPIX_FASTER + float3 rgbL = (rgbN + rgbW + rgbE + rgbS + rgbM) * + FxaaToFloat3(1.0/5.0); + #else + float3 rgbL = rgbN + rgbW + rgbM + rgbE + rgbS; + #endif + #endif + +/*---------------------------------------------------------------------------- + COMPUTE LOWPASS +------------------------------------------------------------------------------ +FXAA computes a local neighborhood lowpass value as follows, + + (N + W + E + S)/4 + +Then uses the ratio of the contrast range of the lowpass +and the range found in the early exit check, +as a sub-pixel aliasing detection filter. +When FXAA detects sub-pixel aliasing (such as single pixel dots), +it later blends in "blendL" amount +of a lowpass value (computed in the next section) to the final result. +----------------------------------------------------------------------------*/ + #if FXAA_SUBPIX != 0 + float lumaL = (lumaN + lumaW + lumaE + lumaS) * 0.25; + float rangeL = abs(lumaL - lumaM); + #endif + #if FXAA_SUBPIX == 1 + float blendL = max(0.0, + (rangeL / range) - FXAA_SUBPIX_TRIM) * FXAA_SUBPIX_TRIM_SCALE; + blendL = min(FXAA_SUBPIX_CAP, blendL); + #endif + #if FXAA_SUBPIX == 2 + float blendL = rangeL / range; + #endif + #if FXAA_DEBUG_PASSTHROUGH + #if FXAA_SUBPIX == 0 + float blendL = 0.0; + #endif + return FxaaFilterReturn( + FxaaFloat3(1.0, blendL/FXAA_SUBPIX_CAP, 0.0)); + #endif + +/*---------------------------------------------------------------------------- + CHOOSE VERTICAL OR HORIZONTAL SEARCH +------------------------------------------------------------------------------ +FXAA uses the following local neighborhood, + + NW N NE + W M E + SW S SE + +To compute an edge amount for both vertical and horizontal directions. +Note edge detect filters like Sobel fail on single pixel lines through M. +FXAA takes the weighted average magnitude of the high-pass values +for rows and columns as an indication of local edge amount. + +A lowpass value for anti-sub-pixel-aliasing is computed as + (N+W+E+S+M+NW+NE+SW+SE)/9. +This full box pattern has higher quality than other options. + +Note following this block, both vertical and horizontal cases +flow in parallel (reusing the horizontal variables). +----------------------------------------------------------------------------*/ + float3 rgbNW = FxaaTexOff(tex, pos.xy, FxaaInt2(-1,-1), rcpFrame).xyz; + float3 rgbNE = FxaaTexOff(tex, pos.xy, FxaaInt2( 1,-1), rcpFrame).xyz; + float3 rgbSW = FxaaTexOff(tex, pos.xy, FxaaInt2(-1, 1), rcpFrame).xyz; + float3 rgbSE = FxaaTexOff(tex, pos.xy, FxaaInt2( 1, 1), rcpFrame).xyz; + #if (FXAA_SUBPIX_FASTER == 0) && (FXAA_SUBPIX > 0) + rgbL += (rgbNW + rgbNE + rgbSW + rgbSE); + rgbL *= FxaaToFloat3(1.0/9.0); + #endif + float lumaNW = FxaaLuma(rgbNW); + float lumaNE = FxaaLuma(rgbNE); + float lumaSW = FxaaLuma(rgbSW); + float lumaSE = FxaaLuma(rgbSE); + float edgeVert = + abs((0.25 * lumaNW) + (-0.5 * lumaN) + (0.25 * lumaNE)) + + abs((0.50 * lumaW ) + (-1.0 * lumaM) + (0.50 * lumaE )) + + abs((0.25 * lumaSW) + (-0.5 * lumaS) + (0.25 * lumaSE)); + float edgeHorz = + abs((0.25 * lumaNW) + (-0.5 * lumaW) + (0.25 * lumaSW)) + + abs((0.50 * lumaN ) + (-1.0 * lumaM) + (0.50 * lumaS )) + + abs((0.25 * lumaNE) + (-0.5 * lumaE) + (0.25 * lumaSE)); + bool horzSpan = edgeHorz >= edgeVert; + #if FXAA_DEBUG_HORZVERT + if(horzSpan) return FxaaFilterReturn(FxaaFloat3(1.0, 0.75, 0.0)); + else return FxaaFilterReturn(FxaaFloat3(0.0, 0.50, 1.0)); + #endif + float lengthSign = horzSpan ? -rcpFrame.y : -rcpFrame.x; + if(!horzSpan) lumaN = lumaW; + if(!horzSpan) lumaS = lumaE; + float gradientN = abs(lumaN - lumaM); + float gradientS = abs(lumaS - lumaM); + lumaN = (lumaN + lumaM) * 0.5; + lumaS = (lumaS + lumaM) * 0.5; + +/*---------------------------------------------------------------------------- + CHOOSE SIDE OF PIXEL WHERE GRADIENT IS HIGHEST +------------------------------------------------------------------------------ +This chooses a pixel pair. +For "horzSpan == true" this will be a vertical pair, + + [N] N + [M] or [M] + S [S] + +Note following this block, both {N,M} and {S,M} cases +flow in parallel (reusing the {N,M} variables). + +This pair of image rows or columns is searched below +in the positive and negative direction +until edge status changes +(or the maximum number of search steps is reached). +----------------------------------------------------------------------------*/ + bool pairN = gradientN >= gradientS; + #if FXAA_DEBUG_PAIR + if(pairN) return FxaaFilterReturn(FxaaFloat3(0.0, 0.0, 1.0)); + else return FxaaFilterReturn(FxaaFloat3(0.0, 1.0, 0.0)); + #endif + if(!pairN) lumaN = lumaS; + if(!pairN) gradientN = gradientS; + if(!pairN) lengthSign *= -1.0; + float2 posN; + posN.x = pos.x + (horzSpan ? 0.0 : lengthSign * 0.5); + posN.y = pos.y + (horzSpan ? lengthSign * 0.5 : 0.0); + +/*---------------------------------------------------------------------------- + CHOOSE SEARCH LIMITING VALUES +------------------------------------------------------------------------------ +Search limit (+/- gradientN) is a function of local gradient. +----------------------------------------------------------------------------*/ + gradientN *= FXAA_SEARCH_THRESHOLD; + +/*---------------------------------------------------------------------------- + SEARCH IN BOTH DIRECTIONS UNTIL FIND LUMA PAIR AVERAGE IS OUT OF RANGE +------------------------------------------------------------------------------ +This loop searches either in vertical or horizontal directions, +and in both the negative and positive direction in parallel. +This loop fusion is faster than searching separately. + +The search is accelerated using FXAA_SEARCH_ACCELERATION length box filter +via anisotropic filtering with specified texture gradients. +----------------------------------------------------------------------------*/ + float2 posP = posN; + float2 offNP = horzSpan ? + FxaaFloat2(rcpFrame.x, 0.0) : + FxaaFloat2(0.0f, rcpFrame.y); + float lumaEndN = lumaN; + float lumaEndP = lumaN; + bool doneN = false; + bool doneP = false; + #if FXAA_SEARCH_ACCELERATION == 1 + posN += offNP * FxaaFloat2(-1.0, -1.0); + posP += offNP * FxaaFloat2( 1.0, 1.0); + #endif + #if FXAA_SEARCH_ACCELERATION == 2 + posN += offNP * FxaaFloat2(-1.5, -1.5); + posP += offNP * FxaaFloat2( 1.5, 1.5); + offNP *= FxaaFloat2(2.0, 2.0); + #endif + #if FXAA_SEARCH_ACCELERATION == 3 + posN += offNP * FxaaFloat2(-2.0, -2.0); + posP += offNP * FxaaFloat2( 2.0, 2.0); + offNP *= FxaaFloat2(3.0, 3.0); + #endif + #if FXAA_SEARCH_ACCELERATION == 4 + posN += offNP * FxaaFloat2(-2.5, -2.5); + posP += offNP * FxaaFloat2( 2.5, 2.5); + offNP *= FxaaFloat2(4.0, 4.0); + #endif + for(int i = 0; i < FXAA_SEARCH_STEPS; i++) { + #if FXAA_SEARCH_ACCELERATION == 1 + if(!doneN) lumaEndN = + FxaaLuma(FxaaTexLod0(tex, posN.xy).xyz); + if(!doneP) lumaEndP = + FxaaLuma(FxaaTexLod0(tex, posP.xy).xyz); + #else + if(!doneN) lumaEndN = + FxaaLuma(FxaaTexGrad(tex, posN.xy, offNP).xyz); + if(!doneP) lumaEndP = + FxaaLuma(FxaaTexGrad(tex, posP.xy, offNP).xyz); + #endif + doneN = doneN || (abs(lumaEndN - lumaN) >= gradientN); + doneP = doneP || (abs(lumaEndP - lumaN) >= gradientN); + if(doneN && doneP) break; + if(!doneN) posN -= offNP; + if(!doneP) posP += offNP; } + +/*---------------------------------------------------------------------------- + HANDLE IF CENTER IS ON POSITIVE OR NEGATIVE SIDE +------------------------------------------------------------------------------ +FXAA uses the pixel's position in the span +in combination with the values (lumaEnd*) at the ends of the span, +to determine filtering. + +This step computes which side of the span the pixel is on. +On negative side if dstN < dstP, + + posN pos posP + |-----------|------|------------------| + | | | | + |<--dstN--->|<---------dstP---------->| + | + span center + +----------------------------------------------------------------------------*/ + float dstN = horzSpan ? pos.x - posN.x : pos.y - posN.y; + float dstP = horzSpan ? posP.x - pos.x : posP.y - pos.y; + bool directionN = dstN < dstP; + #if FXAA_DEBUG_NEGPOS + if(directionN) return FxaaFilterReturn(FxaaFloat3(1.0, 0.0, 0.0)); + else return FxaaFilterReturn(FxaaFloat3(0.0, 0.0, 1.0)); + #endif + lumaEndN = directionN ? lumaEndN : lumaEndP; + +/*---------------------------------------------------------------------------- + CHECK IF PIXEL IS IN SECTION OF SPAN WHICH GETS NO FILTERING +------------------------------------------------------------------------------ +If both the pair luma at the end of the span (lumaEndN) +and middle pixel luma (lumaM) +are on the same side of the middle pair average luma (lumaN), +then don't filter. + +Cases, + +(1.) "L", + + lumaM + | + V XXXXXXXX <- other line averaged + XXXXXXX[X]XXXXXXXXXXX <- source pixel line + | . | + -------------------------- + [ ]xxxxxx[x]xx[X]XXXXXX <- pair average + -------------------------- + ^ ^ ^ ^ + | | | | + . |<---->|<---------- no filter region + . | | | + . center | | + . | lumaEndN + . | . + . lumaN . + . . + |<--- span -->| + + +(2.) "^" and "-", + + <- other line averaged + XXXXX[X]XXX <- source pixel line + | | | + -------------------------- + [ ]xxxx[x]xx[ ] <- pair average + -------------------------- + | | | + |<--->|<--->|<---------- filter both sides + + +(3.) "v" and inverse of "-", + + XXXXXX XXXXXXXXX <- other line averaged + XXXXXXXXXXX[X]XXXXXXXXXXXX <- source pixel line + | | | + -------------------------- + XXXX[X]xxxx[x]xx[X]XXXXXXX <- pair average + -------------------------- + | | | + |<--->|<--->|<---------- don't filter both! + + +Note the "v" case for FXAA requires no filtering. +This is because the inverse of the "-" case is the "v". +Filtering "v" case turns open spans like this, + + XXXXXXXXX + +Into this (which is not desired), + + x+. .+x + XXXXXXXXX + +----------------------------------------------------------------------------*/ + if(((lumaM - lumaN) < 0.0) == ((lumaEndN - lumaN) < 0.0)) + lengthSign = 0.0; + +/*---------------------------------------------------------------------------- + COMPUTE SUB-PIXEL OFFSET AND FILTER SPAN +------------------------------------------------------------------------------ +FXAA filters using a bilinear texture fetch offset +from the middle pixel M towards the center of the pair (NM below). +Maximum filtering will be half way between pair. +Reminder, at this point in the code, +the {N,M} pair is also reused for all cases: {S,M}, {W,M}, and {E,M}. + + +-------+ + | | 0.5 offset + | N | | + | | V + +-------+....--- + | | + | M...|....--- + | | ^ + +-------+ | + . . 0.0 offset + . S . + . . + ......... + +Position on span is used to compute sub-pixel filter offset using simple ramp, + + posN posP + |\ |<------- 0.5 pixel offset into pair pixel + | \ | + | \ | + ---.......|...\..........|<------- 0.25 pixel offset into pair pixel + ^ | ^\ | + | | | \ | + V | | \ | + ---.......|===|==========|<------- 0.0 pixel offset (ie M pixel) + ^ . | ^ . + | . pos | . + | . . | . + | . . center . + | . . . + | |<->|<---------.-------- dstN + | . . . + | . |<-------->|<------- dstP + | . . + | |<------------>|<------- spanLength + | + subPixelOffset + +----------------------------------------------------------------------------*/ + float spanLength = (dstP + dstN); + dstN = directionN ? dstN : dstP; + float subPixelOffset = (0.5 + (dstN * (-1.0/spanLength))) * lengthSign; + #if FXAA_DEBUG_OFFSET + float ox = horzSpan ? 0.0 : subPixelOffset*2.0/rcpFrame.x; + float oy = horzSpan ? subPixelOffset*2.0/rcpFrame.y : 0.0; + if(ox < 0.0) return FxaaFilterReturn( + FxaaLerp3(FxaaToFloat3(lumaO), + FxaaFloat3(1.0, 0.0, 0.0), -ox)); + if(ox > 0.0) return FxaaFilterReturn( + FxaaLerp3(FxaaToFloat3(lumaO), + FxaaFloat3(0.0, 0.0, 1.0), ox)); + if(oy < 0.0) return FxaaFilterReturn( + FxaaLerp3(FxaaToFloat3(lumaO), + FxaaFloat3(1.0, 0.6, 0.2), -oy)); + if(oy > 0.0) return FxaaFilterReturn( + FxaaLerp3(FxaaToFloat3(lumaO), + FxaaFloat3(0.2, 0.6, 1.0), oy)); + return FxaaFilterReturn(FxaaFloat3(lumaO, lumaO, lumaO)); + #endif + float3 rgbF = FxaaTexLod0(tex, FxaaFloat2( + pos.x + (horzSpan ? 0.0 : subPixelOffset), + pos.y + (horzSpan ? subPixelOffset : 0.0))).xyz; + #if FXAA_SUBPIX == 0 + return FxaaFilterReturn(rgbF); + #else + return FxaaFilterReturn(FxaaLerp3(rgbL, rgbF, blendL)); + #endif +} + + + +struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; +}; + +v2f vert (appdata_img v) +{ + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + return o; +} + +sampler2D _MainTex; +float4 _MainTex_TexelSize; + +float4 frag (v2f i) : SV_Target +{ + return float4(FxaaPixelShader(i.uv.xy, _MainTex, _MainTex_TexelSize.xy).xyz, 0.0f); +} + +ENDCG + } +} + +Fallback "Hidden/FXAA II" +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset3.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset3.shader.meta new file mode 100644 index 0000000..053bdbf --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/FXAAPreset3.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: c182fa94a5a0a4c02870641efcd38cd5 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/NFAA.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/NFAA.shader new file mode 100644 index 0000000..6467c0b --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/NFAA.shader @@ -0,0 +1,148 @@ + +Shader "Hidden/NFAA" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _BlurTex ("Base (RGB)", 2D) = "white" {} + +} + +CGINCLUDE + +#include "UnityCG.cginc" + +uniform sampler2D _MainTex; +uniform float4 _MainTex_TexelSize; +uniform float _OffsetScale; +uniform float _BlurRadius; + +struct v2f { + float4 pos : SV_POSITION; + float2 uv[8] : TEXCOORD0; +}; + + v2f vert( appdata_img v ) + { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + float2 uv = v.texcoord.xy; + + float2 up = float2(0.0, _MainTex_TexelSize.y) * _OffsetScale; + float2 right = float2(_MainTex_TexelSize.x, 0.0) * _OffsetScale; + + o.uv[0].xy = uv + up; + o.uv[1].xy = uv - up; + o.uv[2].xy = uv + right; + o.uv[3].xy = uv - right; + o.uv[4].xy = uv - right + up; + o.uv[5].xy = uv - right -up; + o.uv[6].xy = uv + right + up; + o.uv[7].xy = uv + right -up; + + return o; + } + + half4 frag (v2f i) : SV_Target + { + // get luminance values + // maybe: experiment with different luminance calculations + float topL = Luminance( tex2D(_MainTex, i.uv[0]).rgb ); + float bottomL = Luminance( tex2D(_MainTex, i.uv[1]).rgb ); + float rightL = Luminance( tex2D(_MainTex, i.uv[2]).rgb ); + float leftL = Luminance( tex2D(_MainTex, i.uv[3]).rgb ); + float leftTopL = Luminance( tex2D(_MainTex, i.uv[4]).rgb ); + float leftBottomL = Luminance( tex2D(_MainTex, i.uv[5]).rgb ); + float rightBottomL = Luminance( tex2D(_MainTex, i.uv[6]).rgb ); + float rightTopL = Luminance( tex2D(_MainTex, i.uv[7]).rgb ); + + // 2 triangle subtractions + float sum0 = dot(float3(1,1,1), float3(rightTopL,bottomL,leftTopL)); + float sum1 = dot(float3(1,1,1), float3(leftBottomL,topL,rightBottomL)); + float sum2 = dot(float3(1,1,1), float3(leftTopL,rightL,leftBottomL)); + float sum3 = dot(float3(1,1,1), float3(rightBottomL,leftL,rightTopL)); + + // figure out "normal" + float2 blurDir = half2((sum0-sum1), (sum3-sum2)); + blurDir *= _MainTex_TexelSize.xy * _BlurRadius; + + // reconstruct normal uv + float2 uv_ = (i.uv[0] + i.uv[1]) * 0.5; + + float4 returnColor = tex2D(_MainTex, uv_); + returnColor += tex2D(_MainTex, uv_+ blurDir.xy); + returnColor += tex2D(_MainTex, uv_ - blurDir.xy); + returnColor += tex2D(_MainTex, uv_ + float2(blurDir.x, -blurDir.y)); + returnColor += tex2D(_MainTex, uv_ - float2(blurDir.x, -blurDir.y)); + + return returnColor * 0.2; + } + + half4 fragDebug (v2f i) : SV_Target + { + // get luminance values + // maybe: experiment with different luminance calculations + float topL = Luminance( tex2D(_MainTex, i.uv[0]).rgb ); + float bottomL = Luminance( tex2D(_MainTex, i.uv[1]).rgb ); + float rightL = Luminance( tex2D(_MainTex, i.uv[2]).rgb ); + float leftL = Luminance( tex2D(_MainTex, i.uv[3]).rgb ); + float leftTopL = Luminance( tex2D(_MainTex, i.uv[4]).rgb ); + float leftBottomL = Luminance( tex2D(_MainTex, i.uv[5]).rgb ); + float rightBottomL = Luminance( tex2D(_MainTex, i.uv[6]).rgb ); + float rightTopL = Luminance( tex2D(_MainTex, i.uv[7]).rgb ); + + // 2 triangle subtractions + float sum0 = dot(float3(1,1,1), float3(rightTopL,bottomL,leftTopL)); + float sum1 = dot(float3(1,1,1), float3(leftBottomL,topL,rightBottomL)); + float sum2 = dot(float3(1,1,1), float3(leftTopL,rightL,leftBottomL)); + float sum3 = dot(float3(1,1,1), float3(rightBottomL,leftL,rightTopL)); + + // figure out "normal" + float2 blurDir = half2((sum0-sum1), (sum3-sum2)); + blurDir *= _MainTex_TexelSize.xy * _BlurRadius; + + // reconstruct normal uv + float2 uv_ = (i.uv[0] + i.uv[1]) * 0.5; + + float4 returnColor = tex2D(_MainTex, uv_); + returnColor += tex2D(_MainTex, uv_+ blurDir.xy); + returnColor += tex2D(_MainTex, uv_ - blurDir.xy); + returnColor += tex2D(_MainTex, uv_ + float2(blurDir.x, -blurDir.y)); + returnColor += tex2D(_MainTex, uv_ - float2(blurDir.x, -blurDir.y)); + + blurDir = half2((sum0-sum1), (sum3-sum2)) * _BlurRadius; + return half4(normalize( half3(blurDir,1) * 0.5 + 0.5), 1); + return returnColor * 0.2; + } + +ENDCG + +SubShader { + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + #pragma target 3.0 + #pragma exclude_renderers d3d11_9x + + ENDCG + } + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragDebug + #pragma target 3.0 + #pragma exclude_renderers d3d11_9x + + ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/NFAA.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/NFAA.shader.meta new file mode 100644 index 0000000..af7b4b6 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/NFAA.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: ce0cb2621f6d84e21a87414e471a3cce +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/SSAA.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/SSAA.shader new file mode 100644 index 0000000..cf3f938 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/SSAA.shader @@ -0,0 +1,85 @@ + +Shader "Hidden/SSAA" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} +} + +// very simple & fast AA by Emmanuel Julien + +SubShader { + Pass { + + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + uniform sampler2D _MainTex; + uniform float4 _MainTex_TexelSize; + + struct v2f { + float4 pos : SV_POSITION; + float2 uv[5] : TEXCOORD0; + }; + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + float2 uv = v.texcoord.xy; + + float w = 1.75; + + float2 up = float2(0.0, _MainTex_TexelSize.y) * w; + float2 right = float2(_MainTex_TexelSize.x, 0.0) * w; + + o.uv[0].xy = uv - up; + o.uv[1].xy = uv - right; + o.uv[2].xy = uv + right; + o.uv[3].xy = uv + up; + + o.uv[4].xy = uv; + + return o; + } + + half4 frag (v2f i) : SV_Target + { + half4 outColor; + + float t = Luminance( tex2D( _MainTex, i.uv[0] ).xyz ); + float l = Luminance( tex2D( _MainTex, i.uv[1] ).xyz); + float r = Luminance( tex2D( _MainTex, i.uv[2] ).xyz); + float b = Luminance( tex2D( _MainTex, i.uv[3] ).xyz); + + half2 n = half2( -( t - b ), r - l ); + float nl = length( n ); + + if ( nl < (1.0 / 16.0) ) + outColor = tex2D( _MainTex, i.uv[4] ); + else { + n *= _MainTex_TexelSize.xy / nl; + + half4 o = tex2D( _MainTex, i.uv[4]); + half4 t0 = tex2D( _MainTex, i.uv[4] + n * 0.5) * 0.9; + half4 t1 = tex2D( _MainTex, i.uv[4] - n * 0.5) * 0.9; + half4 t2 = tex2D( _MainTex, i.uv[4] + n) * 0.75; + half4 t3 = tex2D( _MainTex, i.uv[4] - n) * 0.75; + + outColor = (o + t0 + t1 + t2 + t3) / 4.3; + } + + return outColor; + } + + ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/SSAA.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/SSAA.shader.meta new file mode 100644 index 0000000..e972317 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_Antialiasing/SSAA.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: b3728d1488b02490cbd196c7941bf1f8 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares.meta new file mode 100644 index 0000000..3bdce38 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d6ef58fc6f637406bbe6814a19c377f8 diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/Blend.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/Blend.shader new file mode 100644 index 0000000..91c891e --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/Blend.shader @@ -0,0 +1,114 @@ +Shader "Hidden/Blend" { + Properties { + _MainTex ("Screen Blended", 2D) = "" {} + _ColorBuffer ("Color", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv[2] : TEXCOORD0; + }; + struct v2f_mt { + float4 pos : SV_POSITION; + float2 uv[4] : TEXCOORD0; + }; + + sampler2D _ColorBuffer; + sampler2D _MainTex; + + half _Intensity; + half4 _ColorBuffer_TexelSize; + half4 _MainTex_TexelSize; + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv[0] = v.texcoord.xy; + o.uv[1] = v.texcoord.xy; + + #if UNITY_UV_STARTS_AT_TOP + if (_ColorBuffer_TexelSize.y < 0) + o.uv[1].y = 1-o.uv[1].y; + #endif + + return o; + } + + v2f_mt vertMultiTap( appdata_img v ) { + v2f_mt o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv[0] = v.texcoord.xy + _MainTex_TexelSize.xy * 0.5; + o.uv[1] = v.texcoord.xy - _MainTex_TexelSize.xy * 0.5; + o.uv[2] = v.texcoord.xy - _MainTex_TexelSize.xy * half2(1,-1) * 0.5; + o.uv[3] = v.texcoord.xy + _MainTex_TexelSize.xy * half2(1,-1) * 0.5; + return o; + } + + half4 fragScreen (v2f i) : SV_Target { + half4 toBlend = saturate (tex2D(_MainTex, i.uv[0]) * _Intensity); + return 1-(1-toBlend)*(1-tex2D(_ColorBuffer, i.uv[1])); + } + + half4 fragAdd (v2f i) : SV_Target { + return tex2D(_MainTex, i.uv[0].xy) * _Intensity + tex2D(_ColorBuffer, i.uv[1]); + } + + half4 fragVignetteBlend (v2f i) : SV_Target { + return tex2D(_MainTex, i.uv[0].xy) * tex2D(_ColorBuffer, i.uv[0]); + } + + half4 fragMultiTap (v2f_mt i) : SV_Target { + half4 outColor = tex2D(_MainTex, i.uv[0].xy); + outColor += tex2D(_MainTex, i.uv[1].xy); + outColor += tex2D(_MainTex, i.uv[2].xy); + outColor += tex2D(_MainTex, i.uv[3].xy); + return outColor * 0.25; + } + + ENDCG + +Subshader { + ZTest Always Cull Off ZWrite Off + + // 0: nicer & softer "screen" blend mode + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragScreen + ENDCG + } + + // 1: simple "add" blend mode + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragAdd + ENDCG + } + // 2: used for "stable" downsampling + Pass { + + CGPROGRAM + #pragma vertex vertMultiTap + #pragma fragment fragMultiTap + ENDCG + } + // 3: vignette blending + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragVignetteBlend + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/Blend.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/Blend.shader.meta new file mode 100644 index 0000000..e9a742b --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/Blend.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 53b3960ee3d3d4a5caa8d5473d120187 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendForBloom.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendForBloom.shader new file mode 100644 index 0000000..e88fba0 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendForBloom.shader @@ -0,0 +1,220 @@ +Shader "Hidden/BlendForBloom" { + Properties { + _MainTex ("Screen Blended", 2D) = "" {} + _ColorBuffer ("Color", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv[2] : TEXCOORD0; + }; + struct v2f_mt { + float4 pos : SV_POSITION; + float2 uv[5] : TEXCOORD0; + }; + + sampler2D _ColorBuffer; + sampler2D _MainTex; + + half _Intensity; + half4 _ColorBuffer_TexelSize; + half4 _MainTex_TexelSize; + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv[0] = v.texcoord.xy; + o.uv[1] = v.texcoord.xy; + + #if UNITY_UV_STARTS_AT_TOP + if (_ColorBuffer_TexelSize.y < 0) + o.uv[1].y = 1-o.uv[1].y; + #endif + + return o; + } + + v2f_mt vertMultiTap( appdata_img v ) { + v2f_mt o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv[4] = v.texcoord.xy; + o.uv[0] = v.texcoord.xy + _MainTex_TexelSize.xy * 0.5; + o.uv[1] = v.texcoord.xy - _MainTex_TexelSize.xy * 0.5; + o.uv[2] = v.texcoord.xy - _MainTex_TexelSize.xy * half2(1,-1) * 0.5; + o.uv[3] = v.texcoord.xy + _MainTex_TexelSize.xy * half2(1,-1) * 0.5; + return o; + } + + half4 fragScreen (v2f i) : SV_Target { + half4 addedbloom = tex2D(_MainTex, i.uv[0].xy) * _Intensity; + half4 screencolor = tex2D(_ColorBuffer, i.uv[1]); + return 1-(1-addedbloom)*(1-screencolor); + } + + half4 fragScreenCheap(v2f i) : SV_Target { + half4 addedbloom = tex2D(_MainTex, i.uv[0].xy) * _Intensity; + half4 screencolor = tex2D(_ColorBuffer, i.uv[1]); + return 1-(1-addedbloom)*(1-screencolor); + } + + half4 fragAdd (v2f i) : SV_Target { + half4 addedbloom = tex2D(_MainTex, i.uv[0].xy); + half4 screencolor = tex2D(_ColorBuffer, i.uv[1]); + return _Intensity * addedbloom + screencolor; + } + + half4 fragAddCheap (v2f i) : SV_Target { + half4 addedbloom = tex2D(_MainTex, i.uv[0].xy); + half4 screencolor = tex2D(_ColorBuffer, i.uv[1]); + return _Intensity * addedbloom + screencolor; + } + + half4 fragVignetteMul (v2f i) : SV_Target { + return tex2D(_MainTex, i.uv[0].xy) * tex2D(_ColorBuffer, i.uv[0]); + } + + half4 fragVignetteBlend (v2f i) : SV_Target { + return half4(1,1,1, tex2D(_ColorBuffer, i.uv[0]).r); + } + + half4 fragClear (v2f i) : SV_Target { + return 0; + } + + half4 fragAddOneOne (v2f i) : SV_Target { + half4 addedColors = tex2D(_MainTex, i.uv[0].xy); + return addedColors * _Intensity; + } + + half4 frag1Tap (v2f i) : SV_Target { + return tex2D(_MainTex, i.uv[0].xy); + } + + half4 fragMultiTapMax (v2f_mt i) : SV_Target { + half4 outColor = tex2D(_MainTex, i.uv[4].xy); + outColor = max(outColor, tex2D(_MainTex, i.uv[0].xy)); + outColor = max(outColor, tex2D(_MainTex, i.uv[1].xy)); + outColor = max(outColor, tex2D(_MainTex, i.uv[2].xy)); + outColor = max(outColor, tex2D(_MainTex, i.uv[3].xy)); + return outColor; + } + + half4 fragMultiTapBlur (v2f_mt i) : SV_Target { + half4 outColor = 0; + outColor += tex2D(_MainTex, i.uv[0].xy); + outColor += tex2D(_MainTex, i.uv[1].xy); + outColor += tex2D(_MainTex, i.uv[2].xy); + outColor += tex2D(_MainTex, i.uv[3].xy); + return outColor/4; + } + + ENDCG + +Subshader { + ZTest Always Cull Off ZWrite Off + + // 0: nicer & softer "screen" blend mode + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragScreen + ENDCG + } + + // 1: "add" blend mode + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragAdd + ENDCG + } + // 2: several taps, maxxed + Pass { + + CGPROGRAM + #pragma vertex vertMultiTap + #pragma fragment fragMultiTapMax + ENDCG + } + // 3: vignette blending + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragVignetteMul + ENDCG + } + // 4: nicer & softer "screen" blend mode(cheapest) + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragScreenCheap + ENDCG + } + // 5: "add" blend mode (cheapest) + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragAddCheap + ENDCG + } + // 6: used for "stable" downsampling (blur) + Pass { + + CGPROGRAM + #pragma vertex vertMultiTap + #pragma fragment fragMultiTapBlur + ENDCG + } + // 7: vignette blending (blend to dest) + Pass { + + Blend Zero SrcAlpha + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragVignetteBlend + ENDCG + } + // 8: clear + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragClear + ENDCG + } + // 9: fragAddOneOne + Pass { + + Blend One One + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragAddOneOne + ENDCG + } + // 10: max blend + Pass { + + BlendOp Max + Blend One One + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag1Tap + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendForBloom.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendForBloom.shader.meta new file mode 100644 index 0000000..1737d9f --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendForBloom.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 7856cbff0a0ca45c787d5431eb805bb0 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendOneOne.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendOneOne.shader new file mode 100644 index 0000000..650f016 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendOneOne.shader @@ -0,0 +1,48 @@ +Shader "Hidden/BlendOneOne" { + Properties { + _MainTex ("-", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MainTex; + half _Intensity; + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + return o; + } + + half4 frag(v2f i) : SV_Target { + return tex2D(_MainTex, i.uv) * _Intensity; + } + + ENDCG + +Subshader { + + Pass { + BlendOp Add + Blend One One + + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendOneOne.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendOneOne.shader.meta new file mode 100644 index 0000000..007df7f --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlendOneOne.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: f7898d203e9b94c0dbe2bf9dd5cb32c0 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlurAndFlares.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlurAndFlares.shader new file mode 100644 index 0000000..ec16958 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlurAndFlares.shader @@ -0,0 +1,202 @@ +Shader "Hidden/BlurAndFlares" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + _NonBlurredTex ("Base (RGB)", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + half4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + }; + + struct v2f_opts { + half4 pos : SV_POSITION; + half2 uv[7] : TEXCOORD0; + }; + + struct v2f_blur { + half4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + half4 uv01 : TEXCOORD1; + half4 uv23 : TEXCOORD2; + half4 uv45 : TEXCOORD3; + half4 uv67 : TEXCOORD4; + }; + + half4 _Offsets; + half4 _TintColor; + + half _StretchWidth; + half2 _Threshhold; + half _Saturation; + + half4 _MainTex_TexelSize; + + sampler2D _MainTex; + sampler2D _NonBlurredTex; + + v2f vert (appdata_img v) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + return o; + } + + v2f_blur vertWithMultiCoords2 (appdata_img v) { + v2f_blur o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv.xy = v.texcoord.xy; + o.uv01 = v.texcoord.xyxy + _Offsets.xyxy * half4(1,1, -1,-1); + o.uv23 = v.texcoord.xyxy + _Offsets.xyxy * half4(1,1, -1,-1) * 2.0; + o.uv45 = v.texcoord.xyxy + _Offsets.xyxy * half4(1,1, -1,-1) * 3.0; + o.uv67 = v.texcoord.xyxy + _Offsets.xyxy * half4(1,1, -1,-1) * 4.0; + o.uv67 = v.texcoord.xyxy + _Offsets.xyxy * half4(1,1, -1,-1) * 5.0; + return o; + } + + v2f_opts vertStretch (appdata_img v) { + v2f_opts o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + half b = _StretchWidth; + o.uv[0] = v.texcoord.xy; + o.uv[1] = v.texcoord.xy + b * 2.0 * _Offsets.xy; + o.uv[2] = v.texcoord.xy - b * 2.0 * _Offsets.xy; + o.uv[3] = v.texcoord.xy + b * 4.0 * _Offsets.xy; + o.uv[4] = v.texcoord.xy - b * 4.0 * _Offsets.xy; + o.uv[5] = v.texcoord.xy + b * 6.0 * _Offsets.xy; + o.uv[6] = v.texcoord.xy - b * 6.0 * _Offsets.xy; + return o; + } + + v2f_opts vertWithMultiCoords (appdata_img v) { + v2f_opts o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv[0] = v.texcoord.xy; + o.uv[1] = v.texcoord.xy + 0.5 * _MainTex_TexelSize.xy * _Offsets.xy; + o.uv[2] = v.texcoord.xy - 0.5 * _MainTex_TexelSize.xy * _Offsets.xy; + o.uv[3] = v.texcoord.xy + 1.5 * _MainTex_TexelSize.xy * _Offsets.xy; + o.uv[4] = v.texcoord.xy - 1.5 * _MainTex_TexelSize.xy * _Offsets.xy; + o.uv[5] = v.texcoord.xy + 2.5 * _MainTex_TexelSize.xy * _Offsets.xy; + o.uv[6] = v.texcoord.xy - 2.5 * _MainTex_TexelSize.xy * _Offsets.xy; + return o; + } + + half4 fragPostNoBlur (v2f i) : SV_Target { + half4 color = tex2D (_MainTex, i.uv); + return color * 1.0/(1.0 + Luminance(color.rgb) + 0.5); // this also makes it a little noisy + } + + half4 fragGaussBlur (v2f_blur i) : SV_Target { + half4 color = half4 (0,0,0,0); + color += 0.225 * tex2D (_MainTex, i.uv); + color += 0.150 * tex2D (_MainTex, i.uv01.xy); + color += 0.150 * tex2D (_MainTex, i.uv01.zw); + color += 0.110 * tex2D (_MainTex, i.uv23.xy); + color += 0.110 * tex2D (_MainTex, i.uv23.zw); + color += 0.075 * tex2D (_MainTex, i.uv45.xy); + color += 0.075 * tex2D (_MainTex, i.uv45.zw); + color += 0.0525 * tex2D (_MainTex, i.uv67.xy); + color += 0.0525 * tex2D (_MainTex, i.uv67.zw); + return color; + } + + half4 fragPreAndCut (v2f_opts i) : SV_Target { + half4 color = tex2D (_MainTex, i.uv[0]); + color += tex2D (_MainTex, i.uv[1]); + color += tex2D (_MainTex, i.uv[2]); + color += tex2D (_MainTex, i.uv[3]); + color += tex2D (_MainTex, i.uv[4]); + color += tex2D (_MainTex, i.uv[5]); + color += tex2D (_MainTex, i.uv[6]); + color = max(color / 7.0 - _Threshhold.xxxx, float4(0,0,0,0)); + half lum = Luminance(color.rgb); + color.rgb = lerp(half3(lum,lum,lum), color.rgb, _Saturation) * _TintColor.rgb; + return color; + } + + half4 fragStretch (v2f_opts i) : SV_Target { + half4 color = tex2D (_MainTex, i.uv[0]); + color = max (color, tex2D (_MainTex, i.uv[1])); + color = max (color, tex2D (_MainTex, i.uv[2])); + color = max (color, tex2D (_MainTex, i.uv[3])); + color = max (color, tex2D (_MainTex, i.uv[4])); + color = max (color, tex2D (_MainTex, i.uv[5])); + color = max (color, tex2D (_MainTex, i.uv[6])); + return color; + } + + half4 fragPost (v2f_opts i) : SV_Target { + half4 color = tex2D (_MainTex, i.uv[0]); + color += tex2D (_MainTex, i.uv[1]); + color += tex2D (_MainTex, i.uv[2]); + color += tex2D (_MainTex, i.uv[3]); + color += tex2D (_MainTex, i.uv[4]); + color += tex2D (_MainTex, i.uv[5]); + color += tex2D (_MainTex, i.uv[6]); + return color * 1.0/(7.0 + Luminance(color.rgb) + 0.5); // this also makes it a little noisy + } + + ENDCG + +Subshader { + ZTest Always Cull Off ZWrite Off + Pass { + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragPostNoBlur + + ENDCG + } + + Pass { + + CGPROGRAM + + #pragma vertex vertStretch + #pragma fragment fragStretch + + ENDCG + } + + // 2 + Pass { + + CGPROGRAM + + #pragma vertex vertWithMultiCoords + #pragma fragment fragPreAndCut + + ENDCG + } + + // 3 + Pass { + + CGPROGRAM + + #pragma vertex vertWithMultiCoords + #pragma fragment fragPost + + ENDCG + } + // 4 + Pass { + + CGPROGRAM + + #pragma vertex vertWithMultiCoords2 + #pragma fragment fragGaussBlur + + ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlurAndFlares.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlurAndFlares.shader.meta new file mode 100644 index 0000000..a0ed0ba --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BlurAndFlares.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: be6e39cf196f146d5be72fbefb18ed75 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter.shader new file mode 100644 index 0000000..7af0789 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter.shader @@ -0,0 +1,57 @@ +Shader "Hidden/BrightPassFilterForBloom" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f + { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MainTex; + + half4 threshold; + half useSrcAlphaAsMask; + + v2f vert( appdata_img v ) + { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + return o; + } + + half4 frag(v2f i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + //color = color * saturate((color-threshhold.x) * 75.0); // didn't go well with HDR and din't make sense + color = color * lerp(1.0, color.a, useSrcAlphaAsMask); + color = max(half4(0,0,0,0), color-threshold.x); + return color; + } + + ENDCG + + Subshader + { + Pass + { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + ENDCG + } + } + Fallback off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter.shader.meta new file mode 100644 index 0000000..35204d1 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 186c4c0d31e314f049595dcbaf4ca129 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter2.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter2.shader new file mode 100644 index 0000000..b202a23 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter2.shader @@ -0,0 +1,74 @@ +Shader "Hidden/BrightPassFilter2" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f + { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MainTex; + + half4 _Threshhold; + + v2f vert( appdata_img v ) + { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + return o; + } + + half4 fragScalarThresh(v2f i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + color.rgb = color.rgb; + color.rgb = max(half3(0,0,0), color.rgb-_Threshhold.xxx); + return color; + } + + half4 fragColorThresh(v2f i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + color.rgb = max(half3(0,0,0), color.rgb-_Threshhold.rgb); + return color; + } + + ENDCG + + Subshader + { + Pass + { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragScalarThresh + + ENDCG + } + + Pass + { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragColorThresh + + ENDCG + } + } + Fallback off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter2.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter2.shader.meta new file mode 100644 index 0000000..b55de0e --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/BrightPassFilter2.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 0aeaa4cb29f5d4e9c8455f04c8575c8c +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/LensFlareCreate.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/LensFlareCreate.shader new file mode 100644 index 0000000..135efe6 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/LensFlareCreate.shader @@ -0,0 +1,60 @@ +Shader "Hidden/LensFlareCreate" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv[4] : TEXCOORD0; + }; + + fixed4 colorA; + fixed4 colorB; + fixed4 colorC; + fixed4 colorD; + + sampler2D _MainTex; + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + + o.uv[0] = ( ( v.texcoord.xy - 0.5 ) * -0.85 ) + 0.5; + o.uv[1] = ( ( v.texcoord.xy - 0.5 ) * -1.45 ) + 0.5; + o.uv[2] = ( ( v.texcoord.xy - 0.5 ) * -2.55 ) + 0.5; + o.uv[3] = ( ( v.texcoord.xy - 0.5 ) * -4.15 ) + 0.5; + return o; + } + + fixed4 frag(v2f i) : SV_Target { + fixed4 color = float4 (0,0,0,0); + color += tex2D(_MainTex, i.uv[0] ) * colorA; + color += tex2D(_MainTex, i.uv[1] ) * colorB; + color += tex2D(_MainTex, i.uv[2] ) * colorC; + color += tex2D(_MainTex, i.uv[3] ) * colorD; + return color; + } + + ENDCG + +Subshader { + Blend One One + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/LensFlareCreate.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/LensFlareCreate.shader.meta new file mode 100644 index 0000000..cd9c241 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/LensFlareCreate.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 459fe69d2f6d74ddb92f04dbf45a866b +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBloom.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBloom.shader new file mode 100644 index 0000000..6fe10b1 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBloom.shader @@ -0,0 +1,292 @@ + +Shader "Hidden/FastBloom" { + Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Bloom ("Bloom (RGB)", 2D) = "black" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + sampler2D _Bloom; + + uniform half4 _MainTex_TexelSize; + + uniform half4 _Parameter; + uniform half4 _OffsetsA; + uniform half4 _OffsetsB; + + #define ONE_MINUS_THRESHHOLD_TIMES_INTENSITY _Parameter.w + #define THRESHHOLD _Parameter.z + + struct v2f_simple + { + float4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + + #if UNITY_UV_STARTS_AT_TOP + half2 uv2 : TEXCOORD1; + #endif + }; + + v2f_simple vertBloom ( appdata_img v ) + { + v2f_simple o; + + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord; + + #if UNITY_UV_STARTS_AT_TOP + o.uv2 = v.texcoord; + if (_MainTex_TexelSize.y < 0.0) + o.uv.y = 1.0 - o.uv.y; + #endif + + return o; + } + + struct v2f_tap + { + float4 pos : SV_POSITION; + half2 uv20 : TEXCOORD0; + half2 uv21 : TEXCOORD1; + half2 uv22 : TEXCOORD2; + half2 uv23 : TEXCOORD3; + }; + + v2f_tap vert4Tap ( appdata_img v ) + { + v2f_tap o; + + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv20 = v.texcoord + _MainTex_TexelSize.xy; + o.uv21 = v.texcoord + _MainTex_TexelSize.xy * half2(-0.5h,-0.5h); + o.uv22 = v.texcoord + _MainTex_TexelSize.xy * half2(0.5h,-0.5h); + o.uv23 = v.texcoord + _MainTex_TexelSize.xy * half2(-0.5h,0.5h); + + return o; + } + + fixed4 fragBloom ( v2f_simple i ) : SV_Target + { + #if UNITY_UV_STARTS_AT_TOP + + fixed4 color = tex2D(_MainTex, i.uv2); + return color + tex2D(_Bloom, i.uv); + + #else + + fixed4 color = tex2D(_MainTex, i.uv); + return color + tex2D(_Bloom, i.uv); + + #endif + } + + fixed4 fragDownsample ( v2f_tap i ) : SV_Target + { + fixed4 color = tex2D (_MainTex, i.uv20); + color += tex2D (_MainTex, i.uv21); + color += tex2D (_MainTex, i.uv22); + color += tex2D (_MainTex, i.uv23); + return max(color/4 - THRESHHOLD, 0) * ONE_MINUS_THRESHHOLD_TIMES_INTENSITY; + } + + // weight curves + + static const half curve[7] = { 0.0205, 0.0855, 0.232, 0.324, 0.232, 0.0855, 0.0205 }; // gauss'ish blur weights + + static const half4 curve4[7] = { half4(0.0205,0.0205,0.0205,0), half4(0.0855,0.0855,0.0855,0), half4(0.232,0.232,0.232,0), + half4(0.324,0.324,0.324,1), half4(0.232,0.232,0.232,0), half4(0.0855,0.0855,0.0855,0), half4(0.0205,0.0205,0.0205,0) }; + + struct v2f_withBlurCoords8 + { + float4 pos : SV_POSITION; + half4 uv : TEXCOORD0; + half2 offs : TEXCOORD1; + }; + + struct v2f_withBlurCoordsSGX + { + float4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + half4 offs[3] : TEXCOORD1; + }; + + v2f_withBlurCoords8 vertBlurHorizontal (appdata_img v) + { + v2f_withBlurCoords8 o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + o.uv = half4(v.texcoord.xy,1,1); + o.offs = _MainTex_TexelSize.xy * half2(1.0, 0.0) * _Parameter.x; + + return o; + } + + v2f_withBlurCoords8 vertBlurVertical (appdata_img v) + { + v2f_withBlurCoords8 o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + o.uv = half4(v.texcoord.xy,1,1); + o.offs = _MainTex_TexelSize.xy * half2(0.0, 1.0) * _Parameter.x; + + return o; + } + + half4 fragBlur8 ( v2f_withBlurCoords8 i ) : SV_Target + { + half2 uv = i.uv.xy; + half2 netFilterWidth = i.offs; + half2 coords = uv - netFilterWidth * 3.0; + + half4 color = 0; + for( int l = 0; l < 7; l++ ) + { + half4 tap = tex2D(_MainTex, coords); + color += tap * curve4[l]; + coords += netFilterWidth; + } + return color; + } + + + v2f_withBlurCoordsSGX vertBlurHorizontalSGX (appdata_img v) + { + v2f_withBlurCoordsSGX o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + o.uv = v.texcoord.xy; + half2 netFilterWidth = _MainTex_TexelSize.xy * half2(1.0, 0.0) * _Parameter.x; + half4 coords = -netFilterWidth.xyxy * 3.0; + + o.offs[0] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + coords += netFilterWidth.xyxy; + o.offs[1] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + coords += netFilterWidth.xyxy; + o.offs[2] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + + return o; + } + + v2f_withBlurCoordsSGX vertBlurVerticalSGX (appdata_img v) + { + v2f_withBlurCoordsSGX o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + o.uv = half4(v.texcoord.xy,1,1); + half2 netFilterWidth = _MainTex_TexelSize.xy * half2(0.0, 1.0) * _Parameter.x; + half4 coords = -netFilterWidth.xyxy * 3.0; + + o.offs[0] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + coords += netFilterWidth.xyxy; + o.offs[1] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + coords += netFilterWidth.xyxy; + o.offs[2] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + + return o; + } + + half4 fragBlurSGX ( v2f_withBlurCoordsSGX i ) : SV_Target + { + half2 uv = i.uv.xy; + + half4 color = tex2D(_MainTex, i.uv) * curve4[3]; + + for( int l = 0; l < 3; l++ ) + { + half4 tapA = tex2D(_MainTex, i.offs[l].xy); + half4 tapB = tex2D(_MainTex, i.offs[l].zw); + color += (tapA + tapB) * curve4[l]; + } + + return color; + + } + + ENDCG + + SubShader { + ZTest Off Cull Off ZWrite Off Blend Off + + // 0 + Pass { + + CGPROGRAM + #pragma vertex vertBloom + #pragma fragment fragBloom + + ENDCG + + } + + // 1 + Pass { + + CGPROGRAM + + #pragma vertex vert4Tap + #pragma fragment fragDownsample + + ENDCG + + } + + // 2 + Pass { + ZTest Always + Cull Off + + CGPROGRAM + + #pragma vertex vertBlurVertical + #pragma fragment fragBlur8 + + ENDCG + } + + // 3 + Pass { + ZTest Always + Cull Off + + CGPROGRAM + + #pragma vertex vertBlurHorizontal + #pragma fragment fragBlur8 + + ENDCG + } + + // alternate blur + // 4 + Pass { + ZTest Always + Cull Off + + CGPROGRAM + + #pragma vertex vertBlurVerticalSGX + #pragma fragment fragBlurSGX + + ENDCG + } + + // 5 + Pass { + ZTest Always + Cull Off + + CGPROGRAM + + #pragma vertex vertBlurHorizontalSGX + #pragma fragment fragBlurSGX + + ENDCG + } + } + + FallBack Off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBloom.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBloom.shader.meta new file mode 100644 index 0000000..db93b36 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBloom.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 68a00c837b82e4c6d92e7da765dc5f1d +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBlur.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBlur.shader new file mode 100644 index 0000000..bb89465 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBlur.shader @@ -0,0 +1,234 @@ + +Shader "Hidden/FastBlur" { + Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Bloom ("Bloom (RGB)", 2D) = "black" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + sampler2D _Bloom; + + uniform half4 _MainTex_TexelSize; + uniform half4 _Parameter; + + struct v2f_tap + { + float4 pos : SV_POSITION; + half2 uv20 : TEXCOORD0; + half2 uv21 : TEXCOORD1; + half2 uv22 : TEXCOORD2; + half2 uv23 : TEXCOORD3; + }; + + v2f_tap vert4Tap ( appdata_img v ) + { + v2f_tap o; + + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv20 = v.texcoord + _MainTex_TexelSize.xy; + o.uv21 = v.texcoord + _MainTex_TexelSize.xy * half2(-0.5h,-0.5h); + o.uv22 = v.texcoord + _MainTex_TexelSize.xy * half2(0.5h,-0.5h); + o.uv23 = v.texcoord + _MainTex_TexelSize.xy * half2(-0.5h,0.5h); + + return o; + } + + fixed4 fragDownsample ( v2f_tap i ) : SV_Target + { + fixed4 color = tex2D (_MainTex, i.uv20); + color += tex2D (_MainTex, i.uv21); + color += tex2D (_MainTex, i.uv22); + color += tex2D (_MainTex, i.uv23); + return color / 4; + } + + // weight curves + + static const half curve[7] = { 0.0205, 0.0855, 0.232, 0.324, 0.232, 0.0855, 0.0205 }; // gauss'ish blur weights + + static const half4 curve4[7] = { half4(0.0205,0.0205,0.0205,0), half4(0.0855,0.0855,0.0855,0), half4(0.232,0.232,0.232,0), + half4(0.324,0.324,0.324,1), half4(0.232,0.232,0.232,0), half4(0.0855,0.0855,0.0855,0), half4(0.0205,0.0205,0.0205,0) }; + + struct v2f_withBlurCoords8 + { + float4 pos : SV_POSITION; + half4 uv : TEXCOORD0; + half2 offs : TEXCOORD1; + }; + + struct v2f_withBlurCoordsSGX + { + float4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + half4 offs[3] : TEXCOORD1; + }; + + v2f_withBlurCoords8 vertBlurHorizontal (appdata_img v) + { + v2f_withBlurCoords8 o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + o.uv = half4(v.texcoord.xy,1,1); + o.offs = _MainTex_TexelSize.xy * half2(1.0, 0.0) * _Parameter.x; + + return o; + } + + v2f_withBlurCoords8 vertBlurVertical (appdata_img v) + { + v2f_withBlurCoords8 o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + o.uv = half4(v.texcoord.xy,1,1); + o.offs = _MainTex_TexelSize.xy * half2(0.0, 1.0) * _Parameter.x; + + return o; + } + + half4 fragBlur8 ( v2f_withBlurCoords8 i ) : SV_Target + { + half2 uv = i.uv.xy; + half2 netFilterWidth = i.offs; + half2 coords = uv - netFilterWidth * 3.0; + + half4 color = 0; + for( int l = 0; l < 7; l++ ) + { + half4 tap = tex2D(_MainTex, coords); + color += tap * curve4[l]; + coords += netFilterWidth; + } + return color; + } + + + v2f_withBlurCoordsSGX vertBlurHorizontalSGX (appdata_img v) + { + v2f_withBlurCoordsSGX o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + o.uv = v.texcoord.xy; + half2 netFilterWidth = _MainTex_TexelSize.xy * half2(1.0, 0.0) * _Parameter.x; + half4 coords = -netFilterWidth.xyxy * 3.0; + + o.offs[0] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + coords += netFilterWidth.xyxy; + o.offs[1] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + coords += netFilterWidth.xyxy; + o.offs[2] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + + return o; + } + + v2f_withBlurCoordsSGX vertBlurVerticalSGX (appdata_img v) + { + v2f_withBlurCoordsSGX o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + + o.uv = half4(v.texcoord.xy,1,1); + half2 netFilterWidth = _MainTex_TexelSize.xy * half2(0.0, 1.0) * _Parameter.x; + half4 coords = -netFilterWidth.xyxy * 3.0; + + o.offs[0] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + coords += netFilterWidth.xyxy; + o.offs[1] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + coords += netFilterWidth.xyxy; + o.offs[2] = v.texcoord.xyxy + coords * half4(1.0h,1.0h,-1.0h,-1.0h); + + return o; + } + + half4 fragBlurSGX ( v2f_withBlurCoordsSGX i ) : SV_Target + { + half2 uv = i.uv.xy; + + half4 color = tex2D(_MainTex, i.uv) * curve4[3]; + + for( int l = 0; l < 3; l++ ) + { + half4 tapA = tex2D(_MainTex, i.offs[l].xy); + half4 tapB = tex2D(_MainTex, i.offs[l].zw); + color += (tapA + tapB) * curve4[l]; + } + + return color; + + } + + ENDCG + + SubShader { + ZTest Off Cull Off ZWrite Off Blend Off + + // 0 + Pass { + + CGPROGRAM + + #pragma vertex vert4Tap + #pragma fragment fragDownsample + + ENDCG + + } + + // 1 + Pass { + ZTest Always + Cull Off + + CGPROGRAM + + #pragma vertex vertBlurVertical + #pragma fragment fragBlur8 + + ENDCG + } + + // 2 + Pass { + ZTest Always + Cull Off + + CGPROGRAM + + #pragma vertex vertBlurHorizontal + #pragma fragment fragBlur8 + + ENDCG + } + + // alternate blur + // 3 + Pass { + ZTest Always + Cull Off + + CGPROGRAM + + #pragma vertex vertBlurVerticalSGX + #pragma fragment fragBlurSGX + + ENDCG + } + + // 4 + Pass { + ZTest Always + Cull Off + + CGPROGRAM + + #pragma vertex vertBlurHorizontalSGX + #pragma fragment fragBlurSGX + + ENDCG + } + } + + FallBack Off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBlur.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBlur.shader.meta new file mode 100644 index 0000000..6770288 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MobileBlur.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: f9d5fa183cd6b45eeb1491f74863cd91 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MultiPassHollywoodFlares.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MultiPassHollywoodFlares.shader new file mode 100644 index 0000000..3f4b93f --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MultiPassHollywoodFlares.shader @@ -0,0 +1,154 @@ +Shader "Hidden/MultipassHollywoodFlares" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + _NonBlurredTex ("Base (RGB)", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + half4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + }; + + struct v2f_opts { + half4 pos : SV_POSITION; + half2 uv[7] : TEXCOORD0; + }; + + half4 offsets; + half4 tintColor; + + half stretchWidth; + half2 _Threshhold; + + half4 _MainTex_TexelSize; + + sampler2D _MainTex; + sampler2D _NonBlurredTex; + + v2f vert (appdata_img v) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + return o; + } + + v2f_opts vertStretch (appdata_img v) { + v2f_opts o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + half b = stretchWidth; + o.uv[0] = v.texcoord.xy; + o.uv[1] = v.texcoord.xy + b * 2.0 * offsets.xy; + o.uv[2] = v.texcoord.xy - b * 2.0 * offsets.xy; + o.uv[3] = v.texcoord.xy + b * 4.0 * offsets.xy; + o.uv[4] = v.texcoord.xy - b * 4.0 * offsets.xy; + o.uv[5] = v.texcoord.xy + b * 6.0 * offsets.xy; + o.uv[6] = v.texcoord.xy - b * 6.0 * offsets.xy; + return o; + } + + v2f_opts vertVerticalCoords (appdata_img v) { + v2f_opts o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv[0] = v.texcoord.xy; + o.uv[1] = v.texcoord.xy + 0.5 * _MainTex_TexelSize.xy * half2(0,1); + o.uv[2] = v.texcoord.xy - 0.5 * _MainTex_TexelSize.xy * half2(0,1); + o.uv[3] = v.texcoord.xy + 1.5 * _MainTex_TexelSize.xy * half2(0,1); + o.uv[4] = v.texcoord.xy - 1.5 * _MainTex_TexelSize.xy * half2(0,1); + o.uv[5] = v.texcoord.xy + 2.5 * _MainTex_TexelSize.xy * half2(0,1); + o.uv[6] = v.texcoord.xy - 2.5 * _MainTex_TexelSize.xy * half2(0,1); + return o; + } + + // deprecated + half4 fragPrepare (v2f i) : SV_Target { + half4 color = tex2D (_MainTex, i.uv); + half4 colorNb = tex2D (_NonBlurredTex, i.uv); + return color * tintColor * 0.5 + colorNb * normalize (tintColor) * 0.5; + } + + + half4 fragPreAndCut (v2f_opts i) : SV_Target { + half4 color = tex2D (_MainTex, i.uv[0]); + color += tex2D (_MainTex, i.uv[1]); + color += tex2D (_MainTex, i.uv[2]); + color += tex2D (_MainTex, i.uv[3]); + color += tex2D (_MainTex, i.uv[4]); + color += tex2D (_MainTex, i.uv[5]); + color += tex2D (_MainTex, i.uv[6]); + return max(color / 7.0 - _Threshhold.x, 0.0) * _Threshhold.y * tintColor; + } + + half4 fragStretch (v2f_opts i) : SV_Target { + half4 color = tex2D (_MainTex, i.uv[0]); + color = max (color, tex2D (_MainTex, i.uv[1])); + color = max (color, tex2D (_MainTex, i.uv[2])); + color = max (color, tex2D (_MainTex, i.uv[3])); + color = max (color, tex2D (_MainTex, i.uv[4])); + color = max (color, tex2D (_MainTex, i.uv[5])); + color = max (color, tex2D (_MainTex, i.uv[6])); + return color; + } + + half4 fragPost (v2f_opts i) : SV_Target { + half4 color = tex2D (_MainTex, i.uv[0]); + color += tex2D (_MainTex, i.uv[1]); + color += tex2D (_MainTex, i.uv[2]); + color += tex2D (_MainTex, i.uv[3]); + color += tex2D (_MainTex, i.uv[4]); + color += tex2D (_MainTex, i.uv[5]); + color += tex2D (_MainTex, i.uv[6]); + return color * 1.0/(7.0 + Luminance(color.rgb) + 0.5); // this also makes it a little noisy + } + + ENDCG + +Subshader { + ZTest Always Cull Off ZWrite Off + Pass { + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragPrepare + + ENDCG + } + + Pass { + + CGPROGRAM + + #pragma vertex vertStretch + #pragma fragment fragStretch + + ENDCG + } + + Pass { + + CGPROGRAM + + #pragma vertex vertVerticalCoords + #pragma fragment fragPreAndCut + + ENDCG + } + + Pass { + + CGPROGRAM + + #pragma vertex vertVerticalCoords + #pragma fragment fragPost + + ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MultiPassHollywoodFlares.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MultiPassHollywoodFlares.shader.meta new file mode 100644 index 0000000..62c6a79 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/MultiPassHollywoodFlares.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: e2baf3cae8edc4daf94c9adc2154be00 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/SeparableBlurPlus.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/SeparableBlurPlus.shader new file mode 100644 index 0000000..cc054f4 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/SeparableBlurPlus.shader @@ -0,0 +1,69 @@ +Shader "Hidden/SeparableBlurPlus" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + half4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + half4 uv01 : TEXCOORD1; + half4 uv23 : TEXCOORD2; + half4 uv45 : TEXCOORD3; + half4 uv67 : TEXCOORD4; + }; + + half4 offsets; + + sampler2D _MainTex; + + v2f vert (appdata_img v) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + + o.uv.xy = v.texcoord.xy; + + o.uv01 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1); + o.uv23 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1) * 2.0; + o.uv45 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1) * 3.0; + o.uv67 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1) * 4.5; + o.uv67 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1) * 6.5; + + return o; + } + + half4 frag (v2f i) : SV_Target { + half4 color = half4 (0,0,0,0); + + color += 0.225 * tex2D (_MainTex, i.uv); + color += 0.150 * tex2D (_MainTex, i.uv01.xy); + color += 0.150 * tex2D (_MainTex, i.uv01.zw); + color += 0.110 * tex2D (_MainTex, i.uv23.xy); + color += 0.110 * tex2D (_MainTex, i.uv23.zw); + color += 0.075 * tex2D (_MainTex, i.uv45.xy); + color += 0.075 * tex2D (_MainTex, i.uv45.zw); + color += 0.0525 * tex2D (_MainTex, i.uv67.xy); + color += 0.0525 * tex2D (_MainTex, i.uv67.zw); + + return color; + } + + ENDCG + +Subshader { + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/SeparableBlurPlus.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/SeparableBlurPlus.shader.meta new file mode 100644 index 0000000..f675def --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/SeparableBlurPlus.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: a9df009a214e24a5ebbf271595f8d5b6 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/VignetteShader.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/VignetteShader.shader new file mode 100644 index 0000000..4289b2d --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/VignetteShader.shader @@ -0,0 +1,57 @@ +Shader "Hidden/VignetteShader" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + sampler2D _MainTex; + + float4 _MainTex_TexelSize; + float vignetteIntensity; + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + + o.uv = v.texcoord.xy; + return o; + } + + half4 frag(v2f i) : SV_Target { + half2 coords = i.uv; + half2 uv = i.uv; + + coords = (coords - 0.5) * 2.0; + half coordDot = dot (coords,coords); + half4 color = tex2D (_MainTex, uv); + + float mask = 1.0 - coordDot * vignetteIntensity; + return color * mask; + } + + ENDCG + +Subshader { + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/VignetteShader.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/VignetteShader.shader.meta new file mode 100644 index 0000000..63b6b76 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_BloomAndFlares/VignetteShader.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 562f620336e024ac99992ff05725a89a +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField.meta new file mode 100644 index 0000000..955cea4 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d9cccf980fcb7441d85b8b3b5c2d2c34 diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/Bokeh34.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/Bokeh34.shader new file mode 100644 index 0000000..b691a11 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/Bokeh34.shader @@ -0,0 +1,78 @@ + +Shader "Hidden/Dof/Bokeh34" { +Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Source ("Base (RGB)", 2D) = "black" {} +} + +SubShader { + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + sampler2D _Source; + + uniform half4 _ArScale; + uniform half _Intensity; + uniform half4 _Source_TexelSize; + + struct v2f { + half4 pos : SV_POSITION; + half2 uv2 : TEXCOORD0; + half4 source : TEXCOORD1; + }; + + #define COC bokeh.a + + v2f vert (appdata_full v) + { + v2f o; + + o.pos = v.vertex; + + o.uv2.xy = v.texcoord.xy;// * 2.0; <- needed when using Triangles.js and not Quads.js + + #if UNITY_UV_STARTS_AT_TOP + float4 bokeh = tex2Dlod (_Source, half4 (v.texcoord1.xy * half2(1,-1) + half2(0,1), 0, 0)); + #else + float4 bokeh = tex2Dlod (_Source, half4 (v.texcoord1.xy, 0, 0)); + #endif + + o.source = bokeh; + + o.pos.xy += (v.texcoord.xy * 2.0 - 1.0) * _ArScale.xy * COC;// + _ArScale.zw * coc; + o.source.rgb *= _Intensity; + + return o; + } + + + half4 frag (v2f i) : SV_Target + { + half4 color = tex2D (_MainTex, i.uv2.xy); + color.rgb *= i.source.rgb; + color.a *= Luminance(i.source.rgb*0.25); + return color; + } + + ENDCG + + Pass { + Blend OneMinusDstColor One + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment frag + + ENDCG + } + +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/Bokeh34.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/Bokeh34.shader.meta new file mode 100644 index 0000000..f8047da --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/Bokeh34.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 57cdacf9b217546aaa18edf39a6151c0 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfField34.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfField34.shader new file mode 100644 index 0000000..146b502 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfField34.shader @@ -0,0 +1,486 @@ + Shader "Hidden/Dof/DepthOfField34" { + Properties { + _MainTex ("Base", 2D) = "" {} + _TapLowBackground ("TapLowBackground", 2D) = "" {} + _TapLowForeground ("TapLowForeground", 2D) = "" {} + _TapMedium ("TapMedium", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + half4 pos : SV_POSITION; + half2 uv1 : TEXCOORD0; + }; + + struct v2fDofApply { + half4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + }; + + struct v2fRadius { + half4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + half4 uv1[4] : TEXCOORD1; + }; + + struct v2fDown { + half4 pos : SV_POSITION; + half2 uv0 : TEXCOORD0; + half2 uv[2] : TEXCOORD1; + }; + + sampler2D _MainTex; + sampler2D_float _CameraDepthTexture; + sampler2D _TapLowBackground; + sampler2D _TapLowForeground; + sampler2D _TapMedium; + + half4 _CurveParams; + half _ForegroundBlurExtrude; + uniform half3 _Threshhold; + uniform float4 _MainTex_TexelSize; + uniform float2 _InvRenderTargetSize; + + v2f vert( appdata_img v ) { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv1.xy = v.texcoord.xy; + return o; + } + + v2fRadius vertWithRadius( appdata_img v ) { + v2fRadius o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv.xy = v.texcoord.xy; + + const half2 blurOffsets[4] = { + half2(-0.5, +1.5), + half2(+0.5, -1.5), + half2(+1.5, +0.5), + half2(-1.5, -0.5) + }; + + o.uv1[0].xy = v.texcoord.xy + 5.0 * _MainTex_TexelSize.xy * blurOffsets[0]; + o.uv1[1].xy = v.texcoord.xy + 5.0 * _MainTex_TexelSize.xy * blurOffsets[1]; + o.uv1[2].xy = v.texcoord.xy + 5.0 * _MainTex_TexelSize.xy * blurOffsets[2]; + o.uv1[3].xy = v.texcoord.xy + 5.0 * _MainTex_TexelSize.xy * blurOffsets[3]; + + o.uv1[0].zw = v.texcoord.xy + 3.0 * _MainTex_TexelSize.xy * blurOffsets[0]; + o.uv1[1].zw = v.texcoord.xy + 3.0 * _MainTex_TexelSize.xy * blurOffsets[1]; + o.uv1[2].zw = v.texcoord.xy + 3.0 * _MainTex_TexelSize.xy * blurOffsets[2]; + o.uv1[3].zw = v.texcoord.xy + 3.0 * _MainTex_TexelSize.xy * blurOffsets[3]; + + return o; + } + + v2fDofApply vertDofApply( appdata_img v ) { + v2fDofApply o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv.xy = v.texcoord.xy; + return o; + } + + v2fDown vertDownsampleWithCocConserve(appdata_img v) { + v2fDown o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv0.xy = v.texcoord.xy; + o.uv[0].xy = v.texcoord.xy + half2(-1.0,-1.0) * _InvRenderTargetSize; + o.uv[1].xy = v.texcoord.xy + half2(1.0,-1.0) * _InvRenderTargetSize; + return o; + } + + half4 BokehPrereqs (sampler2D tex, half4 uv1[4], half4 center, half considerCoc) { + + // @NOTE 1: + // we are checking for 3 things in order to create a bokeh. + // goal is to get the highest bang for the buck. + // 1.) contrast/frequency should be very high (otherwise bokeh mostly unvisible) + // 2.) luminance should be high + // 3.) no occluder nearby (stored in alpha channel) + + // @NOTE 2: about the alpha channel in littleBlur: + // the alpha channel stores an heuristic on how likely it is + // that there is no bokeh occluder nearby. + // if we didn't' check for that, we'd get very noise bokeh + // popping because of the sudden contrast changes + + half4 sampleA = tex2D(tex, uv1[0].zw); + half4 sampleB = tex2D(tex, uv1[1].zw); + half4 sampleC = tex2D(tex, uv1[2].zw); + half4 sampleD = tex2D(tex, uv1[3].zw); + + half4 littleBlur = 0.125 * (sampleA + sampleB + sampleC + sampleD); + + sampleA = tex2D(tex, uv1[0].xy); + sampleB = tex2D(tex, uv1[1].xy); + sampleC = tex2D(tex, uv1[2].xy); + sampleD = tex2D(tex, uv1[3].xy); + + littleBlur += 0.125 * (sampleA + sampleB + sampleC + sampleD); + + littleBlur = lerp (littleBlur, center, saturate(100.0 * considerCoc * abs(littleBlur.a - center.a))); + + return littleBlur; + } + + half4 fragDownsampleWithCocConserve(v2fDown i) : SV_Target { + half2 rowOfs[4]; + + rowOfs[0] = half2(0.0, 0.0); + rowOfs[1] = half2(0.0, _InvRenderTargetSize.y); + rowOfs[2] = half2(0.0, _InvRenderTargetSize.y) * 2.0; + rowOfs[3] = half2(0.0, _InvRenderTargetSize.y) * 3.0; + + half4 color = tex2D(_MainTex, i.uv0.xy); + + half4 sampleA = tex2D(_MainTex, i.uv[0].xy + rowOfs[0]); + half4 sampleB = tex2D(_MainTex, i.uv[1].xy + rowOfs[0]); + half4 sampleC = tex2D(_MainTex, i.uv[0].xy + rowOfs[2]); + half4 sampleD = tex2D(_MainTex, i.uv[1].xy + rowOfs[2]); + + color += sampleA + sampleB + sampleC + sampleD; + color *= 0.2; + + // @NOTE we are doing max on the alpha channel for 2 reasons: + // 1) foreground blur likes a slightly bigger radius + // 2) otherwise we get an ugly outline between high blur- and medium blur-areas + // drawback: we get a little bit of color bleeding + + color.a = max(max(sampleA.a, sampleB.a), max(sampleC.a, sampleD.a)); + + return color; + } + + half4 fragDofApplyBg (v2fDofApply i) : SV_Target { + half4 tapHigh = tex2D (_MainTex, i.uv.xy); + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + i.uv.xy = i.uv.xy * half2(1,-1)+half2(0,1); + #endif + + half4 tapLow = tex2D (_TapLowBackground, i.uv.xy); // already mixed with medium blur + tapHigh = lerp (tapHigh, tapLow, tapHigh.a); + return tapHigh; + } + + half4 fragDofApplyBgDebug (v2fDofApply i) : SV_Target { + half4 tapHigh = tex2D (_MainTex, i.uv.xy); + + half4 tapLow = tex2D (_TapLowBackground, i.uv.xy); + + half4 tapMedium = tex2D (_TapMedium, i.uv.xy); + tapMedium.rgb = (tapMedium.rgb + half3 (1, 1, 0)) * 0.5; + tapLow.rgb = (tapLow.rgb + half3 (0, 1, 0)) * 0.5; + + tapLow = lerp (tapMedium, tapLow, saturate (tapLow.a * tapLow.a)); + tapLow = tapLow * 0.5 + tex2D (_TapLowBackground, i.uv.xy) * 0.5; + + return lerp (tapHigh, tapLow, tapHigh.a); + } + + half4 fragDofApplyFg (v2fDofApply i) : SV_Target { + half4 fgBlur = tex2D(_TapLowForeground, i.uv.xy); + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + i.uv.xy = i.uv.xy * half2(1,-1)+half2(0,1); + #endif + + half4 fgColor = tex2D(_MainTex,i.uv.xy); + + //fgBlur.a = saturate(fgBlur.a*_ForegroundBlurWeight+saturate(fgColor.a-fgBlur.a)); + //fgBlur.a = max (fgColor.a, (2.0 * fgBlur.a - fgColor.a)) * _ForegroundBlurExtrude; + fgBlur.a = max(fgColor.a, fgBlur.a * _ForegroundBlurExtrude); //max (fgColor.a, (2.0*fgBlur.a-fgColor.a)) * _ForegroundBlurExtrude; + + return lerp (fgColor, fgBlur, saturate(fgBlur.a)); + } + + half4 fragDofApplyFgDebug (v2fDofApply i) : SV_Target { + half4 fgBlur = tex2D(_TapLowForeground, i.uv.xy); + + half4 fgColor = tex2D(_MainTex,i.uv.xy); + + fgBlur.a = max(fgColor.a, fgBlur.a * _ForegroundBlurExtrude); //max (fgColor.a, (2.0*fgBlur.a-fgColor.a)) * _ForegroundBlurExtrude; + + half4 tapMedium = half4 (1, 1, 0, fgBlur.a); + tapMedium.rgb = 0.5 * (tapMedium.rgb + fgColor.rgb); + + fgBlur.rgb = 0.5 * (fgBlur.rgb + half3(0,1,0)); + fgBlur.rgb = lerp (tapMedium.rgb, fgBlur.rgb, saturate (fgBlur.a * fgBlur.a)); + + return lerp ( fgColor, fgBlur, saturate(fgBlur.a)); + } + + half4 fragCocBg (v2f i) : SV_Target { + + float d = SAMPLE_DEPTH_TEXTURE (_CameraDepthTexture, i.uv1.xy); + d = Linear01Depth (d); + half coc = 0.0; + + half focalDistance01 = _CurveParams.w + _CurveParams.z; + + if (d > focalDistance01) + coc = (d - focalDistance01); + + coc = saturate (coc * _CurveParams.y); + return coc; + } + + half4 fragCocFg (v2f i) : SV_Target { + half4 color = tex2D (_MainTex, i.uv1.xy); + color.a = 0.0; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + i.uv1.xy = i.uv1.xy * half2(1,-1)+half2(0,1); + #endif + + float d = SAMPLE_DEPTH_TEXTURE (_CameraDepthTexture, i.uv1.xy); + d = Linear01Depth (d); + + half focalDistance01 = (_CurveParams.w - _CurveParams.z); + + if (d < focalDistance01) + color.a = (focalDistance01 - d); + + color.a = saturate (color.a * _CurveParams.x); + return color; + } + + // not being used atm + + half4 fragMask (v2f i) : SV_Target { + return half4(0,0,0,0); + } + + // used for simple one one blend + + half4 fragAddBokeh (v2f i) : SV_Target { + half4 from = tex2D( _MainTex, i.uv1.xy ); + return from; + } + + half4 fragAddFgBokeh (v2f i) : SV_Target { + half4 from = tex2D( _MainTex, i.uv1.xy ); + return from; + } + + half4 fragDarkenForBokeh(v2fRadius i) : SV_Target { + half4 fromOriginal = tex2D(_MainTex, i.uv.xy); + half4 lowRez = BokehPrereqs (_MainTex, i.uv1, fromOriginal, _Threshhold.z); + half4 outColor = half4(0,0,0, fromOriginal.a); + half modulate = fromOriginal.a; + + // this code imitates the if-then-else conditions below + half2 conditionCheck = half2( dot(abs(fromOriginal.rgb-lowRez.rgb), half3(0.3,0.5,0.2)), Luminance(fromOriginal.rgb)); + conditionCheck *= fromOriginal.a; + conditionCheck = saturate(_Threshhold.xy - conditionCheck); + outColor = lerp (outColor, fromOriginal, saturate (dot(conditionCheck, half2(1000.0,1000.0)))); + + /* + if ( abs(dot(fromOriginal.rgb - lowRez.rgb, half3 (0.3,0.5,0.2))) * modulate < _Threshhold.x) + outColor = fromOriginal; // no darkening + if (Luminance(fromOriginal.rgb) * modulate < _Threshhold.y) + outColor = fromOriginal; // no darkening + if (lowRez.a < _Threshhold.z) // need to make foreground not cast false bokeh's + outColor = fromOriginal; // no darkenin + */ + + return outColor; + } + + half4 fragExtractAndAddToBokeh (v2fRadius i) : SV_Target { + half4 from = tex2D(_MainTex, i.uv.xy); + half4 lowRez = BokehPrereqs(_MainTex, i.uv1, from, _Threshhold.z); + half4 outColor = from; + + // this code imitates the if-then-else conditions below + half2 conditionCheck = half2( dot(abs(from.rgb-lowRez.rgb), half3(0.3,0.5,0.2)), Luminance(from.rgb)); + conditionCheck *= from.a; + conditionCheck = saturate(_Threshhold.xy - conditionCheck); + outColor = lerp (outColor, half4(0,0,0,0), saturate (dot(conditionCheck, half2(1000.0,1000.0)))); + + /* + if ( abs(dot(from.rgb - lowRez.rgb, half3 (0.3,0.5,0.2))) * modulate < _Threshhold.x) + outColor = half4(0,0,0,0); // don't add + if (Luminance(from.rgb) * modulate < _Threshhold.y) + outColor = half4(0,0,0,0); // don't add + if (lowRez.a < _Threshhold.z) // need to make foreground not cast false bokeh's + outColor = half4(0,0,0,0); // don't add + */ + + return outColor; + } + + ENDCG + +Subshader { + + // pass 0 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vertDofApply + #pragma fragment fragDofApplyBg + + ENDCG + } + + // pass 1 + + Pass { + ZTest Always Cull Off ZWrite Off + ColorMask RGB + + CGPROGRAM + #pragma vertex vertDofApply + #pragma fragment fragDofApplyFgDebug + + ENDCG + } + + // pass 2 + + Pass { + ZTest Always Cull Off ZWrite Off + ColorMask RGB + + CGPROGRAM + #pragma vertex vertDofApply + #pragma fragment fragDofApplyBgDebug + + ENDCG + } + + + + // pass 3 + + Pass { + ZTest Always Cull Off ZWrite Off + ColorMask A + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragCocBg + + ENDCG + } + + + // pass 4 + + + Pass { + ZTest Always Cull Off ZWrite Off + ColorMask RGB + //Blend One One + + CGPROGRAM + #pragma vertex vertDofApply + #pragma fragment fragDofApplyFg + + ENDCG + } + + // pass 5 + + Pass { + ZTest Always Cull Off ZWrite Off + ColorMask ARGB + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragCocFg + + ENDCG + } + + // pass 6 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vertDownsampleWithCocConserve + #pragma fragment fragDownsampleWithCocConserve + + ENDCG + } + + // pass 7 + // not being used atm + + Pass { + ZTest Always Cull Off ZWrite Off + ColorMask RGBA + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragMask + + ENDCG + } + + // pass 8 + + Pass { + ZTest Always Cull Off ZWrite Off + Blend SrcAlpha OneMinusSrcAlpha + ColorMask RGB + + CGPROGRAM + #pragma vertex vert + #pragma fragment fragAddBokeh + + ENDCG + } + + // pass 9 + + Pass { + ZTest Always Cull Off ZWrite Off + Blend One One + ColorMask RGB + + CGPROGRAM + #pragma vertex vertWithRadius + #pragma fragment fragExtractAndAddToBokeh + + ENDCG + } + + // pass 10 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vertWithRadius + #pragma fragment fragDarkenForBokeh + + ENDCG + } + + // pass 11 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vertWithRadius + #pragma fragment fragExtractAndAddToBokeh + + ENDCG + } + } + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfField34.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfField34.shader.meta new file mode 100644 index 0000000..b86195b --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfField34.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 987fb0677d01f43ce8a9dbf12271e668 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldDX11.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldDX11.shader new file mode 100644 index 0000000..e36ba8c --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldDX11.shader @@ -0,0 +1,257 @@ + +/* + DX11 Depth Of Field + pretty much just does bokeh texture splatting + + basic algorithm: + + * find bright spots + * verify high frequency (otherwise dont care) + * if possitive, replace with black pixel and add to append buffer + * box blur buffer (thus smearing black pixels) + * blend bokeh texture sprites via append buffer on top of box blurred buffer + * composite with frame buffer +*/ + +Shader "Hidden/Dof/DX11Dof" +{ + Properties + { + _MainTex ("", 2D) = "white" {} + _BlurredColor ("", 2D) = "white" {} + _FgCocMask ("", 2D) = "white" {} + } + + CGINCLUDE + + #define BOKEH_ZERO_VEC (float4(0,0,0,0)) + #define BOKEH_ONE_VEC (float4(1,1,1,1)) + + float4 _BokehParams; // legend: dx11BokehScale, dx11BokehIntensity,dx11BokehThreshhold, internalBlurWidth + float4 _MainTex_TexelSize; + float3 _Screen; + float _SpawnHeuristic; + + sampler2D_float _CameraDepthTexture; + sampler2D _BlurredColor; + sampler2D _MainTex; + sampler2D _FgCocMask; + + struct appendStruct { + float3 pos; + float4 color; + }; + + struct gs_out { + float4 pos : SV_POSITION; + float3 uv : TEXCOORD0; + float4 color : TEXCOORD1; + float4 misc : TEXCOORD2; + }; + + // TODO: activate border clamp tex sampler state instead? + inline float4 clampBorderColor(float2 uv) + { +#if 1 + if(uv.x<=0) return BOKEH_ZERO_VEC; if(uv.x>=1) return BOKEH_ZERO_VEC; + if(uv.y<=0) return BOKEH_ZERO_VEC; if(uv.y>=1) return BOKEH_ZERO_VEC; +#endif + return BOKEH_ONE_VEC; + } + + struct vs_out { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float4 color : TEXCOORD1; + float cocOverlap : TEXCOORD2; + }; + + StructuredBuffer pointBuffer; + + vs_out vertApply (uint id : SV_VertexID) + { + vs_out o; + float2 pos = pointBuffer[id].pos.xy ; + o.pos = float4(pos * 2.0 - 1.0, 0, 1); + o.color = pointBuffer[id].color; + #if UNITY_UV_STARTS_AT_TOP + o.pos.y *= -1; + #endif + o.cocOverlap = pointBuffer[id].pos.z; + + return o; + } + + [maxvertexcount(4)] + void geom (point vs_out input[1], inout TriangleStream outStream) + { + // NEW ENERGY CONSERVATION: + + float2 scale2 = _BokehParams.ww * input[0].color.aa * _BokehParams.xx; + float4 offs = 0; + offs.xy = float2(3.0, 3.0) + 2.0f * floor(scale2 + float2(0.5,0.5)); + + float2 rs = ((float2(1.0, 1.0) + 2.0f * (scale2 + float2(0.5,0.5))));; + float2 f2 = offs.xy / rs; + + float energyAdjustment = (_BokehParams.y) / (rs.x*rs.y); + offs.xy *= _Screen.xy; + + gs_out output; + + output.pos = input[0].pos + offs*float4(-1,1,0,0); + output.misc = float4(f2,0,0); + output.uv = float3(0, 1, input[0].cocOverlap); + output.color = input[0].color * energyAdjustment; + outStream.Append (output); + + output.pos = input[0].pos + offs*float4(1,1,0,0); + output.misc = float4(f2,0,0); + output.uv = float3(1, 1, input[0].cocOverlap); + output.color = input[0].color * energyAdjustment; + outStream.Append (output); + + output.pos = input[0].pos + offs*float4(-1,-1,0,0); + output.misc = float4(f2,0,0); + output.uv = float3(0, 0, input[0].cocOverlap); + output.color = input[0].color * energyAdjustment; + outStream.Append (output); + + output.pos = input[0].pos + offs*float4(1,-1,0,0); + output.misc = float4(f2,0,0); + output.uv = float3(1, 0, input[0].cocOverlap); + output.color = input[0].color * energyAdjustment; + outStream.Append (output); + + outStream.RestartStrip(); + } + +ENDCG + +SubShader +{ + +// pass 0: append buffer "collect" + +Pass +{ + ZWrite Off ZTest Always Cull Off + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + #pragma target 5.0 + + #include "UnityCG.cginc" + + struct appdata { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + }; + + struct v2f { + float4 pos : SV_POSITION; + float2 uv_flip : TEXCOORD0; + float2 uv : TEXCOORD1; + }; + + v2f vert (appdata v) + { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord; + o.uv_flip = v.texcoord; + #if UNITY_UV_STARTS_AT_TOP + if(_MainTex_TexelSize.y<0) + o.uv_flip.y = 1.0-o.uv_flip.y; + if(_MainTex_TexelSize.y<0) + o.pos.y *= -1.0; + #endif + return o; + } + + AppendStructuredBuffer pointBufferOutput : register(u1); + + float4 frag (v2f i) : SV_Target + { + float4 c = tex2D (_MainTex, i.uv_flip); + float lumc = Luminance (c.rgb); + + float4 cblurred = tex2D (_BlurredColor, i.uv); + float lumblurred = Luminance (cblurred.rgb); + + float fgCoc = tex2D(_FgCocMask, i.uv).a; + + [branch] + if (c.a * _BokehParams.w > 1 && cblurred.a > 0.1 && lumc > _BokehParams.z && abs(lumc-lumblurred) > _SpawnHeuristic) + { + appendStruct append; + append.pos = float3(i.uv, fgCoc); + append.color.rgba = float4(c.rgb * saturate(c.a*4), c.a); + pointBufferOutput.Append (append); + return float4(c.rgb * saturate(1-c.a*4), c.a); + } + + return c; + } + ENDCG +} + +// pass 1: bokeh splatting (low resolution) + +Pass { + + ZWrite Off ZTest Always Cull Off + Blend One One, One One + ColorMask RGBA + + CGPROGRAM + + #pragma target 5.0 + #pragma vertex vertApply + #pragma geometry geom + #pragma fragment frag + + #include "UnityCG.cginc" + + fixed4 frag (gs_out i) : SV_Target + { + float2 uv = (i.uv.xy) * i.misc.xy + (float2(1,1)-i.misc.xy) * 0.5; // smooth uv scale + return float4(i.color.rgb, 1) * float4(tex2D(_MainTex, uv.xy).rgb, i.uv.z) * clampBorderColor (uv); + } + + ENDCG +} + +// pass 2: bokeh splatting (high resolution) + +Pass { + + ZWrite Off ZTest Always Cull Off + BlendOp Add, Add + Blend DstAlpha One, Zero One + ColorMask RGBA + + CGPROGRAM + + #pragma target 5.0 + #pragma vertex vertApply + #pragma geometry geom + #pragma fragment frag + + #include "UnityCG.cginc" + + fixed4 frag (gs_out i) : SV_Target + { + float2 uv = (i.uv.xy) * i.misc.xy + (float2(1,1)-i.misc.xy) * 0.5; // smooth uv scale + return float4(i.color.rgb, 1) * float4(tex2D(_MainTex, uv.xy).rgb, i.uv.z) * clampBorderColor (uv); + } + + ENDCG +} + +} + +Fallback Off +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldDX11.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldDX11.shader.meta new file mode 100644 index 0000000..15935f1 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldDX11.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: d8e82664aa8686642a424c88ab10164a +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldScatter.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldScatter.shader new file mode 100644 index 0000000..fcfbeee --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldScatter.shader @@ -0,0 +1,934 @@ + Shader "Hidden/Dof/DepthOfFieldHdr" { + Properties { + _MainTex ("-", 2D) = "black" {} + _FgOverlap ("-", 2D) = "black" {} + _LowRez ("-", 2D) = "black" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 uv1 : TEXCOORD1; + }; + + struct v2fRadius { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float4 uv1[4] : TEXCOORD1; + }; + + struct v2fBlur { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float4 uv01 : TEXCOORD1; + float4 uv23 : TEXCOORD2; + float4 uv45 : TEXCOORD3; + float4 uv67 : TEXCOORD4; + float4 uv89 : TEXCOORD5; + }; + + uniform sampler2D _MainTex; + uniform sampler2D_float _CameraDepthTexture; + uniform sampler2D _FgOverlap; + uniform sampler2D _LowRez; + uniform float4 _CurveParams; + uniform float4 _MainTex_TexelSize; + uniform float4 _Offsets; + + v2f vert( appdata_img v ) + { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv1.xy = v.texcoord.xy; + o.uv.xy = v.texcoord.xy; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + o.uv.y = 1-o.uv.y; + #endif + + return o; + } + + v2f vertFlip( appdata_img v ) + { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv1.xy = v.texcoord.xy; + o.uv.xy = v.texcoord.xy; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + o.uv.y = 1-o.uv.y; + if (_MainTex_TexelSize.y < 0) + o.uv1.y = 1-o.uv1.y; + #endif + + return o; + } + + v2fBlur vertBlurPlusMinus (appdata_img v) + { + v2fBlur o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv.xy = v.texcoord.xy; + o.uv01 = v.texcoord.xyxy + _Offsets.xyxy * float4(1,1, -1,-1) * _MainTex_TexelSize.xyxy / 6.0; + o.uv23 = v.texcoord.xyxy + _Offsets.xyxy * float4(2,2, -2,-2) * _MainTex_TexelSize.xyxy / 6.0; + o.uv45 = v.texcoord.xyxy + _Offsets.xyxy * float4(3,3, -3,-3) * _MainTex_TexelSize.xyxy / 6.0; + o.uv67 = v.texcoord.xyxy + _Offsets.xyxy * float4(4,4, -4,-4) * _MainTex_TexelSize.xyxy / 6.0; + o.uv89 = v.texcoord.xyxy + _Offsets.xyxy * float4(5,5, -5,-5) * _MainTex_TexelSize.xyxy / 6.0; + return o; + } + + #define SCATTER_OVERLAP_SMOOTH (-0.265) + + inline float BokehWeightDisc(float4 theSample, float sampleDistance, float4 centerSample) + { + return smoothstep(SCATTER_OVERLAP_SMOOTH, 0.0, theSample.a - centerSample.a*sampleDistance); + } + + inline float2 BokehWeightDisc2(float4 sampleA, float4 sampleB, float2 sampleDistance2, float4 centerSample) + { + return smoothstep(float2(SCATTER_OVERLAP_SMOOTH, SCATTER_OVERLAP_SMOOTH), float2(0.0,0.0), float2(sampleA.a, sampleB.a) - centerSample.aa*sampleDistance2); } + + static const int SmallDiscKernelSamples = 12; + static const float2 SmallDiscKernel[SmallDiscKernelSamples] = + { + float2(-0.326212,-0.40581), + float2(-0.840144,-0.07358), + float2(-0.695914,0.457137), + float2(-0.203345,0.620716), + float2(0.96234,-0.194983), + float2(0.473434,-0.480026), + float2(0.519456,0.767022), + float2(0.185461,-0.893124), + float2(0.507431,0.064425), + float2(0.89642,0.412458), + float2(-0.32194,-0.932615), + float2(-0.791559,-0.59771) + }; + + static const int NumDiscSamples = 28; + static const float3 DiscKernel[NumDiscSamples] = + { + float3(0.62463,0.54337,0.82790), + float3(-0.13414,-0.94488,0.95435), + float3(0.38772,-0.43475,0.58253), + float3(0.12126,-0.19282,0.22778), + float3(-0.20388,0.11133,0.23230), + float3(0.83114,-0.29218,0.88100), + float3(0.10759,-0.57839,0.58831), + float3(0.28285,0.79036,0.83945), + float3(-0.36622,0.39516,0.53876), + float3(0.75591,0.21916,0.78704), + float3(-0.52610,0.02386,0.52664), + float3(-0.88216,-0.24471,0.91547), + float3(-0.48888,-0.29330,0.57011), + float3(0.44014,-0.08558,0.44838), + float3(0.21179,0.51373,0.55567), + float3(0.05483,0.95701,0.95858), + float3(-0.59001,-0.70509,0.91938), + float3(-0.80065,0.24631,0.83768), + float3(-0.19424,-0.18402,0.26757), + float3(-0.43667,0.76751,0.88304), + float3(0.21666,0.11602,0.24577), + float3(0.15696,-0.85600,0.87027), + float3(-0.75821,0.58363,0.95682), + float3(0.99284,-0.02904,0.99327), + float3(-0.22234,-0.57907,0.62029), + float3(0.55052,-0.66984,0.86704), + float3(0.46431,0.28115,0.54280), + float3(-0.07214,0.60554,0.60982), + }; + + float4 fragBlurInsaneMQ (v2f i) : SV_Target + { + float4 centerTap = tex2D(_MainTex, i.uv1.xy); + float4 sum = centerTap; + float4 poissonScale = _MainTex_TexelSize.xyxy * centerTap.a * _Offsets.w; + + float sampleCount = max(centerTap.a * 0.25, _Offsets.z); // <- weighing with 0.25 looks nicer for small high freq spec + sum *= sampleCount; + + float weights = 0; + + for(int l=0; l < NumDiscSamples; l++) + { + float2 sampleUV = i.uv1.xy + DiscKernel[l].xy * poissonScale.xy; + float4 sample0 = tex2D(_MainTex, sampleUV.xy); + + if( sample0.a > 0.0 ) + { + weights = BokehWeightDisc(sample0, DiscKernel[l].z, centerTap); + sum += sample0 * weights; + sampleCount += weights; + } + } + + float4 returnValue = sum / sampleCount; + returnValue.a = centerTap.a; + + return returnValue; + } + + float4 fragBlurInsaneHQ (v2f i) : SV_Target + { + float4 centerTap = tex2D(_MainTex, i.uv1.xy); + float4 sum = centerTap; + float4 poissonScale = _MainTex_TexelSize.xyxy * centerTap.a * _Offsets.w; + + float sampleCount = max(centerTap.a * 0.25, _Offsets.z); // <- weighing with 0.25 looks nicer for small high freq spec + sum *= sampleCount; + + float2 weights = 0; + + for(int l=0; l < NumDiscSamples; l++) + { + float4 sampleUV = i.uv1.xyxy + DiscKernel[l].xyxy * poissonScale.xyxy / float4(1.2,1.2,DiscKernel[l].zz); + + float4 sample0 = tex2D(_MainTex, sampleUV.xy); + float4 sample1 = tex2D(_MainTex, sampleUV.zw); + + if( (sample0.a + sample1.a) > 0.0 ) + { + weights = BokehWeightDisc2(sample0, sample1, float2(DiscKernel[l].z/1.2, 1.0), centerTap); + sum += sample0 * weights.x + sample1 * weights.y; + sampleCount += dot(weights, 1); + } + } + + float4 returnValue = sum / sampleCount; + returnValue.a = centerTap.a; + + return returnValue; + } + + inline float4 BlendLowWithHighHQ(float coc, float4 low, float4 high) + { + float blend = smoothstep(0.65,0.85, coc); + return lerp(low, high, blend); + } + + inline float4 BlendLowWithHighMQ(float coc, float4 low, float4 high) + { + float blend = smoothstep(0.4,0.6, coc); + return lerp(low, high, blend); + } + + float4 fragBlurUpsampleCombineHQ (v2f i) : SV_Target + { + float4 bigBlur = tex2D(_LowRez, i.uv1.xy); + float4 centerTap = tex2D(_MainTex, i.uv1.xy); + + float4 smallBlur = centerTap; + float4 poissonScale = _MainTex_TexelSize.xyxy * centerTap.a * _Offsets.w ; + + float sampleCount = max(centerTap.a * 0.25, 0.1f); // <- weighing with 0.25 looks nicer for small high freq spec + smallBlur *= sampleCount; + + for(int l=0; l < NumDiscSamples; l++) + { + float2 sampleUV = i.uv1.xy + DiscKernel[l].xy * poissonScale.xy; + + float4 sample0 = tex2D(_MainTex, sampleUV); + float weight0 = BokehWeightDisc(sample0, DiscKernel[l].z, centerTap); + smallBlur += sample0 * weight0; sampleCount += weight0; + } + + smallBlur /= (sampleCount+1e-5f); + smallBlur = BlendLowWithHighHQ(centerTap.a, smallBlur, bigBlur); + + return centerTap.a < 1e-2f ? centerTap : float4(smallBlur.rgb,centerTap.a); + } + + float4 fragBlurUpsampleCombineMQ (v2f i) : SV_Target + { + float4 bigBlur = tex2D(_LowRez, i.uv1.xy); + float4 centerTap = tex2D(_MainTex, i.uv1.xy); + + float4 smallBlur = centerTap; + float4 poissonScale = _MainTex_TexelSize.xyxy * centerTap.a * _Offsets.w ; + + float sampleCount = max(centerTap.a * 0.25, 0.1f); // <- weighing with 0.25 looks nicer for small high freq spec + smallBlur *= sampleCount; + + for(int l=0; l < SmallDiscKernelSamples; l++) + { + float2 sampleUV = i.uv1.xy + SmallDiscKernel[l].xy * poissonScale.xy*1.1; + + float4 sample0 = tex2D(_MainTex, sampleUV); + float weight0 = BokehWeightDisc(sample0, length(SmallDiscKernel[l].xy*1.1), centerTap); + smallBlur += sample0 * weight0; sampleCount += weight0; + } + + smallBlur /= (sampleCount+1e-5f); + + smallBlur = BlendLowWithHighMQ(centerTap.a, smallBlur, bigBlur); + + return centerTap.a < 1e-2f ? centerTap : float4(smallBlur.rgb,centerTap.a); + } + + float4 fragBlurUpsampleCheap (v2f i) : SV_Target + { + float4 centerTap = tex2D(_MainTex, i.uv1.xy); + float4 bigBlur = tex2D(_LowRez, i.uv1.xy); + + float fgCoc = tex2D(_FgOverlap, i.uv1.xy).a; + float4 smallBlur = lerp(centerTap, bigBlur, saturate( max(centerTap.a,fgCoc)*8.0 )); + + return float4(smallBlur.rgb, centerTap.a); + } + + float4 fragBlurBox (v2f i) : SV_Target + { + const int TAPS = 12; + + float4 centerTap = tex2D(_MainTex, i.uv1.xy); + + // TODO: important ? breaks when HR blur is being used + //centerTap.a = max(centerTap.a, 0.1f); + + float sampleCount = centerTap.a; + float4 sum = centerTap * sampleCount; + + float2 lenStep = centerTap.aa * (1.0 / (TAPS-1.0)); + float4 steps = (_Offsets.xyxy * _MainTex_TexelSize.xyxy) * lenStep.xyxy * float4(1,1, -1,-1); + + for(int l=1; l 1e-5f) outColor.rgb = color.rgb/sumWeights; + + return outColor; + } + + float4 fragCaptureColorAndSignedCoc (v2f i) : SV_Target + { + float4 color = tex2D (_MainTex, i.uv1.xy); + float d = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv1.xy); + d = Linear01Depth (d); + color.a = _CurveParams.z * abs(d - _CurveParams.w) / (d + 1e-5f); + color.a = clamp( max(0.0, color.a - _CurveParams.y), 0.0, _CurveParams.x) * sign(d - _CurveParams.w); + + return color; + } + + float4 fragCaptureCoc (v2f i) : SV_Target + { + float4 color = float4(0,0,0,0); //tex2D (_MainTex, i.uv1.xy); + float d = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv1.xy); + d = Linear01Depth (d); + color.a = _CurveParams.z * abs(d - _CurveParams.w) / (d + 1e-5f); + color.a = clamp( max(0.0, color.a - _CurveParams.y), 0.0, _CurveParams.x); + + return color; + } + + float4 AddFgCoc (v2f i) : SV_Target + { + return tex2D (_MainTex, i.uv1.xy); + } + + float4 fragMergeCoc (v2f i) : SV_Target + { + float4 color = tex2D (_FgOverlap, i.uv.xy); // this is the foreground overlap value + float fgCoc = color.a; + + float d = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv1.xy); + d = Linear01Depth (d); + color.a = _CurveParams.z * abs(d - _CurveParams.w) / (d + 1e-5f); + color.a = clamp( max(0.0, color.a - _CurveParams.y), 0.0, _CurveParams.x); + + return max(color.aaaa, float4(fgCoc,fgCoc,fgCoc,fgCoc)); + } + + float4 fragCombineCocWithMaskBlur (v2f i) : SV_Target + { + float bgAndFgCoc = tex2D (_MainTex, i.uv1.xy).a; + float fgOverlapCoc = tex2D (_FgOverlap, i.uv1.xy).a; + + return (bgAndFgCoc < 0.01) * saturate(fgOverlapCoc-bgAndFgCoc); + } + + float4 fragCaptureForegroundCoc (v2f i) : SV_Target + { + float4 color = float4(0,0,0,0); //tex2D (_MainTex, i.uv1.xy); + float d = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv1.xy); + d = Linear01Depth (d); + color.a = _CurveParams.z * (_CurveParams.w-d) / (d + 1e-5f); + color.a = clamp(max(0.0, color.a - _CurveParams.y), 0.0, _CurveParams.x); + + return color; + } + + float4 fragCaptureForegroundCocMask (v2f i) : SV_Target + { + float4 color = float4(0,0,0,0); + float d = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv1.xy); + d = Linear01Depth (d); + color.a = _CurveParams.z * (_CurveParams.w-d) / (d + 1e-5f); + color.a = clamp(max(0.0, color.a - _CurveParams.y), 0.0, _CurveParams.x); + + return color.a > 0; + } + + float4 fragBlendInHighRez (v2f i) : SV_Target + { + float4 tapHighRez = tex2D(_MainTex, i.uv.xy); + return float4(tapHighRez.rgb, 1.0-saturate(tapHighRez.a*5.0)); + } + + float4 fragBlendInLowRezParts (v2f i) : SV_Target + { + float4 from = tex2D(_MainTex, i.uv1.xy); + from.a = saturate(from.a * _Offsets.w) / (_CurveParams.x + 1e-5f); + float square = from.a * from.a; + from.a = square * square * _CurveParams.x; + return from; + } + + float4 fragUpsampleWithAlphaMask(v2f i) : SV_Target + { + float4 c = tex2D(_MainTex, i.uv1.xy); + return c; + } + + float4 fragAlphaMask(v2f i) : SV_Target + { + float4 c = tex2D(_MainTex, i.uv1.xy); + c.a = saturate(c.a*100.0); + return c; + } + + ENDCG + +Subshader +{ + + // pass 0 + + Pass { + ZTest Always Cull Off ZWrite Off + ColorMask A + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragCaptureCoc + + ENDCG + } + + // pass 1 + + Pass + { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vertBlurPlusMinus + #pragma fragment fragGaussBlur + + ENDCG + } + + // pass 2 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vertBlurPlusMinus + #pragma fragment fragBlurForFgCoc + + ENDCG + } + + + // pass 3 + + Pass + { + ZTest Always Cull Off ZWrite Off + ColorMask A + BlendOp Max, Max + Blend One One, One One + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment AddFgCoc + + ENDCG + } + + + // pass 4 + + Pass + { + ZTest Always Cull Off ZWrite Off + ColorMask A + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragCaptureForegroundCoc + + ENDCG + } + + // pass 5 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragBlurBox + + ENDCG + } + + // pass 6 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment frag4TapBlurForLRSpawn + + ENDCG + } + + // pass 7 + + Pass { + ZTest Always Cull Off ZWrite Off + ColorMask RGB + Blend SrcAlpha OneMinusSrcAlpha + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragBlendInHighRez + + ENDCG + } + + // pass 8 + + Pass + { + ZTest Always Cull Off ZWrite Off + ColorMask A + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragCaptureForegroundCocMask + + ENDCG + } + + + // pass 9 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragBlurUpsampleCheap + + ENDCG + } + + // pass 10 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragCaptureColorAndSignedCoc + + ENDCG + } + + // pass 11 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragBlurInsaneMQ + + ENDCG + } + + // pass 12 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragBlurUpsampleCombineMQ + + ENDCG + } + + // pass 13 + Pass { + ZTest Always Cull Off ZWrite Off + + ColorMask A + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragMergeCoc + + ENDCG + } + + // pass 14 + + Pass { + ZTest Always Cull Off ZWrite Off + + ColorMask A + BlendOp Max, Max + Blend One One, One One + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragCombineCocWithMaskBlur + + ENDCG + } + + // pass 15 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragBoxDownsample + + ENDCG + } + + // pass 16 + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragVisualize + + ENDCG + } + + // pass 17 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragBlurInsaneHQ + + ENDCG + } + + // pass 18 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragBlurUpsampleCombineHQ + + ENDCG + } + + // pass 19 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vertBlurPlusMinus + #pragma fragment fragBlurAlphaWeighted + + ENDCG + } + + // pass 20 + + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragAlphaMask + + ENDCG + } + + // pass 21 + + Pass { + ZTest Always Cull Off ZWrite Off + + BlendOp Add, Add + Blend DstAlpha OneMinusDstAlpha, Zero One + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vertFlip + #pragma fragment fragBlurBox + + ENDCG + } + + // pass 22 + + Pass { + ZTest Always Cull Off ZWrite Off + + // destination alpha needs to stay intact as we have layed alpha before + BlendOp Add, Add + Blend DstAlpha One, Zero One + + CGPROGRAM + + #pragma target 3.0 + #pragma vertex vert + #pragma fragment fragUpsampleWithAlphaMask + + ENDCG + } +} + +Fallback off + +} diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldScatter.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldScatter.shader.meta new file mode 100644 index 0000000..b38c974 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/DepthOfFieldScatter.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: acd613035ff3e455e8abf23fdc8c8c24 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableBlur.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableBlur.shader new file mode 100644 index 0000000..3bf6cdf --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableBlur.shader @@ -0,0 +1,66 @@ +Shader "Hidden/SeparableBlur" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + + float4 uv01 : TEXCOORD1; + float4 uv23 : TEXCOORD2; + float4 uv45 : TEXCOORD3; + }; + + float4 offsets; + + sampler2D _MainTex; + + v2f vert (appdata_img v) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + + o.uv.xy = v.texcoord.xy; + + o.uv01 = v.texcoord.xyxy + offsets.xyxy * float4(1,1, -1,-1); + o.uv23 = v.texcoord.xyxy + offsets.xyxy * float4(1,1, -1,-1) * 2.0; + o.uv45 = v.texcoord.xyxy + offsets.xyxy * float4(1,1, -1,-1) * 3.0; + + return o; + } + + half4 frag (v2f i) : SV_Target { + half4 color = float4 (0,0,0,0); + + color += 0.40 * tex2D (_MainTex, i.uv); + color += 0.15 * tex2D (_MainTex, i.uv01.xy); + color += 0.15 * tex2D (_MainTex, i.uv01.zw); + color += 0.10 * tex2D (_MainTex, i.uv23.xy); + color += 0.10 * tex2D (_MainTex, i.uv23.zw); + color += 0.05 * tex2D (_MainTex, i.uv45.xy); + color += 0.05 * tex2D (_MainTex, i.uv45.zw); + + return color; + } + + ENDCG + +Subshader { + Pass { + ZTest Always Cull Off ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + ENDCG + } +} + +Fallback off + + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableBlur.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableBlur.shader.meta new file mode 100644 index 0000000..b9f6a84 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableBlur.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: e97c14fbb5ea04c3a902cc533d7fc5d1 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableWeightedBlurDof34.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableWeightedBlurDof34.shader new file mode 100644 index 0000000..fb6b37c --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableWeightedBlurDof34.shader @@ -0,0 +1,242 @@ +Shader "Hidden/SeparableWeightedBlurDof34" { + Properties { + _MainTex ("Base (RGB)", 2D) = "" {} + _TapMedium ("TapMedium (RGB)", 2D) = "" {} + _TapLow ("TapLow (RGB)", 2D) = "" {} + _TapHigh ("TapHigh (RGB)", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + half4 offsets; + half4 _Threshhold; + sampler2D _MainTex; + sampler2D _TapHigh; + + struct v2f { + half4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + half4 uv01 : TEXCOORD1; + half4 uv23 : TEXCOORD2; + half4 uv45 : TEXCOORD3; + }; + + struct v2fSingle { + half4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + }; + + // + // VERT PROGRAMS + // + + v2f vert (appdata_img v) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv.xy = v.texcoord.xy; + o.uv01 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1); + o.uv23 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1) * 2.0; + o.uv45 = v.texcoord.xyxy + offsets.xyxy * half4(1,1, -1,-1) * 3.0; + + return o; + } + + v2fSingle vertSingleTex (appdata_img v) { + v2fSingle o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv.xy = v.texcoord.xy; + return o; + } + + // + // FRAG PROGRAMS + // + + // mostly used for foreground, so more gaussian-like + + half4 fragBlurUnweighted (v2f i) : SV_Target { + half4 blurredColor = half4 (0,0,0,0); + + half4 sampleA = tex2D(_MainTex, i.uv.xy); + half4 sampleB = tex2D(_MainTex, i.uv01.xy); + half4 sampleC = tex2D(_MainTex, i.uv01.zw); + half4 sampleD = tex2D(_MainTex, i.uv23.xy); + half4 sampleE = tex2D(_MainTex, i.uv23.zw); + + blurredColor += sampleA; + blurredColor += sampleB; + blurredColor += sampleC; + blurredColor += sampleD; + blurredColor += sampleE; + + blurredColor *= 0.2; + + blurredColor.a = max(UNITY_SAMPLE_1CHANNEL(_TapHigh, i.uv.xy), blurredColor.a); + + return blurredColor; + } + + // used for background, so more bone curve-like + + half4 fragBlurWeighted (v2f i) : SV_Target { + half4 blurredColor = half4 (0,0,0,0); + + half4 sampleA = tex2D(_MainTex, i.uv.xy); + half4 sampleB = tex2D(_MainTex, i.uv01.xy); + half4 sampleC = tex2D(_MainTex, i.uv01.zw); + half4 sampleD = tex2D(_MainTex, i.uv23.xy); + half4 sampleE = tex2D(_MainTex, i.uv23.zw); + + half sum = sampleA.a + dot (half4 (1.25, 1.25, 1.5, 1.5), half4 (sampleB.a,sampleC.a,sampleD.a,sampleE.a)); + + sampleA.rgb = sampleA.rgb * sampleA.a; + sampleB.rgb = sampleB.rgb * sampleB.a * 1.25; + sampleC.rgb = sampleC.rgb * sampleC.a * 1.25; + sampleD.rgb = sampleD.rgb * sampleD.a * 1.5; + sampleE.rgb = sampleE.rgb * sampleE.a * 1.5; + + blurredColor += sampleA; + blurredColor += sampleB; + blurredColor += sampleC; + blurredColor += sampleD; + blurredColor += sampleE; + + blurredColor /= sum; + half4 color = blurredColor; + + color.a = sampleA.a; + + return color; + } + + half4 fragBlurDark (v2f i) : SV_Target { + half4 blurredColor = half4 (0,0,0,0); + + half4 sampleA = tex2D(_MainTex, i.uv.xy); + half4 sampleB = tex2D(_MainTex, i.uv01.xy); + half4 sampleC = tex2D(_MainTex, i.uv01.zw); + half4 sampleD = tex2D(_MainTex, i.uv23.xy); + half4 sampleE = tex2D(_MainTex, i.uv23.zw); + + half sum = sampleA.a + dot (half4 (0.75, 0.75, 0.5, 0.5), half4 (sampleB.a,sampleC.a,sampleD.a,sampleE.a)); + + sampleA.rgb = sampleA.rgb * sampleA.a; + sampleB.rgb = sampleB.rgb * sampleB.a * 0.75; + sampleC.rgb = sampleC.rgb * sampleC.a * 0.75; + sampleD.rgb = sampleD.rgb * sampleD.a * 0.5; + sampleE.rgb = sampleE.rgb * sampleE.a * 0.5; + + blurredColor += sampleA; + blurredColor += sampleB; + blurredColor += sampleC; + blurredColor += sampleD; + blurredColor += sampleE; + + blurredColor /= sum; + half4 color = blurredColor; + + color.a = sampleA.a; + + return color; + } + + // not used atm + + half4 fragBlurUnweightedDark (v2f i) : SV_Target { + half4 blurredColor = half4 (0,0,0,0); + + half4 sampleA = tex2D(_MainTex, i.uv.xy); + half4 sampleB = tex2D(_MainTex, i.uv01.xy); + half4 sampleC = tex2D(_MainTex, i.uv01.zw); + half4 sampleD = tex2D(_MainTex, i.uv23.xy); + half4 sampleE = tex2D(_MainTex, i.uv23.zw); + + blurredColor += sampleA; + blurredColor += sampleB * 0.75; + blurredColor += sampleC * 0.75; + blurredColor += sampleD * 0.5; + blurredColor += sampleE * 0.5; + + blurredColor /= 3.5; + + blurredColor.a = max(UNITY_SAMPLE_1CHANNEL(_TapHigh, i.uv.xy), blurredColor.a); + + return blurredColor; + } + + // fragMixMediumAndLowTap + // happens before applying final coc/blur result to screen, + // mixes defocus buffers of different resolutions / bluriness + + sampler2D _TapMedium; + sampler2D _TapLow; + + half4 fragMixMediumAndLowTap (v2fSingle i) : SV_Target + { + half4 tapMedium = tex2D (_TapMedium, i.uv.xy); + half4 tapLow = tex2D (_TapLow, i.uv.xy); + tapMedium.a *= tapMedium.a; + + tapLow.rgb = lerp (tapMedium.rgb, tapLow.rgb, (tapMedium.a * tapMedium.a)); + return tapLow; + } + + ENDCG + +Subshader { + ZTest Always Cull Off ZWrite Off + + Pass { + + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragBlurWeighted + + ENDCG + } + Pass { + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragBlurUnweighted + + ENDCG + } + + // 2 + + Pass { + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragBlurUnweightedDark + + ENDCG + } + Pass { + CGPROGRAM + + #pragma vertex vertSingleTex + #pragma fragment fragMixMediumAndLowTap + + ENDCG + } + + // 4 + + Pass { + CGPROGRAM + + #pragma vertex vert + #pragma fragment fragBlurDark + + ENDCG + } +} + +Fallback off + +} // shader diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableWeightedBlurDof34.shader.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableWeightedBlurDof34.shader.meta new file mode 100644 index 0000000..2fae7fc --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/SeparableWeightedBlurDof34.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: bb4af680337344a4abad65a4e8873c50 +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/TiltShiftHdrLensBlur.shader b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/TiltShiftHdrLensBlur.shader new file mode 100644 index 0000000..05259d5 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/TiltShiftHdrLensBlur.shader @@ -0,0 +1,309 @@ + + Shader "Hidden/Dof/TiltShiftHdrLensBlur" { + Properties { + _MainTex ("-", 2D) = "" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + + struct v2f + { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float2 uv1 : TEXCOORD1; + }; + + sampler2D _MainTex; + sampler2D _Blurred; + + float4 _MainTex_TexelSize; + float _BlurSize; + float _BlurArea; + + #ifdef SHADER_API_D3D11 + #define SAMPLE_TEX(sampler, uv) tex2Dlod(sampler, float4(uv,0,1)) + #else + #define SAMPLE_TEX(sampler, uv) tex2D(sampler, uv) + #endif + + v2f vert (appdata_img v) + { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.uv.xy = v.texcoord; + o.uv1.xy = v.texcoord; + + #if UNITY_UV_STARTS_AT_TOP + if (_MainTex_TexelSize.y < 0) + o.uv1.y = 1-o.uv1.y; + #else + + #endif + + return o; + } + + static const int SmallDiscKernelSamples = 12; + static const float2 SmallDiscKernel[SmallDiscKernelSamples] = + { + float2(-0.326212,-0.40581), + float2(-0.840144,-0.07358), + float2(-0.695914,0.457137), + float2(-0.203345,0.620716), + float2(0.96234,-0.194983), + float2(0.473434,-0.480026), + float2(0.519456,0.767022), + float2(0.185461,-0.893124), + float2(0.507431,0.064425), + float2(0.89642,0.412458), + float2(-0.32194,-0.932615), + float2(-0.791559,-0.59771) + }; + + static const int NumDiscSamples = 28; + static const float3 DiscKernel[NumDiscSamples] = + { + float3(0.62463,0.54337,0.82790), + float3(-0.13414,-0.94488,0.95435), + float3(0.38772,-0.43475,0.58253), + float3(0.12126,-0.19282,0.22778), + float3(-0.20388,0.11133,0.23230), + float3(0.83114,-0.29218,0.88100), + float3(0.10759,-0.57839,0.58831), + float3(0.28285,0.79036,0.83945), + float3(-0.36622,0.39516,0.53876), + float3(0.75591,0.21916,0.78704), + float3(-0.52610,0.02386,0.52664), + float3(-0.88216,-0.24471,0.91547), + float3(-0.48888,-0.29330,0.57011), + float3(0.44014,-0.08558,0.44838), + float3(0.21179,0.51373,0.55567), + float3(0.05483,0.95701,0.95858), + float3(-0.59001,-0.70509,0.91938), + float3(-0.80065,0.24631,0.83768), + float3(-0.19424,-0.18402,0.26757), + float3(-0.43667,0.76751,0.88304), + float3(0.21666,0.11602,0.24577), + float3(0.15696,-0.85600,0.87027), + float3(-0.75821,0.58363,0.95682), + float3(0.99284,-0.02904,0.99327), + float3(-0.22234,-0.57907,0.62029), + float3(0.55052,-0.66984,0.86704), + float3(0.46431,0.28115,0.54280), + float3(-0.07214,0.60554,0.60982), + }; + + float WeightFieldMode (float2 uv) + { + float2 tapCoord = uv*2.0-1.0; + return (abs(tapCoord.y * _BlurArea)); + } + + float WeightIrisMode (float2 uv) + { + float2 tapCoord = (uv*2.0-1.0); + return dot(tapCoord, tapCoord) * _BlurArea; + } + + float4 fragIrisPreview (v2f i) : SV_Target + { + return WeightIrisMode(i.uv.xy) * 0.5; + } + + float4 fragFieldPreview (v2f i) : SV_Target + { + return WeightFieldMode(i.uv.xy) * 0.5; + } + + float4 fragUpsample (v2f i) : SV_Target + { + float4 blurred = tex2D(_Blurred, i.uv1.xy); + float4 frame = tex2D(_MainTex, i.uv.xy); + + return lerp(frame, blurred, saturate(blurred.a)); + } + + float4 fragIris (v2f i) : SV_Target + { + float4 centerTap = tex2D(_MainTex, i.uv.xy); + float4 sum = centerTap; + + float w = clamp(WeightIrisMode(i.uv.xy), 0, _BlurSize); + + float4 poissonScale = _MainTex_TexelSize.xyxy * w; + + #ifndef SHADER_API_D3D9 + if(w<1e-2f) + return sum; + #endif + + for(int l=0; l _Params.y) { + // This sample occludes, contribute to occlusion + occ += pow(1-zd,_Params.z); // sc2 + //occ += 1.0-saturate(pow(1.0 - zd, 11.0) + zd); // nullsq + //occ += 1.0/(1.0+zd*zd*10); // iq + } + } + occ /= sampleCount; + return 1-occ; +} + diff --git a/Assets/Standard Assets/Effects/ImageEffects/Shaders/frag_ao.cginc.meta b/Assets/Standard Assets/Effects/ImageEffects/Shaders/frag_ao.cginc.meta new file mode 100644 index 0000000..604d5f5 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Shaders/frag_ao.cginc.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 51ae11a5cd82fda468a85179946d672a +ShaderImporter: + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures.meta new file mode 100644 index 0000000..f926ce3 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: f9372f23586ef470b97d53856af88487 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/ContrastEnhanced3D16.png b/Assets/Standard Assets/Effects/ImageEffects/Textures/ContrastEnhanced3D16.png new file mode 100644 index 0000000..c112c75 Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/ContrastEnhanced3D16.png differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/ContrastEnhanced3D16.png.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/ContrastEnhanced3D16.png.meta new file mode 100644 index 0000000..37553ce --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/ContrastEnhanced3D16.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: ecd9a2c463dcb476891e43d7c9f16ffa +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/HexShape.psd b/Assets/Standard Assets/Effects/ImageEffects/Textures/HexShape.psd new file mode 100644 index 0000000..eef48cb Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/HexShape.psd differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/HexShape.psd.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/HexShape.psd.meta new file mode 100644 index 0000000..fec782b --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/HexShape.psd.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: a4cdca73d61814d33ac1587f6c163bca +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 64 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + textureType: -1 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/MotionBlurJitter.png b/Assets/Standard Assets/Effects/ImageEffects/Textures/MotionBlurJitter.png new file mode 100644 index 0000000..a601a2e Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/MotionBlurJitter.png differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/MotionBlurJitter.png.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/MotionBlurJitter.png.meta new file mode 100644 index 0000000..2e825d5 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/MotionBlurJitter.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 31f5a8611c4ed1245b18456206e798dc +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: 3 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + textureType: -1 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/Neutral3D16.png b/Assets/Standard Assets/Effects/ImageEffects/Textures/Neutral3D16.png new file mode 100644 index 0000000..fc0f026 Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/Neutral3D16.png differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/Neutral3D16.png.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/Neutral3D16.png.meta new file mode 100644 index 0000000..43038ad --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/Neutral3D16.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: a4b474cd484494a4aaa4bbf928219d09 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/Noise.png b/Assets/Standard Assets/Effects/ImageEffects/Textures/Noise.png new file mode 100644 index 0000000..a601a2e Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/Noise.png differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/Noise.png.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/Noise.png.meta new file mode 100644 index 0000000..b48fd5f --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/Noise.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: e80c3c84ea861404d8a427db8b7abf04 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: 3 + maxTextureSize: 64 + textureSettings: + filterMode: 2 + aniso: 1 + mipBias: -1 + wrapMode: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + textureType: -1 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseAndGrain.png b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseAndGrain.png new file mode 100644 index 0000000..9faabd4 Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseAndGrain.png differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseAndGrain.png.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseAndGrain.png.meta new file mode 100644 index 0000000..387edde --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseAndGrain.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 7a632f967e8ad42f5bd275898151ab6a +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 1 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 64 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectGrain.png b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectGrain.png new file mode 100644 index 0000000..ba027b4 Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectGrain.png differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectGrain.png.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectGrain.png.meta new file mode 100644 index 0000000..47510da --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectGrain.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: ffa9c02760c2b4e8eb9814ec06c4b05b +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: 3 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + textureType: -1 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectScratch.png b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectScratch.png new file mode 100644 index 0000000..6ac0d53 Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectScratch.png differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectScratch.png.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectScratch.png.meta new file mode 100644 index 0000000..3d3e680 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/NoiseEffectScratch.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 6205c27cc031f4e66b8ea90d1bfaa158 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + textureType: 0 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/RandomVectors.png b/Assets/Standard Assets/Effects/ImageEffects/Textures/RandomVectors.png new file mode 100644 index 0000000..a601a2e Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/RandomVectors.png differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/RandomVectors.png.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/RandomVectors.png.meta new file mode 100644 index 0000000..3c35afc --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/RandomVectors.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: a181ca8e3c62f3e4b8f183f6c586b032 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: 3 + maxTextureSize: 1024 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + textureType: -1 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/SphereShape.psd b/Assets/Standard Assets/Effects/ImageEffects/Textures/SphereShape.psd new file mode 100644 index 0000000..a100649 Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/SphereShape.psd differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/SphereShape.psd.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/SphereShape.psd.meta new file mode 100644 index 0000000..159ca4d --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/SphereShape.psd.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: fc00ec05a89da4ff695a4273715cd5ce +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 64 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + textureType: -1 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/VignetteMask.png b/Assets/Standard Assets/Effects/ImageEffects/Textures/VignetteMask.png new file mode 100644 index 0000000..3048937 Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/VignetteMask.png differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/VignetteMask.png.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/VignetteMask.png.meta new file mode 100644 index 0000000..1764d4c --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/VignetteMask.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 95ef4804fe0be4c999ddaa383536cde8 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + textureType: -1 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/color correction ramp.png b/Assets/Standard Assets/Effects/ImageEffects/Textures/color correction ramp.png new file mode 100644 index 0000000..328251e Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/color correction ramp.png differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/color correction ramp.png.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/color correction ramp.png.meta new file mode 100644 index 0000000..be398a0 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/color correction ramp.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: d440902fad11e807d00044888d76c639 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + textureType: -1 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/grayscale ramp.png b/Assets/Standard Assets/Effects/ImageEffects/Textures/grayscale ramp.png new file mode 100644 index 0000000..328251e Binary files /dev/null and b/Assets/Standard Assets/Effects/ImageEffects/Textures/grayscale ramp.png differ diff --git a/Assets/Standard Assets/Effects/ImageEffects/Textures/grayscale ramp.png.meta b/Assets/Standard Assets/Effects/ImageEffects/Textures/grayscale ramp.png.meta new file mode 100644 index 0000000..395fa26 --- /dev/null +++ b/Assets/Standard Assets/Effects/ImageEffects/Textures/grayscale ramp.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: e9a9781cad112c75d0008dfa8d76c639 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: 3 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + textureType: -1 + buildTargetSettings: [] + userData: diff --git a/Assets/Standard Assets/Effects/LightCookies.meta b/Assets/Standard Assets/Effects/LightCookies.meta new file mode 100644 index 0000000..6532c9f --- /dev/null +++ b/Assets/Standard Assets/Effects/LightCookies.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 794a3489a6afd4daf80d98a5844341b9 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightCookies/Textures.meta b/Assets/Standard Assets/Effects/LightCookies/Textures.meta new file mode 100644 index 0000000..390b335 --- /dev/null +++ b/Assets/Standard Assets/Effects/LightCookies/Textures.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: e1ec4045399060440949afafba4d144f +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightCookie.tif b/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightCookie.tif new file mode 100644 index 0000000..51b202f Binary files /dev/null and b/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightCookie.tif differ diff --git a/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightCookie.tif.meta b/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightCookie.tif.meta new file mode 100644 index 0000000..a2827a5 --- /dev/null +++ b/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightCookie.tif.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 2c29c08dd1c0b6749b7cd0fcff7a29fd +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 1 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: + - buildTarget: iPhone + maxTextureSize: 128 + textureFormat: 33 + compressionQuality: 50 + - buildTarget: Android + maxTextureSize: 128 + textureFormat: 13 + compressionQuality: 50 + - buildTarget: BlackBerry + maxTextureSize: 128 + textureFormat: 13 + compressionQuality: 50 + - buildTarget: WP8 + maxTextureSize: 128 + textureFormat: 12 + compressionQuality: 50 + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightIrregularCookie.tif b/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightIrregularCookie.tif new file mode 100644 index 0000000..889ae62 Binary files /dev/null and b/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightIrregularCookie.tif differ diff --git a/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightIrregularCookie.tif.meta b/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightIrregularCookie.tif.meta new file mode 100644 index 0000000..08f1c37 --- /dev/null +++ b/Assets/Standard Assets/Effects/LightCookies/Textures/FlashlightIrregularCookie.tif.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 641bb2dce818a8a499b537a1963889ac +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 1 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: + - buildTarget: iPhone + maxTextureSize: 128 + textureFormat: 33 + compressionQuality: 50 + - buildTarget: Android + maxTextureSize: 128 + textureFormat: 13 + compressionQuality: 50 + - buildTarget: BlackBerry + maxTextureSize: 128 + textureFormat: 13 + compressionQuality: 50 + - buildTarget: WP8 + maxTextureSize: 128 + textureFormat: 12 + compressionQuality: 50 + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightCookies/Textures/LightHardCookie.psd b/Assets/Standard Assets/Effects/LightCookies/Textures/LightHardCookie.psd new file mode 100644 index 0000000..d6e8482 Binary files /dev/null and b/Assets/Standard Assets/Effects/LightCookies/Textures/LightHardCookie.psd differ diff --git a/Assets/Standard Assets/Effects/LightCookies/Textures/LightHardCookie.psd.meta b/Assets/Standard Assets/Effects/LightCookies/Textures/LightHardCookie.psd.meta new file mode 100644 index 0000000..3b05d85 --- /dev/null +++ b/Assets/Standard Assets/Effects/LightCookies/Textures/LightHardCookie.psd.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 1167c0a28d11119930004d8a4241aa39 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 1 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .100000001 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 1 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 512 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: + - buildTarget: iPhone + maxTextureSize: 128 + textureFormat: 33 + compressionQuality: 50 + - buildTarget: Android + maxTextureSize: 128 + textureFormat: 13 + compressionQuality: 50 + - buildTarget: BlackBerry + maxTextureSize: 128 + textureFormat: 13 + compressionQuality: 50 + - buildTarget: WP8 + maxTextureSize: 128 + textureFormat: 12 + compressionQuality: 50 + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightCookies/Textures/LightSoftCookie.tif b/Assets/Standard Assets/Effects/LightCookies/Textures/LightSoftCookie.tif new file mode 100644 index 0000000..73de099 Binary files /dev/null and b/Assets/Standard Assets/Effects/LightCookies/Textures/LightSoftCookie.tif differ diff --git a/Assets/Standard Assets/Effects/LightCookies/Textures/LightSoftCookie.tif.meta b/Assets/Standard Assets/Effects/LightCookies/Textures/LightSoftCookie.tif.meta new file mode 100644 index 0000000..0523129 --- /dev/null +++ b/Assets/Standard Assets/Effects/LightCookies/Textures/LightSoftCookie.tif.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 8caa437b19957a045866b84c6218a0db +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 1 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 1 + nPOTScale: 1 + lightmap: 1 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: + - buildTarget: iPhone + maxTextureSize: 128 + textureFormat: 33 + compressionQuality: 50 + - buildTarget: Android + maxTextureSize: 128 + textureFormat: 13 + compressionQuality: 50 + - buildTarget: BlackBerry + maxTextureSize: 128 + textureFormat: 13 + compressionQuality: 50 + - buildTarget: WP8 + maxTextureSize: 128 + textureFormat: 12 + compressionQuality: 50 + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightCookies/Textures/LightSquareCookie.psd b/Assets/Standard Assets/Effects/LightCookies/Textures/LightSquareCookie.psd new file mode 100644 index 0000000..9187a26 Binary files /dev/null and b/Assets/Standard Assets/Effects/LightCookies/Textures/LightSquareCookie.psd differ diff --git a/Assets/Standard Assets/Effects/LightCookies/Textures/LightSquareCookie.psd.meta b/Assets/Standard Assets/Effects/LightCookies/Textures/LightSquareCookie.psd.meta new file mode 100644 index 0000000..c68c9bc --- /dev/null +++ b/Assets/Standard Assets/Effects/LightCookies/Textures/LightSquareCookie.psd.meta @@ -0,0 +1,52 @@ +fileFormatVersion: 2 +guid: 69680b688d11eb9d30009b3b4241aa39 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 1 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .100000001 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 1 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 512 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightFlares.meta b/Assets/Standard Assets/Effects/LightFlares.meta new file mode 100644 index 0000000..43e9509 --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: d8cfa4746d26d4715b9f848bce1e2f14 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightFlares/Flares.meta b/Assets/Standard Assets/Effects/LightFlares/Flares.meta new file mode 100644 index 0000000..280056d --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Flares.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 7e1763a5e42541841949e15a67b54589 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightFlares/Flares/50mmZoom.flare b/Assets/Standard Assets/Effects/LightFlares/Flares/50mmZoom.flare new file mode 100644 index 0000000..11c86bf --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Flares/50mmZoom.flare @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!121 &12100000 +Flare: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: 50mmZoom + m_FlareTexture: {fileID: 2800000, guid: 23a02ac18d11c9ffa0009c58a8ad6659, type: 3} + m_TextureLayout: 1 + m_Elements: + - m_ImageIndex: 9 + m_Position: 0 + m_Size: 50 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 1 + m_Fade: 1 + - m_ImageIndex: 0 + m_Position: 0 + m_Size: 50 + m_Color: {r: .0941176489, g: .0941176489, b: .0941176489, a: 1} + m_UseLightColor: 1 + m_Rotate: 1 + m_Zoom: 1 + m_Fade: 1 + - m_ImageIndex: 5 + m_Position: 0 + m_Size: 20 + m_Color: {r: .0313725509, g: .0196078438, b: .0196078438, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 5 + m_Position: -.269999981 + m_Size: 36.3899994 + m_Color: {r: .0313725509, g: .0235294122, b: .0196078438, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 5 + m_Position: -.74999994 + m_Size: 28.6899986 + m_Color: {r: .0196078438, g: .0156862754, b: .0117647061, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 3 + m_Position: 0 + m_Size: 10.2500019 + m_Color: {r: .447058827, g: 0, b: .00784313772, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 5 + m_Position: .435999811 + m_Size: 4.01399994 + m_Color: {r: .0117647061, g: .0235294122, b: .0392156877, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 5 + m_Position: .335999876 + m_Size: 2.58999991 + m_Color: {r: .0352941193, g: .0235294122, b: .0784313753, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 5 + m_Position: .390999913 + m_Size: 7.47000074 + m_Color: {r: .0156862754, g: .0235294122, b: .0392156877, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 7 + m_Position: 1.5 + m_Size: 7.47000074 + m_Color: {r: .0941176489, g: .0588235296, b: 0, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 5 + m_Position: 1.45300031 + m_Size: 4.44999361 + m_Color: {r: .0705882385, g: .0431372561, b: 0, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 4 + m_Position: 1.28200161 + m_Size: 1.5 + m_Color: {r: .270588249, g: .819607854, b: .572549045, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 6 + m_Position: 1.74200153 + m_Size: 2.76999307 + m_Color: {r: .156862751, g: .0784313753, b: .270588249, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 5 + m_Position: 1.72300005 + m_Size: 2.76999283 + m_Color: {r: .0274509806, g: .0941176489, b: .0588235296, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 5 + m_Position: 1.52300024 + m_Size: 2.12999368 + m_Color: {r: .0509803928, g: .0313725509, b: 0, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 8 + m_Position: -.239000008 + m_Size: 4.5899992 + m_Color: {r: .188235298, g: .149019614, b: .0588235296, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 2 + m_Position: 2.46099973 + m_Size: 25.9699974 + m_Color: {r: .164705887, g: .164705887, b: .164705887, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 1 + m_Position: 2.1309998 + m_Size: 17.2099953 + m_Color: {r: .164705887, g: .164705887, b: .164705887, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 5 + m_Position: .819999993 + m_Size: 2.65999603 + m_Color: {r: .0509803928, g: .0235294122, b: 0, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + m_UseFog: 1 +--- !u!1002 &12100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/LightFlares/Flares/50mmZoom.flare.meta b/Assets/Standard Assets/Effects/LightFlares/Flares/50mmZoom.flare.meta new file mode 100644 index 0000000..5833a8f --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Flares/50mmZoom.flare.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 54fbbf098d116effa00081aba8ad6659 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightFlares/Flares/FlareSmall.flare b/Assets/Standard Assets/Effects/LightFlares/Flares/FlareSmall.flare new file mode 100644 index 0000000..87127b9 --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Flares/FlareSmall.flare @@ -0,0 +1,31 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!121 &12100000 +Flare: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: FlareSmall + m_FlareTexture: {fileID: 2800000, guid: 51dc82ef9d11c594d000e7c9e39e7c39, type: 3} + m_TextureLayout: 0 + m_Elements: + - m_ImageIndex: 0 + m_Position: 0 + m_Size: 10 + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 2 + m_Position: 0 + m_Size: 40 + m_Color: {r: .248752579, g: .248752579, b: .248752579, a: 0} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + m_UseFog: 1 +--- !u!1002 &12100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/LightFlares/Flares/FlareSmall.flare.meta b/Assets/Standard Assets/Effects/LightFlares/Flares/FlareSmall.flare.meta new file mode 100644 index 0000000..d5e8852 --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Flares/FlareSmall.flare.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 9bdb18c49d114cb4300035184241aa39 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightFlares/Flares/Sun.flare b/Assets/Standard Assets/Effects/LightFlares/Flares/Sun.flare new file mode 100644 index 0000000..03b3f36 --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Flares/Sun.flare @@ -0,0 +1,47 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!121 &12100000 +Flare: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Sun + m_FlareTexture: {fileID: 2800000, guid: 23a02ac18d11c9ffa0009c58a8ad6659, type: 3} + m_TextureLayout: 1 + m_Elements: + - m_ImageIndex: 9 + m_Position: 0 + m_Size: 50 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 1 + m_Fade: 1 + - m_ImageIndex: 0 + m_Position: 0 + m_Size: 50 + m_Color: {r: .0941176489, g: .0941176489, b: .0941176489, a: 1} + m_UseLightColor: 1 + m_Rotate: 1 + m_Zoom: 1 + m_Fade: 1 + - m_ImageIndex: 5 + m_Position: 0 + m_Size: 20 + m_Color: {r: .0313725509, g: .0196078438, b: .0196078438, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + - m_ImageIndex: 3 + m_Position: 0 + m_Size: 10.2500019 + m_Color: {r: .447058827, g: 0, b: .00784313772, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + m_UseFog: 1 +--- !u!1002 &12100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/LightFlares/Flares/Sun.flare.meta b/Assets/Standard Assets/Effects/LightFlares/Flares/Sun.flare.meta new file mode 100644 index 0000000..9f7216c --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Flares/Sun.flare.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 09ebe82dbd1113c3d000dc0b8d76c639 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightFlares/Materials.meta b/Assets/Standard Assets/Effects/LightFlares/Materials.meta new file mode 100644 index 0000000..e9de76d --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Materials.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 4ca8e16c3e0ab45e69aef7738ef77d3a +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightFlares/Materials/Flare50mm.mat b/Assets/Standard Assets/Effects/LightFlares/Materials/Flare50mm.mat new file mode 100644 index 0000000..075ff86 --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Materials/Flare50mm.mat @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Flare50mm + m_Shader: {fileID: 101, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 23a02ac18d11c9ffa0009c58a8ad6659, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: {} + m_Colors: {} +--- !u!1002 &2100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/LightFlares/Materials/Flare50mm.mat.meta b/Assets/Standard Assets/Effects/LightFlares/Materials/Flare50mm.mat.meta new file mode 100644 index 0000000..44d291e --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Materials/Flare50mm.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a6dbb96b9d112024d000e929e39e7c39 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightFlares/Textures.meta b/Assets/Standard Assets/Effects/LightFlares/Textures.meta new file mode 100644 index 0000000..df48ade --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Textures.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 0a0517c8f07c047f2965315b8dac81aa +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightFlares/Textures/Flare50mm.psd b/Assets/Standard Assets/Effects/LightFlares/Textures/Flare50mm.psd new file mode 100644 index 0000000..4136f76 Binary files /dev/null and b/Assets/Standard Assets/Effects/LightFlares/Textures/Flare50mm.psd differ diff --git a/Assets/Standard Assets/Effects/LightFlares/Textures/Flare50mm.psd.meta b/Assets/Standard Assets/Effects/LightFlares/Textures/Flare50mm.psd.meta new file mode 100644 index 0000000..68eed6c --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Textures/Flare50mm.psd.meta @@ -0,0 +1,52 @@ +fileFormatVersion: 2 +guid: 23a02ac18d11c9ffa0009c58a8ad6659 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .100000001 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 512 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 0 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 0 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/LightFlares/Textures/FlareStar.psd b/Assets/Standard Assets/Effects/LightFlares/Textures/FlareStar.psd new file mode 100644 index 0000000..9c58963 Binary files /dev/null and b/Assets/Standard Assets/Effects/LightFlares/Textures/FlareStar.psd differ diff --git a/Assets/Standard Assets/Effects/LightFlares/Textures/FlareStar.psd.meta b/Assets/Standard Assets/Effects/LightFlares/Textures/FlareStar.psd.meta new file mode 100644 index 0000000..aa8bd91 --- /dev/null +++ b/Assets/Standard Assets/Effects/LightFlares/Textures/FlareStar.psd.meta @@ -0,0 +1,52 @@ +fileFormatVersion: 2 +guid: 51dc82ef9d11c594d000e7c9e39e7c39 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .100000001 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 256 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 0 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 0 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors.meta b/Assets/Standard Assets/Effects/Projectors.meta new file mode 100644 index 0000000..de692fb --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: ab90c5d984b4d4e9e935ae8760fd47ef +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Guidelines.txt b/Assets/Standard Assets/Effects/Projectors/Guidelines.txt new file mode 100644 index 0000000..5ee047c --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Guidelines.txt @@ -0,0 +1,12 @@ +To use the Projector/Light and Projector/Shadow shaders properly: + +Cookie texture: + 1. Make sure texture wrap mode is set to "Clamp" + 2. Turn on "Border Mipmaps" option in import settings + 3. Use uncompressed texture format + 4. Projector/Shadow also requires alpha channel to be present (typically Alpha from Grayscale option is ok) + +Falloff texture (if present): + 1. Data needs to be in alpha channel, so typically Alpha8 texture format + 2. Make sure texture wrap mode is set to "Clamp" + 3. Make sure leftmost pixel column is black; and "Border mipmaps" import setting is on. diff --git a/Assets/Standard Assets/Effects/Projectors/Guidelines.txt.meta b/Assets/Standard Assets/Effects/Projectors/Guidelines.txt.meta new file mode 100644 index 0000000..80f555c --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Guidelines.txt.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: b238cc13e9896f04eb5e06978d2b393e +TextScriptImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Materials.meta b/Assets/Standard Assets/Effects/Projectors/Materials.meta new file mode 100644 index 0000000..c7b7f04 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Materials.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 92722830d4a3f49e5bf7e68441337edb +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Materials/GridProjector.mat b/Assets/Standard Assets/Effects/Projectors/Materials/GridProjector.mat new file mode 100644 index 0000000..a70a795 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Materials/GridProjector.mat @@ -0,0 +1,122 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: GridProjector + m_Shader: {fileID: 4800000, guid: c0ace1ca4bc0718448acf798c93d52d9, type: 3} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ShadowTex + second: + m_Texture: {fileID: 2800000, guid: 529239097d02f9f42b0ddd436c6fcbb0, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _FalloffTex + second: + m_Texture: {fileID: 2800000, guid: cc90a732ad112a541100162a44295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _CombineTex + second: + m_Texture: {fileID: 2800000, guid: 92b0a732ad112a541100162a44295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _HiliteTex + second: + m_Texture: {fileID: 2800000, guid: f7a0a732ad112a541100162a44295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: {} + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _TintColor + second: {r: .5, g: .5, b: .5, a: .5} + data: + first: + name: BumpMapScale + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _ProjectorClip_0 + second: {r: -.0154382316, g: -.0258666929, b: .144606143, a: .293609738} + data: + first: + name: _ProjectorClip_1 + second: {r: .0047582523, g: .145238146, b: .0264877379, a: .00306412578} + data: + first: + name: _ProjectorClip_2 + second: {r: -.0154382316, g: -.0258666929, b: .144606143, a: .293609738} + data: + first: + name: _ProjectorClip_3 + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _ProjectorDistance_0 + second: {r: -.0152135147, g: -.0254901797, b: .142501265, a: .303891957} + data: + first: + name: _ProjectorDistance_1 + second: {r: .00468899123, g: .143124074, b: .0261021852, a: .0175754428} + data: + first: + name: _ProjectorDistance_2 + second: {r: -.0152135147, g: -.0254901797, b: .142501265, a: .303891957} + data: + first: + name: _ProjectorDistance_3 + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _Projector_0 + second: {r: 1.67100453, g: -.174724922, b: .657876611, a: 1.0662117} + data: + first: + name: _Projector_1 + second: {r: -.00143754855, g: 1.46366906, b: .772396564, a: 1.2343576} + data: + first: + name: _Projector_2 + second: {r: -.107604526, g: -.180290937, b: 1.00790524, a: 1.94646192} + data: + first: + name: _Projector_3 + second: {r: -.104516894, g: -.175117612, b: .978984177, a: 2.08773851} +--- !u!1002 &2100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/Projectors/Materials/GridProjector.mat.meta b/Assets/Standard Assets/Effects/Projectors/Materials/GridProjector.mat.meta new file mode 100644 index 0000000..f84f071 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Materials/GridProjector.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: c7d1a73cf0f423947bae4e238665d9c5 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Materials/LightProjector.mat b/Assets/Standard Assets/Effects/Projectors/Materials/LightProjector.mat new file mode 100644 index 0000000..c7deebb --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Materials/LightProjector.mat @@ -0,0 +1,122 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: LightProjector + m_Shader: {fileID: 4800000, guid: c0ace1ca4bc0718448acf798c93d52d9, type: 3} + m_ShaderKeywords: + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ShadowTex + second: + m_Texture: {fileID: 2800000, guid: b1d7fee26e54cc3498f6267f072a45b9, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _FalloffTex + second: + m_Texture: {fileID: 2800000, guid: 23740055e2b119e40a939138ab8070f8, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _CombineTex + second: + m_Texture: {fileID: 2800000, guid: 92b0a732ad112a541100162a44295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _HiliteTex + second: + m_Texture: {fileID: 2800000, guid: f7a0a732ad112a541100162a44295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: {} + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _TintColor + second: {r: .5, g: .5, b: .5, a: .5} + data: + first: + name: BumpMapScale + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _ProjectorClip_0 + second: {r: -.0154382316, g: -.0258666929, b: .144606143, a: .293609738} + data: + first: + name: _ProjectorClip_1 + second: {r: .0047582523, g: .145238146, b: .0264877379, a: .00306412578} + data: + first: + name: _ProjectorClip_2 + second: {r: -.0154382316, g: -.0258666929, b: .144606143, a: .293609738} + data: + first: + name: _ProjectorClip_3 + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _ProjectorDistance_0 + second: {r: -.0152135147, g: -.0254901797, b: .142501265, a: .303891957} + data: + first: + name: _ProjectorDistance_1 + second: {r: .00468899123, g: .143124074, b: .0261021852, a: .0175754428} + data: + first: + name: _ProjectorDistance_2 + second: {r: -.0152135147, g: -.0254901797, b: .142501265, a: .303891957} + data: + first: + name: _ProjectorDistance_3 + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _Projector_0 + second: {r: 1.67100453, g: -.174724922, b: .657876611, a: 1.0662117} + data: + first: + name: _Projector_1 + second: {r: -.00143754855, g: 1.46366906, b: .772396564, a: 1.2343576} + data: + first: + name: _Projector_2 + second: {r: -.107604526, g: -.180290937, b: 1.00790524, a: 1.94646192} + data: + first: + name: _Projector_3 + second: {r: -.104516894, g: -.175117612, b: .978984177, a: 2.08773851} +--- !u!1002 &2100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/Projectors/Materials/LightProjector.mat.meta b/Assets/Standard Assets/Effects/Projectors/Materials/LightProjector.mat.meta new file mode 100644 index 0000000..2279e56 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Materials/LightProjector.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: c8c80c5b03f5c7e40b07eb2170e667e5 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Materials/ShadowProjector.mat b/Assets/Standard Assets/Effects/Projectors/Materials/ShadowProjector.mat new file mode 100644 index 0000000..109bc07 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Materials/ShadowProjector.mat @@ -0,0 +1,122 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ShadowProjector + m_Shader: {fileID: 4800000, guid: 01a668cc78047034a8a0c5ca2d24c6f7, type: 3} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ShadowTex + second: + m_Texture: {fileID: 2800000, guid: 68386fc9897223346a683105b4dc1662, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _FalloffTex + second: + m_Texture: {fileID: 2800000, guid: 23740055e2b119e40a939138ab8070f8, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _CombineTex + second: + m_Texture: {fileID: 2800000, guid: 92b0a732ad112a541100162a44295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _HiliteTex + second: + m_Texture: {fileID: 2800000, guid: f7a0a732ad112a541100162a44295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: {} + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _TintColor + second: {r: .5, g: .5, b: .5, a: .5} + data: + first: + name: BumpMapScale + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _ProjectorClip_0 + second: {r: -.0154382316, g: -.0258666929, b: .144606143, a: .293609738} + data: + first: + name: _ProjectorClip_1 + second: {r: .0047582523, g: .145238146, b: .0264877379, a: .00306412578} + data: + first: + name: _ProjectorClip_2 + second: {r: -.0154382316, g: -.0258666929, b: .144606143, a: .293609738} + data: + first: + name: _ProjectorClip_3 + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _ProjectorDistance_0 + second: {r: -.0152135147, g: -.0254901797, b: .142501265, a: .303891957} + data: + first: + name: _ProjectorDistance_1 + second: {r: .00468899123, g: .143124074, b: .0261021852, a: .0175754428} + data: + first: + name: _ProjectorDistance_2 + second: {r: -.0152135147, g: -.0254901797, b: .142501265, a: .303891957} + data: + first: + name: _ProjectorDistance_3 + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _Projector_0 + second: {r: 1.67100453, g: -.174724922, b: .657876611, a: 1.0662117} + data: + first: + name: _Projector_1 + second: {r: -.00143754855, g: 1.46366906, b: .772396564, a: 1.2343576} + data: + first: + name: _Projector_2 + second: {r: -.107604526, g: -.180290937, b: 1.00790524, a: 1.94646192} + data: + first: + name: _Projector_3 + second: {r: -.104516894, g: -.175117612, b: .978984177, a: 2.08773851} +--- !u!1002 &2100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/Projectors/Materials/ShadowProjector.mat.meta b/Assets/Standard Assets/Effects/Projectors/Materials/ShadowProjector.mat.meta new file mode 100644 index 0000000..214a7cb --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Materials/ShadowProjector.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: e30ff3588e719f34bbf0c66f22d97487 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Prefabs.meta b/Assets/Standard Assets/Effects/Projectors/Prefabs.meta new file mode 100644 index 0000000..be5707a --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Prefabs.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: b6b64336cd6795c4daf856f275c23f7c +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobLightProjector.prefab b/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobLightProjector.prefab new file mode 100644 index 0000000..6ef12d1 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobLightProjector.prefab @@ -0,0 +1,71 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100002 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400002} + - 119: {fileID: 11900000} + m_Layer: 0 + m_Name: BlobLightProjector + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1002 &100003 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!4 &400002 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_LocalRotation: {x: .707106829, y: 0, z: 0, w: .707106709} + m_LocalPosition: {x: .590070009, y: 1.97459996, z: -1.91789997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1002 &400003 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!119 &11900000 +Projector: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 + serializedVersion: 2 + m_NearClipPlane: .100000001 + m_FarClipPlane: 50 + m_FieldOfView: 30 + m_AspectRatio: 1 + m_Orthographic: 0 + m_OrthographicSize: 2 + m_Material: {fileID: 2100000, guid: c8c80c5b03f5c7e40b07eb2170e667e5, type: 2} + m_IgnoreLayers: + serializedVersion: 2 + m_Bits: 0 +--- !u!1002 &11900001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100002} + m_IsPrefabParent: 1 +--- !u!1002 &100100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobLightProjector.prefab.meta b/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobLightProjector.prefab.meta new file mode 100644 index 0000000..f4438cd --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobLightProjector.prefab.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 21543d2b66928224f8a9536ff3811682 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobShadowProjector.prefab b/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobShadowProjector.prefab new file mode 100644 index 0000000..6ab2d94 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobShadowProjector.prefab @@ -0,0 +1,71 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100002 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400002} + - 119: {fileID: 11900000} + m_Layer: 0 + m_Name: BlobShadowProjector + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1002 &100003 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!4 &400002 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_LocalRotation: {x: .75157696, y: 0, z: 0, w: .659645498} + m_LocalPosition: {x: 0, y: 1.87699997, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1002 &400003 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!119 &11900000 +Projector: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 + serializedVersion: 2 + m_NearClipPlane: .100000001 + m_FarClipPlane: 50 + m_FieldOfView: 30 + m_AspectRatio: 1 + m_Orthographic: 0 + m_OrthographicSize: 2 + m_Material: {fileID: 2100000, guid: e30ff3588e719f34bbf0c66f22d97487, type: 2} + m_IgnoreLayers: + serializedVersion: 2 + m_Bits: 0 +--- !u!1002 &11900001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100002} + m_IsPrefabParent: 1 +--- !u!1002 &100100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobShadowProjector.prefab.meta b/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobShadowProjector.prefab.meta new file mode 100644 index 0000000..958c52f --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Prefabs/BlobShadowProjector.prefab.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 28a5e79925e3ce04a82856c16a572cbe +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Prefabs/GridProjector.prefab b/Assets/Standard Assets/Effects/Projectors/Prefabs/GridProjector.prefab new file mode 100644 index 0000000..5b175cb --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Prefabs/GridProjector.prefab @@ -0,0 +1,71 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100002 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400002} + - 119: {fileID: 11900000} + m_Layer: 0 + m_Name: GridProjector + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1002 &100003 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!4 &400002 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_LocalRotation: {x: .707106829, y: 0, z: 0, w: .707106709} + m_LocalPosition: {x: -2.12590003, y: 1.97899997, z: -.925180018} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1002 &400003 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!119 &11900000 +Projector: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 + serializedVersion: 2 + m_NearClipPlane: .100000001 + m_FarClipPlane: 50 + m_FieldOfView: 30 + m_AspectRatio: 1 + m_Orthographic: 1 + m_OrthographicSize: .25 + m_Material: {fileID: 2100000, guid: c7d1a73cf0f423947bae4e238665d9c5, type: 2} + m_IgnoreLayers: + serializedVersion: 2 + m_Bits: 0 +--- !u!1002 &11900001 +EditorExtensionImpl: + serializedVersion: 6 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100002} + m_IsPrefabParent: 1 +--- !u!1002 &100100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/Projectors/Prefabs/GridProjector.prefab.meta b/Assets/Standard Assets/Effects/Projectors/Prefabs/GridProjector.prefab.meta new file mode 100644 index 0000000..6b5e0f4 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Prefabs/GridProjector.prefab.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 46b12845355544642bf8f9d0cb373af7 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Shaders.meta b/Assets/Standard Assets/Effects/Projectors/Shaders.meta new file mode 100644 index 0000000..a853340 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Shaders.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 0d64cf85603324c6d89204084bbb3438 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorLight.shader b/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorLight.shader new file mode 100644 index 0000000..739f810 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorLight.shader @@ -0,0 +1,64 @@ +// Upgrade NOTE: replaced '_Projector' with 'unity_Projector' +// Upgrade NOTE: replaced '_ProjectorClip' with 'unity_ProjectorClip' + +Shader "Projector/Light" { + Properties { + _Color ("Main Color", Color) = (1,1,1,1) + _ShadowTex ("Cookie", 2D) = "" {} + _FalloffTex ("FallOff", 2D) = "" {} + } + + Subshader { + Tags {"Queue"="Transparent"} + Pass { + ZWrite Off + ColorMask RGB + Blend DstColor One + Offset -1, -1 + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_fog + #include "UnityCG.cginc" + + struct v2f { + float4 uvShadow : TEXCOORD0; + float4 uvFalloff : TEXCOORD1; + UNITY_FOG_COORDS(2) + float4 pos : SV_POSITION; + }; + + float4x4 unity_Projector; + float4x4 unity_ProjectorClip; + + v2f vert (float4 vertex : POSITION) + { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, vertex); + o.uvShadow = mul (unity_Projector, vertex); + o.uvFalloff = mul (unity_ProjectorClip, vertex); + UNITY_TRANSFER_FOG(o,o.pos); + return o; + } + + fixed4 _Color; + sampler2D _ShadowTex; + sampler2D _FalloffTex; + + fixed4 frag (v2f i) : SV_Target + { + fixed4 texS = tex2Dproj (_ShadowTex, UNITY_PROJ_COORD(i.uvShadow)); + texS.rgb *= _Color.rgb; + texS.a = 1.0-texS.a; + + fixed4 texF = tex2Dproj (_FalloffTex, UNITY_PROJ_COORD(i.uvFalloff)); + fixed4 res = texS * texF.a; + + UNITY_APPLY_FOG_COLOR(i.fogCoord, res, fixed4(0,0,0,0)); + return res; + } + ENDCG + } + } +} diff --git a/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorLight.shader.meta b/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorLight.shader.meta new file mode 100644 index 0000000..4a5d302 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorLight.shader.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: c0ace1ca4bc0718448acf798c93d52d9 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorMultiply.shader b/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorMultiply.shader new file mode 100644 index 0000000..12dc3f0 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorMultiply.shader @@ -0,0 +1,60 @@ +// Upgrade NOTE: replaced '_Projector' with 'unity_Projector' +// Upgrade NOTE: replaced '_ProjectorClip' with 'unity_ProjectorClip' + +Shader "Projector/Multiply" { + Properties { + _ShadowTex ("Cookie", 2D) = "gray" {} + _FalloffTex ("FallOff", 2D) = "white" {} + } + Subshader { + Tags {"Queue"="Transparent"} + Pass { + ZWrite Off + ColorMask RGB + Blend DstColor Zero + Offset -1, -1 + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_fog + #include "UnityCG.cginc" + + struct v2f { + float4 uvShadow : TEXCOORD0; + float4 uvFalloff : TEXCOORD1; + UNITY_FOG_COORDS(2) + float4 pos : SV_POSITION; + }; + + float4x4 unity_Projector; + float4x4 unity_ProjectorClip; + + v2f vert (float4 vertex : POSITION) + { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, vertex); + o.uvShadow = mul (unity_Projector, vertex); + o.uvFalloff = mul (unity_ProjectorClip, vertex); + UNITY_TRANSFER_FOG(o,o.pos); + return o; + } + + sampler2D _ShadowTex; + sampler2D _FalloffTex; + + fixed4 frag (v2f i) : SV_Target + { + fixed4 texS = tex2Dproj (_ShadowTex, UNITY_PROJ_COORD(i.uvShadow)); + texS.a = 1.0-texS.a; + + fixed4 texF = tex2Dproj (_FalloffTex, UNITY_PROJ_COORD(i.uvFalloff)); + fixed4 res = lerp(fixed4(1,1,1,0), texS, texF.a); + + UNITY_APPLY_FOG_COLOR(i.fogCoord, res, fixed4(1,1,1,1)); + return res; + } + ENDCG + } + } +} diff --git a/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorMultiply.shader.meta b/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorMultiply.shader.meta new file mode 100644 index 0000000..268e7e4 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Shaders/ProjectorMultiply.shader.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 01a668cc78047034a8a0c5ca2d24c6f7 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Textures.meta b/Assets/Standard Assets/Effects/Projectors/Textures.meta new file mode 100644 index 0000000..e1d6034 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Textures.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 24f8b7f726c7047cb906be889dbf5ac1 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Textures/Falloff.psd b/Assets/Standard Assets/Effects/Projectors/Textures/Falloff.psd new file mode 100644 index 0000000..2dea334 Binary files /dev/null and b/Assets/Standard Assets/Effects/Projectors/Textures/Falloff.psd differ diff --git a/Assets/Standard Assets/Effects/Projectors/Textures/Falloff.psd.meta b/Assets/Standard Assets/Effects/Projectors/Textures/Falloff.psd.meta new file mode 100644 index 0000000..adb899e --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Textures/Falloff.psd.meta @@ -0,0 +1,52 @@ +fileFormatVersion: 2 +guid: 23740055e2b119e40a939138ab8070f8 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 1 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 1 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Textures/Grid.psd b/Assets/Standard Assets/Effects/Projectors/Textures/Grid.psd new file mode 100644 index 0000000..89c45d6 Binary files /dev/null and b/Assets/Standard Assets/Effects/Projectors/Textures/Grid.psd differ diff --git a/Assets/Standard Assets/Effects/Projectors/Textures/Grid.psd.meta b/Assets/Standard Assets/Effects/Projectors/Textures/Grid.psd.meta new file mode 100644 index 0000000..c87b4ab --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Textures/Grid.psd.meta @@ -0,0 +1,52 @@ +fileFormatVersion: 2 +guid: 529239097d02f9f42b0ddd436c6fcbb0 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 0 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Textures/Light.psd b/Assets/Standard Assets/Effects/Projectors/Textures/Light.psd new file mode 100644 index 0000000..dad13f8 Binary files /dev/null and b/Assets/Standard Assets/Effects/Projectors/Textures/Light.psd differ diff --git a/Assets/Standard Assets/Effects/Projectors/Textures/Light.psd.meta b/Assets/Standard Assets/Effects/Projectors/Textures/Light.psd.meta new file mode 100644 index 0000000..d65c212 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Textures/Light.psd.meta @@ -0,0 +1,52 @@ +fileFormatVersion: 2 +guid: b1d7fee26e54cc3498f6267f072a45b9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 1 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 64 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/Projectors/Textures/Shadow.psd b/Assets/Standard Assets/Effects/Projectors/Textures/Shadow.psd new file mode 100644 index 0000000..111a658 Binary files /dev/null and b/Assets/Standard Assets/Effects/Projectors/Textures/Shadow.psd differ diff --git a/Assets/Standard Assets/Effects/Projectors/Textures/Shadow.psd.meta b/Assets/Standard Assets/Effects/Projectors/Textures/Shadow.psd.meta new file mode 100644 index 0000000..f4f5772 --- /dev/null +++ b/Assets/Standard Assets/Effects/Projectors/Textures/Shadow.psd.meta @@ -0,0 +1,52 @@ +fileFormatVersion: 2 +guid: 68386fc9897223346a683105b4dc1662 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 1 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 1 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 64 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders.meta b/Assets/Standard Assets/Effects/TessellationShaders.meta new file mode 100644 index 0000000..b00a47c --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: b7b4d46ae2ac0ff449c02180209eea5d +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Materials.meta b/Assets/Standard Assets/Effects/TessellationShaders/Materials.meta new file mode 100644 index 0000000..da872c6 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Materials.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 6deddaccf56ed5f47806946aed94d2c9 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecular.mat b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecular.mat new file mode 100644 index 0000000..e5617d4 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecular.mat @@ -0,0 +1,51 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: TesselatedBumpSpecular + m_Shader: {fileID: 4, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 2800000, guid: e08c295755c0885479ad19f518286ff2, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Shininess + second: .335313648 + data: + first: + name: _EdgeLength + second: 10 + data: + first: + name: _Smoothness + second: .5 + m_Colors: + data: + first: + name: _Color + second: {r: .50746268, g: .50746268, b: .50746268, a: 1} + data: + first: + name: _SpecColor + second: {r: .5, g: .5, b: .5, a: 1} diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecular.mat.meta b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecular.mat.meta new file mode 100644 index 0000000..9d134a7 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecular.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a3384ef3e2313034f9016ad8a1f3999f +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularDisplacement.mat b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularDisplacement.mat new file mode 100644 index 0000000..e2dee51 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularDisplacement.mat @@ -0,0 +1,58 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: TesselatedBumpSpecularDisplacement + m_Shader: {fileID: 4800000, guid: 0a4b0bce1e250a14bb534d70bce205fa, type: 3} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 2, y: 2} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 2800000, guid: e08c295755c0885479ad19f518286ff2, type: 3} + m_Scale: {x: 2, y: 2} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ParallaxMap + second: + m_Texture: {fileID: 2800000, guid: 17da6d53ec93a0444bd0f751b1d02477, type: 3} + m_Scale: {x: 2, y: 2} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Shininess + second: .0732631832 + data: + first: + name: _EdgeLength + second: 12.3068314 + data: + first: + name: _Parallax + second: .354557991 + m_Colors: + data: + first: + name: _Color + second: {r: .514925361, g: .514925361, b: .514925361, a: 1} + data: + first: + name: _SpecColor + second: {r: .5, g: .5, b: .5, a: 1} diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularDisplacement.mat.meta b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularDisplacement.mat.meta new file mode 100644 index 0000000..29f2584 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularDisplacement.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 26d8bdbc8646bde48b05fbaacaaa6577 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularSmooth.mat b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularSmooth.mat new file mode 100644 index 0000000..6be0db3 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularSmooth.mat @@ -0,0 +1,51 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: TesselatedBumpSpecularSmooth + m_Shader: {fileID: 4800000, guid: 3954501323f24464f9e4418c78d8e8ce, type: 3} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Shininess + second: .319910288 + data: + first: + name: _EdgeLength + second: 12.1044779 + data: + first: + name: _Smoothness + second: .522388041 + m_Colors: + data: + first: + name: _Color + second: {r: .514925361, g: .514925361, b: .514925361, a: 1} + data: + first: + name: _SpecColor + second: {r: .5, g: .5, b: .5, a: 1} diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularSmooth.mat.meta b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularSmooth.mat.meta new file mode 100644 index 0000000..4febed3 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Materials/TesselatedBumpSpecularSmooth.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 06893cec523208643a91b7a393737700 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Models.meta b/Assets/Standard Assets/Effects/TessellationShaders/Models.meta new file mode 100644 index 0000000..e74e656 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Models.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 0c309011180e934488a03e0a88190d11 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Models/LowPolySphere.fbx b/Assets/Standard Assets/Effects/TessellationShaders/Models/LowPolySphere.fbx new file mode 100644 index 0000000..3e4622d Binary files /dev/null and b/Assets/Standard Assets/Effects/TessellationShaders/Models/LowPolySphere.fbx differ diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Models/LowPolySphere.fbx.meta b/Assets/Standard Assets/Effects/TessellationShaders/Models/LowPolySphere.fbx.meta new file mode 100644 index 0000000..5801565 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Models/LowPolySphere.fbx.meta @@ -0,0 +1,69 @@ +fileFormatVersion: 2 +guid: 103612e5e1ff43a4e896c567a2cb3ae1 +ModelImporter: + serializedVersion: 18 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: pSphere1 + 4300002: LowPolySphere + 11100000: //RootNode + materials: + importMaterials: 0 + materialName: 1 + materialSearch: 2 + animations: + legacyGenerateAnimations: 0 + bakeSimulation: 0 + optimizeGameObjects: 0 + motionNodeName: + pivotNodeName: + animationCompression: 1 + animationRotationError: .5 + animationPositionError: .5 + animationScaleError: .5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 0 + optimizeMeshForGPU: 1 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 0 + tangentSpace: + normalSmoothAngle: 180 + splitTangentsAcrossUV: 1 + normalImportMode: 1 + tangentImportMode: 1 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: .5 + foreArmTwist: .5 + upperLegTwist: .5 + legTwist: .5 + armStretch: .0500000007 + legStretch: .0500000007 + feetSpacing: 0 + rootMotionBoneName: + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 1 + additionalBone: 0 + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Scenes.meta b/Assets/Standard Assets/Effects/TessellationShaders/Scenes.meta new file mode 100644 index 0000000..1118db4 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Scenes.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 1553d77f542284c478caca3b413d7c6a +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Scenes/TessellationSample.unity b/Assets/Standard Assets/Effects/TessellationShaders/Scenes/TessellationSample.unity new file mode 100644 index 0000000..46b9302 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Scenes/TessellationSample.unity @@ -0,0 +1,782 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_QueryMode: 1 + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + viewCellSize: 1 + bakeMode: 2 + memoryUsage: 10485760 +--- !u!104 &2 +RenderSettings: + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientLight: {r: .208509669, g: .209568977, b: .23880595, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .5 + m_FlareStrength: 1 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 0} + m_ObjectHideFlags: 0 +--- !u!127 &3 +LevelGameManager: + m_ObjectHideFlags: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + m_LightProbes: {fileID: 0} + m_Lightmaps: [] + m_LightmapsMode: 1 + m_BakedColorSpace: 0 + m_UseDualLightmapsInForward: 0 + m_LightmapEditorSettings: + m_Resolution: 50 + m_LastUsedResolution: 0 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_BounceBoost: 1 + m_BounceIntensity: 1 + m_SkyLightColor: {r: .860000014, g: .930000007, b: 1, a: 1} + m_SkyLightIntensity: 0 + m_Quality: 0 + m_Bounces: 1 + m_FinalGatherRays: 1000 + m_FinalGatherContrastThreshold: .0500000007 + m_FinalGatherGradientThreshold: 0 + m_FinalGatherInterpolationPoints: 15 + m_AOAmount: 0 + m_AOMaxDistance: .100000001 + m_AOContrast: 1 + m_LODSurfaceMappingDistance: 1 + m_Padding: 0 + m_TextureCompression: 0 + m_LockAtlas: 0 +--- !u!196 &5 +NavMeshSettings: + m_ObjectHideFlags: 0 + m_BuildSettings: + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + widthInaccuracy: 16.666666 + heightInaccuracy: 10 + m_NavMesh: {fileID: 0} +--- !u!1 &45112404 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 45112405} + - 33: {fileID: 45112407} + - 64: {fileID: 45112408} + - 23: {fileID: 45112406} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &45112405 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 45112404} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -10.1825247, y: 5.14360285, z: -15.2294216} + m_LocalScale: {x: 2.93550324, y: 2.93550324, z: 2.93550324} + m_Children: + - {fileID: 1025819845} + m_Father: {fileID: 0} +--- !u!23 &45112406 +Renderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 45112404} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_LightmapIndex: 255 + m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} + m_Materials: + - {fileID: 2100000, guid: 26d8bdbc8646bde48b05fbaacaaa6577, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_LightProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 +--- !u!33 &45112407 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 45112404} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!64 &45112408 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 45112404} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_SmoothSphereCollisions: 0 + m_Convex: 0 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &184320516 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalPosition.x + value: -4.40180111 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalPosition.y + value: 7.55032682 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalPosition.z + value: -8.54045105 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalRotation.y + value: -.707106829 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalRotation.w + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 06893cec523208643a91b7a393737700, type: 2} + - target: {fileID: 100000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_Name + value: LowPolySphereSmooth + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + m_RootGameObject: {fileID: 1248114742} + m_IsPrefabParent: 0 + m_IsExploded: 1 +--- !u!1 &723080850 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 723080851} + - 102: {fileID: 723080853} + - 23: {fileID: 723080852} + m_Layer: 0 + m_Name: New Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &723080851 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 723080850} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1028651043} +--- !u!23 &723080852 +Renderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 723080850} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_LightmapIndex: 255 + m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} + m_Materials: + - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_LightProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 +--- !u!102 &723080853 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 723080850} + m_Text: Mesh + m_OffsetZ: 0 + m_CharacterSize: .100000001 + m_LineSpacing: 1 + m_Anchor: 4 + m_Alignment: 0 + m_TabSize: 4 + m_FontSize: 20 + m_FontStyle: 0 + m_RichText: 1 + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!1 &1025819844 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1025819845} + - 102: {fileID: 1025819847} + - 23: {fileID: 1025819846} + m_Layer: 0 + m_Name: New Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1025819845 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1025819844} + m_LocalRotation: {x: 0, y: -.946908474, z: 0, w: .321503431} + m_LocalPosition: {x: 2.99363708, y: .352484196, z: 1.65013671} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 45112405} +--- !u!23 &1025819846 +Renderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1025819844} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_LightmapIndex: 255 + m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} + m_Materials: + - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_LightProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 +--- !u!102 &1025819847 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1025819844} + m_Text: Tessellated & Displaced plane + m_OffsetZ: 0 + m_CharacterSize: .0500000007 + m_LineSpacing: 1 + m_Anchor: 4 + m_Alignment: 0 + m_TabSize: 4 + m_FontSize: 20 + m_FontStyle: 0 + m_RichText: 1 + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!1 &1028651042 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + m_PrefabInternal: {fileID: 1181271967} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1028651043} + - 33: {fileID: 1028651045} + - 23: {fileID: 1028651044} + - 111: {fileID: 1028651046} + m_Layer: 0 + m_Name: LowPolySphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1028651043 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + m_PrefabInternal: {fileID: 1181271967} + m_GameObject: {fileID: 1028651042} + m_LocalRotation: {x: 0, y: -.707106829, z: 0, w: .707106829} + m_LocalPosition: {x: -4.46168661, y: 7.55032682, z: -10.6198997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 723080851} + m_Father: {fileID: 0} +--- !u!23 &1028651044 +Renderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, + type: 3} + m_PrefabInternal: {fileID: 1181271967} + m_GameObject: {fileID: 1028651042} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_LightmapIndex: 255 + m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} + m_Materials: + - {fileID: 2100000, guid: a3384ef3e2313034f9016ad8a1f3999f, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_LightProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 +--- !u!33 &1028651045 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, + type: 3} + m_PrefabInternal: {fileID: 1181271967} + m_GameObject: {fileID: 1028651042} + m_Mesh: {fileID: 4300000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} +--- !u!111 &1028651046 +Animation: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11100000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, + type: 3} + m_PrefabInternal: {fileID: 1181271967} + m_GameObject: {fileID: 1028651042} + m_Enabled: 1 + serializedVersion: 3 + m_Animation: {fileID: 0} + m_Animations: [] + m_WrapMode: 0 + m_PlayAutomatically: 1 + m_AnimatePhysics: 0 + m_CullingType: 0 + m_UserAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} +--- !u!1001 &1181271967 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalPosition.x + value: -4.46168661 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalPosition.y + value: 7.55032682 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalPosition.z + value: -10.6198997 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalRotation.y + value: -.707106829 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_LocalRotation.w + value: .707106829 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a3384ef3e2313034f9016ad8a1f3999f, type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + m_RootGameObject: {fileID: 1028651042} + m_IsPrefabParent: 0 + m_IsExploded: 1 +--- !u!1 &1248114742 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + m_PrefabInternal: {fileID: 184320516} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1248114743} + - 33: {fileID: 1248114745} + - 23: {fileID: 1248114744} + - 111: {fileID: 1248114746} + m_Layer: 0 + m_Name: LowPolySphereSmooth + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1248114743 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} + m_PrefabInternal: {fileID: 184320516} + m_GameObject: {fileID: 1248114742} + m_LocalRotation: {x: 0, y: -.707106829, z: 0, w: .707106829} + m_LocalPosition: {x: -4.40180111, y: 7.55032682, z: -8.54045105} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1403424791} + m_Father: {fileID: 0} +--- !u!23 &1248114744 +Renderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2300000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, + type: 3} + m_PrefabInternal: {fileID: 184320516} + m_GameObject: {fileID: 1248114742} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_LightmapIndex: 255 + m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} + m_Materials: + - {fileID: 2100000, guid: 06893cec523208643a91b7a393737700, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_LightProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 +--- !u!33 &1248114745 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3300000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, + type: 3} + m_PrefabInternal: {fileID: 184320516} + m_GameObject: {fileID: 1248114742} + m_Mesh: {fileID: 4300000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, type: 3} +--- !u!111 &1248114746 +Animation: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11100000, guid: 103612e5e1ff43a4e896c567a2cb3ae1, + type: 3} + m_PrefabInternal: {fileID: 184320516} + m_GameObject: {fileID: 1248114742} + m_Enabled: 1 + serializedVersion: 3 + m_Animation: {fileID: 0} + m_Animations: [] + m_WrapMode: 0 + m_PlayAutomatically: 1 + m_AnimatePhysics: 0 + m_CullingType: 0 + m_UserAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} +--- !u!1 &1375005640 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1375005641} + - 20: {fileID: 1375005642} + - 92: {fileID: 1375005644} + - 124: {fileID: 1375005645} + - 81: {fileID: 1375005643} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1375005641 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1375005640} + m_LocalRotation: {x: -.0800507441, y: .876079738, z: -.153849453, w: -.449896157} + m_LocalPosition: {x: .311099052, y: 8.59601879, z: -7.0782752} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} +--- !u!20 &1375005642 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1375005640} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 100 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_HDR: 0 +--- !u!81 &1375005643 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1375005640} + m_Enabled: 1 +--- !u!92 &1375005644 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1375005640} + m_Enabled: 1 +--- !u!124 &1375005645 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1375005640} + m_Enabled: 1 +--- !u!1 &1403424790 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1403424791} + - 102: {fileID: 1403424793} + - 23: {fileID: 1403424792} + m_Layer: 0 + m_Name: New Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1403424791 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1403424790} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1248114743} +--- !u!23 &1403424792 +Renderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1403424790} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_LightmapIndex: 255 + m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} + m_Materials: + - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_LightProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 +--- !u!102 &1403424793 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1403424790} + m_Text: "Mesh with\r\nPhong Tess" + m_OffsetZ: 0 + m_CharacterSize: .100000001 + m_LineSpacing: 1 + m_Anchor: 4 + m_Alignment: 0 + m_TabSize: 4 + m_FontSize: 20 + m_FontStyle: 0 + m_RichText: 1 + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!1 &1418780922 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1418780923} + - 108: {fileID: 1418780924} + m_Layer: 0 + m_Name: Directional light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1418780923 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1418780922} + m_LocalRotation: {x: -.139953628, y: .576685786, z: -.0999016315, w: -.798665285} + m_LocalPosition: {x: 6.01737118, y: 11.1735039, z: -16.877203} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} +--- !u!108 &1418780924 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1418780922} + m_Enabled: 1 + serializedVersion: 3 + m_Type: 1 + m_Color: {r: .992693901, g: 1, b: .962686539, a: 1} + m_Intensity: .5 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_Softness: 4 + m_SoftnessFade: 1 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_ActuallyLightmapped: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_ShadowSamples: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_IndirectIntensity: 1 + m_AreaSize: {x: 1, y: 1} +--- !u!1 &1555874874 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1555874875} + - 132: {fileID: 1555874876} + m_Layer: 0 + m_Name: GUI Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1555874875 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1555874874} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} +--- !u!132 &1555874876 +GUIText: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1555874874} + m_Enabled: 1 + serializedVersion: 3 + m_Text: DX11 GPU Tessellation Shaders + m_Anchor: 0 + m_Alignment: 0 + m_PixelOffset: {x: 0, y: 0} + m_LineSpacing: 1 + m_TabSize: 4 + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_Material: {fileID: 0} + m_FontSize: 20 + m_FontStyle: 3 + m_Color: + serializedVersion: 2 + rgba: 4294967295 + m_PixelCorrect: 1 + m_RichText: 1 diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Scenes/TessellationSample.unity.meta b/Assets/Standard Assets/Effects/TessellationShaders/Scenes/TessellationSample.unity.meta new file mode 100644 index 0000000..d2a7b77 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Scenes/TessellationSample.unity.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 31f6763de0920574092c8a69a66c717e +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Shaders.meta b/Assets/Standard Assets/Effects/TessellationShaders/Shaders.meta new file mode 100644 index 0000000..cc1b164 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Shaders.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 4624d7d4686ce7a498e4c4092550416f +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularDisplacement.shader b/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularDisplacement.shader new file mode 100644 index 0000000..c938ca4 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularDisplacement.shader @@ -0,0 +1,68 @@ +Shader "Tessellation/Bumped Specular (displacement)" { +Properties { + _Color ("Main Color", Color) = (1,1,1,1) + _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1) + _Shininess ("Shininess", Range (0.03, 1)) = 0.078125 + _Parallax ("Height", Range (0.0, 1.0)) = 0.5 + _MainTex ("Base (RGB) Gloss (A)", 2D) = "white" {} + _BumpMap ("Normalmap", 2D) = "bump" {} + _ParallaxMap ("Heightmap (A)", 2D) = "black" {} + + _EdgeLength ("Edge length", Range(3,50)) = 10 +} +SubShader { + Tags { "RenderType"="Opaque" } + LOD 800 + +CGPROGRAM +#pragma surface surf BlinnPhong addshadow vertex:disp tessellate:tessEdge +#include "Tessellation.cginc" + +struct appdata { + float4 vertex : POSITION; + float4 tangent : TANGENT; + float3 normal : NORMAL; + float2 texcoord : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + float2 texcoord2 : TEXCOORD2; +}; + +float _EdgeLength; +float _Parallax; + +float4 tessEdge (appdata v0, appdata v1, appdata v2) +{ + return UnityEdgeLengthBasedTessCull (v0.vertex, v1.vertex, v2.vertex, _EdgeLength, _Parallax * 1.5f); +} + +sampler2D _ParallaxMap; + +void disp (inout appdata v) +{ + float d = tex2Dlod(_ParallaxMap, float4(v.texcoord.xy,0,0)).a * _Parallax; + v.vertex.xyz += v.normal * d; +} + +sampler2D _MainTex; +sampler2D _BumpMap; +fixed4 _Color; +half _Shininess; + +struct Input { + float2 uv_MainTex; + float2 uv_BumpMap; +}; + +void surf (Input IN, inout SurfaceOutput o) { + fixed4 tex = tex2D(_MainTex, IN.uv_MainTex); + o.Albedo = tex.rgb * _Color.rgb; + o.Gloss = tex.a; + o.Alpha = tex.a * _Color.a; + o.Specular = _Shininess; + o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap)); +} +ENDCG +} + +FallBack "Bumped Specular" +} diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularDisplacement.shader.meta b/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularDisplacement.shader.meta new file mode 100644 index 0000000..f64b3c1 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularDisplacement.shader.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 0a4b0bce1e250a14bb534d70bce205fa +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularSmooth.shader b/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularSmooth.shader new file mode 100644 index 0000000..6bf3591 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularSmooth.shader @@ -0,0 +1,64 @@ +Shader "Tessellation/Bumped Specular (smooth)" { +Properties { + _Color ("Main Color", Color) = (1,1,1,1) + _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1) + _Shininess ("Shininess", Range (0.03, 1)) = 0.078125 + _MainTex ("Base (RGB) Gloss (A)", 2D) = "white" {} + _BumpMap ("Normalmap", 2D) = "bump" {} + + _EdgeLength ("Edge length", Range(3,50)) = 10 + _Smoothness ("Smoothness", Range(0,1)) = 0.5 +} +SubShader { + Tags { "RenderType"="Opaque" } + LOD 700 + +CGPROGRAM +#pragma surface surf BlinnPhong addshadow vertex:disp tessellate:tessEdge tessphong:_Smoothness +#include "Tessellation.cginc" + +struct appdata { + float4 vertex : POSITION; + float4 tangent : TANGENT; + float3 normal : NORMAL; + float2 texcoord : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; + float2 texcoord2 : TEXCOORD2; +}; + +float _EdgeLength; +float _Smoothness; + +float4 tessEdge (appdata v0, appdata v1, appdata v2) +{ + return UnityEdgeLengthBasedTessCull (v0.vertex, v1.vertex, v2.vertex, _EdgeLength, 0.0); +} + +void disp (inout appdata v) +{ + // do nothing +} + +sampler2D _MainTex; +sampler2D _BumpMap; +fixed4 _Color; +half _Shininess; + +struct Input { + float2 uv_MainTex; + float2 uv_BumpMap; +}; + +void surf (Input IN, inout SurfaceOutput o) { + fixed4 tex = tex2D(_MainTex, IN.uv_MainTex); + o.Albedo = tex.rgb * _Color.rgb; + o.Gloss = tex.a; + o.Alpha = tex.a * _Color.a; + o.Specular = _Shininess; + o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap)); +} +ENDCG +} + +FallBack "Bumped Specular" +} diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularSmooth.shader.meta b/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularSmooth.shader.meta new file mode 100644 index 0000000..8cfa1bd --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Shaders/BumpedSpecularSmooth.shader.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 3954501323f24464f9e4418c78d8e8ce +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Textures.meta b/Assets/Standard Assets/Effects/TessellationShaders/Textures.meta new file mode 100644 index 0000000..36622fb --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Textures.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 08cf2fc601fa9a2408b6a1efae3f2a01 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffHeight.png b/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffHeight.png new file mode 100644 index 0000000..3ed61be Binary files /dev/null and b/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffHeight.png differ diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffHeight.png.meta b/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffHeight.png.meta new file mode 100644 index 0000000..8bb8b89 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffHeight.png.meta @@ -0,0 +1,69 @@ +fileFormatVersion: 2 +guid: 17da6d53ec93a0444bd0f751b1d02477 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 1 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: + - buildTarget: iPhone + maxTextureSize: 256 + textureFormat: 4 + compressionQuality: 50 + - buildTarget: Android + maxTextureSize: 256 + textureFormat: 4 + compressionQuality: 50 + - buildTarget: BlackBerry + maxTextureSize: 256 + textureFormat: -3 + compressionQuality: 50 + - buildTarget: WP8 + maxTextureSize: 256 + textureFormat: -3 + compressionQuality: 50 + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffNormals.png b/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffNormals.png new file mode 100644 index 0000000..04ec63c Binary files /dev/null and b/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffNormals.png differ diff --git a/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffNormals.png.meta b/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffNormals.png.meta new file mode 100644 index 0000000..4e43eb8 --- /dev/null +++ b/Assets/Standard Assets/Effects/TessellationShaders/Textures/CliffNormals.png.meta @@ -0,0 +1,53 @@ +fileFormatVersion: 2 +guid: e08c295755c0885479ad19f518286ff2 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 1 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Effects/ToonShading.meta b/Assets/Standard Assets/Effects/ToonShading.meta new file mode 100644 index 0000000..0377a75 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 488ccf78ce5fbe14db33f20cccd9f386 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Materials.meta b/Assets/Standard Assets/Effects/ToonShading/Materials.meta new file mode 100644 index 0000000..aea70cf --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Materials.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 280da6451a1e556438ce789a0d7e1f65 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasic.mat b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasic.mat new file mode 100644 index 0000000..a079c65 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasic.mat @@ -0,0 +1,58 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ToonBasic + m_Shader: {fileID: 4800000, guid: d84268709d11078d11005b9844295342, type: 3} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ToonShade + second: + m_Texture: {fileID: 8900000, guid: b995d4bd9d11078d11005b9844295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Shininess + second: .699999988 + data: + first: + name: _Outline + second: .00701886788 + m_Colors: + data: + first: + name: _Color + second: {r: .462686539, g: .462686539, b: .462686539, a: 1} + data: + first: + name: _Emission + second: {r: 0, g: 0, b: 0, a: 0} + data: + first: + name: _SpecColor + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _OutlineColor + second: {r: 0, g: 0, b: 0, a: 1} +--- !u!1002 &2100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasic.mat.meta b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasic.mat.meta new file mode 100644 index 0000000..7565316 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasic.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 84b9e1d19d11078d11005b9844295342 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasicOutline.mat b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasicOutline.mat new file mode 100644 index 0000000..d45073c --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasicOutline.mat @@ -0,0 +1,58 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ToonBasicOutline + m_Shader: {fileID: 4800000, guid: 9ce107479d11178d11005b9844295342, type: 3} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ToonShade + second: + m_Texture: {fileID: 8900000, guid: b995d4bd9d11078d11005b9844295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Shininess + second: .57971698 + data: + first: + name: _Outline + second: .00659701508 + m_Colors: + data: + first: + name: _Color + second: {r: .462686539, g: .462686539, b: .462686539, a: 1} + data: + first: + name: _Emission + second: {r: 0, g: 0, b: 0, a: 0} + data: + first: + name: _SpecColor + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _OutlineColor + second: {r: 0, g: 0, b: 0, a: 1} +--- !u!1002 &2100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasicOutline.mat.meta b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasicOutline.mat.meta new file mode 100644 index 0000000..2245486 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonBasicOutline.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 215977489d11178d11005b9844295342 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLit.mat b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLit.mat new file mode 100644 index 0000000..84c2369 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLit.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ToonLit + m_Shader: {fileID: 4800000, guid: 48dca5b99d113b8d11006bab44295342, type: 3} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 9ca701319d113f2d1100ff9b44295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ToonShade + second: + m_Texture: {fileID: 8900000, guid: ed7fefe29d117c8d11005e4844295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _Ramp + second: + m_Texture: {fileID: 2800000, guid: 4a056241e2722dc46a7262a8e7073fd9, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Shininess + second: .699999988 + data: + first: + name: _Outline + second: .00807547197 + m_Colors: + data: + first: + name: _Color + second: {r: .50251013, g: .50251013, b: .50251013, a: 1} + data: + first: + name: _MainTex_ST + second: {r: 1, g: 1, b: 0, a: 0} + data: + first: + name: _Emission + second: {r: 0, g: 0, b: 0, a: 0} + data: + first: + name: _SpecColor + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _OutlineColor + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _ToonShade_ST + second: {r: 1, g: 1, b: 0, a: 0} +--- !u!1002 &2100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLit.mat.meta b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLit.mat.meta new file mode 100644 index 0000000..d1e1513 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLit.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: c9e6294c9d11cb8d11006bf944295342 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLitOutline.mat b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLitOutline.mat new file mode 100644 index 0000000..e8c2c41 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLitOutline.mat @@ -0,0 +1,65 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ToonLitOutline + m_Shader: {fileID: 4800000, guid: 054a31a99d11e49d110086ba44295342, type: 3} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ToonShade + second: + m_Texture: {fileID: 8900000, guid: ed7fefe29d117c8d11005e4844295342, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _Ramp + second: + m_Texture: {fileID: 2800000, guid: 4a056241e2722dc46a7262a8e7073fd9, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Shininess + second: .699999988 + data: + first: + name: _Outline + second: .00701492419 + m_Colors: + data: + first: + name: _Color + second: {r: .50251013, g: .50251013, b: .50251013, a: 1} + data: + first: + name: _Emission + second: {r: 0, g: 0, b: 0, a: 0} + data: + first: + name: _SpecColor + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _OutlineColor + second: {r: 0, g: 0, b: 0, a: 1} +--- !u!1002 &2100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLitOutline.mat.meta b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLitOutline.mat.meta new file mode 100644 index 0000000..c711bf0 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Materials/ToonLitOutline.mat.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 5d69df9d9d11e49d110086ba44295342 +NativeFormatImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Shaders.meta b/Assets/Standard Assets/Effects/ToonShading/Shaders.meta new file mode 100644 index 0000000..4d2b87a --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Shaders.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: adec466a1f9044ea78471a5ce6f78271 +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasic.shader b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasic.shader new file mode 100644 index 0000000..63f0b37 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasic.shader @@ -0,0 +1,63 @@ +Shader "Toon/Basic" { + Properties { + _Color ("Main Color", Color) = (.5,.5,.5,1) + _MainTex ("Base (RGB)", 2D) = "white" {} + _ToonShade ("ToonShader Cubemap(RGB)", CUBE) = "" { } + } + + + SubShader { + Tags { "RenderType"="Opaque" } + Pass { + Name "BASE" + Cull Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + sampler2D _MainTex; + samplerCUBE _ToonShade; + float4 _MainTex_ST; + float4 _Color; + + struct appdata { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + float3 normal : NORMAL; + }; + + struct v2f { + float4 pos : SV_POSITION; + float2 texcoord : TEXCOORD0; + float3 cubenormal : TEXCOORD1; + UNITY_FOG_COORDS(2) + }; + + v2f vert (appdata v) + { + v2f o; + o.pos = mul (UNITY_MATRIX_MVP, v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + o.cubenormal = mul (UNITY_MATRIX_MV, float4(v.normal,0)); + UNITY_TRANSFER_FOG(o,o.pos); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + fixed4 col = _Color * tex2D(_MainTex, i.texcoord); + fixed4 cube = texCUBE(_ToonShade, i.cubenormal); + fixed4 c = fixed4(2.0f * cube.rgb * col.rgb, col.a); + UNITY_APPLY_FOG(i.fogCoord, c); + return c; + } + ENDCG + } + } + + Fallback "VertexLit" +} diff --git a/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasic.shader.meta b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasic.shader.meta new file mode 100644 index 0000000..a144389 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasic.shader.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: d84268709d11078d11005b9844295342 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasicOutline.shader b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasicOutline.shader new file mode 100644 index 0000000..5fff5bf --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasicOutline.shader @@ -0,0 +1,66 @@ +Shader "Toon/Basic Outline" { + Properties { + _Color ("Main Color", Color) = (.5,.5,.5,1) + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _Outline ("Outline width", Range (.002, 0.03)) = .005 + _MainTex ("Base (RGB)", 2D) = "white" { } + _ToonShade ("ToonShader Cubemap(RGB)", CUBE) = "" { } + } + + CGINCLUDE + #include "UnityCG.cginc" + + struct appdata { + float4 vertex : POSITION; + float3 normal : NORMAL; + }; + + struct v2f { + float4 pos : SV_POSITION; + UNITY_FOG_COORDS(0) + fixed4 color : COLOR; + }; + + uniform float _Outline; + uniform float4 _OutlineColor; + + v2f vert(appdata v) { + v2f o; + o.pos = mul(UNITY_MATRIX_MVP, v.vertex); + + float3 norm = normalize(mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal)); + float2 offset = TransformViewToProjection(norm.xy); + + o.pos.xy += offset * o.pos.z * _Outline; + o.color = _OutlineColor; + UNITY_TRANSFER_FOG(o,o.pos); + return o; + } + ENDCG + + SubShader { + Tags { "RenderType"="Opaque" } + UsePass "Toon/Basic/BASE" + Pass { + Name "OUTLINE" + Tags { "LightMode" = "Always" } + Cull Front + ZWrite On + ColorMask RGB + Blend SrcAlpha OneMinusSrcAlpha + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_fog + fixed4 frag(v2f i) : SV_Target + { + UNITY_APPLY_FOG(i.fogCoord, i.color); + return i.color; + } + ENDCG + } + } + + Fallback "Toon/Basic" +} diff --git a/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasicOutline.shader.meta b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasicOutline.shader.meta new file mode 100644 index 0000000..7e1c493 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonBasicOutline.shader.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 9ce107479d11178d11005b9844295342 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLit.shader b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLit.shader new file mode 100644 index 0000000..254b7ec --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLit.shader @@ -0,0 +1,53 @@ +Shader "Toon/Lit" { + Properties { + _Color ("Main Color", Color) = (0.5,0.5,0.5,1) + _MainTex ("Base (RGB)", 2D) = "white" {} + _Ramp ("Toon Ramp (RGB)", 2D) = "gray" {} + } + + SubShader { + Tags { "RenderType"="Opaque" } + LOD 200 + +CGPROGRAM +#pragma surface surf ToonRamp + +sampler2D _Ramp; + +// custom lighting function that uses a texture ramp based +// on angle between light direction and normal +#pragma lighting ToonRamp exclude_path:prepass +inline half4 LightingToonRamp (SurfaceOutput s, half3 lightDir, half atten) +{ + #ifndef USING_DIRECTIONAL_LIGHT + lightDir = normalize(lightDir); + #endif + + half d = dot (s.Normal, lightDir)*0.5 + 0.5; + half3 ramp = tex2D (_Ramp, float2(d,d)).rgb; + + half4 c; + c.rgb = s.Albedo * _LightColor0.rgb * ramp * (atten * 2); + c.a = 0; + return c; +} + + +sampler2D _MainTex; +float4 _Color; + +struct Input { + float2 uv_MainTex : TEXCOORD0; +}; + +void surf (Input IN, inout SurfaceOutput o) { + half4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color; + o.Albedo = c.rgb; + o.Alpha = c.a; +} +ENDCG + + } + + Fallback "Diffuse" +} diff --git a/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLit.shader.meta b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLit.shader.meta new file mode 100644 index 0000000..771203c --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLit.shader.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 48dca5b99d113b8d11006bab44295342 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLitOutline.shader b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLitOutline.shader new file mode 100644 index 0000000..817c0ce --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLitOutline.shader @@ -0,0 +1,17 @@ +Shader "Toon/Lit Outline" { + Properties { + _Color ("Main Color", Color) = (0.5,0.5,0.5,1) + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _Outline ("Outline width", Range (.002, 0.03)) = .005 + _MainTex ("Base (RGB)", 2D) = "white" {} + _Ramp ("Toon Ramp (RGB)", 2D) = "gray" {} + } + + SubShader { + Tags { "RenderType"="Opaque" } + UsePass "Toon/Lit/FORWARD" + UsePass "Toon/Basic Outline/OUTLINE" + } + + Fallback "Toon/Lit" +} diff --git a/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLitOutline.shader.meta b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLitOutline.shader.meta new file mode 100644 index 0000000..329c53b --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Shaders/ToonLitOutline.shader.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 054a31a99d11e49d110086ba44295342 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Textures.meta b/Assets/Standard Assets/Effects/ToonShading/Textures.meta new file mode 100644 index 0000000..6555d84 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Textures.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 651770f8be26443fdb85aa3594fa349c +folderAsset: yes +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Textures/ToonLit.psd b/Assets/Standard Assets/Effects/ToonShading/Textures/ToonLit.psd new file mode 100644 index 0000000..5208374 Binary files /dev/null and b/Assets/Standard Assets/Effects/ToonShading/Textures/ToonLit.psd differ diff --git a/Assets/Standard Assets/Effects/ToonShading/Textures/ToonLit.psd.meta b/Assets/Standard Assets/Effects/ToonShading/Textures/ToonLit.psd.meta new file mode 100644 index 0000000..6073900 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Textures/ToonLit.psd.meta @@ -0,0 +1,53 @@ +fileFormatVersion: 2 +guid: b995d4bd9d11078d11005b9844295342 +TextureImporter: + fileIDToRecycleName: + 8900000: generatedCubemap + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 1 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: 3 + maxTextureSize: 512 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 0 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Effects/ToonShading/Textures/UtilToonGradient.png b/Assets/Standard Assets/Effects/ToonShading/Textures/UtilToonGradient.png new file mode 100644 index 0000000..7ce1e8e Binary files /dev/null and b/Assets/Standard Assets/Effects/ToonShading/Textures/UtilToonGradient.png differ diff --git a/Assets/Standard Assets/Effects/ToonShading/Textures/UtilToonGradient.png.meta b/Assets/Standard Assets/Effects/ToonShading/Textures/UtilToonGradient.png.meta new file mode 100644 index 0000000..c9b7612 --- /dev/null +++ b/Assets/Standard Assets/Effects/ToonShading/Textures/UtilToonGradient.png.meta @@ -0,0 +1,52 @@ +fileFormatVersion: 2 +guid: 4a056241e2722dc46a7262a8e7073fd9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 1024 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Fonts.meta b/Assets/Standard Assets/Fonts.meta new file mode 100644 index 0000000..d283b54 --- /dev/null +++ b/Assets/Standard Assets/Fonts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5d757120c2679c94f95bbb8c06341f10 +folderAsset: yes +timeCreated: 1436977288 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Fonts/OpenSans.meta b/Assets/Standard Assets/Fonts/OpenSans.meta new file mode 100644 index 0000000..ff6a0d1 --- /dev/null +++ b/Assets/Standard Assets/Fonts/OpenSans.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c32de72f872aad9448b3118fda0231fb +folderAsset: yes +timeCreated: 1436977288 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Fonts/OpenSans/License!.txt b/Assets/Standard Assets/Fonts/OpenSans/License!.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/Assets/Standard Assets/Fonts/OpenSans/License!.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/Assets/Standard Assets/Fonts/OpenSans/License!.txt.meta b/Assets/Standard Assets/Fonts/OpenSans/License!.txt.meta new file mode 100644 index 0000000..a499223 --- /dev/null +++ b/Assets/Standard Assets/Fonts/OpenSans/License!.txt.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: cf1acff8cf98a440dba907e79fd30ebc +TextScriptImporter: + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Fonts/OpenSans/OpenSansBold.ttf b/Assets/Standard Assets/Fonts/OpenSans/OpenSansBold.ttf new file mode 100644 index 0000000..fd79d43 Binary files /dev/null and b/Assets/Standard Assets/Fonts/OpenSans/OpenSansBold.ttf differ diff --git a/Assets/Standard Assets/Fonts/OpenSans/OpenSansBold.ttf.meta b/Assets/Standard Assets/Fonts/OpenSans/OpenSansBold.ttf.meta new file mode 100644 index 0000000..a645ba1 --- /dev/null +++ b/Assets/Standard Assets/Fonts/OpenSans/OpenSansBold.ttf.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 87c316b602156405d92e616621658222 +TrueTypeFontImporter: + serializedVersion: 2 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 1 + characterPadding: 0 + includeFontData: 1 + use2xBehaviour: 0 + fontNames: [] + customCharacters: + fontRenderingMode: 0 + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Fonts/OpenSans/OpenSansLight.ttf b/Assets/Standard Assets/Fonts/OpenSans/OpenSansLight.ttf new file mode 100644 index 0000000..0d38189 Binary files /dev/null and b/Assets/Standard Assets/Fonts/OpenSans/OpenSansLight.ttf differ diff --git a/Assets/Standard Assets/Fonts/OpenSans/OpenSansLight.ttf.meta b/Assets/Standard Assets/Fonts/OpenSans/OpenSansLight.ttf.meta new file mode 100644 index 0000000..7abfa57 --- /dev/null +++ b/Assets/Standard Assets/Fonts/OpenSans/OpenSansLight.ttf.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 04a842e316b6f44bf8da702de26a8ed6 +TrueTypeFontImporter: + serializedVersion: 2 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 1 + characterPadding: 0 + includeFontData: 1 + use2xBehaviour: 0 + fontNames: [] + customCharacters: + fontRenderingMode: 0 + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Fonts/OpenSans/OpenSansRegular.ttf b/Assets/Standard Assets/Fonts/OpenSans/OpenSansRegular.ttf new file mode 100644 index 0000000..db43334 Binary files /dev/null and b/Assets/Standard Assets/Fonts/OpenSans/OpenSansRegular.ttf differ diff --git a/Assets/Standard Assets/Fonts/OpenSans/OpenSansRegular.ttf.meta b/Assets/Standard Assets/Fonts/OpenSans/OpenSansRegular.ttf.meta new file mode 100644 index 0000000..b263784 --- /dev/null +++ b/Assets/Standard Assets/Fonts/OpenSans/OpenSansRegular.ttf.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: b51a3e520f9164da198dc59c8acfccd6 +TrueTypeFontImporter: + serializedVersion: 2 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 1 + characterPadding: 0 + includeFontData: 1 + use2xBehaviour: 0 + fontNames: [] + customCharacters: + fontRenderingMode: 0 + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Fonts/OpenSans/OpenSansSemibold.ttf b/Assets/Standard Assets/Fonts/OpenSans/OpenSansSemibold.ttf new file mode 100644 index 0000000..1a7679e Binary files /dev/null and b/Assets/Standard Assets/Fonts/OpenSans/OpenSansSemibold.ttf differ diff --git a/Assets/Standard Assets/Fonts/OpenSans/OpenSansSemibold.ttf.meta b/Assets/Standard Assets/Fonts/OpenSans/OpenSansSemibold.ttf.meta new file mode 100644 index 0000000..42ef026 --- /dev/null +++ b/Assets/Standard Assets/Fonts/OpenSans/OpenSansSemibold.ttf.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 01cd679a1b9ee48bf9c546f6ce2cb97e +TrueTypeFontImporter: + serializedVersion: 2 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 1 + characterPadding: 0 + includeFontData: 1 + use2xBehaviour: 0 + fontNames: [] + customCharacters: + fontRenderingMode: 0 + userData: + assetBundleName: diff --git a/Assets/Standard Assets/Fonts/Unipix.ttf b/Assets/Standard Assets/Fonts/Unipix.ttf new file mode 100644 index 0000000..d387e67 Binary files /dev/null and b/Assets/Standard Assets/Fonts/Unipix.ttf differ diff --git a/Assets/Standard Assets/Fonts/Unipix.ttf.meta b/Assets/Standard Assets/Fonts/Unipix.ttf.meta new file mode 100644 index 0000000..b605f89 --- /dev/null +++ b/Assets/Standard Assets/Fonts/Unipix.ttf.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: 1f16052dfd5f6f54e94e97ecedd4c86b +timeCreated: 1447161301 +licenseType: Store +TrueTypeFontImporter: + serializedVersion: 2 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 1 + characterPadding: 0 + includeFontData: 1 + use2xBehaviour: 0 + fontNames: [] + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Light Flares.meta b/Assets/Standard Assets/Light Flares.meta new file mode 100644 index 0000000..a6d35a5 --- /dev/null +++ b/Assets/Standard Assets/Light Flares.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 79b3e5ffe9e07df41a14cc536c199513 +folderAsset: yes +timeCreated: 1451327091 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Light Flares/Sun_flare.flare b/Assets/Standard Assets/Light Flares/Sun_flare.flare new file mode 100644 index 0000000..ebcc379 --- /dev/null +++ b/Assets/Standard Assets/Light Flares/Sun_flare.flare @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!121 &12100000 +Flare: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Sun_flare + m_FlareTexture: {fileID: 2800000, guid: 34fde50451a5046fc85d5fa2b2402887, type: 3} + m_TextureLayout: 2 + m_Elements: + - m_ImageIndex: 0 + m_Position: 0 + m_Size: 80 + m_Color: {r: .514925361, g: .396633893, b: .24209179, a: 1} + m_UseLightColor: 1 + m_Rotate: 0 + m_Zoom: 0 + m_Fade: 1 + m_UseFog: 1 +--- !u!1002 &12100001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Assets/Standard Assets/Light Flares/Sun_flare.flare.meta b/Assets/Standard Assets/Light Flares/Sun_flare.flare.meta new file mode 100644 index 0000000..5078684 --- /dev/null +++ b/Assets/Standard Assets/Light Flares/Sun_flare.flare.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: bff6aa9a64a234b43b4986b3e850173c +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network.meta b/Assets/Standard Assets/Network.meta new file mode 100644 index 0000000..402b8dd --- /dev/null +++ b/Assets/Standard Assets/Network.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 014a79aaee0dffd46b30cdeca4b89ec8 +folderAsset: yes +timeCreated: 1436977288 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Instruction.txt b/Assets/Standard Assets/Network/Instruction.txt new file mode 100644 index 0000000..cfaafa6 --- /dev/null +++ b/Assets/Standard Assets/Network/Instruction.txt @@ -0,0 +1,31 @@ +This is a drag'n drop lobby solution for your game! It allow to quickly add the +capability to create game, either directly or through matchmaker, & join them. + +Requirement +=========== + +You will need a prefab of your player, using of course a NetworkBehaviour instead of a monobehaviour + + +How to Use It +============= + +- You will need 2 scenes : one for your lobby, one for your game. +- Just drag'n drop Prefabs/LobbyUiCanvas prefab in your lobby scene +- Setup the Lobby Scene & Play Scene of the lobby +/!\ NOTE /!\ : Those scenes need to be in the build windows! + +- Setup the Game Player Prefab. This prefab is the one that will be instanciated +when you go from the lobby to the game. + + +Passing info from lobby to play +=============================== + +The script UnityStandardAssets.Network.Lobby (& PlayerEntry prefab) is used as +the "Player Lobby", and have 2 parameters : color & name of the player + +You can pass those info to your game prefab using a script subclassing LobbyHook +The function OnLobbyServerSceneLoadedForPlayer will be called with both as param + +(In the Pong Network Example, check PongLobbyHook for an example of how use it) diff --git a/Assets/Standard Assets/Network/Instruction.txt.meta b/Assets/Standard Assets/Network/Instruction.txt.meta new file mode 100644 index 0000000..6f8b016 --- /dev/null +++ b/Assets/Standard Assets/Network/Instruction.txt.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 56c75194b4ddca446bcd71555787e8f8 +timeCreated: 1437038693 +licenseType: Store +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Prefabs.meta b/Assets/Standard Assets/Network/Prefabs.meta new file mode 100644 index 0000000..6f1b1be --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e66249d5267b56c4a8f6f976c79b5900 +folderAsset: yes +timeCreated: 1436977288 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Prefabs/ChatWindow.prefab b/Assets/Standard Assets/Network/Prefabs/ChatWindow.prefab new file mode 100644 index 0000000..d8efe6a --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/ChatWindow.prefab @@ -0,0 +1,959 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &107046 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22442358} + - 222: {fileID: 22266140} + - 114: {fileID: 11498456} + - 114: {fileID: 11486842} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &115076 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22493054} + - 222: {fileID: 22243032} + - 114: {fileID: 11423782} + - 114: {fileID: 11439042} + - 114: {fileID: 11494884} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &121784 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22437006} + - 114: {fileID: 11410932} + - 222: {fileID: 22286962} + - 114: {fileID: 11424754} + m_Layer: 5 + m_Name: ChatContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &129524 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22458496} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140646 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22440086} + - 223: {fileID: 22366122} + - 114: {fileID: 11471116} + - 114: {fileID: 11433654} + - 114: {fileID: 11462482} + - 114: {fileID: 11435276} + - 225: {fileID: 22516098} + m_Layer: 5 + m_Name: ChatWindow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140858 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22484914} + - 222: {fileID: 22249608} + - 114: {fileID: 11437484} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &143624 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22438428} + - 222: {fileID: 22235272} + - 114: {fileID: 11430220} + - 114: {fileID: 11478340} + m_Layer: 5 + m_Name: Panel (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &153998 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22499676} + - 222: {fileID: 22286486} + - 114: {fileID: 11490744} + - 114: {fileID: 11484606} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &174612 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22498838} + - 222: {fileID: 22298816} + - 114: {fileID: 11462624} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &177962 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22481132} + - 222: {fileID: 22259526} + - 114: {fileID: 11464406} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &190318 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22422574} + - 222: {fileID: 22204088} + - 114: {fileID: 11444258} + - 114: {fileID: 11441476} + m_Layer: 5 + m_Name: Scrollbar (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11410932 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121784} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 2 +--- !u!114 &11423782 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: .39199999} + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11424754 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121784} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 26 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: ' + +' +--- !u!114 &11430220 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 143624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .941176534, g: .941176534, b: .941176534, a: 1} + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11433654 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &11435276 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 53430fb7905dbaf46b77b25f5e5bf43c, type: 3} + m_Name: + m_EditorClassIdentifier: + localName: + localColor: {r: 0, g: 0, b: 0, a: 0} + inputField: {fileID: 11484606} + chatHistoryText: {fileID: 11424754} + scrollRect: {fileID: 11439042} +--- !u!114 &11437484 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .196078435, g: .196078435, b: .196078435, a: .5} + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 26 + m_FontStyle: 2 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: ' + +' +--- !u!114 &11439042 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 22437006} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: .100000001 + m_Inertia: 1 + m_DecelerationRate: .135000005 + m_ScrollSensitivity: 1 + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 11441476} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11441476 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 190318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: .960784316, g: .960784316, b: .960784316, a: 1} + m_PressedColor: {r: .960784376, g: .960784376, b: .960784376, a: 1} + m_DisabledColor: {r: .960784376, g: .960784376, b: .960784376, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11444258} + m_HandleRect: {fileID: 22481132} + m_Direction: 2 + m_Value: 0 + m_Size: .999997556 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11444258 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 190318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .941176534, g: .941176534, b: .941176534, a: 1} + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11462482 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 372142912, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SceneId: + m_Value: 0 + m_AssetId: + i0: 247 + i1: 85 + i2: 14 + i3: 215 + i4: 219 + i5: 72 + i6: 20 + i7: 52 + i8: 8 + i9: 106 + i10: 142 + i11: 105 + i12: 240 + i13: 255 + i14: 7 + i15: 12 + m_ServerOnly: 0 + m_LocalPlayerAuthority: 0 +--- !u!114 &11462624 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174612} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 26 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &11464406 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 177962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .705882311, g: .705882311, b: .705882311, a: 1} + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11471116 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 1 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &11478340 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 143624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5b914d7e6b83f104da8b2a1c6bd64e3f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11484606 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153998} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: .960784316, g: .960784316, b: .960784316, a: 1} + m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} + m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11490744} + m_TextComponent: {fileID: 11462624} + m_Placeholder: {fileID: 11437484} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_EndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChange: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SelectionColor: {r: .65882355, g: .807843149, b: 1, a: .752941191} + m_Text: + m_CaretBlinkRate: .850000024 +--- !u!114 &11486842 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 107046} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5b914d7e6b83f104da8b2a1c6bd64e3f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11490744 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153998} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 6722231e3f6fe2e46accc3f24885f478, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11494884 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 +--- !u!114 &11498456 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 107046} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .941176534, g: .941176534, b: .941176534, a: 1} + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &22204088 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 190318} +--- !u!222 &22235272 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 143624} +--- !u!222 &22243032 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115076} +--- !u!222 &22249608 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140858} +--- !u!222 &22259526 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 177962} +--- !u!222 &22266140 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 107046} +--- !u!222 &22286486 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153998} +--- !u!222 &22286962 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121784} +--- !u!222 &22298816 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174612} +--- !u!223 &22366122 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140646} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingLayerID: 0 + m_SortingOrder: 2 +--- !u!224 &22422574 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 190318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22458496} + m_Father: {fileID: 22493054} + m_RootOrder: 1 + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -29, y: 0} + m_SizeDelta: {x: 58, y: 0} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22437006 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121784} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22493054} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: -.00183105469, y: .000823974609} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: -7.07805157e-08, y: .999999821} +--- !u!224 &22438428 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 143624} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22442358} + m_Father: {fileID: 22440086} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -512.005432, y: -98.9999695} + m_SizeDelta: {x: -1024.01074, y: -1034} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22440086 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140646} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 22438428} + m_Father: {fileID: 0} + m_RootOrder: 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!224 &22442358 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 107046} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22499676} + - {fileID: 22493054} + m_Father: {fileID: 22438428} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 350.000092, y: -209} + m_SizeDelta: {x: 700, y: 418} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22458496 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129524} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22481132} + m_Father: {fileID: 22422574} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -4.76837158e-07, y: 0} + m_SizeDelta: {x: -28, y: -28} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22481132 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 177962} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22458496} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22484914 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140858} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22499676} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22493054 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115076} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22437006} + - {fileID: 22422574} + m_Father: {fileID: 22442358} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 39} + m_SizeDelta: {x: 0, y: -78} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22498838 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174612} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22499676} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22499676 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153998} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22484914} + - {fileID: 22498838} + m_Father: {fileID: 22442358} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 1, y: .5} + m_AnchoredPosition: {x: -2, y: -170} + m_SizeDelta: {x: -16, y: 57} + m_Pivot: {x: .5, y: .5} +--- !u!225 &22516098 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140646} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 140646} + m_IsPrefabParent: 1 diff --git a/Assets/Standard Assets/Network/Prefabs/ChatWindow.prefab.meta b/Assets/Standard Assets/Network/Prefabs/ChatWindow.prefab.meta new file mode 100644 index 0000000..8f980cc --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/ChatWindow.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f7550ed7db481434086a8e69f0ff070c +timeCreated: 1438691319 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Prefabs/LobbyManager.prefab b/Assets/Standard Assets/Network/Prefabs/LobbyManager.prefab new file mode 100644 index 0000000..5df0f93 --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/LobbyManager.prefab @@ -0,0 +1,5555 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100882 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22491464} + - 222: {fileID: 22269130} + - 114: {fileID: 11489734} + - 114: {fileID: 11477488} + m_Layer: 5 + m_Name: BackButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &101042 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22452078} + - 222: {fileID: 22255694} + - 114: {fileID: 11436182} + m_Layer: 5 + m_Name: Ping + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &102456 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22444138} + - 222: {fileID: 22205830} + - 114: {fileID: 11486822} + - 114: {fileID: 11412334} + m_Layer: 5 + m_Name: ConnectingPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &106558 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22428082} + - 222: {fileID: 22296218} + - 114: {fileID: 11452540} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &112048 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22453414} + - 222: {fileID: 22275316} + - 114: {fileID: 11471648} + m_Layer: 5 + m_Name: DirectPlaySubPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &115500 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22447222} + - 222: {fileID: 22294122} + - 114: {fileID: 11474856} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &115900 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22477934} + - 222: {fileID: 22282130} + - 114: {fileID: 11407368} + - 114: {fileID: 11491566} + m_Layer: 5 + m_Name: CreateButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &118368 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22481172} + - 222: {fileID: 22252002} + - 114: {fileID: 11403930} + m_Layer: 5 + m_Name: HostingInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &119266 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22482056} + - 222: {fileID: 22238962} + - 114: {fileID: 11451830} + - 114: {fileID: 11445820} + m_Layer: 5 + m_Name: ConnectingPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &119664 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22465950} + - 222: {fileID: 22276918} + - 114: {fileID: 11426276} + m_Layer: 5 + m_Name: Slots + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &120400 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22442232} + - 222: {fileID: 22244092} + - 114: {fileID: 11477878} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &120900 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22452766} + - 114: {fileID: 11413810} + - 222: {fileID: 22289338} + - 114: {fileID: 11478402} + m_Layer: 5 + m_Name: CountdownPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &121704 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400892} + - 222: {fileID: 22287640} + - 114: {fileID: 11472088} + - 114: {fileID: 11480484} + m_Layer: 5 + m_Name: CancelButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &126124 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22422506} + - 222: {fileID: 22210350} + - 114: {fileID: 11445260} + m_Layer: 5 + m_Name: 'Host:' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &127076 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22401550} + - 114: {fileID: 11460916} + - 114: {fileID: 11453250} + m_Layer: 5 + m_Name: PlayerList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &127168 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22428408} + - 222: {fileID: 22231696} + - 114: {fileID: 11422884} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &127378 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22418284} + - 222: {fileID: 22237112} + - 114: {fileID: 11447690} + - 114: {fileID: 11424994} + m_Layer: 5 + m_Name: TopPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &127396 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22475612} + - 222: {fileID: 22291762} + - 114: {fileID: 11497686} + - 114: {fileID: 11492234} + - 114: {fileID: 11479200} + m_Layer: 5 + m_Name: PlayerListSubPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &128758 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22420200} + - 222: {fileID: 22204166} + - 114: {fileID: 11411062} + m_Layer: 5 + m_Name: FindAGame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &133246 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22475366} + - 222: {fileID: 22261406} + - 114: {fileID: 11468060} + - 114: {fileID: 11443636} + m_Layer: 5 + m_Name: PlayAndHostButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &134896 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22474222} + - 222: {fileID: 22248636} + - 114: {fileID: 11486290} + m_Layer: 5 + m_Name: IconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &135376 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22466426} + - 222: {fileID: 22289234} + - 114: {fileID: 11413568} + m_Layer: 5 + m_Name: OR + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &140634 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22488586} + - 222: {fileID: 22221880} + - 114: {fileID: 11478224} + m_Layer: 5 + m_Name: ServerListPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &142112 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22492398} + - 222: {fileID: 22288474} + - 114: {fileID: 11447366} + - 114: {fileID: 11409888} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &144076 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22440242} + - 222: {fileID: 22234188} + - 114: {fileID: 11403610} + m_Layer: 5 + m_Name: 'Status:' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &144256 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22459014} + - 222: {fileID: 22220370} + - 114: {fileID: 11422858} + - 114: {fileID: 11474082} + m_Layer: 5 + m_Name: AddButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &145168 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22475244} + - 222: {fileID: 22228312} + - 114: {fileID: 11413490} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &146232 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22409996} + - 222: {fileID: 22218090} + - 114: {fileID: 11462742} + - 114: {fileID: 11458212} + m_Layer: 5 + m_Name: JoinButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &146344 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22463094} + - 222: {fileID: 22239860} + - 114: {fileID: 11405198} + m_Layer: 0 + m_Name: MatchmakerSubPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &146438 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22468472} + - 222: {fileID: 22256252} + - 114: {fileID: 11474426} + - 114: {fileID: 11447752} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &148054 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22442386} + - 114: {fileID: 11438560} + m_Layer: 5 + m_Name: MainPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &149356 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22482268} + - 222: {fileID: 22268550} + - 114: {fileID: 11413196} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &150296 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22405390} + - 222: {fileID: 22249596} + - 114: {fileID: 11415712} + m_Layer: 5 + m_Name: StatusInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &153838 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22419570} + - 222: {fileID: 22276234} + - 114: {fileID: 11442388} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &155310 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22459552} + - 223: {fileID: 22312876} + - 114: {fileID: 11422868} + - 114: {fileID: 11466428} + - 114: {fileID: 11475086} + - 114: {fileID: 11415508} + m_Layer: 5 + m_Name: LobbyManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &157512 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22489602} + - 222: {fileID: 22289478} + - 114: {fileID: 11411206} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &157748 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22409970} + - 222: {fileID: 22293916} + - 114: {fileID: 11461806} + m_Layer: 5 + m_Name: Matchmaker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &157842 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22452086} + - 222: {fileID: 22228374} + - 114: {fileID: 11415452} + - 114: {fileID: 11467816} + - 114: {fileID: 11471934} + m_Layer: 5 + m_Name: PreviousButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &158718 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22442340} + - 222: {fileID: 22262680} + - 114: {fileID: 11434196} + m_Layer: 5 + m_Name: StartAGame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160802 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22429152} + - 114: {fileID: 11442006} + - 222: {fileID: 22249300} + - 114: {fileID: 11450428} + m_Layer: 5 + m_Name: InfoPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &161020 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22432700} + - 114: {fileID: 11440648} + m_Layer: 5 + m_Name: AddPlayerButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &161478 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22417688} + - 222: {fileID: 22218228} + - 114: {fileID: 11456716} + m_Layer: 5 + m_Name: ServerList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &164848 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22413772} + - 222: {fileID: 22203328} + - 114: {fileID: 11404728} + m_Layer: 5 + m_Name: ServerName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &167420 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22475122} + - 222: {fileID: 22279028} + - 114: {fileID: 11465630} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &170112 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22418156} + - 222: {fileID: 22232538} + - 114: {fileID: 11469840} + m_Layer: 5 + m_Name: JoinAGame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &174036 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22409036} + - 222: {fileID: 22245736} + - 114: {fileID: 11439030} + m_Layer: 5 + m_Name: DirectPlay + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &177652 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22430450} + - 222: {fileID: 22218898} + - 114: {fileID: 11459592} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &178410 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22443498} + - 222: {fileID: 22249058} + - 114: {fileID: 11407464} + - 114: {fileID: 11499846} + m_Layer: 5 + m_Name: LobbyPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &179948 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22403944} + - 222: {fileID: 22234518} + - 114: {fileID: 11420632} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &181294 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22464820} + - 222: {fileID: 22240290} + - 114: {fileID: 11490910} + - 114: {fileID: 11478738} + m_Layer: 5 + m_Name: DedicatedServerButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &181906 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22434328} + - 222: {fileID: 22237402} + - 114: {fileID: 11402578} + m_Layer: 5 + m_Name: NetworkLobbyExample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &183812 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22491510} + - 222: {fileID: 22253452} + - 114: {fileID: 11428192} + m_Layer: 5 + m_Name: HeaderSubPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185718 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22455308} + - 222: {fileID: 22203670} + - 114: {fileID: 11422522} + - 114: {fileID: 11430100} + m_Layer: 5 + m_Name: ListServerButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &187204 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22409424} + - 222: {fileID: 22203258} + - 114: {fileID: 11499128} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &187466 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22415988} + - 222: {fileID: 22243298} + - 114: {fileID: 11410598} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &188288 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495014} + - 222: {fileID: 22288496} + - 114: {fileID: 11476426} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &193664 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22402218} + - 222: {fileID: 22213516} + - 114: {fileID: 11480866} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195798 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22409562} + - 222: {fileID: 22235552} + - 114: {fileID: 11418158} + m_Layer: 5 + m_Name: CreateAGame + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &196032 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22496344} + - 222: {fileID: 22215242} + - 114: {fileID: 11466484} + m_Layer: 5 + m_Name: NavigationSubPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &196074 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22495902} + - 222: {fileID: 22290232} + - 114: {fileID: 11499368} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &197888 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22499350} + - 222: {fileID: 22276552} + - 114: {fileID: 11445598} + - 114: {fileID: 11480646} + - 114: {fileID: 11464096} + m_Layer: 5 + m_Name: NextButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &198742 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22443334} + - 222: {fileID: 22247678} + - 114: {fileID: 11430502} + - 114: {fileID: 11484364} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &198946 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22459004} + - 222: {fileID: 22289534} + - 114: {fileID: 11416654} + m_Layer: 5 + m_Name: NoServerFound + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &199228 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22424006} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &199766 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22403912} + - 222: {fileID: 22252334} + - 114: {fileID: 11406550} + m_Layer: 5 + m_Name: DirectPlayWarning + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &11402578 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 181906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 64 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: NETWORK LOBBY EXAMPLE +--- !u!114 &11403610 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 144076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 01cd679a1b9ee48bf9c546f6ce2cb97e, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: 'Status:' +--- !u!114 &11403930 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: Hosting +--- !u!114 &11404728 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164848} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: 'SERVER NAME + +' +--- !u!114 &11405198 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .941176534, g: .941176534, b: .941176534, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11406550 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 'This is a direct play server, it is not listed in "List servers" + + Other players have to connect using your IP address' +--- !u!114 &11407368 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11407464 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178410} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11409888 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 142112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: .960784316, g: .960784316, b: .960784316, a: 1} + m_PressedColor: {r: .960784376, g: .960784376, b: .960784376, a: 1} + m_DisabledColor: {r: .960784376, g: .960784376, b: .960784376, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11447366} + m_HandleRect: {fileID: 22495014} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11410598 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 187466} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 40 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: PLAY AND HOST +--- !u!114 &11411062 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 128758} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: FIND A GAME +--- !u!114 &11411206 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157512} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 40 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: LIST SERVERS +--- !u!114 &11412334 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 +--- !u!114 &11413196 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149356} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enter an address +--- !u!114 &11413490 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: JOIN +--- !u!114 &11413568 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 135376} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 40 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 25 + m_Alignment: 4 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: OR +--- !u!114 &11413810 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccb58ed657934fa4dacaa6afdf48bffc, type: 3} + m_Name: + m_EditorClassIdentifier: + UIText: {fileID: 11480866} +--- !u!114 &11415452 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11415508 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155310} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9c0578910bbe00d43919a92c7b9893fe, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11415712 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 150296} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: localhost +--- !u!114 &11416654 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 48 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: NO SERVERS FOUND +--- !u!114 &11418158 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195798} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: CREATE A GAME +--- !u!114 &11420632 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179948} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &11422522 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11422858 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 144256} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11422868 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155310} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 1 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &11422884 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 62 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: CONNECTING... +--- !u!114 &11424994 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127378} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 763992d85d3f6d4428454c2a968ce084, type: 3} + m_Name: + m_EditorClassIdentifier: + isInGame: 0 +--- !u!114 &11426276 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119664} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: SLOTS +--- !u!114 &11428192 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .941176474, g: .941176474, b: .941176474, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11430100 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: .800000012, b: .800000012, a: 1} + m_HighlightedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_PressedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_DisabledColor: {r: 0, g: .800000072, b: .800000072, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11422522} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11438560} + m_MethodName: OnClickOpenServerList + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11430502 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 6722231e3f6fe2e46accc3f24885f478, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11434196 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 158718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0 + m_Text: START A GAME +--- !u!114 &11436182 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: PING +--- !u!114 &11438560 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9a0312403f252434c912587ebde8fb96, type: 3} + m_Name: + m_EditorClassIdentifier: + lobbyManager: {fileID: 11475086} + lobbyServerList: {fileID: 22488586} + lobbyPanel: {fileID: 22443498} + ipInput: {fileID: 11447752} + matchNameInput: {fileID: 11484364} +--- !u!114 &11439030 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174036} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 52 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 30 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: MANUAL CONNECTION +--- !u!114 &11440648 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161020} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 100 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11442006 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160802} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1d17c9f1a79cf43479d9ac49a7e77a12, type: 3} + m_Name: + m_EditorClassIdentifier: + infoText: {fileID: 11422884} + buttonText: {fileID: 11499128} + singleButton: {fileID: 11480484} +--- !u!114 &11442388 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 100 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: CREATE +--- !u!114 &11443636 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133246} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: .800000012, b: .800000012, a: 1} + m_HighlightedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_PressedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_DisabledColor: {r: 0, g: .800000012, b: .800000012, a: .498039216} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11468060} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11438560} + m_MethodName: OnClickHost + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11445260 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 126124} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 01cd679a1b9ee48bf9c546f6ce2cb97e, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: 'Host:' +--- !u!114 &11445598 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 197888} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11445820 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119266} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 +--- !u!114 &11447366 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 142112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .941176534, g: .941176534, b: .941176534, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11447690 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127378} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11447752 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 1, g: 1, b: 1, a: 1} + m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} + m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11474426} + m_TextComponent: {fileID: 11465630} + m_Placeholder: {fileID: 11413196} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 96 + m_EndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChange: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SelectionColor: {r: 1, g: .964705884, b: 0, a: 1} + m_Text: 127.0.0.1 + m_CaretBlinkRate: .850000024 +--- !u!114 &11450428 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160802} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .0784313753, g: .0784313753, b: .0784313753, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11451830 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119266} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11452540 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106558} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: PREVIOUS +--- !u!114 &11453250 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 1 +--- !u!114 &11456716 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161478} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 +--- !u!114 &11458212 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: .396078467, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_PressedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_DisabledColor: {r: 1, g: 0, b: .396078467, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11462742} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11438560} + m_MethodName: OnClickJoin + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11459592 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 177652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: NEXT +--- !u!114 &11460916 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 +--- !u!114 &11461806 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157748} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 53 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 30 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0 + m_Text: MATCHMAKER +--- !u!114 &11462742 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11464096 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 197888} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 64 + m_MinHeight: 32 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11465630 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 167420} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 127.0.0.1 +--- !u!114 &11466428 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155310} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 0 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &11466484 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196032} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11467816 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: .800000012, b: .800000012, a: 1} + m_HighlightedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_PressedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_DisabledColor: {r: 0, g: .800000072, b: .800000072, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11415452} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11478224} + m_MethodName: ChangePage + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: -1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11468060 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133246} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11469840 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 6 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 0 + m_Text: JOIN A GAME +--- !u!114 &11471648 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 112048} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11471934 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 64 + m_MinHeight: 32 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11472088 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121704} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11474082 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 144256} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: .800000012, b: .800000012, a: 1} + m_HighlightedColor: {r: 0, g: .800000012, b: .800000012, a: 1} + m_PressedColor: {r: 0, g: .800000012, b: .800000012, a: 1} + m_DisabledColor: {r: 0, g: .800000012, b: .800000012, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .200000003 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11422858} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11475086} + m_MethodName: AddLocalPlayer + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11474426 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 6722231e3f6fe2e46accc3f24885f478, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11474856 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115500} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 40 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: DEDICATED SERVER +--- !u!114 &11475086 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155310} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 38de513803c5e60498ad31fbc327b120, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NetworkPort: 7777 + m_ServerBindToIP: 0 + m_ServerBindAddress: + m_NetworkAddress: localhost + m_DontDestroyOnLoad: 1 + m_RunInBackground: 1 + m_ScriptCRCCheck: 1 + m_SendPeerInfo: 0 + m_MaxDelay: .00999999978 + m_LogLevel: 2 + m_PlayerPrefab: {fileID: 0} + m_AutoCreatePlayer: 1 + m_PlayerSpawnMethod: 0 + m_OfflineScene: + m_OnlineScene: + m_SpawnPrefabs: [] + m_CustomConfig: 0 + m_MaxConnections: 4 + m_ConnectionConfig: + m_PacketSize: 1500 + m_FragmentSize: 500 + m_ResendTimeout: 1200 + m_DisconnectTimeout: 2000 + m_ConnectTimeout: 2000 + m_MinUpdateTimeout: 10 + m_PingTimeout: 500 + m_ReducedPingTimeout: 100 + m_AllCostTimeout: 20 + m_NetworkDropThreshold: 5 + m_OverflowDropThreshold: 5 + m_MaxConnectionAttempt: 10 + m_AckDelay: 33 + m_MaxCombinedReliableMessageSize: 100 + m_MaxCombinedReliableMessageCount: 10 + m_MaxSentMessageQueueSize: 128 + m_IsAcksLong: 0 + m_Channels: [] + m_Channels: 0500000000000000 + m_UseWebSockets: 0 + m_UseSimulator: 0 + m_SimulatedLatency: 1 + m_PacketLossPercentage: 0 + m_MatchHost: mm.unet.unity3d.com + m_MatchPort: 443 + isNetworkActive: 0 + matchMaker: {fileID: 0} + matchName: default + matchSize: 4 + m_ShowLobbyGUI: 0 + m_MaxPlayers: 3 + m_MaxPlayersPerConnection: 2 + m_MinPlayers: 2 + m_LobbyPlayerPrefab: {fileID: 11487034, guid: ad727d7e1462ecc4f83c898ecc501997, + type: 2} + m_GamePlayerPrefab: {fileID: 111598, guid: e1ae9de1b8dd57e41918d7f8b76a310d, type: 2} + m_LobbyScene: + m_PlayScene: + lobbySlots: [] + prematchCountdown: 3 + topPanel: {fileID: 11424994} + mainMenuPanel: {fileID: 22442386} + lobbyPanel: {fileID: 22443498} + infoPanel: {fileID: 11442006} + countdownPanel: {fileID: 11413810} + addPlayerButton: {fileID: 144256} + backButton: {fileID: 11477488} + statusInfo: {fileID: 11403930} + hostInfo: {fileID: 11415712} + _playerNumber: 0 + _isMatchmaking: 0 +--- !u!114 &11476426 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188288} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .705882311, g: .705882311, b: .705882311, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11477488 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: .396078467, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_PressedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_DisabledColor: {r: 1, g: 0, b: .396078467, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .200000003 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11489734} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11475086} + m_MethodName: GoBackButton + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11477878 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 100 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: BACK +--- !u!114 &11478224 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140634} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2fc8e7df4caaef14e97fb5dbb4825c5a, type: 3} + m_Name: + m_EditorClassIdentifier: + lobbyManager: {fileID: 11475086} + serverListRect: {fileID: 22417688} + serverEntryPrefab: {fileID: 104980, guid: 9a1af8c2b03c38c43a3e9c2b43db4483, type: 2} + noServerFound: {fileID: 198946} +--- !u!114 &11478402 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11478738 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 181294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: .800000012, b: .800000012, a: 1} + m_HighlightedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_PressedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_DisabledColor: {r: 0, g: .800000012, b: .800000012, a: .498039216} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11490910} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11438560} + m_MethodName: OnClickDedicated + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11479200 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11480484 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121704} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: .396078467, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_PressedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_DisabledColor: {r: 1, g: 0, b: .396078467, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11472088} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11480646 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 197888} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: .800000012, b: .800000012, a: 1} + m_HighlightedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_PressedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_DisabledColor: {r: 0, g: .800000072, b: .800000072, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11445598} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11478224} + m_MethodName: ChangePage + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11480866 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 193664} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 62 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: CONNECTING... +--- !u!114 &11484364 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: .960784316, g: .960784316, b: .960784316, a: 1} + m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} + m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11430502} + m_TextComponent: {fileID: 11420632} + m_Placeholder: {fileID: 11499368} + m_ContentType: 9 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 3 + m_CharacterLimit: 0 + m_EndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChange: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SelectionColor: {r: 1, g: .964705884, b: 0, a: 1} + m_Text: + m_CaretBlinkRate: .850000024 +--- !u!114 &11486290 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134896} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ef656a92b5be2d043b5bf03b4113af23, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11486822 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ea1a353ad7fa01940ae37eca7f03bfbb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11489734 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11490910 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 181294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11491566 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: .396078467, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_PressedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_DisabledColor: {r: 1, g: 0, b: .396078467, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11407368} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11438560} + m_MethodName: OnClickCreateMatchmakingGame + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11492234 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &11497686 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 22401550} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: .100000001 + m_Inertia: 1 + m_DecelerationRate: .135000005 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 0} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 11409888} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11499128 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 187204} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 52 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: CANCEL +--- !u!114 &11499368 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .656898797, g: .659215927, b: .661764741, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Input name... +--- !u!114 &11499846 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178410} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5156c0b327b8dd45a725d337f49b61c, type: 3} + m_Name: + m_EditorClassIdentifier: + playerListContentTransform: {fileID: 22401550} + warningDirectPlayServer: {fileID: 199766} + addButtonRow: {fileID: 22432700} +--- !u!222 &22203258 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 187204} +--- !u!222 &22203328 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164848} +--- !u!222 &22203670 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185718} +--- !u!222 &22204166 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 128758} +--- !u!222 &22205830 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102456} +--- !u!222 &22210350 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 126124} +--- !u!222 &22213516 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 193664} +--- !u!222 &22215242 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196032} +--- !u!222 &22218090 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146232} +--- !u!222 &22218228 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161478} +--- !u!222 &22218898 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 177652} +--- !u!222 &22220370 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 144256} +--- !u!222 &22221880 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140634} +--- !u!222 &22228312 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145168} +--- !u!222 &22228374 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157842} +--- !u!222 &22231696 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127168} +--- !u!222 &22232538 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170112} +--- !u!222 &22234188 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 144076} +--- !u!222 &22234518 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179948} +--- !u!222 &22235552 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195798} +--- !u!222 &22237112 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127378} +--- !u!222 &22237402 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 181906} +--- !u!222 &22238962 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119266} +--- !u!222 &22239860 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146344} +--- !u!222 &22240290 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 181294} +--- !u!222 &22243298 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 187466} +--- !u!222 &22244092 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120400} +--- !u!222 &22245736 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174036} +--- !u!222 &22247678 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198742} +--- !u!222 &22248636 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134896} +--- !u!222 &22249058 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178410} +--- !u!222 &22249300 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160802} +--- !u!222 &22249596 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 150296} +--- !u!222 &22252002 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118368} +--- !u!222 &22252334 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199766} +--- !u!222 &22253452 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183812} +--- !u!222 &22255694 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101042} +--- !u!222 &22256252 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146438} +--- !u!222 &22261406 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133246} +--- !u!222 &22262680 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 158718} +--- !u!222 &22268550 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149356} +--- !u!222 &22269130 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100882} +--- !u!222 &22275316 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 112048} +--- !u!222 &22276234 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153838} +--- !u!222 &22276552 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 197888} +--- !u!222 &22276918 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119664} +--- !u!222 &22279028 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 167420} +--- !u!222 &22282130 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115900} +--- !u!222 &22287640 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121704} +--- !u!222 &22288474 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 142112} +--- !u!222 &22288496 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188288} +--- !u!222 &22289234 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 135376} +--- !u!222 &22289338 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120900} +--- !u!222 &22289478 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157512} +--- !u!222 &22289534 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198946} +--- !u!222 &22290232 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196074} +--- !u!222 &22291762 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127396} +--- !u!222 &22293916 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157748} +--- !u!222 &22294122 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115500} +--- !u!222 &22296218 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106558} +--- !u!223 &22312876 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155310} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingLayerID: 0 + m_SortingOrder: 1 +--- !u!224 &22400892 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 121704} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22409424} + m_Father: {fileID: 22444138} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 196, y: -424} + m_SizeDelta: {x: 598, y: 84} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22401550 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127076} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22432700} + m_Father: {fileID: 22475612} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -83, y: 100} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22402218 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 193664} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22482056} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 1.52587891e-05, y: -3.05175781e-05} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22403912 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199766} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22443498} + m_RootOrder: 1 + m_AnchorMin: {x: .5, y: 0} + m_AnchorMax: {x: .5, y: 0} + m_AnchoredPosition: {x: -960.000061, y: 105} + m_SizeDelta: {x: 1920, y: 105} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22403944 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 179948} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22443334} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 10, y: -5} + m_SizeDelta: {x: -20, y: -10} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22405390 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 150296} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22418284} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 593.5, y: -44} + m_SizeDelta: {x: 325, y: 24} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22409036 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174036} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22453414} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 113, y: -40} + m_SizeDelta: {x: -229.699951, y: 42} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22409424 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 187204} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22400892} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22409562 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195798} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22463094} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 115, y: -116} + m_SizeDelta: {x: -202.699951, y: 23} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22409970 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157748} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22463094} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 113, y: -40} + m_SizeDelta: {x: 840.5, y: 39} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22409996 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146232} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22475244} + m_Father: {fileID: 22453414} + m_RootOrder: 7 + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -1000, y: -343} + m_SizeDelta: {x: 176, y: 52} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22413772 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 164848} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22491510} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 116, y: -36} + m_SizeDelta: {x: 260, y: 27} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22415988 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 187466} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22475366} + m_RootOrder: 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, y: 1} +--- !u!224 &22417688 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161478} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22488586} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -90} + m_SizeDelta: {x: 0, y: 600} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22418156 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170112} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22453414} + m_RootOrder: 5 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 115, y: -296} + m_SizeDelta: {x: -231.400024, y: 27} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22418284 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127378} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22434328} + - {fileID: 22491464} + - {fileID: 22440242} + - {fileID: 22405390} + - {fileID: 22422506} + - {fileID: 22481172} + m_Father: {fileID: 22459552} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 200} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22419570 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153838} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22477934} + m_RootOrder: 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, y: 1} +--- !u!224 &22420200 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 128758} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22463094} + m_RootOrder: 4 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 115, y: -261} + m_SizeDelta: {x: -202.699951, y: 23} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22422506 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 126124} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22418284} + m_RootOrder: 4 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 509, y: -44} + m_SizeDelta: {x: 84, y: 24} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22424006 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199228} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22495014} + m_Father: {fileID: 22492398} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -4.76837158e-07, y: 0} + m_SizeDelta: {x: -28, y: -28} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22428082 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106558} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22452086} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22428408 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127168} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22444138} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1.52587891e-05, y: -3.05175781e-05} + m_SizeDelta: {x: 986, y: 554} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22429152 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160802} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22444138} + m_Father: {fileID: 22459552} + m_RootOrder: 4 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: -.0117759705, y: 0} + m_SizeDelta: {x: 2158.30005, y: 1080} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22430450 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 177652} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22499350} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22432700 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161020} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22459014} + m_Father: {fileID: 22401550} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1039.34766, y: -50} + m_SizeDelta: {x: 2078.69531, y: 100} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22434328 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 181906} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22418284} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 112, y: 21} + m_SizeDelta: {x: 868, y: 46} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22440242 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 144076} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22418284} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 115.5, y: -44} + m_SizeDelta: {x: 105, y: 24} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22442232 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120400} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22491464} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 176, y: 52} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22442340 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 158718} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22453414} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 115, y: -117} + m_SizeDelta: {x: -231.699951, y: 25} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22442386 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148054} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22463094} + - {fileID: 22453414} + m_Father: {fileID: 22459552} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -200} + m_SizeDelta: {x: 0, y: 880} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22443334 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198742} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22495902} + - {fileID: 22403944} + m_Father: {fileID: 22463094} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 113.5, y: -160} + m_SizeDelta: {x: -1133.5, y: 55} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22443498 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178410} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22475612} + - {fileID: 22403912} + m_Father: {fileID: 22459552} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -200} + m_SizeDelta: {x: 0, y: 880} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22444138 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 102456} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22428408} + - {fileID: 22400892} + m_Father: {fileID: 22429152} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 465, y: -310} + m_SizeDelta: {x: 986, y: 554} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22447222 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115500} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22464820} + m_RootOrder: 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, y: 1} +--- !u!224 &22452078 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101042} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22491510} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1272, y: -36} + m_SizeDelta: {x: 104, y: 27} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22452086 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157842} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22428082} + m_Father: {fileID: 22496344} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 118.100037, y: -40} + m_SizeDelta: {x: 288, y: 80} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22452766 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120900} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22482056} + m_Father: {fileID: 22459552} + m_RootOrder: 5 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: -.0195236206, y: 3.05175781e-05} + m_SizeDelta: {x: 2158.30005, y: 1080} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22453414 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 112048} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22409036} + - {fileID: 22442340} + - {fileID: 22475366} + - {fileID: 22466426} + - {fileID: 22464820} + - {fileID: 22418156} + - {fileID: 22468472} + - {fileID: 22409996} + m_Father: {fileID: 22442386} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -440.000122} + m_SizeDelta: {x: 0, y: 440} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22455308 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185718} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22489602} + m_Father: {fileID: 22463094} + m_RootOrder: 5 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 115, y: -303} + m_SizeDelta: {x: -230, y: 85} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22459004 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198946} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22488586} + m_RootOrder: 3 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: -302.5, y: 96.5} + m_SizeDelta: {x: 605, y: 193} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22459014 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 144256} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22474222} + m_Father: {fileID: 22432700} + m_RootOrder: 0 + m_AnchorMin: {x: 1, y: .5} + m_AnchorMax: {x: 1, y: .5} + m_AnchoredPosition: {x: -85, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22459552 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155310} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 22418284} + - {fileID: 22442386} + - {fileID: 22488586} + - {fileID: 22443498} + - {fileID: 22429152} + - {fileID: 22452766} + m_Father: {fileID: 0} + m_RootOrder: 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!224 &22463094 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146344} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22409970} + - {fileID: 22409562} + - {fileID: 22443334} + - {fileID: 22477934} + - {fileID: 22420200} + - {fileID: 22455308} + m_Father: {fileID: 22442386} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -9.15527344e-05} + m_SizeDelta: {x: 0, y: 440} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22464820 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 181294} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22447222} + m_Father: {fileID: 22453414} + m_RootOrder: 4 + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -117, y: -163} + m_SizeDelta: {x: 500, y: 85} + m_Pivot: {x: 1, y: 1} +--- !u!224 &22465950 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119664} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22491510} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 960, y: -36} + m_SizeDelta: {x: 104, y: 27} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22466426 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 135376} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22453414} + m_RootOrder: 3 + m_AnchorMin: {x: .5, y: 1} + m_AnchorMax: {x: .5, y: 1} + m_AnchoredPosition: {x: -9.53674316e-07, y: -163} + m_SizeDelta: {x: 100, y: 85} + m_Pivot: {x: .5, y: 1} +--- !u!224 &22468472 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 146438} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22482268} + - {fileID: 22475122} + m_Father: {fileID: 22453414} + m_RootOrder: 6 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 113.5, y: -341} + m_SizeDelta: {x: -1133.5, y: 55} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22474222 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134896} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22459014} + m_RootOrder: 0 + m_AnchorMin: {x: .100000001, y: .100000001} + m_AnchorMax: {x: .899999976, y: .899999976} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22475122 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 167420} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22468472} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 10, y: -5} + m_SizeDelta: {x: -20, y: -10} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22475244 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145168} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22409996} + m_RootOrder: 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, y: 1} +--- !u!224 &22475366 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 133246} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22415988} + m_Father: {fileID: 22453414} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 117, y: -163} + m_SizeDelta: {x: 500, y: 85} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22475612 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 127396} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22401550} + - {fileID: 22492398} + m_Father: {fileID: 22443498} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 1.52587891e-05} + m_SizeDelta: {x: 0, y: 880} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22477934 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115900} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22419570} + m_Father: {fileID: 22463094} + m_RootOrder: 3 + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -1000, y: -161} + m_SizeDelta: {x: 176, y: 52} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22481172 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118368} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22418284} + m_RootOrder: 5 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 221, y: -44} + m_SizeDelta: {x: 288, y: 24} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22482056 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119266} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22402218} + m_Father: {fileID: 22452766} + m_RootOrder: 0 + m_AnchorMin: {x: .5, y: .5} + m_AnchorMax: {x: .5, y: .5} + m_AnchoredPosition: {x: -493, y: 277} + m_SizeDelta: {x: 986, y: 554} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22482268 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149356} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22468472} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 10, y: -5} + m_SizeDelta: {x: -20, y: -10} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22488586 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 140634} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22491510} + - {fileID: 22417688} + - {fileID: 22496344} + - {fileID: 22459004} + m_Father: {fileID: 22459552} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -200} + m_SizeDelta: {x: 0, y: 880} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22489602 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157512} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22455308} + m_RootOrder: 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, y: 1} +--- !u!224 &22491464 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100882} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22442232} + m_Father: {fileID: 22418284} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 987, y: 21} + m_SizeDelta: {x: 176, y: 52} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22491510 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 183812} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22413772} + - {fileID: 22465950} + - {fileID: 22452078} + m_Father: {fileID: 22488586} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 90} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22492398 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 142112} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22424006} + m_Father: {fileID: 22475612} + m_RootOrder: 1 + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 83, y: 0} + m_Pivot: {x: 1, y: .5} +--- !u!224 &22495014 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 188288} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22424006} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22495902 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196074} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22443334} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 10, y: -5} + m_SizeDelta: {x: -20, y: -10} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22496344 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196032} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22452086} + - {fileID: 22499350} + m_Father: {fileID: 22488586} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -690} + m_SizeDelta: {x: 0, y: 190} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22499350 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 197888} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22430450} + m_Father: {fileID: 22496344} + m_RootOrder: 1 + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -118, y: -40} + m_SizeDelta: {x: 289.600006, y: 80} + m_Pivot: {x: 1, y: 1} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_GamePlayerPrefab + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MatchWidthOrHeight + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchorMax.x + value: .5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SizeDelta.x + value: 500 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchorMin.x + value: .5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchoredPosition.x + value: -250 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchoredPosition.y + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Pivot.x + value: .5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_FontData.m_Alignment + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_FontData.m_HorizontalOverflow + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_FontData.m_VerticalOverflow + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Text + value: OR + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_FontData.m_RichText + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_FontData.m_LineSpacing + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchorMin.y + value: .5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchorMax.y + value: .5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Pivot.y + value: .5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LobbyScene + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlayScene + value: + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 155310} + m_IsPrefabParent: 1 diff --git a/Assets/Standard Assets/Network/Prefabs/LobbyManager.prefab.meta b/Assets/Standard Assets/Network/Prefabs/LobbyManager.prefab.meta new file mode 100644 index 0000000..c0d02d1 --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/LobbyManager.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c0978251ff7b10d4fb954a4b56acd9f0 +timeCreated: 1434535812 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Prefabs/NewIcons.prefab b/Assets/Standard Assets/Network/Prefabs/NewIcons.prefab new file mode 100644 index 0000000..2aad640 --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/NewIcons.prefab @@ -0,0 +1,942 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &108338 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22441746} + - 222: {fileID: 22267708} + - 114: {fileID: 11414774} + m_Layer: 5 + m_Name: IconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &123338 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22400128} + - 222: {fileID: 22291542} + - 114: {fileID: 11421132} + - 114: {fileID: 11461674} + m_Layer: 5 + m_Name: AddButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &129134 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22485530} + - 222: {fileID: 22290212} + - 114: {fileID: 11425554} + m_Layer: 5 + m_Name: IconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &131830 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22476204} + - 222: {fileID: 22255132} + - 114: {fileID: 11444102} + m_Layer: 5 + m_Name: IconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &138418 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22474208} + - 222: {fileID: 22248266} + - 114: {fileID: 11476050} + m_Layer: 5 + m_Name: IconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &156656 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22407400} + - 222: {fileID: 22263338} + - 114: {fileID: 11409692} + m_Layer: 5 + m_Name: RemoteIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &156754 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22482518} + - 222: {fileID: 22207462} + - 114: {fileID: 11410344} + m_Layer: 5 + m_Name: LocalIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &157454 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22478632} + - 223: {fileID: 22355082} + - 114: {fileID: 11449686} + - 114: {fileID: 11410132} + m_Layer: 5 + m_Name: NewIcons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &161916 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22474958} + - 222: {fileID: 22256888} + - 114: {fileID: 11472112} + - 114: {fileID: 11489568} + m_Layer: 5 + m_Name: RemoveDisabled + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &176544 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22404552} + - 222: {fileID: 22227554} + - 114: {fileID: 11465328} + - 114: {fileID: 11424578} + m_Layer: 5 + m_Name: RemoveEnabled + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &196448 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22442144} + - 222: {fileID: 22249708} + - 114: {fileID: 11437562} + m_Layer: 5 + m_Name: IconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11409692 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11410132 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 0 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &11410344 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11414774 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 108338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 70ed02e882fd2ac46a242f45f5ea35df, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11421132 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 123338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11424578 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: 0.39607847, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: 0.39607847, a: 1} + m_PressedColor: {r: 1, g: 0, b: 0.39607847, a: 1} + m_DisabledColor: {r: 1, g: 0, b: 0.39607847, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.2 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11465328} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: AddLocalPlayer + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11425554 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129134} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 89b3345b531885643a5611b3792ff491, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11437562 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 11f191f8d6382e349be699ab8fe1d300, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11444102 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131830} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 89b3345b531885643a5611b3792ff491, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11449686 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 1 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &11461674 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 123338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_HighlightedColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_PressedColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_DisabledColor: {r: 0, g: 0.8, b: 0.8, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.2 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11421132} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: AddLocalPlayer + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11465328 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11472112 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11476050 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 138418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ef656a92b5be2d043b5bf03b4113af23, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11489568 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.63235295, g: 0.61375433, b: 0.61375433, a: 1} + m_HighlightedColor: {r: 0.63235295, g: 0.61375433, b: 0.61375433, a: 1} + m_PressedColor: {r: 0.63235295, g: 0.61375433, b: 0.61375433, a: 1} + m_DisabledColor: {r: 0.63235295, g: 0.61375433, b: 0.61375433, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: 0.2 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11472112} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: AddLocalPlayer + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!222 &22207462 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156754} +--- !u!222 &22227554 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176544} +--- !u!222 &22248266 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 138418} +--- !u!222 &22249708 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196448} +--- !u!222 &22255132 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131830} +--- !u!222 &22256888 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161916} +--- !u!222 &22263338 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156656} +--- !u!222 &22267708 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 108338} +--- !u!222 &22290212 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129134} +--- !u!222 &22291542 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 123338} +--- !u!223 &22355082 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157454} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingLayerID: 0 + m_SortingOrder: 1 + m_TargetDisplay: 0 +--- !u!224 &22400128 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 123338} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22474208} + m_Father: {fileID: 22478632} + m_RootOrder: 2 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -80} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &22404552 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176544} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22476204} + m_Father: {fileID: 22478632} + m_RootOrder: 3 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -160} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &22407400 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156656} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22442144} + m_Father: {fileID: 22478632} + m_RootOrder: 0 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &22441746 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 108338} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22482518} + m_RootOrder: 0 + m_AnchorMin: {x: 0.1, y: 0.15} + m_AnchorMax: {x: 0.9, y: 0.85} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &22442144 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 196448} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22407400} + m_RootOrder: 0 + m_AnchorMin: {x: 0.1, y: 0.1} + m_AnchorMax: {x: 0.9, y: 0.9} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &22474208 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 138418} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22400128} + m_RootOrder: 0 + m_AnchorMin: {x: 0.1, y: 0.1} + m_AnchorMax: {x: 0.9, y: 0.9} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &22474958 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161916} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22485530} + m_Father: {fileID: 22478632} + m_RootOrder: 4 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -240} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &22476204 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131830} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22404552} + m_RootOrder: 0 + m_AnchorMin: {x: 0.1, y: 0.1} + m_AnchorMax: {x: 0.9, y: 0.9} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &22478632 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157454} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 22407400} + - {fileID: 22482518} + - {fileID: 22400128} + - {fileID: 22404552} + - {fileID: 22474958} + m_Father: {fileID: 0} + m_RootOrder: 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!224 &22482518 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156754} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22441746} + m_Father: {fileID: 22478632} + m_RootOrder: 1 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 80} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &22485530 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 129134} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22474958} + m_RootOrder: 0 + m_AnchorMin: {x: 0.1, y: 0.1} + m_AnchorMax: {x: 0.9, y: 0.9} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 157454} + m_IsPrefabParent: 1 diff --git a/Assets/Standard Assets/Network/Prefabs/NewIcons.prefab.meta b/Assets/Standard Assets/Network/Prefabs/NewIcons.prefab.meta new file mode 100644 index 0000000..11c04c4 --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/NewIcons.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5a78353c03d362346b85af273d687d7f +timeCreated: 1446573175 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Prefabs/PlayerInfo.prefab b/Assets/Standard Assets/Network/Prefabs/PlayerInfo.prefab new file mode 100644 index 0000000..68bef9d --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/PlayerInfo.prefab @@ -0,0 +1,1635 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &108516 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22499820} + - 222: {fileID: 22243862} + - 114: {fileID: 11470734} + - 114: {fileID: 11440798} + m_Layer: 5 + m_Name: NotReadyButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &109404 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22455824} + - 222: {fileID: 22200190} + - 114: {fileID: 11453288} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &114728 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22432362} + - 222: {fileID: 22223256} + - 114: {fileID: 11448346} + m_Layer: 5 + m_Name: IconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &116160 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22423824} + - 222: {fileID: 22207484} + - 114: {fileID: 11444142} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &116558 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22460344} + - 222: {fileID: 22273042} + - 114: {fileID: 11486682} + - 114: {fileID: 11487112} + m_Layer: 5 + m_Name: PlayerName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &131638 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22435158} + - 222: {fileID: 22247284} + - 114: {fileID: 11473722} + - 114: {fileID: 11413860} + m_Layer: 5 + m_Name: JoinButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &134858 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22450726} + - 222: {fileID: 22283698} + - 114: {fileID: 11472042} + - 114: {fileID: 11405868} + m_Layer: 5 + m_Name: WaitingPlayers + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &152912 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22416830} + - 222: {fileID: 22208002} + - 114: {fileID: 11472504} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &153088 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22427978} + - 222: {fileID: 22216092} + m_Layer: 5 + m_Name: LocalIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &153230 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22436984} + - 222: {fileID: 22247868} + - 114: {fileID: 11454254} + - 114: {fileID: 11488840} + m_Layer: 5 + m_Name: Color + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &155390 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22477586} + - 222: {fileID: 22283304} + - 114: {fileID: 11437878} + - 114: {fileID: 11417486} + - 114: {fileID: 11414150} + - 114: {fileID: 11487034} + m_Layer: 5 + m_Name: PlayerInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &159926 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22413236} + - 222: {fileID: 22200170} + - 114: {fileID: 11441744} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &170278 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22448096} + - 222: {fileID: 22223360} + - 114: {fileID: 11462604} + m_Layer: 5 + m_Name: IconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &178858 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22441578} + - 222: {fileID: 22223468} + - 114: {fileID: 11459504} + - 114: {fileID: 11443358} + m_Layer: 5 + m_Name: RemoveIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &185620 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22452140} + - 222: {fileID: 22208162} + - 114: {fileID: 11487228} + m_Layer: 5 + m_Name: IconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &189178 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22465144} + - 222: {fileID: 22202362} + m_Layer: 5 + m_Name: RemoteIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &192674 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22439062} + - 222: {fileID: 22231786} + - 114: {fileID: 11472370} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11405868 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 0, g: .800000012, b: .800000012, a: 1} + m_HighlightedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_PressedColor: {r: 0, g: .800000072, b: .800000072, a: 1} + m_DisabledColor: {r: 0, g: .800000072, b: .800000072, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .200000003 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 0 + m_TargetGraphic: {fileID: 11472042} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: GoBackButton + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11413860 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131638} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: .396078467, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_PressedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_DisabledColor: {r: 1, g: 0, b: .396078467, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .200000003 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11473722} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: GoBackButton + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11414150 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 372142912, guid: 870353891bb340e2b2a9c8707e7419ba, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SceneId: + m_Value: 0 + m_AssetId: + i0: 173 + i1: 114 + i2: 125 + i3: 126 + i4: 20 + i5: 98 + i6: 236 + i7: 196 + i8: 248 + i9: 60 + i10: 137 + i11: 142 + i12: 204 + i13: 80 + i14: 25 + i15: 151 + m_ServerOnly: 0 + m_LocalPlayerAuthority: 1 +--- !u!114 &11417486 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 100 + m_PreferredWidth: -1 + m_PreferredHeight: 100 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11437878 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .980392158, g: .980392158, b: .980392158, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11440798 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 108516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_HighlightedColor: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_PressedColor: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_DisabledColor: {r: .13333334, g: .172549024, b: .215686291, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .200000003 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11470734} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: GoBackButton + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11441744 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 159926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Player Name +--- !u!114 &11443358 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: .396078467, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_PressedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_DisabledColor: {r: .632352948, g: .613754332, b: .613754332, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .200000003 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11459504} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11487034} + m_MethodName: OnRemovePlayerClick + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11444142 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: +--- !u!114 &11448346 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 114728} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 70ed02e882fd2ac46a242f45f5ea35df, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11453288 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109404} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 100 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: JOIN +--- !u!114 &11454254 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: dabe9eea891f29d4997e3b19e05c415b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11459504 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11462604 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 89b3345b531885643a5611b3792ff491, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11470734 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 108516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11472042 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .823529482, g: .929411829, b: .945098102, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11472370 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 192674} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 100 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Waiting for players +--- !u!114 &11472504 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152912} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 100 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: '...' +--- !u!114 &11473722 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131638} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11486682 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116558} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11487034 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 811523f8e578d6f4abb259f1fbaa5e0c, type: 3} + m_Name: + m_EditorClassIdentifier: + ShowLobbyGUI: 0 + colorButton: {fileID: 11488840} + nameInput: {fileID: 11487112} + readyButton: {fileID: 11413860} + waitingPlayerButton: {fileID: 11405868} + removePlayerButton: {fileID: 11443358} + localIcone: {fileID: 153088} + remoteIcone: {fileID: 189178} + playerName: + playerColor: {r: 1, g: 1, b: 1, a: 1} + OddRowColor: {r: .980392158, g: .980392158, b: .980392158, a: 1} + EvenRowColor: {r: .70588237, g: .70588237, b: .70588237, a: 1} +--- !u!114 &11487112 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116558} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} + m_PressedColor: {r: .980392158, g: .980392158, b: .980392158, a: 1} + m_DisabledColor: {r: .980392158, g: .980392158, b: .980392158, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11486682} + m_TextComponent: {fileID: 11444142} + m_Placeholder: {fileID: 11441744} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_EndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChange: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SelectionColor: {r: 1, g: .964705884, b: 0, a: 1} + m_Text: + m_CaretBlinkRate: .850000024 +--- !u!114 &11487228 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185620} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686291, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 11f191f8d6382e349be699ab8fe1d300, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11488840 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1} + m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11454254} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!222 &22200170 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 159926} +--- !u!222 &22200190 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109404} +--- !u!222 &22202362 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 189178} +--- !u!222 &22207484 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116160} +--- !u!222 &22208002 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152912} +--- !u!222 &22208162 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185620} +--- !u!222 &22216092 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153088} +--- !u!222 &22223256 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 114728} +--- !u!222 &22223360 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170278} +--- !u!222 &22223468 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178858} +--- !u!222 &22231786 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 192674} +--- !u!222 &22243862 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 108516} +--- !u!222 &22247284 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131638} +--- !u!222 &22247868 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153230} +--- !u!222 &22273042 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116558} +--- !u!222 &22283304 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155390} +--- !u!222 &22283698 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134858} +--- !u!224 &22413236 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 159926} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22460344} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -12} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22416830 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152912} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22499820} + m_RootOrder: 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, y: .5} +--- !u!224 &22423824 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116160} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22460344} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -12} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22427978 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153088} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22432362} + m_Father: {fileID: 22477586} + m_RootOrder: 6 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 50, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22432362 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 114728} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22427978} + m_RootOrder: 0 + m_AnchorMin: {x: .100000001, y: .150000006} + m_AnchorMax: {x: .899999976, y: .850000024} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22435158 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131638} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22455824} + m_Father: {fileID: 22477586} + m_RootOrder: 1 + m_AnchorMin: {x: 1, y: .5} + m_AnchorMax: {x: 1, y: .5} + m_AnchoredPosition: {x: -149.800003, y: 0} + m_SizeDelta: {x: 176, y: 52} + m_Pivot: {x: 1, y: .5} +--- !u!224 &22436984 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 153230} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22477586} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 200, y: 0} + m_SizeDelta: {x: 76.8000031, y: 46.5} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22439062 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 192674} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22450726} + m_RootOrder: 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, y: .5} +--- !u!224 &22441578 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 178858} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22448096} + m_Father: {fileID: 22477586} + m_RootOrder: 7 + m_AnchorMin: {x: 1, y: .5} + m_AnchorMax: {x: 1, y: .5} + m_AnchoredPosition: {x: -85, y: -1} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22448096 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170278} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22441578} + m_RootOrder: 0 + m_AnchorMin: {x: .100000001, y: .100000001} + m_AnchorMax: {x: .899999976, y: .899999976} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22450726 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134858} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22439062} + m_Father: {fileID: 22477586} + m_RootOrder: 2 + m_AnchorMin: {x: 1, y: .5} + m_AnchorMax: {x: 1, y: .5} + m_AnchoredPosition: {x: -85, y: -3.81469727e-06} + m_SizeDelta: {x: 315, y: 52} + m_Pivot: {x: 1, y: .5} +--- !u!224 &22452140 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 185620} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22465144} + m_RootOrder: 0 + m_AnchorMin: {x: .100000001, y: .100000001} + m_AnchorMax: {x: .899999976, y: .899999976} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: .5, y: .5} +--- !u!224 &22455824 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109404} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22435158} + m_RootOrder: 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, y: .5} +--- !u!224 &22460344 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116558} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22413236} + - {fileID: 22423824} + m_Father: {fileID: 22477586} + m_RootOrder: 4 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 1, y: .5} + m_AnchoredPosition: {x: 336, y: 0} + m_SizeDelta: {x: -744.299988, y: 45} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22465144 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 189178} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22452140} + m_Father: {fileID: 22477586} + m_RootOrder: 5 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 50, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22477586 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 155390} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -784} + m_LocalScale: {x: .71572125, y: .715721369, z: .715721369} + m_Children: + - {fileID: 22436984} + - {fileID: 22435158} + - {fileID: 22450726} + - {fileID: 22499820} + - {fileID: 22460344} + - {fileID: 22465144} + - {fileID: 22427978} + - {fileID: 22441578} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 1290.40002, y: 938} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!224 &22499820 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 108516} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22416830} + m_Father: {fileID: 22477586} + m_RootOrder: 3 + m_AnchorMin: {x: 1, y: .5} + m_AnchorMax: {x: 1, y: .5} + m_AnchoredPosition: {x: -20, y: 0} + m_SizeDelta: {x: 176, y: 52} + m_Pivot: {x: 1, y: .5} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SizeDelta.y + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Colors.m_PressedColor.r + value: .980392158 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Colors.m_PressedColor.g + value: .980392158 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Colors.m_PressedColor.b + value: .980392158 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Colors.m_DisabledColor.a + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Colors.m_DisabledColor.r + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Colors.m_DisabledColor.g + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Colors.m_DisabledColor.b + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Transition + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: waitingPlayerButton + value: + objectReference: {fileID: 11405868} + - target: {fileID: 0} + propertyPath: ShowLobbyGUI + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SizeDelta.x + value: -686 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchoredPosition.x + value: -20 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Pivot.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LocalPlayerAuthority + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 11487034} + - target: {fileID: 0} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: OnRemovePlayerClick + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgument + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: removePlayerButton + value: + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 155390} + m_IsPrefabParent: 1 diff --git a/Assets/Standard Assets/Network/Prefabs/PlayerInfo.prefab.meta b/Assets/Standard Assets/Network/Prefabs/PlayerInfo.prefab.meta new file mode 100644 index 0000000..f4680f3 --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/PlayerInfo.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ad727d7e1462ecc4f83c898ecc501997 +timeCreated: 1435828321 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Prefabs/ServerInfoEntry.prefab b/Assets/Standard Assets/Network/Prefabs/ServerInfoEntry.prefab new file mode 100644 index 0000000..c8f5756 --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/ServerInfoEntry.prefab @@ -0,0 +1,496 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &101316 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22462944} + - 222: {fileID: 22288584} + - 114: {fileID: 11491464} + - 114: {fileID: 11481954} + m_Layer: 5 + m_Name: JoinButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &104980 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22497246} + - 222: {fileID: 22209220} + - 114: {fileID: 11437134} + - 114: {fileID: 11446726} + m_Layer: 5 + m_Name: ServerInfoEntry + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &109396 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22450210} + - 222: {fileID: 22224866} + - 114: {fileID: 11437380} + m_Layer: 5 + m_Name: ServerName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &117232 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22452730} + - 222: {fileID: 22259880} + - 114: {fileID: 11423146} + m_Layer: 5 + m_Name: Slots + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &176758 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22487872} + - 222: {fileID: 22280442} + - 114: {fileID: 11498928} + m_Layer: 5 + m_Name: Ping + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &184656 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22441336} + - 222: {fileID: 22221304} + - 114: {fileID: 11478862} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11423146 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 117232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 00/00 +--- !u!114 &11437134 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104980} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11437380 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Server Name +--- !u!114 &11446726 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104980} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: abd4c2a2c71a1214da4f39391c1a8122, type: 3} + m_Name: + m_EditorClassIdentifier: + serverInfoText: {fileID: 11437380} + slotInfo: {fileID: 11423146} + joinButton: {fileID: 11481954} +--- !u!114 &11478862 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 184656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 87c316b602156405d92e616621658222, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 100 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: JOIN +--- !u!114 &11481954 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 0, b: .396078467, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_PressedColor: {r: 1, g: 0, b: .396078467, a: 1} + m_DisabledColor: {r: 1, g: 0, b: .396078467, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .200000003 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11491464} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: GoBackButton + 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 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11491464 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: 56c4630952ccd9546aa30a1eddc073e8, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11498928 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176758} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .13333334, g: .172549024, b: .215686277, a: 1} + m_FontData: + m_Font: {fileID: 12800000, guid: 04a842e316b6f44bf8da702de26a8ed6, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 3 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 00ms +--- !u!222 &22209220 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104980} +--- !u!222 &22221304 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 184656} +--- !u!222 &22224866 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109396} +--- !u!222 &22259880 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 117232} +--- !u!222 &22280442 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176758} +--- !u!222 &22288584 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101316} +--- !u!224 &22441336 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 184656} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22462944} + m_RootOrder: 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, y: .5} +--- !u!224 &22450210 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109396} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22497246} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 116, y: 0} + m_SizeDelta: {x: 790, y: 25} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22452730 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 117232} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22497246} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 962, y: 0} + m_SizeDelta: {x: 110, y: 25} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22462944 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101316} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22441336} + m_Father: {fileID: 22497246} + m_RootOrder: 3 + m_AnchorMin: {x: 1, y: .5} + m_AnchorMax: {x: 1, y: .5} + m_AnchoredPosition: {x: -50, y: 0} + m_SizeDelta: {x: 176, y: 52} + m_Pivot: {x: 1, y: .5} +--- !u!224 &22487872 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 176758} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22497246} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: .5} + m_AnchorMax: {x: 0, y: .5} + m_AnchoredPosition: {x: 1272, y: 0} + m_SizeDelta: {x: 110, y: 25} + m_Pivot: {x: 0, y: .5} +--- !u!224 &22497246 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 104980} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22450210} + - {fileID: 22452730} + - {fileID: 22487872} + - {fileID: 22462944} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: slotInfo + value: + objectReference: {fileID: 11423146} + - target: {fileID: 0} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AnchoredPosition.x + value: -50 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Pivot.x + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 104980} + m_IsPrefabParent: 1 diff --git a/Assets/Standard Assets/Network/Prefabs/ServerInfoEntry.prefab.meta b/Assets/Standard Assets/Network/Prefabs/ServerInfoEntry.prefab.meta new file mode 100644 index 0000000..7d9d490 --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/ServerInfoEntry.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a1af8c2b03c38c43a3e9c2b43db4483 +timeCreated: 1435828868 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Prefabs/ServerNameGroup.prefab b/Assets/Standard Assets/Network/Prefabs/ServerNameGroup.prefab new file mode 100644 index 0000000..60db0a4 --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/ServerNameGroup.prefab @@ -0,0 +1,404 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &148542 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22448542} + - 222: {fileID: 22236530} + - 114: {fileID: 11446268} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &157726 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22482702} + - 222: {fileID: 22254494} + - 114: {fileID: 11425582} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &194658 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22433502} + - 114: {fileID: 11475440} + - 114: {fileID: 11486258} + m_Layer: 5 + m_Name: ServerNameGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &198050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22496188} + - 222: {fileID: 22292068} + - 114: {fileID: 11441578} + - 114: {fileID: 11490448} + - 114: {fileID: 11497160} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &198294 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22453220} + - 222: {fileID: 22277348} + - 114: {fileID: 11465900} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11425582 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157726} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + 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_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Button +--- !u!114 &11441578 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + 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 +--- !u!114 &11446268 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148542} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: .196078435, g: .196078435, b: .196078435, a: 1} + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: SERVERNAME +--- !u!114 &11465900 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: .39199999} + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11475440 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 42 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 +--- !u!114 &11486258 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 2 + m_Right: 2 + m_Top: 2 + m_Bottom: 2 + m_ChildAlignment: 4 + m_Spacing: 6 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 +--- !u!114 &11490448 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: .960784316, g: .960784316, b: .960784316, a: 1} + m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1} + m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814} + m_ColorMultiplier: 1 + m_FadeDuration: .100000001 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 11441578} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &11497160 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 32 + m_MinHeight: -1 + m_PreferredWidth: 32 + m_PreferredHeight: -1 + m_FlexibleWidth: 0 + m_FlexibleHeight: -1 +--- !u!222 &22236530 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148542} +--- !u!222 &22254494 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157726} +--- !u!222 &22277348 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198294} +--- !u!222 &22292068 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198050} +--- !u!224 &22433502 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 194658} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22453220} + - {fileID: 22496188} + m_Father: {fileID: 0} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22448542 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 148542} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22453220} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22453220 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198294} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22448542} + m_Father: {fileID: 22433502} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22482702 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 157726} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 22496188} + m_RootOrder: 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: .5, y: .5} +--- !u!224 &22496188 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 22482702} + m_Father: {fileID: 22433502} + m_RootOrder: 1 + 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: .5, y: .5} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 194658} + m_IsPrefabParent: 1 diff --git a/Assets/Standard Assets/Network/Prefabs/ServerNameGroup.prefab.meta b/Assets/Standard Assets/Network/Prefabs/ServerNameGroup.prefab.meta new file mode 100644 index 0000000..b143d7e --- /dev/null +++ b/Assets/Standard Assets/Network/Prefabs/ServerNameGroup.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a970a8482fbcf14fb515e9843318b46 +timeCreated: 1434536354 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts.meta b/Assets/Standard Assets/Network/Scripts.meta new file mode 100644 index 0000000..eb904e3 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0a1f58d554ac2b44dae58255b6daa8de +folderAsset: yes +timeCreated: 1436977288 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/DraggablePanel.cs b/Assets/Standard Assets/Network/Scripts/DraggablePanel.cs new file mode 100644 index 0000000..ee762fc --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/DraggablePanel.cs @@ -0,0 +1,11 @@ +using System; +using UnityEngine; +using UnityEngine.EventSystems; + +public class DraggablePanel : MonoBehaviour, IDragHandler +{ + public void OnDrag(PointerEventData eventData) + { + transform.Translate(eventData.delta); + } +} diff --git a/Assets/Standard Assets/Network/Scripts/DraggablePanel.cs.meta b/Assets/Standard Assets/Network/Scripts/DraggablePanel.cs.meta new file mode 100644 index 0000000..ad26a5c --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/DraggablePanel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5b914d7e6b83f104da8b2a1c6bd64e3f +timeCreated: 1438691482 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/Lobby.meta b/Assets/Standard Assets/Network/Scripts/Lobby.meta new file mode 100644 index 0000000..6e48a6c --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a97ffd97e95f12a45abf0bb60d3ab12c +folderAsset: yes +timeCreated: 1436977288 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyCountdownPanel.cs b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyCountdownPanel.cs new file mode 100644 index 0000000..8e100b8 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyCountdownPanel.cs @@ -0,0 +1,8 @@ +using UnityEngine; +using UnityEngine.UI; +using System.Collections; + +public class LobbyCountdownPanel : MonoBehaviour +{ + public Text UIText; +} diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyCountdownPanel.cs.meta b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyCountdownPanel.cs.meta new file mode 100644 index 0000000..221907a --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyCountdownPanel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ccb58ed657934fa4dacaa6afdf48bffc +timeCreated: 1444147386 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyHook.cs b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyHook.cs new file mode 100644 index 0000000..2213057 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyHook.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Networking; +using System.Collections; + + + +namespace UnityStandardAssets.Network +{ + // Subclass this and redefine the function you want + // then add it to the lobby prefab + public abstract class LobbyHook : MonoBehaviour + { + public virtual void OnLobbyServerSceneLoadedForPlayer(NetworkManager manager, GameObject lobbyPlayer, GameObject gamePlayer) { } + } + +} diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyHook.cs.meta b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyHook.cs.meta new file mode 100644 index 0000000..44bc6f9 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyHook.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ebe69bfcd108be84ca06a5e23d9c8516 +timeCreated: 1435834622 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyInfoPanel.cs b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyInfoPanel.cs new file mode 100644 index 0000000..3965cbd --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyInfoPanel.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.UI; +using System.Collections; + + +namespace UnityStandardAssets.Network +{ + public class LobbyInfoPanel : MonoBehaviour + { + public Text infoText; + public Text buttonText; + public Button singleButton; + + public void Display(string info, string buttonInfo, UnityEngine.Events.UnityAction buttonClbk) + { + infoText.text = info; + + buttonText.text = buttonInfo; + + singleButton.onClick.RemoveAllListeners(); + + if (buttonClbk != null) + { + singleButton.onClick.AddListener(buttonClbk); + } + + singleButton.onClick.AddListener(() => { gameObject.SetActive(false); }); + + gameObject.SetActive(true); + } + } +} \ No newline at end of file diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyInfoPanel.cs.meta b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyInfoPanel.cs.meta new file mode 100644 index 0000000..ae3fd96 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyInfoPanel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1d17c9f1a79cf43479d9ac49a7e77a12 +timeCreated: 1435144544 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyMainMenu.cs b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyMainMenu.cs new file mode 100644 index 0000000..9c345c7 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyMainMenu.cs @@ -0,0 +1,103 @@ +using UnityEngine; +using UnityEngine.UI; +using System.Collections; + +namespace UnityStandardAssets.Network +{ + //Main menu, mainly only a bunch of callback called by the UI (setup throught the Inspector) + public class LobbyMainMenu : MonoBehaviour + { + public LobbyManager lobbyManager; + + public RectTransform lobbyServerList; + public RectTransform lobbyPanel; + + public InputField ipInput; + public InputField matchNameInput; + + public void OnEnable() + { + lobbyManager.topPanel.ToggleVisibility(true); + + ipInput.onEndEdit.RemoveAllListeners(); + ipInput.onEndEdit.AddListener(onEndEditIP); + + matchNameInput.onEndEdit.RemoveAllListeners(); + matchNameInput.onEndEdit.AddListener(onEndEditGameName); + } + + public void OnClickHost() + { + lobbyManager.StartHost(); + } + + public void OnClickJoin() + { + lobbyManager.ChangeTo(lobbyPanel); + + lobbyManager.networkAddress = ipInput.text; + lobbyManager.StartClient(); + + lobbyManager.backDelegate = lobbyManager.StopClientClbk; + lobbyManager.DisplayIsConnecting(); + + lobbyManager.SetServerInfo("Connecting...", lobbyManager.networkAddress); + } + + public void OnClickDedicated() + { + lobbyManager.ChangeTo(null); + lobbyManager.StartServer(); + + lobbyManager.backDelegate = lobbyManager.StopServerClbk; + + lobbyManager.SetServerInfo("Dedicated Server", lobbyManager.networkAddress); + } + + public void OnClickCreateMatchmakingGame() + { + lobbyManager.StartMatchMaker(); + + lobbyManager.matchMaker.CreateMatch( + matchNameInput.text, + (uint)lobbyManager.maxPlayers, + true, + "", + "", + "", + 0, + 0, + lobbyManager.OnMatchCreate); + + lobbyManager.backDelegate = lobbyManager.StopHost; + lobbyManager._isMatchmaking = true; + lobbyManager.DisplayIsConnecting(); + + lobbyManager.SetServerInfo("Matchmaker Host", lobbyManager.matchHost); + } + + public void OnClickOpenServerList() + { + lobbyManager.StartMatchMaker(); + lobbyManager.backDelegate = lobbyManager.SimpleBackClbk; + lobbyManager.ChangeTo(lobbyServerList); + } + + void onEndEditIP(string text) + { + if (Input.GetKeyDown(KeyCode.Return)) + { + OnClickJoin(); + } + } + + void onEndEditGameName(string text) + { + if (Input.GetKeyDown(KeyCode.Return)) + { + OnClickCreateMatchmakingGame(); + } + } + + } +} diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyMainMenu.cs.meta b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyMainMenu.cs.meta new file mode 100644 index 0000000..c94ccbb --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyMainMenu.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9a0312403f252434c912587ebde8fb96 +timeCreated: 1434538072 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyManager.cs b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyManager.cs new file mode 100644 index 0000000..4f015f0 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyManager.cs @@ -0,0 +1,448 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.Networking; +using UnityEngine.Networking.Types; +using UnityEngine.Networking.Match; +using System.Collections; + + +namespace UnityStandardAssets.Network +{ + public class LobbyManager : NetworkLobbyManager + { + static short MsgKicked = MsgType.Highest + 1; + + static public LobbyManager s_Singleton; + + [SerializeField] private bool firstPlayerSpectates = false; + + [SerializeField] + private GamePlayerConfig[] gamePayerConfigs; + + [Tooltip("Time in second between all players ready & match start")] + public float prematchCountdown = 5.0f; + + [Space] + [Header("UI Reference")] + public LobbyTopPanel topPanel; + + public RectTransform mainMenuPanel; + public RectTransform lobbyPanel; + + public LobbyInfoPanel infoPanel; + public LobbyCountdownPanel countdownPanel; + public GameObject addPlayerButton; + + protected RectTransform currentPanel; + + public Button backButton; + + public Text statusInfo; + public Text hostInfo; + + //Client numPlayers from NetworkManager is always 0, so we count (throught connect/destroy in LobbyPlayer) the number + //of players, so that even client know how many player there is. + [HideInInspector] + public int _playerNumber = 0; + + //used to disconnect a client properly when exiting the matchmaker + [HideInInspector] + public bool _isMatchmaking = false; + + protected bool _disconnectServer = false; + + protected ulong _currentMatchID; + + protected LobbyHook _lobbyHooks; + + void Start() + { + s_Singleton = this; + _lobbyHooks = GetComponent(); + currentPanel = mainMenuPanel; + + backButton.gameObject.SetActive(false); + GetComponent().enabled = true; + + DontDestroyOnLoad(gameObject); + + SetServerInfo("Offline", "None"); + } + + public override void OnLobbyClientSceneChanged(NetworkConnection conn) + { + if (Application.loadedLevelName == lobbyScene) + { + if (topPanel.isInGame) + { + ChangeTo(lobbyPanel); + if (_isMatchmaking) + { + if (conn.playerControllers[0].unetView.isServer) + { + backDelegate = StopHostClbk; + } + else + { + backDelegate = StopClientClbk; + } + } + else + { + if (conn.playerControllers[0].unetView.isClient) + { + backDelegate = StopHostClbk; + } + else + { + backDelegate = StopClientClbk; + } + } + } + else + { + ChangeTo(mainMenuPanel); + } + + topPanel.ToggleVisibility(true); + topPanel.isInGame = false; + } + else + { + ChangeTo(null); + + Destroy(GameObject.Find("MainMenuUI(Clone)")); + + //backDelegate = StopGameClbk; + topPanel.isInGame = true; + topPanel.ToggleVisibility(false); + } + } + + public void ChangeTo(RectTransform newPanel) + { + if (currentPanel != null) + { + currentPanel.gameObject.SetActive(false); + } + + if (newPanel != null) + { + newPanel.gameObject.SetActive(true); + } + + currentPanel = newPanel; + + if (currentPanel != mainMenuPanel) + { + backButton.gameObject.SetActive(true); + } + else + { + backButton.gameObject.SetActive(false); + SetServerInfo("Offline", "None"); + _isMatchmaking = false; + } + } + + public void DisplayIsConnecting() + { + var _this = this; + infoPanel.Display("Connecting...", "Cancel", () => { _this.backDelegate(); }); + } + + public void SetServerInfo(string status, string host) + { + statusInfo.text = status; + hostInfo.text = host; + } + + + public delegate void BackButtonDelegate(); + public BackButtonDelegate backDelegate; + public void GoBackButton() + { + backDelegate(); + } + + // ----------------- Server management + + public void AddLocalPlayer() + { + TryToAddPlayer(); + } + + public void RemovePlayer(LobbyPlayer player) + { + player.RemovePlayer(); + } + + public void SimpleBackClbk() + { + ChangeTo(mainMenuPanel); + } + + public void StopHostClbk() + { + if (_isMatchmaking) + { + this.matchMaker.DestroyMatch((NetworkID)_currentMatchID, 0, OnDestroyMatch); + _disconnectServer = true; + } + else + { + StopHost(); + } + + + ChangeTo(mainMenuPanel); + } + + public void StopClientClbk() + { + StopClient(); + + if (_isMatchmaking) + { + StopMatchMaker(); + } + + ChangeTo(mainMenuPanel); + } + + public void StopServerClbk() + { + StopServer(); + ChangeTo(mainMenuPanel); + } + + class KickMsg : MessageBase { } + public void KickPlayer(NetworkConnection conn) + { + conn.Send(MsgKicked, new KickMsg()); + } + + + + + public void KickedMessageHandler(NetworkMessage netMsg) + { + infoPanel.Display("Kicked by Server", "Close", null); + netMsg.conn.Disconnect(); + } + + //=================== + + public override void OnStartHost() + { + base.OnStartHost(); + + ChangeTo(lobbyPanel); + backDelegate = StopHostClbk; + SetServerInfo("Hosting", networkAddress); + } + + public override void OnMatchCreate(bool success, string extendedInfo, MatchInfo matchInfo) + { + _currentMatchID = (ulong)matchInfo.networkId; + + base.OnMatchCreate(success, extendedInfo, matchInfo); + } + + public override void OnDestroyMatch(bool success, string extendedInfo) + { + if (_disconnectServer) + { + StopMatchMaker(); + StopHost(); + } + base.OnDestroyMatch(success, extendedInfo); + } + + //allow to handle the (+) button to add/remove player + public void OnPlayersNumberModified(int count) + { + _playerNumber += count; + + int localPlayerCount = 0; + foreach (PlayerController p in ClientScene.localPlayers) + localPlayerCount += (p == null || p.playerControllerId == -1) ? 0 : 1; + + addPlayerButton.SetActive(localPlayerCount < maxPlayersPerConnection && _playerNumber < maxPlayers); + } + + // ----------------- Server callbacks ------------------ + + //we want to disable the button JOIN if we don't have enough player + //But OnLobbyClientConnect isn't called on hosting player. So we override the lobbyPlayer creation + public override GameObject OnLobbyServerCreateLobbyPlayer(NetworkConnection conn, short playerControllerId) + { + GameObject obj = Instantiate(lobbyPlayerPrefab.gameObject) as GameObject; + + LobbyPlayer newPlayer = obj.GetComponent(); + newPlayer.ToggleJoinButton(numPlayers + 1 >= minPlayers); + + for (int i = 0; i < lobbySlots.Length; ++i) + { + LobbyPlayer p = lobbySlots[i] as LobbyPlayer; + + if (p != null) + { + p.RpcUpdateRemoveButton(); + p.ToggleJoinButton(numPlayers + 1 >= minPlayers); + } + } + + return obj; + } + + public override void OnLobbyServerPlayerRemoved(NetworkConnection conn, short playerControllerId) + { + for (int i = 0; i < lobbySlots.Length; ++i) + { + LobbyPlayer p = lobbySlots[i] as LobbyPlayer; + + if (p != null) + { + p.RpcUpdateRemoveButton(); + p.ToggleJoinButton(numPlayers + 1 >= minPlayers); + } + } + } + + + public override void OnLobbyServerDisconnect(NetworkConnection conn) + { + for (int i = 0; i < lobbySlots.Length; ++i) + { + LobbyPlayer p = lobbySlots[i] as LobbyPlayer; + + if (p != null) + { + p.RpcUpdateRemoveButton(); + p.ToggleJoinButton(numPlayers >= minPlayers); + } + } + + } + + public override GameObject OnLobbyServerCreateGamePlayer(NetworkConnection conn, short playerControllerId){ + // Here the actual player is created + + // I have no friggin' idea why connectionId is -1, 1 ... there has to be a better way.. + int index = conn.connectionId < 0 ? 0 : conn.connectionId; + if(firstPlayerSpectates){ + switch(conn.connectionId){ + case -1: index = 2; break; + case 1: index = 0; break; + default: index = 1; break; + } + } + var prefab = gamePayerConfigs[index].prefab; + var position = gamePayerConfigs[index].spawnPosition; + var rotation = Quaternion.Euler(gamePayerConfigs[index].spawnRotation); + var player = (GameObject)Instantiate(prefab, position, rotation); + + return player; + } + + public override bool OnLobbyServerSceneLoadedForPlayer(GameObject lobbyPlayer, GameObject gamePlayer) + { + //This hook allows you to apply state data from the lobby-player to the game-player + //just subclass "LobbyHook" and add it to the lobby object. + + if (_lobbyHooks) + _lobbyHooks.OnLobbyServerSceneLoadedForPlayer(this, lobbyPlayer, gamePlayer); + + return true; + } + + // --- Countdown management + + public override void OnLobbyServerPlayersReady() + { + StartCoroutine(ServerCountdownCoroutine()); + } + + public IEnumerator ServerCountdownCoroutine() + { + float remainingTime = prematchCountdown; + int floorTime = Mathf.FloorToInt(remainingTime); + + // TODO: The code below produces a NullPointerException + + // while (remainingTime > 0) + // { + // yield return null; + + // remainingTime -= Time.deltaTime; + // int newFloorTime = Mathf.FloorToInt(remainingTime); + + // if (newFloorTime != floorTime) + // {//to avoid flooding the network of message, we only send a notice to client when the number of plain seconds change. + // floorTime = newFloorTime; + + // for (int i = 0; i < lobbySlots.Length; ++i) + // { + // if (lobbySlots[i] != null) + // {//there is maxPlayer slots, so some could be == null, need to test it before accessing! + // (lobbySlots[i] as LobbyPlayer).RpcUpdateCountdown(floorTime); // TODO: this line produces a NullPointerException + // } + // } + // } + // } + + // for (int i = 0; i < lobbySlots.Length; ++i) + // { + // if (lobbySlots[i] != null) + // { + // (lobbySlots[i] as LobbyPlayer).RpcUpdateCountdown(0); + // } + // } + yield return null; + ServerChangeScene(playScene); + } + + // ----------------- Client callbacks ------------------ + + public override void OnClientConnect(NetworkConnection conn) + { + base.OnClientConnect(conn); + + infoPanel.gameObject.SetActive(false); + + conn.RegisterHandler(MsgKicked, KickedMessageHandler); + + if (!NetworkServer.active) + {//only to do on pure client (not self hosting client) + ChangeTo(lobbyPanel); + backDelegate = StopClientClbk; + SetServerInfo("Client", networkAddress); + } + } + + + public override void OnClientDisconnect(NetworkConnection conn) + { + base.OnClientDisconnect(conn); + ChangeTo(mainMenuPanel); + } + + public override void OnClientError(NetworkConnection conn, int errorCode) + { + ChangeTo(mainMenuPanel); + infoPanel.Display("Cient error : " + (errorCode == 6 ? "timeout" : errorCode.ToString()), "Close", null); + } + + [System.Serializable] + public class GamePlayerConfig + { + [Tooltip("This prefab will be spawned for this player")] + public GameObject prefab; + [Tooltip("The prefab will spawn at this position")] + public Vector3 spawnPosition; + [Tooltip("The prefab will have this rotation")] + public Vector3 spawnRotation; + } + } +} diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyManager.cs.meta b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyManager.cs.meta new file mode 100644 index 0000000..411954b --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 38de513803c5e60498ad31fbc327b120 +timeCreated: 1434465656 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayer.cs b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayer.cs new file mode 100644 index 0000000..21af684 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayer.cs @@ -0,0 +1,364 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.Networking; +using System.Collections; +using System.Collections.Generic; +using System.Linq; + +namespace UnityStandardAssets.Network +{ + //Player entry in the lobby. Handle selecting color/setting name & getting ready for the game + //Any LobbyHook can then grab it and pass those value to the game player prefab (see the Pong Example in the Samples Scenes) + public class LobbyPlayer : NetworkLobbyPlayer + { + static Color[] Colors = new Color[] { Color.magenta, Color.red, Color.cyan, Color.blue, Color.green, Color.yellow }; + //used on server to avoid assigning the same color to two player + static List _colorInUse = new List(); + + static int[] roles = new int[] { 1,2 }; + + public Button colorButton; + public InputField nameInput; + public Button readyButton; + public Button waitingPlayerButton; + public Button removePlayerButton; + + public GameObject localIcone; + public GameObject remoteIcone; + + //OnMyName function will be invoked on clients when server change the value of playerName + [SyncVar(hook = "OnMyName")] + public string playerName = ""; + [SyncVar(hook = "OnMyColor")] + public Color playerColor = Color.white; + public int role = 0; + + public Color OddRowColor = new Color(250.0f / 255.0f, 250.0f / 255.0f, 250.0f / 255.0f, 1.0f); + public Color EvenRowColor = new Color(180.0f / 255.0f, 180.0f / 255.0f, 180.0f / 255.0f, 1.0f); + + static Color JoinColor = new Color(255.0f/255.0f, 0.0f, 101.0f/255.0f,1.0f); + static Color NotReadyColor = new Color(34.0f / 255.0f, 44 / 255.0f, 55.0f / 255.0f, 1.0f); + static Color ReadyColor = new Color(0.0f, 204.0f / 255.0f, 204.0f / 255.0f, 1.0f); + static Color TransparentColor = new Color(0, 0, 0, 0); + + //static Color OddRowColor = new Color(250.0f / 255.0f, 250.0f / 255.0f, 250.0f / 255.0f, 1.0f); + //static Color EvenRowColor = new Color(180.0f / 255.0f, 180.0f / 255.0f, 180.0f / 255.0f, 1.0f); + + + public override void OnClientEnterLobby() + { + base.OnClientEnterLobby(); + + if (LobbyManager.s_Singleton != null) LobbyManager.s_Singleton.OnPlayersNumberModified(1); + + LobbyPlayerList._instance.AddPlayer(this); + LobbyPlayerList._instance.DisplayDirectServerWarning(isServer && LobbyManager.s_Singleton.matchMaker == null); + + if (isLocalPlayer) + { + SetupLocalPlayer(); + } + else + { + SetupOtherPlayer(); + } + + //setup the player data on UI. The value are SyncVar so the player + //will be created with the right value currently on server + OnMyName(playerName); + OnMyColor(playerColor); + } + + public override void OnStartAuthority() + { + base.OnStartAuthority(); + + //if we return from a game, color of text can still be the one for "Ready" + readyButton.transform.GetChild(0).GetComponent().color = Color.white; + + SetupLocalPlayer(); + } + + void ChangeReadyButtonColor(Color c) + { + ColorBlock b = readyButton.colors; + b.normalColor = c; + b.pressedColor = c; + b.highlightedColor = c; + b.disabledColor = c; + readyButton.colors = b; + } + + void SetupOtherPlayer() + { + nameInput.interactable = false; + removePlayerButton.interactable = NetworkServer.active; + + ChangeReadyButtonColor(NotReadyColor); + + readyButton.transform.GetChild(0).GetComponent().text = "..."; + readyButton.interactable = false; + + OnClientReady(false); + } + + void SetupLocalPlayer() + { + nameInput.interactable = true; + remoteIcone.gameObject.SetActive(false); + localIcone.gameObject.SetActive(true); + + CheckRemoveButton(); + + if (playerColor == Color.white) + CmdColorChange(); + + ChangeReadyButtonColor(JoinColor); + + readyButton.transform.GetChild(0).GetComponent().text = "JOIN"; + readyButton.interactable = true; + + //have to use child count of player prefab already setup as "this.slot" is not set yet + if (playerName == "") + CmdNameChanged("Player" + (LobbyPlayerList._instance.playerListContentTransform.childCount-1)); + + //we switch from simple name display to name input + colorButton.interactable = true; + nameInput.interactable = true; + + nameInput.onEndEdit.RemoveAllListeners(); + nameInput.onEndEdit.AddListener(OnNameChanged); + + colorButton.onClick.RemoveAllListeners(); + //colorButton.onClick.AddListener(OnColorClicked); + colorButton.onClick.AddListener(OnRoleClicked); + + readyButton.onClick.RemoveAllListeners(); + readyButton.onClick.AddListener(OnReadyClicked); + + //when OnClientEnterLobby is called, the loval PlayerController is not yet created, so we need to redo that here to disable + //the add button if we reach maxLocalPlayer. We pass 0, as it was already counted on OnClientEnterLobby + if (LobbyManager.s_Singleton != null) LobbyManager.s_Singleton.OnPlayersNumberModified(0); + } + + //This enable/disable the remove button depending on if that is the only local player or not + public void CheckRemoveButton() + { + if (!isLocalPlayer) + return; + + int localPlayerCount = 0; + foreach (PlayerController p in ClientScene.localPlayers) + localPlayerCount += (p == null || p.playerControllerId == -1) ? 0 : 1; + + removePlayerButton.interactable = localPlayerCount > 1; + } + + public override void OnClientReady(bool readyState) + { + if (readyState) + { + ChangeReadyButtonColor(TransparentColor); + + Text textComponent = readyButton.transform.GetChild(0).GetComponent(); + textComponent.text = "READY"; + textComponent.color = ReadyColor; + readyButton.interactable = false; + colorButton.interactable = false; + nameInput.interactable = false; + } + else + { + ChangeReadyButtonColor(isLocalPlayer ? JoinColor : NotReadyColor); + + Text textComponent = readyButton.transform.GetChild(0).GetComponent(); + textComponent.text = isLocalPlayer ? "JOIN" : "..."; + textComponent.color = Color.white; + readyButton.interactable = isLocalPlayer; + colorButton.interactable = isLocalPlayer; + nameInput.interactable = isLocalPlayer; + } + } + + public void OnPlayerListChanged(int idx) + { + GetComponent().color = (idx % 2 == 0) ? EvenRowColor : OddRowColor; + } + + ///===== callback from sync var + + public void OnMyName(string newName) + { + playerName = newName; + nameInput.text = playerName; + } + + public void OnMyColor(Color newColor) + { + playerColor = newColor; + colorButton.GetComponent().color = newColor; + } + + //===== UI Handler + + //Note that those handler use Command function, as we need to change the value on the server not locally + //so that all client get the new value throught syncvar + public void OnColorClicked() + { + CmdColorChange(); + } + + + public void OnRoleClicked() + { + CmdRoleChange(); + } + + public void OnReadyClicked() + { + SendReadyToBeginMessage(); + } + + public void OnNameChanged(string str) + { + CmdNameChanged(str); + } + + public void OnRemovePlayerClick() + { + if (isLocalPlayer) + { + RemovePlayer(); + } + else if (isServer) + LobbyManager.s_Singleton.KickPlayer(connectionToClient); + + } + + public void ToggleJoinButton(bool enabled) + { + readyButton.gameObject.SetActive(enabled); + waitingPlayerButton.gameObject.SetActive(!enabled); + } + + [ClientRpc] + public void RpcUpdateCountdown(int countdown) + { + LobbyManager.s_Singleton.countdownPanel.UIText.text = "Match Starting in " + countdown; + LobbyManager.s_Singleton.countdownPanel.gameObject.SetActive(countdown != 0); + } + + [ClientRpc] + public void RpcUpdateRemoveButton() + { + CheckRemoveButton(); + } + + //====== Server Command + + [Command] + public void CmdColorChange() + {//unused + int idx = System.Array.IndexOf(Colors, playerColor); + + int inUseIdx = _colorInUse.IndexOf(idx); + + if (idx < 0) idx = 0; + + idx = (idx + 1) % Colors.Length; + + bool alreadyInUse = false; + + do + { + alreadyInUse = false; + for (int i = 0; i < _colorInUse.Count; ++i) + { + if (_colorInUse[i] == idx) + {//that color is already in use + alreadyInUse = true; + idx = (idx + 1) % Colors.Length; + } + } + } + while (alreadyInUse); + + if (inUseIdx >= 0) + {//if we already add an entry in the colorTabs, we change it + _colorInUse[inUseIdx] = idx; + } + else + {//else we add it + _colorInUse.Add(idx); + } + + playerColor = Colors[idx]; + } + + [Command] + public void CmdRoleChange() + {//unused + int idx = System.Array.IndexOf(Colors, playerColor); + + int inUseIdx = _colorInUse.IndexOf(idx); + + if (idx < 0) idx = 0; + + idx = (idx + 1) % Colors.Length; + + bool alreadyInUse = false; + + do + { + alreadyInUse = false; + for (int i = 0; i < _colorInUse.Count; ++i) + { + if (_colorInUse[i] == idx) + {//that color is already in use + alreadyInUse = true; + idx = (idx + 1) % Colors.Length; + } + } + } + while (alreadyInUse); + + if (inUseIdx >= 0) + {//if we already add an entry in the colorTabs, we change it + _colorInUse[inUseIdx] = idx; + } + else + {//else we add it + _colorInUse.Add(idx); + } + + playerColor = Colors[idx]; + } + + [Command] + public void CmdNameChanged(string name) + { + playerName = name; + } + + //Cleanup thing when get destroy (which happen when client kick or disconnect) + public void OnDestroy() + { + int idx = System.Array.IndexOf(Colors, playerColor); + + if (idx < 0) + return; + + for (int i = 0; i < _colorInUse.Count; ++i) + { + if (_colorInUse[i] == idx) + {//that color is already in use + _colorInUse.RemoveAt(i); + break; + } + } + + LobbyPlayerList._instance.RemovePlayer(this); + if (LobbyManager.s_Singleton != null) LobbyManager.s_Singleton.OnPlayersNumberModified(-1); + } + } +} diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayer.cs.meta b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayer.cs.meta new file mode 100644 index 0000000..7f3293f --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 811523f8e578d6f4abb259f1fbaa5e0c +timeCreated: 1434538349 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayerList.cs b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayerList.cs new file mode 100644 index 0000000..4a73ceb --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayerList.cs @@ -0,0 +1,67 @@ +using UnityEngine; +using UnityEngine.UI; +using System.Collections; +using System.Collections.Generic; + +namespace UnityStandardAssets.Network +{ + //List of players in the lobby + public class LobbyPlayerList : MonoBehaviour + { + public static LobbyPlayerList _instance = null; + + public RectTransform playerListContentTransform; + public GameObject warningDirectPlayServer; + public Transform addButtonRow; + + protected VerticalLayoutGroup _layout; + protected List _players = new List(); + + public void OnEnable() + { + _instance = this; + _layout = playerListContentTransform.GetComponent(); + } + + public void DisplayDirectServerWarning(bool enabled) + { + if(warningDirectPlayServer != null) + warningDirectPlayServer.SetActive(enabled); + } + + void Update() + { + //this dirty the layout to force it to recompute evryframe (a sync problem between client/server + //sometime to child being assigned before layout was enabled/init, leading to broken layouting) + + if(_layout) + _layout.childAlignment = Time.frameCount%2 == 0 ? TextAnchor.UpperCenter : TextAnchor.UpperLeft; + } + + public void AddPlayer(LobbyPlayer player) + { + _players.Add(player); + + player.transform.SetParent(playerListContentTransform, false); + addButtonRow.transform.SetAsLastSibling(); + + PlayerListModified(); + } + + public void RemovePlayer(LobbyPlayer player) + { + _players.Remove(player); + PlayerListModified(); + } + + public void PlayerListModified() + { + int i = 0; + foreach (LobbyPlayer p in _players) + { + p.OnPlayerListChanged(i); + ++i; + } + } + } +} diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayerList.cs.meta b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayerList.cs.meta new file mode 100644 index 0000000..afb7c99 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyPlayerList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d5156c0b327b8dd45a725d337f49b61c +timeCreated: 1434538864 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerEntry.cs b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerEntry.cs new file mode 100644 index 0000000..55c5496 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerEntry.cs @@ -0,0 +1,38 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.Networking; +using UnityEngine.Networking.Match; +using UnityEngine.Networking.Types; +using System.Collections; + +namespace UnityStandardAssets.Network +{ + public class LobbyServerEntry : MonoBehaviour + { + public Text serverInfoText; + public Text slotInfo; + public Button joinButton; + + public void Populate(MatchInfoSnapshot match, LobbyManager lobbyManager, Color c) + { + serverInfoText.text = match.name; + + slotInfo.text = match.currentSize.ToString() + "/" + match.maxSize.ToString(); ; + + NetworkID networkID = match.networkId; + + joinButton.onClick.RemoveAllListeners(); + joinButton.onClick.AddListener(() => { JoinMatch(networkID, lobbyManager); }); + + GetComponent().color = c; + } + + void JoinMatch(NetworkID networkID, LobbyManager lobbyManager) + { + lobbyManager.matchMaker.JoinMatch(networkID, "", "", "", 0, 0, lobbyManager.OnMatchJoined); + lobbyManager.backDelegate = lobbyManager.StopClientClbk; + lobbyManager._isMatchmaking = true; + lobbyManager.DisplayIsConnecting(); + } + } +} \ No newline at end of file diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerEntry.cs.meta b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerEntry.cs.meta new file mode 100644 index 0000000..db10aa8 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerEntry.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: abd4c2a2c71a1214da4f39391c1a8122 +timeCreated: 1435138442 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerList.cs b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerList.cs new file mode 100644 index 0000000..e24bf34 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerList.cs @@ -0,0 +1,82 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.Networking; +using UnityEngine.Networking.Match; +using System.Collections; + +namespace UnityStandardAssets.Network +{ + public class LobbyServerList : MonoBehaviour + { + public LobbyManager lobbyManager; + + public RectTransform serverListRect; + public GameObject serverEntryPrefab; + public GameObject noServerFound; + + protected int currentPage = 0; + protected int previousPage = 0; + + static Color OddServerColor = new Color(1.0f, 1.0f, 1.0f, 1.0f); + static Color EvenServerColor = new Color(.94f, .94f, .94f, 1.0f); + + void OnEnable() + { + currentPage = 0; + previousPage = 0; + + foreach (Transform t in serverListRect) + Destroy(t.gameObject); + + noServerFound.SetActive(false); + + RequestPage(0); + } + + /*public void OnGUIMatchList(System.Collections.Generic.List response) + { + if (response.matches.Count == 0) + { + if (currentPage == 0) + { + noServerFound.SetActive(true); + } + + currentPage = previousPage; + + return; + } + + noServerFound.SetActive(false); + foreach (Transform t in serverListRect) + Destroy(t.gameObject); + + for (int i = 0; i < response.matches.Count; ++i) + { + GameObject o = Instantiate(serverEntryPrefab) as GameObject; + + o.GetComponent().Populate(response.matches[i], lobbyManager, (i%2 == 0) ? OddServerColor : EvenServerColor); + + o.transform.SetParent(serverListRect, false); + } + }*/ + + public void ChangePage(int dir) + { + int newPage = Mathf.Max(0, currentPage + dir); + + //if we have no server currently displayed, need we need to refresh page0 first instead of trying to fetch any other page + if (noServerFound.activeSelf) + newPage = 0; + + RequestPage(newPage); + } + + public void RequestPage(int page) + { + previousPage = currentPage; + currentPage = page; + // lobbyManager.matchMaker.ListMatches(page, 6, "", OnGUIMatchList); + } + } +} \ No newline at end of file diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerList.cs.meta b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerList.cs.meta new file mode 100644 index 0000000..9319181 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyServerList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2fc8e7df4caaef14e97fb5dbb4825c5a +timeCreated: 1435071992 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyTopPanel.cs b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyTopPanel.cs new file mode 100644 index 0000000..28db93c --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyTopPanel.cs @@ -0,0 +1,46 @@ +using UnityEngine; +using UnityEngine.UI; +using System.Collections; + +namespace UnityStandardAssets.Network +{ + public class LobbyTopPanel : MonoBehaviour + { + public bool isInGame = false; + + protected bool isDisplayed = true; + protected Image panelImage; + + void Start() + { + panelImage = GetComponent(); + } + + + void Update() + { + if (!isInGame) + return; + + if (Input.GetKeyDown(KeyCode.Escape)) + { + ToggleVisibility(!isDisplayed); + } + + } + + public void ToggleVisibility(bool visible) + { + isDisplayed = visible; + foreach (Transform t in transform) + { + t.gameObject.SetActive(isDisplayed); + } + + if (panelImage != null) + { + panelImage.enabled = isDisplayed; + } + } + } +} \ No newline at end of file diff --git a/Assets/Standard Assets/Network/Scripts/Lobby/LobbyTopPanel.cs.meta b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyTopPanel.cs.meta new file mode 100644 index 0000000..6e1fab1 --- /dev/null +++ b/Assets/Standard Assets/Network/Scripts/Lobby/LobbyTopPanel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 763992d85d3f6d4428454c2a968ce084 +timeCreated: 1435315460 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Sprites.meta b/Assets/Standard Assets/Network/Sprites.meta new file mode 100644 index 0000000..416b8af --- /dev/null +++ b/Assets/Standard Assets/Network/Sprites.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7dd0b8042ef51a94491043a7dd1f17a9 +folderAsset: yes +timeCreated: 1436977288 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Sprites/AddSprite.png b/Assets/Standard Assets/Network/Sprites/AddSprite.png new file mode 100644 index 0000000..a520b90 Binary files /dev/null and b/Assets/Standard Assets/Network/Sprites/AddSprite.png differ diff --git a/Assets/Standard Assets/Network/Sprites/AddSprite.png.meta b/Assets/Standard Assets/Network/Sprites/AddSprite.png.meta new file mode 100644 index 0000000..adf5533 --- /dev/null +++ b/Assets/Standard Assets/Network/Sprites/AddSprite.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: ef656a92b5be2d043b5bf03b4113af23 +timeCreated: 1446573128 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Sprites/ButtonSprite.png b/Assets/Standard Assets/Network/Sprites/ButtonSprite.png new file mode 100644 index 0000000..db39812 Binary files /dev/null and b/Assets/Standard Assets/Network/Sprites/ButtonSprite.png differ diff --git a/Assets/Standard Assets/Network/Sprites/ButtonSprite.png.meta b/Assets/Standard Assets/Network/Sprites/ButtonSprite.png.meta new file mode 100644 index 0000000..2594f19 --- /dev/null +++ b/Assets/Standard Assets/Network/Sprites/ButtonSprite.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 56c4630952ccd9546aa30a1eddc073e8 +timeCreated: 1435332401 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 8, y: 8, z: 8, w: 8} + spritePixelsToUnits: 300 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Sprites/InfoPanelSprite.png b/Assets/Standard Assets/Network/Sprites/InfoPanelSprite.png new file mode 100644 index 0000000..27457c5 Binary files /dev/null and b/Assets/Standard Assets/Network/Sprites/InfoPanelSprite.png differ diff --git a/Assets/Standard Assets/Network/Sprites/InfoPanelSprite.png.meta b/Assets/Standard Assets/Network/Sprites/InfoPanelSprite.png.meta new file mode 100644 index 0000000..4ae443f --- /dev/null +++ b/Assets/Standard Assets/Network/Sprites/InfoPanelSprite.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: ea1a353ad7fa01940ae37eca7f03bfbb +timeCreated: 1435761337 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Sprites/InputFieldSprite.png b/Assets/Standard Assets/Network/Sprites/InputFieldSprite.png new file mode 100644 index 0000000..e882a09 Binary files /dev/null and b/Assets/Standard Assets/Network/Sprites/InputFieldSprite.png differ diff --git a/Assets/Standard Assets/Network/Sprites/InputFieldSprite.png.meta b/Assets/Standard Assets/Network/Sprites/InputFieldSprite.png.meta new file mode 100644 index 0000000..9a0a231 --- /dev/null +++ b/Assets/Standard Assets/Network/Sprites/InputFieldSprite.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 6722231e3f6fe2e46accc3f24885f478 +timeCreated: 1435681757 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 3, y: 3, z: 3, w: 3} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Sprites/LocalSprite.png b/Assets/Standard Assets/Network/Sprites/LocalSprite.png new file mode 100644 index 0000000..c8c885a Binary files /dev/null and b/Assets/Standard Assets/Network/Sprites/LocalSprite.png differ diff --git a/Assets/Standard Assets/Network/Sprites/LocalSprite.png.meta b/Assets/Standard Assets/Network/Sprites/LocalSprite.png.meta new file mode 100644 index 0000000..439713a --- /dev/null +++ b/Assets/Standard Assets/Network/Sprites/LocalSprite.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 70ed02e882fd2ac46a242f45f5ea35df +timeCreated: 1446572444 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Sprites/RemoteSprite.png b/Assets/Standard Assets/Network/Sprites/RemoteSprite.png new file mode 100644 index 0000000..04ca2cc Binary files /dev/null and b/Assets/Standard Assets/Network/Sprites/RemoteSprite.png differ diff --git a/Assets/Standard Assets/Network/Sprites/RemoteSprite.png.meta b/Assets/Standard Assets/Network/Sprites/RemoteSprite.png.meta new file mode 100644 index 0000000..ff3ad83 --- /dev/null +++ b/Assets/Standard Assets/Network/Sprites/RemoteSprite.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 11f191f8d6382e349be699ab8fe1d300 +timeCreated: 1446572444 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Sprites/RemoveSprite.png b/Assets/Standard Assets/Network/Sprites/RemoveSprite.png new file mode 100644 index 0000000..a6b10ac Binary files /dev/null and b/Assets/Standard Assets/Network/Sprites/RemoveSprite.png differ diff --git a/Assets/Standard Assets/Network/Sprites/RemoveSprite.png.meta b/Assets/Standard Assets/Network/Sprites/RemoveSprite.png.meta new file mode 100644 index 0000000..0fa3c2c --- /dev/null +++ b/Assets/Standard Assets/Network/Sprites/RemoveSprite.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 89b3345b531885643a5611b3792ff491 +timeCreated: 1446572444 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Sprites/Role1.png b/Assets/Standard Assets/Network/Sprites/Role1.png new file mode 100644 index 0000000..e8744c8 Binary files /dev/null and b/Assets/Standard Assets/Network/Sprites/Role1.png differ diff --git a/Assets/Standard Assets/Network/Sprites/Role1.png.meta b/Assets/Standard Assets/Network/Sprites/Role1.png.meta new file mode 100644 index 0000000..1a48683 --- /dev/null +++ b/Assets/Standard Assets/Network/Sprites/Role1.png.meta @@ -0,0 +1,56 @@ +fileFormatVersion: 2 +guid: dabe9eea891f29d4997e3b19e05c415b +timeCreated: 1449424158 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Sprites/Role2.png b/Assets/Standard Assets/Network/Sprites/Role2.png new file mode 100644 index 0000000..1d743be Binary files /dev/null and b/Assets/Standard Assets/Network/Sprites/Role2.png differ diff --git a/Assets/Standard Assets/Network/Sprites/Role2.png.meta b/Assets/Standard Assets/Network/Sprites/Role2.png.meta new file mode 100644 index 0000000..a99a05c --- /dev/null +++ b/Assets/Standard Assets/Network/Sprites/Role2.png.meta @@ -0,0 +1,56 @@ +fileFormatVersion: 2 +guid: d5e9c8afbfcc916429462fd2cd4a2cda +timeCreated: 1449424158 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Standard Assets/Network/Sprites/Roles.psd b/Assets/Standard Assets/Network/Sprites/Roles.psd new file mode 100644 index 0000000..b02438e Binary files /dev/null and b/Assets/Standard Assets/Network/Sprites/Roles.psd differ diff --git a/Assets/Standard Assets/Network/Sprites/Roles.psd.meta b/Assets/Standard Assets/Network/Sprites/Roles.psd.meta new file mode 100644 index 0000000..0a46a47 --- /dev/null +++ b/Assets/Standard Assets/Network/Sprites/Roles.psd.meta @@ -0,0 +1,56 @@ +fileFormatVersion: 2 +guid: cd47ab603f2b6664cae2cf6162f2b27c +timeCreated: 1449424158 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VSCode.meta b/Assets/VSCode.meta new file mode 100644 index 0000000..c181d9a --- /dev/null +++ b/Assets/VSCode.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 321e7543d7d7b2449af6406decde6e40 +folderAsset: yes +timeCreated: 1478296124 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VSCode/HOWTO.pdf b/Assets/VSCode/HOWTO.pdf new file mode 100644 index 0000000..a94dd3f Binary files /dev/null and b/Assets/VSCode/HOWTO.pdf differ diff --git a/Assets/VSCode/HOWTO.pdf.meta b/Assets/VSCode/HOWTO.pdf.meta new file mode 100644 index 0000000..53b138f --- /dev/null +++ b/Assets/VSCode/HOWTO.pdf.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9519be3d5789b4c5ca14e07b375d6884 +timeCreated: 1444651605 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VSCode/LICENSE b/Assets/VSCode/LICENSE new file mode 100644 index 0000000..13b5259 --- /dev/null +++ b/Assets/VSCode/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2016 dotBunny Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/Assets/VSCode/LICENSE.meta b/Assets/VSCode/LICENSE.meta new file mode 100644 index 0000000..a24433e --- /dev/null +++ b/Assets/VSCode/LICENSE.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: edc517f07ba5e4cf9984f8753de7388f +timeCreated: 1444651605 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VSCode/Plugins.meta b/Assets/VSCode/Plugins.meta new file mode 100644 index 0000000..71559cf --- /dev/null +++ b/Assets/VSCode/Plugins.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0d0aa2ea87e4246f3b7fd58b757ff82c +folderAsset: yes +timeCreated: 1444652904 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VSCode/Plugins/Editor.meta b/Assets/VSCode/Plugins/Editor.meta new file mode 100644 index 0000000..b44f681 --- /dev/null +++ b/Assets/VSCode/Plugins/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 47b6573edc17b4b19b6f06515ff01748 +folderAsset: yes +timeCreated: 1444652910 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VSCode/Plugins/Editor/VSCode.cs b/Assets/VSCode/Plugins/Editor/VSCode.cs new file mode 100644 index 0000000..cbd6fa9 --- /dev/null +++ b/Assets/VSCode/Plugins/Editor/VSCode.cs @@ -0,0 +1,1304 @@ +/* + * Unity VSCode Support + * + * Seamless support for Microsoft Visual Studio Code in Unity + * + * Version: + * 2.7 + * + * Authors: + * Matthew Davey + */ +namespace dotBunny.Unity +{ + using System; + using System.IO; + using System.Text.RegularExpressions; + using UnityEditor; + using UnityEngine; + + [InitializeOnLoad] + public static class VSCode + { + /// + /// Current Version Number + /// + public const float Version = 2.7f; + + /// + /// Current Version Code + /// + public const string VersionCode = "-RELEASE"; + + /// + /// Download URL for Unity Debbuger + /// + public const string UnityDebuggerURL = "https://raw.githubusercontent.com/dotBunny/VSCode-Test/master/Downloads/unity-debug-101.vsix"; + + #region Properties + + /// + /// Path to VSCode executable + public static string CodePath + { + get + { + string current = EditorPrefs.GetString("VSCode_CodePath", ""); + if(current == "" || !VSCodeExists(current)) + { + //Value not set, set to "" or current path is invalid, try to autodetect it + //If autodetect fails, a error will be printed and the default value set + EditorPrefs.SetString("VSCode_CodePath", AutodetectCodePath()); + //If its not installed or the install folder isn't a "normal" one, + //AutodetectCodePath will print a error message to the Unity Console + } + return EditorPrefs.GetString("VSCode_CodePath", current); + } + set + { + EditorPrefs.SetString("VSCode_CodePath", value); + } + } + + /// + /// Get Program Files Path + /// + /// The platforms "Program Files" path. + static string ProgramFilesx86() + { + if( 8 == IntPtr.Size + || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")))) + { + return Environment.GetEnvironmentVariable("ProgramFiles(x86)"); + } + + return Environment.GetEnvironmentVariable("ProgramFiles"); + } + + + /// + /// Should debug information be displayed in the Unity terminal? + /// + public static bool Debug + { + get + { + return EditorPrefs.GetBool("VSCode_Debug", false); + } + set + { + EditorPrefs.SetBool("VSCode_Debug", value); + } + } + + /// + /// Is the Visual Studio Code Integration Enabled? + /// + /// + /// We do not want to automatically turn it on, for in larger projects not everyone is using VSCode + /// + public static bool Enabled + { + get + { + return EditorPrefs.GetBool("VSCode_Enabled", false); + } + set + { + // When turning the plugin on, we should remove all the previous project files + if (!Enabled && value) + { + ClearProjectFiles(); + } + EditorPrefs.SetBool("VSCode_Enabled", value); + } + } + public static bool UseUnityDebugger + { + get + { + return EditorPrefs.GetBool("VSCode_UseUnityDebugger", false); + } + set + { + if ( value != UseUnityDebugger ) { + + // Set value + EditorPrefs.SetBool("VSCode_UseUnityDebugger", value); + + // Do not write the launch JSON file because the debugger uses its own + if ( value ) { + WriteLaunchFile = false; + } + + // Update launch file + UpdateLaunchFile(); + } + } + } + + /// + /// Should the launch.json file be written? + /// + /// + /// Useful to disable if someone has their own custom one rigged up + /// + public static bool WriteLaunchFile + { + get + { + return EditorPrefs.GetBool("VSCode_WriteLaunchFile", true); + } + set + { + EditorPrefs.SetBool("VSCode_WriteLaunchFile", value); + } + } + + /// + /// Should the plugin automatically update itself. + /// + static bool AutomaticUpdates + { + get + { + return EditorPrefs.GetBool("VSCode_AutomaticUpdates", false); + } + set + { + EditorPrefs.SetBool("VSCode_AutomaticUpdates", value); + } + } + + static float GitHubVersion + { + get + { + return EditorPrefs.GetFloat("VSCode_GitHubVersion", Version); + } + set + { + EditorPrefs.SetFloat("VSCode_GitHubVersion", value); + } + } + + /// + /// When was the last time that the plugin was updated? + /// + static DateTime LastUpdate + { + get + { + // Feature creation date. + DateTime lastTime = new DateTime(2015, 10, 8); + + if (EditorPrefs.HasKey("VSCode_LastUpdate")) + { + DateTime.TryParse(EditorPrefs.GetString("VSCode_LastUpdate"), out lastTime); + } + return lastTime; + } + set + { + EditorPrefs.SetString("VSCode_LastUpdate", value.ToString()); + } + } + + /// + /// Quick reference to the VSCode launch settings file + /// + static string LaunchPath + { + get + { + return SettingsFolder + System.IO.Path.DirectorySeparatorChar + "launch.json"; + } + } + + /// + /// The full path to the project + /// + static string ProjectPath + { + get + { + return System.IO.Path.GetDirectoryName(UnityEngine.Application.dataPath); + } + } + + /// + /// Should the script editor be reverted when quiting Unity. + /// + /// + /// Useful for environments where you do not use VSCode for everything. + /// + static bool RevertExternalScriptEditorOnExit + { + get + { + return EditorPrefs.GetBool("VSCode_RevertScriptEditorOnExit", true); + } + set + { + EditorPrefs.SetBool("VSCode_RevertScriptEditorOnExit", value); + } + } + + /// + /// Quick reference to the VSCode settings folder + /// + static string SettingsFolder + { + get + { + return ProjectPath + System.IO.Path.DirectorySeparatorChar + ".vscode"; + } + } + + static string SettingsPath + { + + get + { + return SettingsFolder + System.IO.Path.DirectorySeparatorChar + "settings.json"; + } + } + + static int UpdateTime + { + get + { + return EditorPrefs.GetInt("VSCode_UpdateTime", 7); + } + set + { + EditorPrefs.SetInt("VSCode_UpdateTime", value); + } + } + + #endregion + + /// + /// Integration Constructor + /// + static VSCode() + { + if (Enabled) + { + UpdateUnityPreferences(true); + UpdateLaunchFile(); + + // Add Update Check + DateTime targetDate = LastUpdate.AddDays(UpdateTime); + if (DateTime.Now >= targetDate && AutomaticUpdates) + { + CheckForUpdate(); + } + } + + // Event for when script is reloaded + System.AppDomain.CurrentDomain.DomainUnload += System_AppDomain_CurrentDomain_DomainUnload; + } + static void System_AppDomain_CurrentDomain_DomainUnload(object sender, System.EventArgs e) + { + if (Enabled && RevertExternalScriptEditorOnExit) + { + UpdateUnityPreferences(false); + } + } + + + #region Public Members + + /// + /// Force Unity To Write Project File + /// + /// + /// Reflection! + /// + public static void SyncSolution() + { + System.Type T = System.Type.GetType("UnityEditor.SyncVS,UnityEditor"); + System.Reflection.MethodInfo SyncSolution = T.GetMethod("SyncSolution", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + SyncSolution.Invoke(null, null); + + } + + /// + /// Update the solution files so that they work with VS Code + /// + public static void UpdateSolution() + { + // No need to process if we are not enabled + if (!VSCode.Enabled) + { + return; + } + + if (VSCode.Debug) + { + UnityEngine.Debug.Log("[VSCode] Updating Solution & Project Files"); + } + + var currentDirectory = Directory.GetCurrentDirectory(); + var solutionFiles = Directory.GetFiles(currentDirectory, "*.sln"); + var projectFiles = Directory.GetFiles(currentDirectory, "*.csproj"); + + foreach (var filePath in solutionFiles) + { + string content = File.ReadAllText(filePath); + content = ScrubSolutionContent(content); + + File.WriteAllText(filePath, content); + + ScrubFile(filePath); + } + + foreach (var filePath in projectFiles) + { + string content = File.ReadAllText(filePath); + content = ScrubProjectContent(content); + + File.WriteAllText(filePath, content); + + ScrubFile(filePath); + } + + } + + #endregion + + #region Private Members + + /// + /// Try to find automatically the installation of VSCode + /// + static string AutodetectCodePath() + { + string[] possiblePaths = +#if UNITY_EDITOR_OSX + { + "/Applications/Visual Studio Code.app", + "/Applications/Visual Studio Code - Insiders.app" + }; +#elif UNITY_EDITOR_WIN + { + ProgramFilesx86() + Path.DirectorySeparatorChar + "Microsoft VS Code" + + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar + "code.cmd", + ProgramFilesx86() + Path.DirectorySeparatorChar + "Microsoft VS Code Insiders" + + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar + "code-insiders.cmd" + }; +#else + { + "/usr/bin/code", + "/bin/code", + "/usr/local/bin/code" + }; +#endif + for(int i = 0; i < possiblePaths.Length; i++) + { + if(VSCodeExists(possiblePaths[i])) + { + return possiblePaths[i]; + } + } + PrintNotFound(possiblePaths[0]); + return possiblePaths[0]; //returns the default one, printing a warning message 'executable not found' + } + + /// + /// Call VSCode with arguments + /// + static void CallVSCode(string args) + { + System.Diagnostics.Process proc = new System.Diagnostics.Process(); + if(!VSCodeExists(CodePath)) + { + PrintNotFound(CodePath); + return; + } + +#if UNITY_EDITOR_OSX + proc.StartInfo.FileName = "open"; + + // Check the path to see if there is "Insiders" + if (CodePath.Contains("Insiders")) + { + proc.StartInfo.Arguments = " -n -b \"com.microsoft.VSCodeInsiders\" --args " + args.Replace(@"\", @"\\"); + } + else + { + proc.StartInfo.Arguments = " -n -b \"com.microsoft.VSCode\" --args " + args.Replace(@"\", @"\\"); + } + + proc.StartInfo.UseShellExecute = false; +#elif UNITY_EDITOR_WIN + proc.StartInfo.FileName = CodePath; + proc.StartInfo.Arguments = args; + proc.StartInfo.UseShellExecute = false; +#else + proc.StartInfo.FileName = CodePath; + proc.StartInfo.Arguments = args.Replace(@"\", @"\\"); + proc.StartInfo.UseShellExecute = false; +#endif + proc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; + proc.StartInfo.CreateNoWindow = true; + proc.StartInfo.RedirectStandardOutput = true; + proc.Start(); + } + + /// + /// Check for Updates with GitHub + /// + static void CheckForUpdate() + { + var fileContent = string.Empty; + + EditorUtility.DisplayProgressBar("VSCode", "Checking for updates ...", 0.5f); + + // Because were not a runtime framework, lets just use the simplest way of doing this + try + { + using (var webClient = new System.Net.WebClient()) + { + fileContent = webClient.DownloadString("https://raw.githubusercontent.com/dotBunny/VSCode/master/Plugins/Editor/VSCode.cs"); + } + } + catch (Exception e) + { + if (Debug) + { + UnityEngine.Debug.Log("[VSCode] " + e.Message); + + } + + // Don't go any further if there is an error + return; + } + finally + { + EditorUtility.ClearProgressBar(); + } + + // Set the last update time + LastUpdate = DateTime.Now; + + // Fix for oddity in downlo + if (fileContent.Substring(0, 2) != "/*") + { + int startPosition = fileContent.IndexOf("/*", StringComparison.CurrentCultureIgnoreCase); + + // Jump over junk characters + fileContent = fileContent.Substring(startPosition); + } + + string[] fileExploded = fileContent.Split('\n'); + if (fileExploded.Length > 7) + { + float github = Version; + if (float.TryParse(fileExploded[6].Replace("*", "").Trim(), out github)) + { + GitHubVersion = github; + } + + + if (github > Version) + { + var GUIDs = AssetDatabase.FindAssets("t:Script VSCode"); + var path = Application.dataPath.Substring(0, Application.dataPath.Length - "/Assets".Length) + System.IO.Path.DirectorySeparatorChar + + AssetDatabase.GUIDToAssetPath(GUIDs[0]).Replace('/', System.IO.Path.DirectorySeparatorChar); + + if (EditorUtility.DisplayDialog("VSCode Update", "A newer version of the VSCode plugin is available, would you like to update your version?", "Yes", "No")) + { + // Always make sure the file is writable + System.IO.FileInfo fileInfo = new System.IO.FileInfo(path); + fileInfo.IsReadOnly = false; + + // Write update file + File.WriteAllText(path, fileContent); + + // Force update on text file + AssetDatabase.ImportAsset(AssetDatabase.GUIDToAssetPath(GUIDs[0]), ImportAssetOptions.ForceUpdate); + } + + } + } + } + + /// + /// Clear out any existing project files and lingering stuff that might cause problems + /// + static void ClearProjectFiles() + { + var currentDirectory = Directory.GetCurrentDirectory(); + var solutionFiles = Directory.GetFiles(currentDirectory, "*.sln"); + var projectFiles = Directory.GetFiles(currentDirectory, "*.csproj"); + var unityProjectFiles = Directory.GetFiles(currentDirectory, "*.unityproj"); + + foreach (string solutionFile in solutionFiles) + { + File.Delete(solutionFile); + } + foreach (string projectFile in projectFiles) + { + File.Delete(projectFile); + } + foreach (string unityProjectFile in unityProjectFiles) + { + File.Delete(unityProjectFile); + } + + // Replace with our clean files (only in Unity 5) +#if !UNITY_4_0 && !UNITY_4_1 && !UNITY_4_2 && !UNITY_4_3 && !UNITY_4_5 && !UNITY_4_6 && !UNITY_4_7 + SyncSolution(); +#endif + } + + /// + /// Force Unity Preferences Window To Read From Settings + /// + static void FixUnityPreferences() + { + // I want that window, please and thank you + System.Type T = System.Type.GetType("UnityEditor.PreferencesWindow,UnityEditor"); + + if (EditorWindow.focusedWindow == null) + return; + + // Only run this when the editor window is visible (cause its what screwed us up) + if (EditorWindow.focusedWindow.GetType() == T) + { + var window = EditorWindow.GetWindow(T, true, "Unity Preferences"); + + + if (window == null) + { + if (Debug) + { + UnityEngine.Debug.Log("[VSCode] No Preferences Window Found (really?)"); + } + return; + } + + var invokerType = window.GetType(); + var invokerMethod = invokerType.GetMethod("ReadPreferences", + System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); + + if (invokerMethod != null) + { + invokerMethod.Invoke(window, null); + } + else if (Debug) + { + UnityEngine.Debug.Log("[VSCode] No Reflection Method Found For Preferences"); + } + } + } + + /// + /// Determine what port Unity is listening for on Windows + /// + static int GetDebugPort() + { +#if UNITY_EDITOR_WIN + System.Diagnostics.Process process = new System.Diagnostics.Process(); + process.StartInfo.FileName = "netstat"; + process.StartInfo.Arguments = "-a -n -o -p TCP"; + process.StartInfo.UseShellExecute = false; + process.StartInfo.RedirectStandardOutput = true; + process.Start(); + + string output = process.StandardOutput.ReadToEnd(); + string[] lines = output.Split('\n'); + + process.WaitForExit(); + + foreach (string line in lines) + { + string[] tokens = Regex.Split(line, "\\s+"); + if (tokens.Length > 4) + { + int test = -1; + int.TryParse(tokens[5], out test); + + if (test > 1023) + { + try + { + var p = System.Diagnostics.Process.GetProcessById(test); + if (p.ProcessName == "Unity") + { + return test; + } + } + catch + { + + } + } + } + } +#else + System.Diagnostics.Process process = new System.Diagnostics.Process(); + process.StartInfo.FileName = "lsof"; + process.StartInfo.Arguments = "-c /^Unity$/ -i 4tcp -a"; + process.StartInfo.UseShellExecute = false; + process.StartInfo.RedirectStandardOutput = true; + process.Start(); + + // Not thread safe (yet!) + string output = process.StandardOutput.ReadToEnd(); + string[] lines = output.Split('\n'); + + process.WaitForExit(); + + foreach (string line in lines) + { + int port = -1; + if (line.StartsWith("Unity")) + { + string[] portions = line.Split(new string[] { "TCP *:" }, System.StringSplitOptions.None); + if (portions.Length >= 2) + { + Regex digitsOnly = new Regex(@"[^\d]"); + string cleanPort = digitsOnly.Replace(portions[1], ""); + if (int.TryParse(cleanPort, out port)) + { + if (port > -1) + { + return port; + } + } + } + } + } +#endif + return -1; + } + + /// + /// Manually install the original Unity Debuger + /// + /// + /// This should auto update to the latest. + /// + static void InstallUnityDebugger() + { + EditorUtility.DisplayProgressBar("VSCode", "Downloading Unity Debugger ...", 0.1f); + byte[] fileContent; + + try + { + using (var webClient = new System.Net.WebClient()) + { + fileContent = webClient.DownloadData(UnityDebuggerURL); + } + } + catch (Exception e) + { + if (Debug) + { + UnityEngine.Debug.Log("[VSCode] " + e.Message); + } + // Don't go any further if there is an error + return; + } + finally + { + EditorUtility.ClearProgressBar(); + } + + // Do we have a file to install? + if ( fileContent != null ) { + string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".vsix"; + File.WriteAllBytes(fileName, fileContent); + + CallVSCode(fileName); + } + + } + + // HACK: This is in until Unity can figure out why MD keeps opening even though a different program is selected. + [MenuItem("Assets/Open C# Project In Code", false, 1000)] + static void MenuOpenProject() + { + // Force the project files to be sync + SyncSolution(); + + // Load Project + CallVSCode("\"" + ProjectPath + "\" -r"); + } + + /// + /// Print a error message to the Unity Console about not finding the code executable + /// + static void PrintNotFound(string path) + { + UnityEngine.Debug.LogError("[VSCode] Code executable in '" + path + "' not found. Check your" + + "Visual Studio Code installation and insert the correct path in the Preferences menu."); + } + + [MenuItem("Assets/Open C# Project In Code", true, 1000)] + static bool ValidateMenuOpenProject() + { + return Enabled; + } + + /// + /// VS Code Integration Preferences Item + /// + /// + /// Contains all 3 toggles: Enable/Disable; Debug On/Off; Writing Launch File On/Off + /// + [PreferenceItem("VSCode")] + static void VSCodePreferencesItem() + { + if (EditorApplication.isCompiling) + { + EditorGUILayout.HelpBox("Please wait for Unity to finish compiling. \nIf the window doesn't refresh, simply click on the window or move it around to cause a repaint to happen.", MessageType.Warning); + return; + } + EditorGUILayout.BeginVertical(); + + EditorGUILayout.HelpBox("Support development of this plugin, follow @reapazor and @dotbunny on Twitter.", MessageType.Info); + + EditorGUI.BeginChangeCheck(); + +// Need the VS Code executable + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField("VS Code Path", GUILayout.Width(75)); +#if UNITY_5_3_OR_NEWER + CodePath = EditorGUILayout.DelayedTextField(CodePath, GUILayout.ExpandWidth(true)); +#else + CodePath = EditorGUILayout.TextField(CodePath, GUILayout.ExpandWidth(true)); +#endif + GUI.SetNextControlName("PathSetButton"); + if(GUILayout.Button("...", GUILayout.Height(14), GUILayout.Width(20))) + { + GUI.FocusControl("PathSetButton"); + string path = EditorUtility.OpenFilePanel( "Visual Studio Code Executable", "", "" ); + if( path.Length != 0 && File.Exists(path) || Directory.Exists(path)) + { + CodePath = path; + } + } + EditorGUILayout.EndHorizontal(); + EditorGUILayout.Space(); + + Enabled = EditorGUILayout.Toggle(new GUIContent("Enable Integration", "Should the integration work its magic for you?"), Enabled); + + UseUnityDebugger = EditorGUILayout.Toggle(new GUIContent("Use Unity Debugger", "Should the integration integrate with Unity's VSCode Extension (must be installed)."), UseUnityDebugger); + + EditorGUILayout.Space(); + RevertExternalScriptEditorOnExit = EditorGUILayout.Toggle(new GUIContent("Revert Script Editor On Unload", "Should the external script editor setting be reverted to its previous setting on project unload? This is useful if you do not use Code with all your projects."),RevertExternalScriptEditorOnExit); + + Debug = EditorGUILayout.Toggle(new GUIContent("Output Messages To Console", "Should informational messages be sent to Unity's Console?"), Debug); + + WriteLaunchFile = EditorGUILayout.Toggle(new GUIContent("Always Write Launch File", "Always write the launch.json settings when entering play mode?"), WriteLaunchFile); + + EditorGUILayout.Space(); + + AutomaticUpdates = EditorGUILayout.Toggle(new GUIContent("Automatic Updates", "Should the plugin automatically update itself?"), AutomaticUpdates); + + UpdateTime = EditorGUILayout.IntSlider(new GUIContent("Update Timer (Days)", "After how many days should updates be checked for?"), UpdateTime, 1, 31); + + EditorGUILayout.Space(); + EditorGUILayout.Space(); + + if (EditorGUI.EndChangeCheck()) + { + UpdateUnityPreferences(Enabled); + + // TODO: Force Unity To Reload Preferences + // This seems to be a hick up / issue + if (VSCode.Debug) + { + if (Enabled) + { + UnityEngine.Debug.Log("[VSCode] Integration Enabled"); + } + else + { + UnityEngine.Debug.Log("[VSCode] Integration Disabled"); + } + } + } + + if (GUILayout.Button(new GUIContent("Force Update", "Check for updates to the plugin, right NOW!"))) + { + CheckForUpdate(); + EditorGUILayout.EndVertical(); + return; + } + if (GUILayout.Button(new GUIContent("Write Workspace Settings", "Output a default set of workspace settings for VSCode to use, ignoring many different types of files."))) + { + WriteWorkspaceSettings(); + EditorGUILayout.EndVertical(); + return; + } + EditorGUILayout.Space(); + + if (UseUnityDebugger) + { + EditorGUILayout.HelpBox("In order for the \"Use Unity Debuggger\" option to function above, you need to have installed the Unity Debugger Extension for Visual Studio Code.", MessageType.Warning); + if (GUILayout.Button(new GUIContent("Install Unity Debugger", "Install the Unity Debugger Extension into Code"))) + { + InstallUnityDebugger(); + EditorGUILayout.EndVertical(); + return; + } + } + + GUILayout.FlexibleSpace(); + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + + GUILayout.Label( + new GUIContent( + string.Format("{0:0.00}", Version) + VersionCode, + "GitHub's Version @ " + string.Format("{0:0.00}", GitHubVersion))); + + EditorGUILayout.EndHorizontal(); + EditorGUILayout.EndVertical(); + } + + /// + /// Asset Open Callback (from Unity) + /// + /// + /// Called when Unity is about to open an asset. + /// + [UnityEditor.Callbacks.OnOpenAssetAttribute()] + static bool OnOpenedAsset(int instanceID, int line) + { + // bail out if we are not using VSCode + if (!Enabled) + { + return false; + } + + // current path without the asset folder + string appPath = ProjectPath; + + // determine asset that has been double clicked in the project view + UnityEngine.Object selected = EditorUtility.InstanceIDToObject(instanceID); + + if (selected.GetType().ToString() == "UnityEditor.MonoScript" || + selected.GetType().ToString() == "UnityEngine.Shader") + { + string completeFilepath = appPath + Path.DirectorySeparatorChar + AssetDatabase.GetAssetPath(selected); + + string args = null; + if (line == -1) + { + args = "\"" + ProjectPath + "\" \"" + completeFilepath + "\" -r"; + } + else + { + args = "\"" + ProjectPath + "\" -g \"" + completeFilepath + ":" + line.ToString() + "\" -r"; + } + // call 'open' + CallVSCode(args); + + return true; + } + + // Didnt find a code file? let Unity figure it out + return false; + + } + + /// + /// Executed when the Editor's playmode changes allowing for capture of required data + /// + static void OnPlaymodeStateChanged() + { + if (UnityEngine.Application.isPlaying && EditorApplication.isPlayingOrWillChangePlaymode) + { + UpdateLaunchFile(); + } + } + + /// + /// Detect when scripts are reloaded and relink playmode detection + /// + [UnityEditor.Callbacks.DidReloadScripts()] + static void OnScriptReload() + { + EditorApplication.playmodeStateChanged -= OnPlaymodeStateChanged; + EditorApplication.playmodeStateChanged += OnPlaymodeStateChanged; + } + + /// + /// Remove extra/erroneous lines from a file. + static void ScrubFile(string path) + { + string[] lines = File.ReadAllLines(path); + System.Collections.Generic.List newLines = new System.Collections.Generic.List(); + for (int i = 0; i < lines.Length; i++) + { + // Check Empty + if (string.IsNullOrEmpty(lines[i].Trim()) || lines[i].Trim() == "\t" || lines[i].Trim() == "\t\t") + { + + } + else + { + newLines.Add(lines[i]); + } + } + File.WriteAllLines(path, newLines.ToArray()); + } + + /// + /// Remove extra/erroneous data from project file (content). + /// + static string ScrubProjectContent(string content) + { + if (content.Length == 0) + return ""; + +#if !UNITY_EDITOR_WIN + // Moved to 3.5, 2.0 is legacy. + if (content.IndexOf("v3.5") != -1) + { + content = Regex.Replace(content, "v3.5", "v2.0"); + } +#endif + + string targetPath = "";// "Temp" + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar + "Debug" + Path.DirectorySeparatorChar + ""; //OutputPath + string langVersion = "default"; + + + bool found = true; + int location = 0; + string addedOptions = ""; + int startLocation = -1; + int endLocation = -1; + int endLength = 0; + + while (found) + { + startLocation = -1; + endLocation = -1; + endLength = 0; + addedOptions = ""; + startLocation = content.IndexOf("", startLocation); + endLength = (endLocation - startLocation); + + + if (endLocation == -1) + { + found = false; + continue; + } + else + { + found = true; + location = endLocation; + } + + if (content.Substring(startLocation, endLength).IndexOf("") == -1) + { + addedOptions += "\n\r\t" + targetPath + "\n\r"; + } + + if (content.Substring(startLocation, endLength).IndexOf("") == -1) + { + addedOptions += "\n\r\t" + langVersion + "\n\r"; + } + + if (!string.IsNullOrEmpty(addedOptions)) + { + content = content.Substring(0, endLocation) + addedOptions + content.Substring(endLocation); + } + } + else + { + found = false; + } + } + + return content; + } + + /// + /// Remove extra/erroneous data from solution file (content). + /// + static string ScrubSolutionContent(string content) + { + // Replace Solution Version + content = content.Replace( + "Microsoft Visual Studio Solution File, Format Version 11.00\r\n# Visual Studio 2008\r\n", + "\r\nMicrosoft Visual Studio Solution File, Format Version 12.00\r\n# Visual Studio 2012"); + + // Remove Solution Properties (Unity Junk) + int startIndex = content.IndexOf("GlobalSection(SolutionProperties) = preSolution"); + if (startIndex != -1) + { + int endIndex = content.IndexOf("EndGlobalSection", startIndex); + content = content.Substring(0, startIndex) + content.Substring(endIndex + 16); + } + + return content; + } + + /// + /// Update Visual Studio Code Launch file + /// + static void UpdateLaunchFile() + { + if (!VSCode.Enabled) + { + return; + } + else if (VSCode.UseUnityDebugger) + { + if (!Directory.Exists(VSCode.SettingsFolder)) + System.IO.Directory.CreateDirectory(VSCode.SettingsFolder); + + // Write out proper formatted JSON (hence no more SimpleJSON here) + string fileContent = "{\n\t\"version\": \"0.2.0\",\n\t\"configurations\": [\n\t\t{\n\t\t\t\"name\": \"Unity Editor\",\n\t\t\t\"type\": \"unity\",\n\t\t\t\"request\": \"launch\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Windows Player\",\n\t\t\t\"type\": \"unity\",\n\t\t\t\"request\": \"launch\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"OSX Player\",\n\t\t\t\"type\": \"unity\",\n\t\t\t\"request\": \"launch\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Linux Player\",\n\t\t\t\"type\": \"unity\",\n\t\t\t\"request\": \"launch\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"iOS Player\",\n\t\t\t\"type\": \"unity\",\n\t\t\t\"request\": \"launch\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Android Player\",\n\t\t\t\"type\": \"unity\",\n\t\t\t\"request\": \"launch\"\n\n\t\t}\n\t]\n}"; + File.WriteAllText(VSCode.LaunchPath, fileContent); + } + else if (VSCode.WriteLaunchFile) + { + int port = GetDebugPort(); + if (port > -1) + { + if (!Directory.Exists(VSCode.SettingsFolder)) + System.IO.Directory.CreateDirectory(VSCode.SettingsFolder); + + // Write out proper formatted JSON (hence no more SimpleJSON here) + string fileContent = "{\n\t\"version\":\"0.2.0\",\n\t\"configurations\":[ \n\t\t{\n\t\t\t\"name\":\"Unity\",\n\t\t\t\"type\":\"mono\",\n\t\t\t\"request\":\"attach\",\n\t\t\t\"address\":\"localhost\",\n\t\t\t\"port\":" + port + "\n\t\t}\n\t]\n}"; + File.WriteAllText(VSCode.LaunchPath, fileContent); + + if (VSCode.Debug) + { + UnityEngine.Debug.Log("[VSCode] Debug Port Found (" + port + ")"); + } + } + else + { + if (VSCode.Debug) + { + UnityEngine.Debug.LogWarning("[VSCode] Unable to determine debug port."); + } + } + } + } + + /// + /// Update Unity Editor Preferences + /// + /// Should we turn on this party! + static void UpdateUnityPreferences(bool enabled) + { + if (enabled) + { + // App + if (EditorPrefs.GetString("kScriptsDefaultApp") != CodePath) + { + EditorPrefs.SetString("VSCode_PreviousApp", EditorPrefs.GetString("kScriptsDefaultApp")); + } + EditorPrefs.SetString("kScriptsDefaultApp", CodePath); + + // Arguments + if (EditorPrefs.GetString("kScriptEditorArgs") != "-r -g \"$(File):$(Line)\"") + { + EditorPrefs.SetString("VSCode_PreviousArgs", EditorPrefs.GetString("kScriptEditorArgs")); + } + + EditorPrefs.SetString("kScriptEditorArgs", "-r -g \"$(File):$(Line)\""); + EditorPrefs.SetString("kScriptEditorArgs" + CodePath, "-r -g \"$(File):$(Line)\""); + + + // MonoDevelop Solution + if (EditorPrefs.GetBool("kMonoDevelopSolutionProperties", false)) + { + EditorPrefs.SetBool("VSCode_PreviousMD", true); + } + EditorPrefs.SetBool("kMonoDevelopSolutionProperties", false); + + // Support Unity Proj (JS) + if (EditorPrefs.GetBool("kExternalEditorSupportsUnityProj", false)) + { + EditorPrefs.SetBool("VSCode_PreviousUnityProj", true); + } + EditorPrefs.SetBool("kExternalEditorSupportsUnityProj", false); + + if (!EditorPrefs.GetBool("AllowAttachedDebuggingOfEditor", false)) + { + EditorPrefs.SetBool("VSCode_PreviousAttach", false); + } + EditorPrefs.SetBool("AllowAttachedDebuggingOfEditor", true); + + } + else + { + // Restore previous app + if (!string.IsNullOrEmpty(EditorPrefs.GetString("VSCode_PreviousApp"))) + { + EditorPrefs.SetString("kScriptsDefaultApp", EditorPrefs.GetString("VSCode_PreviousApp")); + } + + // Restore previous args + if (!string.IsNullOrEmpty(EditorPrefs.GetString("VSCode_PreviousArgs"))) + { + EditorPrefs.SetString("kScriptEditorArgs", EditorPrefs.GetString("VSCode_PreviousArgs")); + } + + // Restore MD setting + if (EditorPrefs.GetBool("VSCode_PreviousMD", false)) + { + EditorPrefs.SetBool("kMonoDevelopSolutionProperties", true); + } + + // Restore MD setting + if (EditorPrefs.GetBool("VSCode_PreviousUnityProj", false)) + { + EditorPrefs.SetBool("kExternalEditorSupportsUnityProj", true); + } + + // Always leave editor attaching on, I know, it solves the problem of needing to restart for this + // to actually work + EditorPrefs.SetBool("AllowAttachedDebuggingOfEditor", true); + + } + + FixUnityPreferences(); + } + + /// + /// Determines if the current path to the code executable is valid or not (exists) + /// + static bool VSCodeExists(string curPath) + { + #if UNITY_EDITOR_OSX + return System.IO.Directory.Exists(curPath); + #else + System.IO.FileInfo code = new System.IO.FileInfo(curPath); + return code.Exists; + #endif + } + + /// + /// Write Default Workspace Settings + /// + static void WriteWorkspaceSettings() + { + if (Debug) + { + UnityEngine.Debug.Log("[VSCode] Workspace Settings Written"); + } + + if (!Directory.Exists(VSCode.SettingsFolder)) + { + System.IO.Directory.CreateDirectory(VSCode.SettingsFolder); + } + + string exclusions = + "{\n" + + "\t\"files.exclude\":\n" + + "\t{\n" + + // Hidden Files + "\t\t\"**/.DS_Store\":true,\n" + + "\t\t\"**/.git\":true,\n" + + "\t\t\"**/.gitignore\":true,\n" + + "\t\t\"**/.gitattributes\":true,\n" + + "\t\t\"**/.gitmodules\":true,\n" + + "\t\t\"**/.svn\":true,\n" + + + + // Project Files + "\t\t\"**/*.booproj\":true,\n" + + "\t\t\"**/*.pidb\":true,\n" + + "\t\t\"**/*.suo\":true,\n" + + "\t\t\"**/*.user\":true,\n" + + "\t\t\"**/*.userprefs\":true,\n" + + "\t\t\"**/*.unityproj\":true,\n" + + "\t\t\"**/*.dll\":true,\n" + + "\t\t\"**/*.exe\":true,\n" + + + // Media Files + "\t\t\"**/*.pdf\":true,\n" + + + // Audio + "\t\t\"**/*.mid\":true,\n" + + "\t\t\"**/*.midi\":true,\n" + + "\t\t\"**/*.wav\":true,\n" + + + // Textures + "\t\t\"**/*.gif\":true,\n" + + "\t\t\"**/*.ico\":true,\n" + + "\t\t\"**/*.jpg\":true,\n" + + "\t\t\"**/*.jpeg\":true,\n" + + "\t\t\"**/*.png\":true,\n" + + "\t\t\"**/*.psd\":true,\n" + + "\t\t\"**/*.tga\":true,\n" + + "\t\t\"**/*.tif\":true,\n" + + "\t\t\"**/*.tiff\":true,\n" + + + // Models + "\t\t\"**/*.3ds\":true,\n" + + "\t\t\"**/*.3DS\":true,\n" + + "\t\t\"**/*.fbx\":true,\n" + + "\t\t\"**/*.FBX\":true,\n" + + "\t\t\"**/*.lxo\":true,\n" + + "\t\t\"**/*.LXO\":true,\n" + + "\t\t\"**/*.ma\":true,\n" + + "\t\t\"**/*.MA\":true,\n" + + "\t\t\"**/*.obj\":true,\n" + + "\t\t\"**/*.OBJ\":true,\n" + + + // Unity File Types + "\t\t\"**/*.asset\":true,\n" + + "\t\t\"**/*.cubemap\":true,\n" + + "\t\t\"**/*.flare\":true,\n" + + "\t\t\"**/*.mat\":true,\n" + + "\t\t\"**/*.meta\":true,\n" + + "\t\t\"**/*.prefab\":true,\n" + + "\t\t\"**/*.unity\":true,\n" + + + // Folders + "\t\t\"build/\":true,\n" + + "\t\t\"Build/\":true,\n" + + "\t\t\"Library/\":true,\n" + + "\t\t\"library/\":true,\n" + + "\t\t\"obj/\":true,\n" + + "\t\t\"Obj/\":true,\n" + + "\t\t\"ProjectSettings/\":true,\r" + + "\t\t\"temp/\":true,\n" + + "\t\t\"Temp/\":true\n" + + "\t}\n" + + "}"; + + // Dont like the replace but it fixes the issue with the JSON + File.WriteAllText(VSCode.SettingsPath, exclusions); + } + + #endregion + } + + /// + /// VSCode Asset AssetPostprocessor + /// This will ensure any time that the project files are generated the VSCode versions will be made + /// + /// Undocumented Event + public class VSCodeAssetPostprocessor : AssetPostprocessor + { + /// + /// On documented, project generation event callback + /// + private static void OnGeneratedCSProjectFiles() + { + // Force execution of VSCode update + VSCode.UpdateSolution(); + } + } +} \ No newline at end of file diff --git a/Assets/VSCode/Plugins/Editor/VSCode.cs.meta b/Assets/VSCode/Plugins/Editor/VSCode.cs.meta new file mode 100644 index 0000000..d2c039f --- /dev/null +++ b/Assets/VSCode/Plugins/Editor/VSCode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c34beeaf0d4cf44c49f1039006a08591 +timeCreated: 1444653497 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VSCode/README.md b/Assets/VSCode/README.md new file mode 100644 index 0000000..3e4df0c --- /dev/null +++ b/Assets/VSCode/README.md @@ -0,0 +1,37 @@ +# VSCode +> Seamless Visual Studio Code Integration in Unity - As seen in the [Visual Studio Code documentation!](https://code.visualstudio.com/Docs/runtimes/unity) + +### Requirements +##### Unity > 4.5 && Unity < 5.5 +I am not sure exactly where in the 4.x cycle some of the features I'm using were introduced, but I'm guessing its around the 4.5+ mark. I've checked with the latest 4.5.0f6 release. Unity has also committed to having full support for Code when Unity 5.5 drops. So at that point all bets are off for the usefulness of this plugin. Like our MonoDevelop.Unity plugin of past, Unity catches up eventually. + +#####Visual Studio Code 0.10.1+ +Get the [latest version](https://code.visualstudio.com), or have a look at the past releases of the VSCode [plugin](https://github.com/dotBunny/VSCode/releases/tag/1.6.5) for support for your version. + +######Mono +A good number of people have needed to install Mono in order for many of the issues with OmniSharp to be resolved. +I would suggest installing the latest package available at the [Mono Project](http://www.mono-project.com/download/). Don't worry it will not mess with Unity. + +### Installation +It is important to make sure that the `VSCode.cs` file is placed under an `Editor` folder in the project. An example of this arrangement would be placing the file in `/Assets/Plugins/Editor/VSCode.cs`. By default it has its own folder structure which does this for you. + +### Unity Asset Store Package +A UAS packaged version of the plugin is [available](http://u3d.as/jmM) for your consumption. + +### Usage +Once the VSCode file is in place, simply navigate your way to the `Unity Preferences` and select `VSCode` and check the `Enable Integration` option. + +That's it! Your ready to go! + +OK, so maybe some people need a little video explaining some of the finer details of how to use the plugin. So I shot a [quick video](https://vimeo.com/dotbunny/vscode) that highlights the ups and the downs (like Unity hanging after debugging sometimes) for people to watch. Please note this video is from a previous version of the plugin where things are in the menu, this has changed since then. + +### Platform Support +I use the plugin every day on a Mac (so it's battle tested there), and occasionally test it on a Windows VM. As for the recently announced Linux support, it should work just like the Mac version. I'll get around to installing the Linux editor sometime in the near future. + +The Windows version of Visual Studio Code currently does not support debugging Mono, and will just throw a warning if you try to do it. The "Code" team is aware of this limitation, and we'll leave it at that. + +### Automatic Update +With version 2.0 of the plugin, I've introduced a feature where it will auto-update itself if allowed. This should make things a lot easier in the future. + +### Support +Please provide feedback through the GitHub [Issue](https://github.com/dotBunny/VSCode/issues) system. diff --git a/Assets/VSCode/README.md.meta b/Assets/VSCode/README.md.meta new file mode 100644 index 0000000..6f6e8a5 --- /dev/null +++ b/Assets/VSCode/README.md.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5a47489a858c74f3ea182d15dec0dd72 +timeCreated: 1444651605 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AudioClipInputDevice.cs b/AudioClipInputDevice.cs new file mode 100644 index 0000000..57d70dc --- /dev/null +++ b/AudioClipInputDevice.cs @@ -0,0 +1,57 @@ +/* Copyright (C) 2014 DaikonForge */ + +namespace DaikonForge.VoIP +{ + using UnityEngine; + using System.Collections; + + public class AudioClipInputDevice : AudioInputDeviceBase + { + public AudioClip testClip; + public FrequencyMode ResampleFrequency = FrequencyMode.Wide; + + public override void StartRecording() + { + float[] data = new float[ testClip.samples * testClip.channels ]; + testClip.GetData( data, 0 ); + + BigArray d = new BigArray( data.Length, 0 ); + d.Resize( data.Length ); + d.CopyFrom( data, 0, 0, data.Length * 4 ); + + //AudioUtils.Resample( d, testClip.frequency, AudioUtils.GetFrequency( ResampleFrequency ) ); + + //bufferReady( d, AudioUtils.GetFrequency( ResampleFrequency ) ); + StartCoroutine( yieldChunks( d, testClip.frequency, 1f ) ); + } + + private IEnumerator yieldChunks( BigArray data, int chunkSize, float chunkDuration ) + { + int readHead = 0; + + while( readHead < data.Length ) + { + int remainder = chunkSize; + if( readHead + chunkSize >= data.Length ) + { + remainder = data.Length - readHead; + } + + BigArray temp = new BigArray( remainder, 0 ); + temp.Resize( remainder ); + temp.CopyFrom( data.Items, readHead * 4, 0, remainder * 4 ); + AudioUtils.Resample( temp, testClip.frequency, AudioUtils.GetFrequency( ResampleFrequency ) ); + + bufferReady( temp, AudioUtils.GetFrequency( ResampleFrequency ) ); + + readHead += remainder; + + yield return new WaitForSeconds( chunkDuration ); + } + } + + public override void StopRecording() + { + } + } +} \ No newline at end of file diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset index 850a4f9..faf901c 100644 Binary files a/ProjectSettings/AudioManager.asset and b/ProjectSettings/AudioManager.asset differ 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 index 563a3a0..bb9f46e 100644 Binary files a/ProjectSettings/DynamicsManager.asset and b/ProjectSettings/DynamicsManager.asset differ diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 570ecd3..658aab3 100644 Binary files a/ProjectSettings/EditorBuildSettings.asset and b/ProjectSettings/EditorBuildSettings.asset differ diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset index 539bf93..529a05c 100644 Binary files a/ProjectSettings/EditorSettings.asset and b/ProjectSettings/EditorSettings.asset differ diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset index 20f231a..1277112 100644 Binary files a/ProjectSettings/GraphicsSettings.asset and b/ProjectSettings/GraphicsSettings.asset differ diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset index f88841d..b5ba40c 100644 Binary files a/ProjectSettings/InputManager.asset and b/ProjectSettings/InputManager.asset differ diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset index 72481a5..a04f35c 100644 Binary files a/ProjectSettings/NavMeshAreas.asset and b/ProjectSettings/NavMeshAreas.asset differ diff --git a/ProjectSettings/NetworkManager.asset b/ProjectSettings/NetworkManager.asset index eb205e0..5dc6a83 100644 Binary files a/ProjectSettings/NetworkManager.asset and b/ProjectSettings/NetworkManager.asset differ diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset index cf3a1bf..80b5feb 100644 Binary files a/ProjectSettings/Physics2DSettings.asset and b/ProjectSettings/Physics2DSettings.asset differ diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 1e2b856..e005a21 100644 Binary files a/ProjectSettings/ProjectSettings.asset and b/ProjectSettings/ProjectSettings.asset differ diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index 8a062e6..c4684cd 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 5.2.1f1 +m_EditorVersion: 5.3.4f1 m_StandardAssetsVersion: 0 diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset index b7b6c19..72edc1d 100644 Binary files a/ProjectSettings/QualitySettings.asset and b/ProjectSettings/QualitySettings.asset differ diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 761f435..1c92a78 100644 Binary files a/ProjectSettings/TagManager.asset and b/ProjectSettings/TagManager.asset differ diff --git a/ProjectSettings/TimeManager.asset b/ProjectSettings/TimeManager.asset index decdb13..f0e494b 100644 Binary files a/ProjectSettings/TimeManager.asset and b/ProjectSettings/TimeManager.asset differ diff --git a/ProjectSettings/UnityAdsSettings.asset b/ProjectSettings/UnityAdsSettings.asset index 2d1d81b..224050c 100644 Binary files a/ProjectSettings/UnityAdsSettings.asset and b/ProjectSettings/UnityAdsSettings.asset differ diff --git a/ProjectSettings/UnityAnalyticsManager.asset b/ProjectSettings/UnityAnalyticsManager.asset deleted file mode 100644 index e52c94d..0000000 Binary files a/ProjectSettings/UnityAnalyticsManager.asset and /dev/null differ diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 0000000..9b7a578 --- /dev/null +++ b/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_TestEventUrl: + m_TestConfigUrl: