├── Images ├── ssgi-off.jpg ├── ssgi-on.jpg ├── ssgi-on.jpg.meta └── ssgi-off.jpg.meta ├── LICENSE.meta ├── README.md.meta ├── package.json.meta ├── Demo.meta ├── Demo ├── Scenes │ ├── SSGI.unity.meta │ ├── SSGI.meta │ ├── SSGI │ │ ├── GameObject Profile.asset.meta │ │ └── GameObject Profile.asset │ └── SSGI.unity ├── Materials.meta ├── Scenes.meta ├── Scripts.meta ├── Settings.meta ├── Materials │ ├── Emi.mat.meta │ ├── Default.mat.meta │ ├── Default.mat │ └── Emi.mat ├── Settings │ ├── UniversalRenderPipelineAsset.asset.meta │ ├── UniversalRenderPipelineAsset_Renderer.asset.meta │ ├── UniversalRenderPipelineAsset.asset │ └── UniversalRenderPipelineAsset_Renderer.asset └── Scripts │ ├── AutoRotation.cs.meta │ └── AutoRotation.cs ├── Images.meta ├── Materials.meta ├── Scripts.meta ├── Shaders.meta ├── RendererFeatures.SSGI.asmdef.meta ├── Materials ├── ssgi.mat.meta └── ssgi.mat ├── Shaders ├── ssgi.shader.meta └── ssgi.shader ├── package.json ├── Scripts ├── SSGI.cs.meta └── SSGI.cs ├── RendererFeatures.SSGI.asmdef ├── LICENSE ├── .gitignore └── README.md /Images/ssgi-off.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demonixis/SSGI-URP/HEAD/Images/ssgi-off.jpg -------------------------------------------------------------------------------- /Images/ssgi-on.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demonixis/SSGI-URP/HEAD/Images/ssgi-on.jpg -------------------------------------------------------------------------------- /LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4fa2c18e8c0cce8499e6598ab5108fbf 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98b1ffdd370185540b1b8120243fa7db 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d99ecc9f0152ed4684553ebc3e2f851 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Demo.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c80d8cfc962e0448b83226588ec8879 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demo/Scenes/SSGI.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f88c12cfe8eef74cbfe8f19248ce335 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Images.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1056cc4358c8e7546accf2e782b09e16 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8b016193c58c8a43b7ee48ffb15cf11 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c380992d0eb7e243a4aa6f070740e02 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3fcb15c874de2c948ade6febe1e08587 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demo/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34a574b5a8acee94796c48b4c997742b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demo/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 587c544a95061624b92abf958b0c51aa 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demo/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02fb67dd5675a7f46a32825ce2706d80 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demo/Settings.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95af04665db9ab34a95052be5ef93208 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demo/Scenes/SSGI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89f0a347804d97242966c27bc90ed7e4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /RendererFeatures.SSGI.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6041478f490f5f14e80df36674e1864f 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Materials/ssgi.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bae01e4c96084d547a2da5e38d76e3de 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demo/Materials/Emi.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab7d014135dea6641b99daf9db3426dc 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demo/Materials/Default.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 338a41f540d4bf248b9f284d4039526e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demo/Scenes/SSGI/GameObject Profile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9ce9fc90b0536942aa988ec91abb7f7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demo/Settings/UniversalRenderPipelineAsset.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f66ab6d69374e544889ce98f92af84b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Demo/Settings/UniversalRenderPipelineAsset_Renderer.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac41d6168969b6c47b5f54f7db96b329 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Shaders/ssgi.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4865bbccebabc034ea5a77ab20682352 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "demonixis.rendererfeatures.ssgi-urp", 3 | "version": "0.1.1-preview", 4 | "displayName": "SSGI-URP", 5 | "unity": "2019.1", 6 | "description": "This is a port of a SSGI shader by Martins Upitis for godot Engine to Unity", 7 | "type": "sample" 8 | } -------------------------------------------------------------------------------- /Scripts/SSGI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 457c10befaef4cf49860d807085788f7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demo/Scripts/AutoRotation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b13cf01181975049832e480eb356e35 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Demo/Scripts/AutoRotation.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Demonixis.Toolbox.Rendering.Demo 4 | { 5 | public class AutoRotation : MonoBehaviour 6 | { 7 | [SerializeField] 8 | private Vector3 m_RotationVector; 9 | 10 | void Update() => transform.Rotate(m_RotationVector); 11 | } 12 | } -------------------------------------------------------------------------------- /RendererFeatures.SSGI.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Demonixis.RendererFeatures.SSGI", 3 | "references": [ 4 | "GUID:df380645f10b7bc4b97d4f5eb6303d95", 5 | "GUID:15fc0a57446b3144c949da3e2b9737a9" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": true, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Yannick Comte 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Mm]emoryCaptures/ 12 | 13 | # Asset meta data should only be ignored when the corresponding asset is also ignored 14 | !/[Aa]ssets/**/*.meta 15 | 16 | # Uncomment this line if you wish to ignore the asset store tools plugin 17 | # /[Aa]ssets/AssetStoreTools* 18 | 19 | # Autogenerated Jetbrains Rider plugin 20 | [Aa]ssets/Plugins/Editor/JetBrains* 21 | 22 | # Visual Studio cache directory 23 | .vs/ 24 | 25 | # Gradle cache directory 26 | .gradle/ 27 | 28 | # Autogenerated VS/MD/Consulo solution and project files 29 | ExportedObj/ 30 | .consulo/ 31 | *.csproj 32 | *.unityproj 33 | *.sln 34 | *.suo 35 | *.tmp 36 | *.user 37 | *.userprefs 38 | *.pidb 39 | *.booproj 40 | *.svd 41 | *.pdb 42 | *.mdb 43 | *.opendb 44 | *.VC.db 45 | 46 | # Unity3D generated meta files 47 | *.pidb.meta 48 | *.pdb.meta 49 | *.mdb.meta 50 | 51 | # Unity3D generated file on crash reports 52 | sysinfo.txt 53 | 54 | # Builds 55 | *.apk 56 | *.unitypackage 57 | 58 | # Crashlytics generated file 59 | crashlytics-build.properties 60 | 61 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SSGI-URP 2 | Screen Space Global Illumination for Universal Render Pipeline. It's a port of a SSGI shader wrote by [Martins Upitis](https://github.com/martinsh/godot-SSGI) for the Godot Engine. It's adapted to work as a render feature for Unity's Universal Render Pipeline. 3 | 4 | Keep in mind it's a simple implementation of SSGI and it's not perfect. 5 | Performances are good if you keep noise and sample count low. 6 | 7 | ## Requirement 8 | - Unity 2019.3+ 9 | - Universal Render Pipeline 7.2+ 10 | - **Depth Texture Enabled** 11 | - Tested on Windows 10 12 | 13 | ![Debug](Images/ssgi-on.jpg) 14 | SSGI Enabled 15 | 16 | ![Enabled](Images/ssgi-off.jpg) 17 | SSGI Disabled 18 | 19 | ## Setup 20 | | Parameter | Role | 21 | |-----------|------| 22 | | SamplesCount | How many samples to use. A value between 8 and 16 is fine for performances | 23 | | IndirectAmount | Indirect GI Boost. No cost on performances | 24 | | NoiseAmount | Add some noise to the final render, impact performances, keep it lower to 2 | 25 | | Noise | Enable or not the noise | 26 | 27 | ## Usage 28 | - Create or open a URP project 29 | - Open the Package Manager window 30 | - Add this repository as a package by clicking on the + icon 31 | - Past `https://github.com/demonixis/SSGI-URP.git` 32 | - Add a new SSGI Render Feature to your Renderer 33 | - Use the SSGI material 34 | - Have fun! 35 | 36 | ## License 37 | This project is released under the MIT license, like [the original shader](https://github.com/martinsh/godot-SSGI). -------------------------------------------------------------------------------- /Demo/Settings/UniversalRenderPipelineAsset.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRenderPipelineAsset 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 5 16 | k_AssetPreviousVersion: 5 17 | m_RendererType: 1 18 | m_RendererData: {fileID: 0} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: ac41d6168969b6c47b5f54f7db96b329, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 1 23 | m_RequireOpaqueTexture: 1 24 | m_OpaqueDownsampling: 1 25 | m_SupportsTerrainHoles: 1 26 | m_SupportsHDR: 1 27 | m_MSAA: 4 28 | m_RenderScale: 1 29 | m_MainLightRenderingMode: 1 30 | m_MainLightShadowsSupported: 1 31 | m_MainLightShadowmapResolution: 4096 32 | m_AdditionalLightsRenderingMode: 1 33 | m_AdditionalLightsPerObjectLimit: 8 34 | m_AdditionalLightShadowsSupported: 1 35 | m_AdditionalLightsShadowmapResolution: 4096 36 | m_ShadowDistance: 200 37 | m_ShadowCascades: 2 38 | m_Cascade2Split: 0.25 39 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 40 | m_ShadowDepthBias: 1 41 | m_ShadowNormalBias: 1 42 | m_SoftShadowsSupported: 1 43 | m_UseSRPBatcher: 1 44 | m_SupportsDynamicBatching: 1 45 | m_MixedLightingSupported: 0 46 | m_DebugLevel: 0 47 | m_ColorGradingMode: 1 48 | m_ColorGradingLutSize: 32 49 | m_ShadowType: 1 50 | m_LocalShadowsSupported: 0 51 | m_LocalShadowsAtlasResolution: 256 52 | m_MaxPixelLights: 0 53 | m_ShadowAtlasResolution: 256 54 | m_ShaderVariantLogLevel: 0 55 | -------------------------------------------------------------------------------- /Demo/Settings/UniversalRenderPipelineAsset_Renderer.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} 13 | m_Name: UniversalRenderPipelineAsset_Renderer 14 | m_EditorClassIdentifier: 15 | m_RendererFeatures: 16 | - {fileID: 3895275090410006281} 17 | postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} 18 | shaders: 19 | blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} 20 | copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} 21 | screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd, 22 | type: 3} 23 | samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} 24 | fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} 25 | m_OpaqueLayerMask: 26 | serializedVersion: 2 27 | m_Bits: 4294967295 28 | m_TransparentLayerMask: 29 | serializedVersion: 2 30 | m_Bits: 4294967295 31 | m_DefaultStencilState: 32 | overrideStencilState: 0 33 | stencilReference: 0 34 | stencilCompareFunction: 8 35 | passOperation: 0 36 | failOperation: 0 37 | zFailOperation: 0 38 | --- !u!114 &3895275090410006281 39 | MonoBehaviour: 40 | m_ObjectHideFlags: 0 41 | m_CorrespondingSourceObject: {fileID: 0} 42 | m_PrefabInstance: {fileID: 0} 43 | m_PrefabAsset: {fileID: 0} 44 | m_GameObject: {fileID: 0} 45 | m_Enabled: 1 46 | m_EditorHideFlags: 0 47 | m_Script: {fileID: 11500000, guid: 457c10befaef4cf49860d807085788f7, type: 3} 48 | m_Name: NewSSGI 49 | m_EditorClassIdentifier: 50 | settings: 51 | renderPassEvent: 300 52 | Material: {fileID: 2100000, guid: bae01e4c96084d547a2da5e38d76e3de, type: 2} 53 | SamplesCount: 16 54 | IndirectAmount: 267 55 | NoiseAmount: 0.32 56 | Noise: 1 57 | Enabled: 1 58 | -------------------------------------------------------------------------------- /Images/ssgi-on.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab0dbf6164245b74194734039e3b50aa 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 10 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 3 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | forceMaximumCompressionQuality_BC6H_BC7: 0 73 | spriteSheet: 74 | serializedVersion: 2 75 | sprites: [] 76 | outline: [] 77 | physicsShape: [] 78 | bones: [] 79 | spriteID: 80 | internalID: 0 81 | vertices: [] 82 | indices: 83 | edges: [] 84 | weights: [] 85 | secondaryTextures: [] 86 | spritePackingTag: 87 | pSDRemoveMatte: 0 88 | pSDShowRemoveMatteOption: 0 89 | userData: 90 | assetBundleName: 91 | assetBundleVariant: 92 | -------------------------------------------------------------------------------- /Images/ssgi-off.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cac71714ec65fb4c882e57b74fd7218 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 10 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 3 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | forceMaximumCompressionQuality_BC6H_BC7: 0 73 | spriteSheet: 74 | serializedVersion: 2 75 | sprites: [] 76 | outline: [] 77 | physicsShape: [] 78 | bones: [] 79 | spriteID: 80 | internalID: 0 81 | vertices: [] 82 | indices: 83 | edges: [] 84 | weights: [] 85 | secondaryTextures: [] 86 | spritePackingTag: 87 | pSDRemoveMatte: 0 88 | pSDShowRemoveMatteOption: 0 89 | userData: 90 | assetBundleName: 91 | assetBundleVariant: 92 | -------------------------------------------------------------------------------- /Demo/Materials/Default.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Default 11 | m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: 2050 17 | stringTagMap: 18 | RenderType: Opaque 19 | disabledShaderPasses: [] 20 | m_SavedProperties: 21 | serializedVersion: 3 22 | m_TexEnvs: 23 | - _BaseMap: 24 | m_Texture: {fileID: 0} 25 | m_Scale: {x: 1, y: 1} 26 | m_Offset: {x: 0, y: 0} 27 | - _BumpMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _EmissionMap: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _MainTex: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _MetallicGlossMap: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _OcclusionMap: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _SpecGlossMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | m_Floats: 52 | - _AlphaClip: 0 53 | - _Blend: 0 54 | - _BumpScale: 1 55 | - _Cull: 2 56 | - _Cutoff: 0.5 57 | - _DstBlend: 0 58 | - _EnvironmentReflections: 1 59 | - _GlossMapScale: 0 60 | - _Glossiness: 0 61 | - _GlossyReflections: 0 62 | - _Metallic: 0 63 | - _OcclusionStrength: 1 64 | - _QueueOffset: 0 65 | - _ReceiveShadows: 1 66 | - _Smoothness: 1 67 | - _SmoothnessTextureChannel: 0 68 | - _SpecularHighlights: 1 69 | - _SrcBlend: 1 70 | - _Surface: 0 71 | - _WorkflowMode: 1 72 | - _ZWrite: 1 73 | m_Colors: 74 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1} 75 | - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 78 | --- !u!114 &4230998254538551008 79 | MonoBehaviour: 80 | m_ObjectHideFlags: 11 81 | m_CorrespondingSourceObject: {fileID: 0} 82 | m_PrefabInstance: {fileID: 0} 83 | m_PrefabAsset: {fileID: 0} 84 | m_GameObject: {fileID: 0} 85 | m_Enabled: 1 86 | m_EditorHideFlags: 0 87 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 88 | m_Name: 89 | m_EditorClassIdentifier: 90 | version: 1 91 | -------------------------------------------------------------------------------- /Demo/Materials/Emi.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-4193924382497277686 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 11 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | version: 1 16 | --- !u!21 &2100000 17 | Material: 18 | serializedVersion: 6 19 | m_ObjectHideFlags: 0 20 | m_CorrespondingSourceObject: {fileID: 0} 21 | m_PrefabInstance: {fileID: 0} 22 | m_PrefabAsset: {fileID: 0} 23 | m_Name: Emi 24 | m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} 25 | m_ShaderKeywords: _EMISSION 26 | m_LightmapFlags: 2 27 | m_EnableInstancingVariants: 0 28 | m_DoubleSidedGI: 0 29 | m_CustomRenderQueue: 2050 30 | stringTagMap: 31 | RenderType: Opaque 32 | disabledShaderPasses: [] 33 | m_SavedProperties: 34 | serializedVersion: 3 35 | m_TexEnvs: 36 | - _BaseMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _BumpMap: 41 | m_Texture: {fileID: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _EmissionMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _MainTex: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _MetallicGlossMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | - _OcclusionMap: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | - _SpecGlossMap: 61 | m_Texture: {fileID: 0} 62 | m_Scale: {x: 1, y: 1} 63 | m_Offset: {x: 0, y: 0} 64 | m_Floats: 65 | - _AlphaClip: 0 66 | - _Blend: 0 67 | - _BumpScale: 1 68 | - _Cull: 2 69 | - _Cutoff: 0.5 70 | - _DstBlend: 0 71 | - _EnvironmentReflections: 1 72 | - _GlossMapScale: 0 73 | - _Glossiness: 0 74 | - _GlossyReflections: 0 75 | - _Metallic: 0 76 | - _OcclusionStrength: 1 77 | - _QueueOffset: 0 78 | - _ReceiveShadows: 1 79 | - _Smoothness: 0.5 80 | - _SmoothnessTextureChannel: 0 81 | - _SpecularHighlights: 1 82 | - _SrcBlend: 1 83 | - _Surface: 0 84 | - _WorkflowMode: 1 85 | - _ZWrite: 1 86 | m_Colors: 87 | - _BaseColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 88 | - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1} 89 | - _EmissionColor: {r: 0.48564333, g: 1.4980392, b: 0.35294116, a: 1} 90 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 91 | -------------------------------------------------------------------------------- /Demo/Scenes/SSGI/GameObject Profile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-2041839976877220534 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 3 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 66f335fb1ffd8684294ad653bf1c7564, type: 3} 13 | m_Name: ColorAdjustments 14 | m_EditorClassIdentifier: 15 | active: 1 16 | m_AdvancedMode: 0 17 | postExposure: 18 | m_OverrideState: 1 19 | m_Value: 0.69 20 | contrast: 21 | m_OverrideState: 0 22 | m_Value: 0 23 | min: -100 24 | max: 100 25 | colorFilter: 26 | m_OverrideState: 0 27 | m_Value: {r: 1, g: 1, b: 1, a: 1} 28 | hdr: 1 29 | showAlpha: 0 30 | showEyeDropper: 1 31 | hueShift: 32 | m_OverrideState: 0 33 | m_Value: 0 34 | min: -180 35 | max: 180 36 | saturation: 37 | m_OverrideState: 0 38 | m_Value: 0 39 | min: -100 40 | max: 100 41 | --- !u!114 &11400000 42 | MonoBehaviour: 43 | m_ObjectHideFlags: 0 44 | m_CorrespondingSourceObject: {fileID: 0} 45 | m_PrefabInstance: {fileID: 0} 46 | m_PrefabAsset: {fileID: 0} 47 | m_GameObject: {fileID: 0} 48 | m_Enabled: 1 49 | m_EditorHideFlags: 0 50 | m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3} 51 | m_Name: GameObject Profile 52 | m_EditorClassIdentifier: 53 | components: 54 | - {fileID: 6007629356205074134} 55 | - {fileID: 4007151738526036657} 56 | - {fileID: -2041839976877220534} 57 | --- !u!114 &4007151738526036657 58 | MonoBehaviour: 59 | m_ObjectHideFlags: 3 60 | m_CorrespondingSourceObject: {fileID: 0} 61 | m_PrefabInstance: {fileID: 0} 62 | m_PrefabAsset: {fileID: 0} 63 | m_GameObject: {fileID: 0} 64 | m_Enabled: 1 65 | m_EditorHideFlags: 0 66 | m_Script: {fileID: 11500000, guid: 97c23e3b12dc18c42a140437e53d3951, type: 3} 67 | m_Name: Tonemapping 68 | m_EditorClassIdentifier: 69 | active: 1 70 | m_AdvancedMode: 0 71 | mode: 72 | m_OverrideState: 1 73 | m_Value: 2 74 | --- !u!114 &6007629356205074134 75 | MonoBehaviour: 76 | m_ObjectHideFlags: 3 77 | m_CorrespondingSourceObject: {fileID: 0} 78 | m_PrefabInstance: {fileID: 0} 79 | m_PrefabAsset: {fileID: 0} 80 | m_GameObject: {fileID: 0} 81 | m_Enabled: 1 82 | m_EditorHideFlags: 0 83 | m_Script: {fileID: 11500000, guid: 0b2db86121404754db890f4c8dfe81b2, type: 3} 84 | m_Name: Bloom 85 | m_EditorClassIdentifier: 86 | active: 1 87 | m_AdvancedMode: 0 88 | threshold: 89 | m_OverrideState: 1 90 | m_Value: 1 91 | min: 0 92 | intensity: 93 | m_OverrideState: 1 94 | m_Value: 2.14 95 | min: 0 96 | scatter: 97 | m_OverrideState: 0 98 | m_Value: 0.7 99 | min: 0 100 | max: 1 101 | clamp: 102 | m_OverrideState: 0 103 | m_Value: 65472 104 | min: 0 105 | tint: 106 | m_OverrideState: 0 107 | m_Value: {r: 1, g: 1, b: 1, a: 1} 108 | hdr: 0 109 | showAlpha: 0 110 | showEyeDropper: 1 111 | highQualityFiltering: 112 | m_OverrideState: 0 113 | m_Value: 0 114 | dirtTexture: 115 | m_OverrideState: 0 116 | m_Value: {fileID: 0} 117 | dirtIntensity: 118 | m_OverrideState: 0 119 | m_Value: 0 120 | min: 0 121 | -------------------------------------------------------------------------------- /Materials/ssgi.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-6141520501399070598 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 11 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | version: 1 16 | --- !u!21 &2100000 17 | Material: 18 | serializedVersion: 6 19 | m_ObjectHideFlags: 0 20 | m_CorrespondingSourceObject: {fileID: 0} 21 | m_PrefabInstance: {fileID: 0} 22 | m_PrefabAsset: {fileID: 0} 23 | m_Name: ssgi 24 | m_Shader: {fileID: 4800000, guid: 4865bbccebabc034ea5a77ab20682352, type: 3} 25 | m_ShaderKeywords: _GLOSSYREFLECTIONS_OFF 26 | m_LightmapFlags: 4 27 | m_EnableInstancingVariants: 0 28 | m_DoubleSidedGI: 0 29 | m_CustomRenderQueue: -1 30 | stringTagMap: {} 31 | disabledShaderPasses: [] 32 | m_SavedProperties: 33 | serializedVersion: 3 34 | m_TexEnvs: 35 | - _BaseMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _BumpMap: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _DetailAlbedoMap: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _DetailMask: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _DetailNormalMap: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _EmissionMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | - _MainTex: 60 | m_Texture: {fileID: 0} 61 | m_Scale: {x: 1, y: 1} 62 | m_Offset: {x: 0, y: 0} 63 | - _MetallicGlossMap: 64 | m_Texture: {fileID: 0} 65 | m_Scale: {x: 1, y: 1} 66 | m_Offset: {x: 0, y: 0} 67 | - _Noise: 68 | m_Texture: {fileID: 2800000, guid: d4c243cf8aeeb4a4d8ff9bb2329bd16f, type: 3} 69 | m_Scale: {x: 1, y: 1} 70 | m_Offset: {x: 0, y: 0} 71 | - _OcclusionMap: 72 | m_Texture: {fileID: 0} 73 | m_Scale: {x: 1, y: 1} 74 | m_Offset: {x: 0, y: 0} 75 | - _ParallaxMap: 76 | m_Texture: {fileID: 0} 77 | m_Scale: {x: 1, y: 1} 78 | m_Offset: {x: 0, y: 0} 79 | - _RandomTexture: 80 | m_Texture: {fileID: 2800000, guid: d4c243cf8aeeb4a4d8ff9bb2329bd16f, type: 3} 81 | m_Scale: {x: 1, y: 1} 82 | m_Offset: {x: 0, y: 0} 83 | - _SpecGlossMap: 84 | m_Texture: {fileID: 0} 85 | m_Scale: {x: 1, y: 1} 86 | m_Offset: {x: 0, y: 0} 87 | m_Floats: 88 | - _AlphaClip: 0 89 | - _Area: 3.56 90 | - _Base: 0 91 | - _Blend: 0 92 | - _BumpScale: 1 93 | - _Cull: 2 94 | - _Cutoff: 0.5 95 | - _DetailNormalMapScale: 1 96 | - _DstBlend: 0 97 | - _EnvironmentReflections: 1 98 | - _Falloff: 0.0001 99 | - _GlossMapScale: 0 100 | - _Glossiness: 0 101 | - _GlossyReflections: 0 102 | - _Metallic: 0 103 | - _Mode: 0 104 | - _OcclusionStrength: 1 105 | - _Parallax: 0.02 106 | - _QueueOffset: 0 107 | - _Radius: 0.06 108 | - _ReceiveShadows: 1 109 | - _Smoothness: 0 110 | - _SmoothnessTextureChannel: 0 111 | - _SpecularHighlights: 1 112 | - _SrcBlend: 1 113 | - _Surface: 0 114 | - _TotalStrength: 1.72 115 | - _UVSec: 0 116 | - _WorkflowMode: 1 117 | - _ZWrite: 1 118 | m_Colors: 119 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1} 120 | - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1} 121 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 122 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 123 | -------------------------------------------------------------------------------- /Scripts/SSGI.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using UnityEngine.Rendering; 4 | using UnityEngine.Rendering.Universal; 5 | 6 | namespace Demonixis.Toolbox.Rendering 7 | { 8 | [Serializable] 9 | public class SSGISettings 10 | { 11 | public RenderPassEvent renderPassEvent = RenderPassEvent.AfterRenderingOpaques; 12 | 13 | public Material Material = null; 14 | 15 | [Range(8, 128)] 16 | public int SamplesCount = 8; 17 | [Range(0.0f, 512.0f)] 18 | public float IndirectAmount = 8; 19 | [Range(0.0f, 5.0f)] 20 | public float NoiseAmount = 2; 21 | public bool Noise = true; 22 | public bool Enabled = true; 23 | } 24 | 25 | public class CustomRenderPass : ScriptableRenderPass 26 | { 27 | private string m_ProfilerTag; 28 | private RenderTargetIdentifier m_TmpRT1; 29 | private RenderTargetIdentifier m_Source; 30 | 31 | public Material Material; 32 | public int SamplesCount; 33 | public float IndirectAmount; 34 | public float NoiseAmount; 35 | public bool Noise; 36 | public bool Enabled; 37 | 38 | public void Setup(RenderTargetIdentifier source) 39 | { 40 | m_Source = source; 41 | } 42 | 43 | public CustomRenderPass(string profilerTag) 44 | { 45 | m_ProfilerTag = profilerTag; 46 | } 47 | 48 | public override void Configure(CommandBuffer cmd, RenderTextureDescriptor cameraTextureDescriptor) 49 | { 50 | var width = cameraTextureDescriptor.width; 51 | var height = cameraTextureDescriptor.height; 52 | 53 | m_TmpRT1 = SetupRenderTargetIdentifier(cmd, 0, width, height); 54 | } 55 | 56 | private RenderTargetIdentifier SetupRenderTargetIdentifier(CommandBuffer cmd, int id, int width, int height) 57 | { 58 | int tmpId = Shader.PropertyToID($"SSGI_{id}_RT"); 59 | cmd.GetTemporaryRT(tmpId, width, height, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB32); 60 | 61 | var rt = new RenderTargetIdentifier(tmpId); 62 | ConfigureTarget(rt); 63 | 64 | return rt; 65 | } 66 | 67 | public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) 68 | { 69 | if (Material == null) 70 | { 71 | return; 72 | } 73 | 74 | var cmd = CommandBufferPool.Get(m_ProfilerTag); 75 | var opaqueDesc = renderingData.cameraData.cameraTargetDescriptor; 76 | opaqueDesc.depthBufferBits = 0; 77 | 78 | if (Enabled) 79 | { 80 | var invProjectionMatrix = GL.GetGPUProjectionMatrix(renderingData.cameraData.camera.projectionMatrix, false).inverse; 81 | 82 | Material.SetFloat("_SamplesCount", SamplesCount); 83 | Material.SetFloat("_IndirectAmount", IndirectAmount); 84 | Material.SetFloat("_NoiseAmount", NoiseAmount); 85 | Material.SetInt("_Noise", Noise ? 1 : 0); 86 | Material.SetMatrix("_InverseProjectionMatrix", invProjectionMatrix); 87 | 88 | Blit(cmd, m_Source, m_TmpRT1, Material, 0); 89 | Blit(cmd, m_TmpRT1, m_Source); 90 | } 91 | else 92 | { 93 | Blit(cmd, m_Source, m_Source); 94 | } 95 | 96 | context.ExecuteCommandBuffer(cmd); 97 | CommandBufferPool.Release(cmd); 98 | } 99 | 100 | public override void FrameCleanup(CommandBuffer cmd) 101 | { 102 | } 103 | } 104 | 105 | public class SSGI : ScriptableRendererFeature 106 | { 107 | public SSGISettings settings = new SSGISettings(); 108 | private CustomRenderPass pass; 109 | 110 | public override void Create() 111 | { 112 | pass = new CustomRenderPass("SSGI"); 113 | pass.Material = settings.Material; 114 | pass.SamplesCount = settings.SamplesCount; 115 | pass.IndirectAmount = settings.IndirectAmount; 116 | pass.NoiseAmount = settings.NoiseAmount; 117 | pass.Noise = settings.Noise; 118 | pass.Enabled = settings.Enabled; 119 | pass.renderPassEvent = settings.renderPassEvent; 120 | } 121 | 122 | public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) 123 | { 124 | var src = renderer.cameraColorTarget; 125 | pass.Setup(src); 126 | renderer.EnqueuePass(pass); 127 | } 128 | } 129 | } -------------------------------------------------------------------------------- /Shaders/ssgi.shader: -------------------------------------------------------------------------------- 1 | Shader "Custom/RenderFeature/SSGI" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Texture", 2D) = "white" {} 6 | } 7 | 8 | SubShader 9 | { 10 | Tags { "RenderType"="Opaque" } 11 | LOD 100 12 | 13 | Pass // SSAO 14 | { 15 | CGPROGRAM 16 | #pragma vertex vert 17 | #pragma fragment frag 18 | 19 | #include "UnityCG.cginc" 20 | 21 | struct appdata 22 | { 23 | float4 vertex : POSITION; 24 | float2 uv : TEXCOORD0; 25 | }; 26 | 27 | struct v2f 28 | { 29 | float2 uv : TEXCOORD0; 30 | UNITY_FOG_COORDS(1) 31 | float4 vertex : SV_POSITION; 32 | }; 33 | 34 | sampler2D _MainTex; 35 | sampler2D _CameraDepthTexture; 36 | 37 | float4 _MainTex_TexelSize; 38 | float4 _MainTex_ST; 39 | 40 | int _SamplesCount; 41 | float _IndirectAmount; 42 | float _NoiseAmount; 43 | int _Noise; 44 | float4x4 _InverseProjectionMatrix; 45 | 46 | float2 mod_dither3(float2 u) 47 | { 48 | float noiseX = fmod(u.x + u.y + fmod(208. + u.x * 3.58, 13. + fmod(u.y * 22.9, 9.)), 7.) * .143; 49 | float noiseY = fmod(u.y + u.x + fmod(203. + u.y * 3.18, 12. + fmod(u.x * 27.4, 8.)), 6.) * .139; 50 | return float2(noiseX, noiseY) * 2.0 - 1.0; 51 | } 52 | 53 | float2 dither(float2 coord, float seed, float2 size) 54 | { 55 | float noiseX = ((frac(1.0 - (coord.x + seed * 1.0) * (size.x / 2.0)) * 0.25) + (frac((coord.y + seed * 2.0) * (size.y / 2.0)) * 0.75)) * 2.0 - 1.0; 56 | float noiseY = ((frac(1.0 - (coord.x + seed * 3.0) * (size.x / 2.0)) * 0.75) + (frac((coord.y + seed * 4.0) * (size.y / 2.0)) * 0.25)) * 2.0 - 1.0; 57 | return float2(noiseX, noiseY); 58 | } 59 | 60 | float3 getViewPos(sampler2D tex, float2 coord, float4x4 ipm) 61 | { 62 | float depth = tex2D(tex, coord).r; 63 | 64 | //Turn the current pixel from ndc to world coordinates 65 | float3 pixel_pos_ndc = float3(coord * 2.0 - 1.0, depth * 2.0 - 1.0); 66 | float4 pixel_pos_clip = mul(ipm, float4(pixel_pos_ndc, 1.0)); 67 | float3 pixel_pos_cam = pixel_pos_clip.xyz / pixel_pos_clip.w; 68 | return pixel_pos_cam; 69 | } 70 | 71 | float3 getViewNormal(sampler2D tex, float2 coord, float4x4 ipm) 72 | { 73 | float pW = _MainTex_TexelSize.x; 74 | float pH = _MainTex_TexelSize.y; 75 | 76 | float3 p1 = getViewPos(tex, coord + float2(pW, 0.0), ipm).xyz; 77 | float3 p2 = getViewPos(tex, coord + float2(0.0, pH), ipm).xyz; 78 | float3 p3 = getViewPos(tex, coord + float2(-pW, 0.0), ipm).xyz; 79 | float3 p4 = getViewPos(tex, coord + float2(0.0, -pH), ipm).xyz; 80 | 81 | float3 vP = getViewPos(tex, coord, ipm); 82 | 83 | float3 dx = vP - p1; 84 | float3 dy = p2 - vP; 85 | float3 dx2 = p3 - vP; 86 | float3 dy2 = vP - p4; 87 | 88 | if (length(dx2) < length(dx) && coord.x - pW >= 0.0 || coord.x + pW > 1.0) 89 | { 90 | dx = dx2; 91 | } 92 | 93 | if (length(dy2) < length(dy) && coord.y - pH >= 0.0 || coord.y + pH > 1.0) 94 | { 95 | dy = dy2; 96 | } 97 | 98 | return normalize(-cross(dx, dy).xyz); 99 | } 100 | 101 | float lenSq(float3 v) 102 | { 103 | return pow(v.x, 2.0) + pow(v.y, 2.0) + pow(v.z, 2.0); 104 | } 105 | 106 | float3 lightSample(sampler2D color_tex, sampler2D depth_tex, float2 coord, float4x4 ipm, float2 lightcoord, float3 normal, float3 position, float n, float2 texsize) 107 | { 108 | float2 random = float2(1.0, 1.0); 109 | 110 | if (_Noise > 0) 111 | { 112 | random = (mod_dither3((coord * texsize) + float2(n * 82.294, n * 127.721))) * 0.01 * _NoiseAmount; 113 | } 114 | else 115 | { 116 | random = dither(coord, 1.0, texsize) * 0.1 * _NoiseAmount; 117 | } 118 | 119 | lightcoord *= float2(0.7, 0.7); 120 | 121 | //light absolute data 122 | float3 lightcolor = tex2D(color_tex, ((lightcoord)+random)).rgb; 123 | float3 lightnormal = getViewNormal(depth_tex, frac(lightcoord) + random, ipm).rgb; 124 | float3 lightposition = getViewPos(depth_tex, frac(lightcoord) + random, ipm).xyz; 125 | 126 | //light variable data 127 | float3 lightpath = lightposition - position; 128 | float3 lightdir = normalize(lightpath); 129 | 130 | //falloff calculations 131 | float cosemit = clamp(dot(lightdir, -lightnormal), 0.0, 1.0); //emit only in one direction 132 | float coscatch = clamp(dot(lightdir, normal) * 0.5 + 0.5, 0.0, 1.0); //recieve light from one direction 133 | float distfall = pow(lenSq(lightpath), 0.1) + 1.0; //fall off with distance 134 | 135 | return (lightcolor * cosemit * coscatch / distfall) * (length(lightposition) / 20.0); 136 | } 137 | 138 | v2f vert (appdata v) 139 | { 140 | v2f o; 141 | o.vertex = UnityObjectToClipPos(v.vertex); 142 | o.uv = TRANSFORM_TEX(v.uv, _MainTex); 143 | return o; 144 | } 145 | 146 | fixed4 frag(v2f input) : SV_Target 147 | { 148 | float3 direct = tex2D(_MainTex, input.uv).rgb; 149 | float3 color = normalize(direct).rgb; 150 | float3 indirect = float3(0.0,0.0,0.0); 151 | float PI = 3.14159; 152 | float2 texSize = _MainTex_TexelSize.zw; 153 | //fragment geometry data 154 | float3 position = getViewPos(_CameraDepthTexture, input.uv, _InverseProjectionMatrix); 155 | float3 normal = getViewNormal(_CameraDepthTexture, input.uv, _InverseProjectionMatrix); 156 | 157 | //sampling in spiral 158 | 159 | float dlong = PI * (3.0 - sqrt(5.0)); 160 | float dz = 1.0 / float(_SamplesCount); 161 | float l = 0.0; 162 | float z = 1.0 - dz / 2.0; 163 | 164 | for (int i = 0; i < _SamplesCount; i++) 165 | { 166 | 167 | float r = sqrt(1.0 - z); 168 | 169 | float xpoint = (cos(l) * r) * 0.5 + 0.5; 170 | float ypoint = (sin(l) * r) * 0.5 + 0.5; 171 | 172 | z = z - dz; 173 | l = l + dlong; 174 | 175 | indirect += lightSample(_MainTex, _CameraDepthTexture, input.uv, _InverseProjectionMatrix, float2(xpoint, ypoint), normal, position, float(i), texSize); 176 | 177 | } 178 | 179 | return fixed4(direct + (indirect / float(_SamplesCount) * _IndirectAmount), 1); 180 | } 181 | ENDCG 182 | } 183 | } 184 | } 185 | -------------------------------------------------------------------------------- /Demo/Scenes/SSGI.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 9 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} 42 | m_UseRadianceAmbientProbe: 0 43 | --- !u!157 &3 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 11 47 | m_GIWorkflowMode: 1 48 | m_GISettings: 49 | serializedVersion: 2 50 | m_BounceScale: 1 51 | m_IndirectOutputScale: 1 52 | m_AlbedoBoost: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 0 56 | m_LightmapEditorSettings: 57 | serializedVersion: 12 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_AtlasSize: 1024 61 | m_AO: 0 62 | m_AOMaxDistance: 1 63 | m_CompAOExponent: 1 64 | m_CompAOExponentDirect: 0 65 | m_ExtractAmbientOcclusion: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 256 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 2 75 | m_BakeBackend: 1 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 512 79 | m_PVRBounces: 2 80 | m_PVREnvironmentSampleCount: 256 81 | m_PVREnvironmentReferencePointCount: 2048 82 | m_PVRFilteringMode: 1 83 | m_PVRDenoiserTypeDirect: 1 84 | m_PVRDenoiserTypeIndirect: 1 85 | m_PVRDenoiserTypeAO: 1 86 | m_PVRFilterTypeDirect: 0 87 | m_PVRFilterTypeIndirect: 0 88 | m_PVRFilterTypeAO: 0 89 | m_PVREnvironmentMIS: 1 90 | m_PVRCulling: 1 91 | m_PVRFilteringGaussRadiusDirect: 1 92 | m_PVRFilteringGaussRadiusIndirect: 5 93 | m_PVRFilteringGaussRadiusAO: 2 94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 96 | m_PVRFilteringAtrousPositionSigmaAO: 1 97 | m_ExportTrainingData: 0 98 | m_TrainingDataDestination: TrainingData 99 | m_LightProbeSampleCountMultiplier: 4 100 | m_LightingDataAsset: {fileID: 0} 101 | m_UseShadowmask: 1 102 | --- !u!196 &4 103 | NavMeshSettings: 104 | serializedVersion: 2 105 | m_ObjectHideFlags: 0 106 | m_BuildSettings: 107 | serializedVersion: 2 108 | agentTypeID: 0 109 | agentRadius: 0.5 110 | agentHeight: 2 111 | agentSlope: 45 112 | agentClimb: 0.4 113 | ledgeDropHeight: 0 114 | maxJumpAcrossDistance: 0 115 | minRegionArea: 2 116 | manualCellSize: 0 117 | cellSize: 0.16666667 118 | manualTileSize: 0 119 | tileSize: 256 120 | accuratePlacement: 0 121 | debug: 122 | m_Flags: 0 123 | m_NavMeshData: {fileID: 0} 124 | --- !u!1 &347070203 125 | GameObject: 126 | m_ObjectHideFlags: 0 127 | m_CorrespondingSourceObject: {fileID: 0} 128 | m_PrefabInstance: {fileID: 0} 129 | m_PrefabAsset: {fileID: 0} 130 | serializedVersion: 6 131 | m_Component: 132 | - component: {fileID: 347070204} 133 | - component: {fileID: 347070205} 134 | m_Layer: 0 135 | m_Name: Pivot 136 | m_TagString: Untagged 137 | m_Icon: {fileID: 0} 138 | m_NavMeshLayer: 0 139 | m_StaticEditorFlags: 0 140 | m_IsActive: 1 141 | --- !u!4 &347070204 142 | Transform: 143 | m_ObjectHideFlags: 0 144 | m_CorrespondingSourceObject: {fileID: 0} 145 | m_PrefabInstance: {fileID: 0} 146 | m_PrefabAsset: {fileID: 0} 147 | m_GameObject: {fileID: 347070203} 148 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 149 | m_LocalPosition: {x: 0, y: 0, z: 0} 150 | m_LocalScale: {x: 1, y: 1, z: 1} 151 | m_Children: 152 | - {fileID: 2073667359} 153 | - {fileID: 394301098} 154 | - {fileID: 1205531518} 155 | m_Father: {fileID: 1471844742} 156 | m_RootOrder: 0 157 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 158 | --- !u!114 &347070205 159 | MonoBehaviour: 160 | m_ObjectHideFlags: 0 161 | m_CorrespondingSourceObject: {fileID: 0} 162 | m_PrefabInstance: {fileID: 0} 163 | m_PrefabAsset: {fileID: 0} 164 | m_GameObject: {fileID: 347070203} 165 | m_Enabled: 1 166 | m_EditorHideFlags: 0 167 | m_Script: {fileID: 11500000, guid: 4b13cf01181975049832e480eb356e35, type: 3} 168 | m_Name: 169 | m_EditorClassIdentifier: 170 | m_RotationVector: {x: 0, y: 0, z: 0} 171 | --- !u!1 &365301335 172 | GameObject: 173 | m_ObjectHideFlags: 0 174 | m_CorrespondingSourceObject: {fileID: 0} 175 | m_PrefabInstance: {fileID: 0} 176 | m_PrefabAsset: {fileID: 0} 177 | serializedVersion: 6 178 | m_Component: 179 | - component: {fileID: 365301339} 180 | - component: {fileID: 365301338} 181 | - component: {fileID: 365301337} 182 | - component: {fileID: 365301336} 183 | m_Layer: 0 184 | m_Name: Cube (2) 185 | m_TagString: Untagged 186 | m_Icon: {fileID: 0} 187 | m_NavMeshLayer: 0 188 | m_StaticEditorFlags: 4294967295 189 | m_IsActive: 1 190 | --- !u!65 &365301336 191 | BoxCollider: 192 | m_ObjectHideFlags: 0 193 | m_CorrespondingSourceObject: {fileID: 0} 194 | m_PrefabInstance: {fileID: 0} 195 | m_PrefabAsset: {fileID: 0} 196 | m_GameObject: {fileID: 365301335} 197 | m_Material: {fileID: 0} 198 | m_IsTrigger: 0 199 | m_Enabled: 1 200 | serializedVersion: 2 201 | m_Size: {x: 1, y: 1, z: 1} 202 | m_Center: {x: 0, y: 0, z: 0} 203 | --- !u!23 &365301337 204 | MeshRenderer: 205 | m_ObjectHideFlags: 0 206 | m_CorrespondingSourceObject: {fileID: 0} 207 | m_PrefabInstance: {fileID: 0} 208 | m_PrefabAsset: {fileID: 0} 209 | m_GameObject: {fileID: 365301335} 210 | m_Enabled: 1 211 | m_CastShadows: 1 212 | m_ReceiveShadows: 1 213 | m_DynamicOccludee: 1 214 | m_MotionVectors: 1 215 | m_LightProbeUsage: 1 216 | m_ReflectionProbeUsage: 1 217 | m_RayTracingMode: 2 218 | m_RenderingLayerMask: 1 219 | m_RendererPriority: 0 220 | m_Materials: 221 | - {fileID: 2100000, guid: 338a41f540d4bf248b9f284d4039526e, type: 2} 222 | m_StaticBatchInfo: 223 | firstSubMesh: 0 224 | subMeshCount: 0 225 | m_StaticBatchRoot: {fileID: 0} 226 | m_ProbeAnchor: {fileID: 0} 227 | m_LightProbeVolumeOverride: {fileID: 0} 228 | m_ScaleInLightmap: 1 229 | m_ReceiveGI: 1 230 | m_PreserveUVs: 0 231 | m_IgnoreNormalsForChartDetection: 0 232 | m_ImportantGI: 0 233 | m_StitchLightmapSeams: 1 234 | m_SelectedEditorRenderState: 3 235 | m_MinimumChartSize: 4 236 | m_AutoUVMaxDistance: 0.5 237 | m_AutoUVMaxAngle: 89 238 | m_LightmapParameters: {fileID: 0} 239 | m_SortingLayerID: 0 240 | m_SortingLayer: 0 241 | m_SortingOrder: 0 242 | --- !u!33 &365301338 243 | MeshFilter: 244 | m_ObjectHideFlags: 0 245 | m_CorrespondingSourceObject: {fileID: 0} 246 | m_PrefabInstance: {fileID: 0} 247 | m_PrefabAsset: {fileID: 0} 248 | m_GameObject: {fileID: 365301335} 249 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 250 | --- !u!4 &365301339 251 | Transform: 252 | m_ObjectHideFlags: 0 253 | m_CorrespondingSourceObject: {fileID: 0} 254 | m_PrefabInstance: {fileID: 0} 255 | m_PrefabAsset: {fileID: 0} 256 | m_GameObject: {fileID: 365301335} 257 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 258 | m_LocalPosition: {x: 0.801, y: 0.554, z: -0.521} 259 | m_LocalScale: {x: 1, y: 1, z: 1} 260 | m_Children: [] 261 | m_Father: {fileID: 1448576253} 262 | m_RootOrder: 2 263 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 264 | --- !u!1 &394301096 265 | GameObject: 266 | m_ObjectHideFlags: 0 267 | m_CorrespondingSourceObject: {fileID: 0} 268 | m_PrefabInstance: {fileID: 0} 269 | m_PrefabAsset: {fileID: 0} 270 | serializedVersion: 6 271 | m_Component: 272 | - component: {fileID: 394301098} 273 | - component: {fileID: 394301097} 274 | m_Layer: 0 275 | m_Name: Point Light (1) 276 | m_TagString: Untagged 277 | m_Icon: {fileID: 0} 278 | m_NavMeshLayer: 0 279 | m_StaticEditorFlags: 0 280 | m_IsActive: 1 281 | --- !u!108 &394301097 282 | Light: 283 | m_ObjectHideFlags: 0 284 | m_CorrespondingSourceObject: {fileID: 0} 285 | m_PrefabInstance: {fileID: 0} 286 | m_PrefabAsset: {fileID: 0} 287 | m_GameObject: {fileID: 394301096} 288 | m_Enabled: 1 289 | serializedVersion: 10 290 | m_Type: 2 291 | m_Shape: 0 292 | m_Color: {r: 0.24781048, g: 1, b: 0, a: 1} 293 | m_Intensity: 1 294 | m_Range: 10 295 | m_SpotAngle: 30 296 | m_InnerSpotAngle: 21.80208 297 | m_CookieSize: 10 298 | m_Shadows: 299 | m_Type: 0 300 | m_Resolution: -1 301 | m_CustomResolution: -1 302 | m_Strength: 1 303 | m_Bias: 0.05 304 | m_NormalBias: 0.4 305 | m_NearPlane: 0.2 306 | m_CullingMatrixOverride: 307 | e00: 1 308 | e01: 0 309 | e02: 0 310 | e03: 0 311 | e10: 0 312 | e11: 1 313 | e12: 0 314 | e13: 0 315 | e20: 0 316 | e21: 0 317 | e22: 1 318 | e23: 0 319 | e30: 0 320 | e31: 0 321 | e32: 0 322 | e33: 1 323 | m_UseCullingMatrixOverride: 0 324 | m_Cookie: {fileID: 0} 325 | m_DrawHalo: 0 326 | m_Flare: {fileID: 0} 327 | m_RenderMode: 0 328 | m_CullingMask: 329 | serializedVersion: 2 330 | m_Bits: 4294967295 331 | m_RenderingLayerMask: 1 332 | m_Lightmapping: 4 333 | m_LightShadowCasterMode: 0 334 | m_AreaSize: {x: 1, y: 1} 335 | m_BounceIntensity: 1 336 | m_ColorTemperature: 6570 337 | m_UseColorTemperature: 0 338 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 339 | m_UseBoundingSphereOverride: 0 340 | m_ShadowRadius: 0 341 | m_ShadowAngle: 0 342 | --- !u!4 &394301098 343 | Transform: 344 | m_ObjectHideFlags: 0 345 | m_CorrespondingSourceObject: {fileID: 0} 346 | m_PrefabInstance: {fileID: 0} 347 | m_PrefabAsset: {fileID: 0} 348 | m_GameObject: {fileID: 394301096} 349 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 350 | m_LocalPosition: {x: -0.744, y: 0.802, z: -1.419} 351 | m_LocalScale: {x: 1, y: 1, z: 1} 352 | m_Children: [] 353 | m_Father: {fileID: 347070204} 354 | m_RootOrder: 1 355 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 356 | --- !u!1 &457602025 357 | GameObject: 358 | m_ObjectHideFlags: 0 359 | m_CorrespondingSourceObject: {fileID: 0} 360 | m_PrefabInstance: {fileID: 0} 361 | m_PrefabAsset: {fileID: 0} 362 | serializedVersion: 6 363 | m_Component: 364 | - component: {fileID: 457602029} 365 | - component: {fileID: 457602028} 366 | - component: {fileID: 457602027} 367 | - component: {fileID: 457602026} 368 | m_Layer: 0 369 | m_Name: Cube 370 | m_TagString: Untagged 371 | m_Icon: {fileID: 0} 372 | m_NavMeshLayer: 0 373 | m_StaticEditorFlags: 4294967295 374 | m_IsActive: 1 375 | --- !u!65 &457602026 376 | BoxCollider: 377 | m_ObjectHideFlags: 0 378 | m_CorrespondingSourceObject: {fileID: 0} 379 | m_PrefabInstance: {fileID: 0} 380 | m_PrefabAsset: {fileID: 0} 381 | m_GameObject: {fileID: 457602025} 382 | m_Material: {fileID: 0} 383 | m_IsTrigger: 0 384 | m_Enabled: 1 385 | serializedVersion: 2 386 | m_Size: {x: 1, y: 1, z: 1} 387 | m_Center: {x: 0, y: 0, z: 0} 388 | --- !u!23 &457602027 389 | MeshRenderer: 390 | m_ObjectHideFlags: 0 391 | m_CorrespondingSourceObject: {fileID: 0} 392 | m_PrefabInstance: {fileID: 0} 393 | m_PrefabAsset: {fileID: 0} 394 | m_GameObject: {fileID: 457602025} 395 | m_Enabled: 1 396 | m_CastShadows: 1 397 | m_ReceiveShadows: 1 398 | m_DynamicOccludee: 1 399 | m_MotionVectors: 1 400 | m_LightProbeUsage: 1 401 | m_ReflectionProbeUsage: 1 402 | m_RayTracingMode: 2 403 | m_RenderingLayerMask: 1 404 | m_RendererPriority: 0 405 | m_Materials: 406 | - {fileID: 2100000, guid: 338a41f540d4bf248b9f284d4039526e, type: 2} 407 | m_StaticBatchInfo: 408 | firstSubMesh: 0 409 | subMeshCount: 0 410 | m_StaticBatchRoot: {fileID: 0} 411 | m_ProbeAnchor: {fileID: 0} 412 | m_LightProbeVolumeOverride: {fileID: 0} 413 | m_ScaleInLightmap: 1 414 | m_ReceiveGI: 1 415 | m_PreserveUVs: 0 416 | m_IgnoreNormalsForChartDetection: 0 417 | m_ImportantGI: 0 418 | m_StitchLightmapSeams: 1 419 | m_SelectedEditorRenderState: 3 420 | m_MinimumChartSize: 4 421 | m_AutoUVMaxDistance: 0.5 422 | m_AutoUVMaxAngle: 89 423 | m_LightmapParameters: {fileID: 0} 424 | m_SortingLayerID: 0 425 | m_SortingLayer: 0 426 | m_SortingOrder: 0 427 | --- !u!33 &457602028 428 | MeshFilter: 429 | m_ObjectHideFlags: 0 430 | m_CorrespondingSourceObject: {fileID: 0} 431 | m_PrefabInstance: {fileID: 0} 432 | m_PrefabAsset: {fileID: 0} 433 | m_GameObject: {fileID: 457602025} 434 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 435 | --- !u!4 &457602029 436 | Transform: 437 | m_ObjectHideFlags: 0 438 | m_CorrespondingSourceObject: {fileID: 0} 439 | m_PrefabInstance: {fileID: 0} 440 | m_PrefabAsset: {fileID: 0} 441 | m_GameObject: {fileID: 457602025} 442 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 443 | m_LocalPosition: {x: 0, y: 0, z: 0} 444 | m_LocalScale: {x: 100, y: 0.1, z: 100} 445 | m_Children: [] 446 | m_Father: {fileID: 1448576253} 447 | m_RootOrder: 0 448 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 449 | --- !u!1 &562412023 450 | GameObject: 451 | m_ObjectHideFlags: 0 452 | m_CorrespondingSourceObject: {fileID: 0} 453 | m_PrefabInstance: {fileID: 0} 454 | m_PrefabAsset: {fileID: 0} 455 | serializedVersion: 6 456 | m_Component: 457 | - component: {fileID: 562412025} 458 | - component: {fileID: 562412024} 459 | m_Layer: 0 460 | m_Name: Volume 461 | m_TagString: Untagged 462 | m_Icon: {fileID: 0} 463 | m_NavMeshLayer: 0 464 | m_StaticEditorFlags: 0 465 | m_IsActive: 1 466 | --- !u!114 &562412024 467 | MonoBehaviour: 468 | m_ObjectHideFlags: 0 469 | m_CorrespondingSourceObject: {fileID: 0} 470 | m_PrefabInstance: {fileID: 0} 471 | m_PrefabAsset: {fileID: 0} 472 | m_GameObject: {fileID: 562412023} 473 | m_Enabled: 1 474 | m_EditorHideFlags: 0 475 | m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3} 476 | m_Name: 477 | m_EditorClassIdentifier: 478 | isGlobal: 1 479 | priority: 0 480 | blendDistance: 0 481 | weight: 1 482 | sharedProfile: {fileID: 11400000, guid: b9ce9fc90b0536942aa988ec91abb7f7, type: 2} 483 | --- !u!4 &562412025 484 | Transform: 485 | m_ObjectHideFlags: 0 486 | m_CorrespondingSourceObject: {fileID: 0} 487 | m_PrefabInstance: {fileID: 0} 488 | m_PrefabAsset: {fileID: 0} 489 | m_GameObject: {fileID: 562412023} 490 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 491 | m_LocalPosition: {x: 5.4141936, y: -3.6991599, z: -3.173376} 492 | m_LocalScale: {x: 1, y: 1, z: 1} 493 | m_Children: [] 494 | m_Father: {fileID: 0} 495 | m_RootOrder: 1 496 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 497 | --- !u!1 &597696016 498 | GameObject: 499 | m_ObjectHideFlags: 0 500 | m_CorrespondingSourceObject: {fileID: 0} 501 | m_PrefabInstance: {fileID: 0} 502 | m_PrefabAsset: {fileID: 0} 503 | serializedVersion: 6 504 | m_Component: 505 | - component: {fileID: 597696019} 506 | - component: {fileID: 597696018} 507 | - component: {fileID: 597696017} 508 | - component: {fileID: 597696020} 509 | m_Layer: 0 510 | m_Name: Main Camera 511 | m_TagString: MainCamera 512 | m_Icon: {fileID: 0} 513 | m_NavMeshLayer: 0 514 | m_StaticEditorFlags: 0 515 | m_IsActive: 1 516 | --- !u!81 &597696017 517 | AudioListener: 518 | m_ObjectHideFlags: 0 519 | m_CorrespondingSourceObject: {fileID: 0} 520 | m_PrefabInstance: {fileID: 0} 521 | m_PrefabAsset: {fileID: 0} 522 | m_GameObject: {fileID: 597696016} 523 | m_Enabled: 1 524 | --- !u!20 &597696018 525 | Camera: 526 | m_ObjectHideFlags: 0 527 | m_CorrespondingSourceObject: {fileID: 0} 528 | m_PrefabInstance: {fileID: 0} 529 | m_PrefabAsset: {fileID: 0} 530 | m_GameObject: {fileID: 597696016} 531 | m_Enabled: 1 532 | serializedVersion: 2 533 | m_ClearFlags: 1 534 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 535 | m_projectionMatrixMode: 1 536 | m_GateFitMode: 2 537 | m_FOVAxisMode: 0 538 | m_SensorSize: {x: 36, y: 24} 539 | m_LensShift: {x: 0, y: 0} 540 | m_FocalLength: 50 541 | m_NormalizedViewPortRect: 542 | serializedVersion: 2 543 | x: 0 544 | y: 0 545 | width: 1 546 | height: 1 547 | near clip plane: 0.3 548 | far clip plane: 1000 549 | field of view: 60 550 | orthographic: 0 551 | orthographic size: 5 552 | m_Depth: -1 553 | m_CullingMask: 554 | serializedVersion: 2 555 | m_Bits: 4294967295 556 | m_RenderingPath: -1 557 | m_TargetTexture: {fileID: 0} 558 | m_TargetDisplay: 0 559 | m_TargetEye: 3 560 | m_HDR: 1 561 | m_AllowMSAA: 1 562 | m_AllowDynamicResolution: 0 563 | m_ForceIntoRT: 0 564 | m_OcclusionCulling: 1 565 | m_StereoConvergence: 10 566 | m_StereoSeparation: 0.022 567 | --- !u!4 &597696019 568 | Transform: 569 | m_ObjectHideFlags: 0 570 | m_CorrespondingSourceObject: {fileID: 0} 571 | m_PrefabInstance: {fileID: 0} 572 | m_PrefabAsset: {fileID: 0} 573 | m_GameObject: {fileID: 597696016} 574 | m_LocalRotation: {x: 0, y: 0.9999978, z: 0, w: 0.0020945226} 575 | m_LocalPosition: {x: 1.97, y: 1, z: 4.33} 576 | m_LocalScale: {x: 1, y: 1, z: 1} 577 | m_Children: [] 578 | m_Father: {fileID: 0} 579 | m_RootOrder: 0 580 | m_LocalEulerAnglesHint: {x: 0, y: 179.76, z: 0} 581 | --- !u!114 &597696020 582 | MonoBehaviour: 583 | m_ObjectHideFlags: 0 584 | m_CorrespondingSourceObject: {fileID: 0} 585 | m_PrefabInstance: {fileID: 0} 586 | m_PrefabAsset: {fileID: 0} 587 | m_GameObject: {fileID: 597696016} 588 | m_Enabled: 1 589 | m_EditorHideFlags: 0 590 | m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} 591 | m_Name: 592 | m_EditorClassIdentifier: 593 | m_RenderShadows: 1 594 | m_RequiresDepthTextureOption: 2 595 | m_RequiresOpaqueTextureOption: 2 596 | m_CameraType: 0 597 | m_CameraOutput: 0 598 | m_Cameras: [] 599 | m_RendererIndex: -1 600 | m_VolumeLayerMask: 601 | serializedVersion: 2 602 | m_Bits: 1 603 | m_VolumeTrigger: {fileID: 0} 604 | m_RenderPostProcessing: 1 605 | m_Antialiasing: 2 606 | m_AntialiasingQuality: 2 607 | m_StopNaN: 0 608 | m_Dithering: 0 609 | m_RequiresDepthTexture: 0 610 | m_RequiresColorTexture: 0 611 | m_Version: 2 612 | --- !u!1 &1148749112 613 | GameObject: 614 | m_ObjectHideFlags: 0 615 | m_CorrespondingSourceObject: {fileID: 0} 616 | m_PrefabInstance: {fileID: 0} 617 | m_PrefabAsset: {fileID: 0} 618 | serializedVersion: 6 619 | m_Component: 620 | - component: {fileID: 1148749116} 621 | - component: {fileID: 1148749115} 622 | - component: {fileID: 1148749114} 623 | - component: {fileID: 1148749113} 624 | m_Layer: 0 625 | m_Name: Cube (3) 626 | m_TagString: Untagged 627 | m_Icon: {fileID: 0} 628 | m_NavMeshLayer: 0 629 | m_StaticEditorFlags: 4294967295 630 | m_IsActive: 1 631 | --- !u!65 &1148749113 632 | BoxCollider: 633 | m_ObjectHideFlags: 0 634 | m_CorrespondingSourceObject: {fileID: 0} 635 | m_PrefabInstance: {fileID: 0} 636 | m_PrefabAsset: {fileID: 0} 637 | m_GameObject: {fileID: 1148749112} 638 | m_Material: {fileID: 0} 639 | m_IsTrigger: 0 640 | m_Enabled: 1 641 | serializedVersion: 2 642 | m_Size: {x: 1, y: 1, z: 1} 643 | m_Center: {x: 0, y: 0, z: 0} 644 | --- !u!23 &1148749114 645 | MeshRenderer: 646 | m_ObjectHideFlags: 0 647 | m_CorrespondingSourceObject: {fileID: 0} 648 | m_PrefabInstance: {fileID: 0} 649 | m_PrefabAsset: {fileID: 0} 650 | m_GameObject: {fileID: 1148749112} 651 | m_Enabled: 1 652 | m_CastShadows: 1 653 | m_ReceiveShadows: 1 654 | m_DynamicOccludee: 1 655 | m_MotionVectors: 1 656 | m_LightProbeUsage: 1 657 | m_ReflectionProbeUsage: 1 658 | m_RayTracingMode: 2 659 | m_RenderingLayerMask: 1 660 | m_RendererPriority: 0 661 | m_Materials: 662 | - {fileID: 2100000, guid: 338a41f540d4bf248b9f284d4039526e, type: 2} 663 | m_StaticBatchInfo: 664 | firstSubMesh: 0 665 | subMeshCount: 0 666 | m_StaticBatchRoot: {fileID: 0} 667 | m_ProbeAnchor: {fileID: 0} 668 | m_LightProbeVolumeOverride: {fileID: 0} 669 | m_ScaleInLightmap: 1 670 | m_ReceiveGI: 1 671 | m_PreserveUVs: 0 672 | m_IgnoreNormalsForChartDetection: 0 673 | m_ImportantGI: 0 674 | m_StitchLightmapSeams: 1 675 | m_SelectedEditorRenderState: 3 676 | m_MinimumChartSize: 4 677 | m_AutoUVMaxDistance: 0.5 678 | m_AutoUVMaxAngle: 89 679 | m_LightmapParameters: {fileID: 0} 680 | m_SortingLayerID: 0 681 | m_SortingLayer: 0 682 | m_SortingOrder: 0 683 | --- !u!33 &1148749115 684 | MeshFilter: 685 | m_ObjectHideFlags: 0 686 | m_CorrespondingSourceObject: {fileID: 0} 687 | m_PrefabInstance: {fileID: 0} 688 | m_PrefabAsset: {fileID: 0} 689 | m_GameObject: {fileID: 1148749112} 690 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 691 | --- !u!4 &1148749116 692 | Transform: 693 | m_ObjectHideFlags: 0 694 | m_CorrespondingSourceObject: {fileID: 0} 695 | m_PrefabInstance: {fileID: 0} 696 | m_PrefabAsset: {fileID: 0} 697 | m_GameObject: {fileID: 1148749112} 698 | m_LocalRotation: {x: -0, y: -0.41842198, z: -0, w: 0.9082528} 699 | m_LocalPosition: {x: -0.11, y: 1.123, z: -0.738} 700 | m_LocalScale: {x: 1, y: 1, z: 1} 701 | m_Children: [] 702 | m_Father: {fileID: 1448576253} 703 | m_RootOrder: 3 704 | m_LocalEulerAnglesHint: {x: 0, y: -49.47, z: 0} 705 | --- !u!1 &1177363328 706 | GameObject: 707 | m_ObjectHideFlags: 0 708 | m_CorrespondingSourceObject: {fileID: 0} 709 | m_PrefabInstance: {fileID: 0} 710 | m_PrefabAsset: {fileID: 0} 711 | serializedVersion: 6 712 | m_Component: 713 | - component: {fileID: 1177363332} 714 | - component: {fileID: 1177363331} 715 | - component: {fileID: 1177363330} 716 | - component: {fileID: 1177363329} 717 | m_Layer: 0 718 | m_Name: Cube (7) 719 | m_TagString: Untagged 720 | m_Icon: {fileID: 0} 721 | m_NavMeshLayer: 0 722 | m_StaticEditorFlags: 4294967295 723 | m_IsActive: 1 724 | --- !u!65 &1177363329 725 | BoxCollider: 726 | m_ObjectHideFlags: 0 727 | m_CorrespondingSourceObject: {fileID: 0} 728 | m_PrefabInstance: {fileID: 0} 729 | m_PrefabAsset: {fileID: 0} 730 | m_GameObject: {fileID: 1177363328} 731 | m_Material: {fileID: 0} 732 | m_IsTrigger: 0 733 | m_Enabled: 1 734 | serializedVersion: 2 735 | m_Size: {x: 1, y: 1, z: 1} 736 | m_Center: {x: 0, y: 0, z: 0} 737 | --- !u!23 &1177363330 738 | MeshRenderer: 739 | m_ObjectHideFlags: 0 740 | m_CorrespondingSourceObject: {fileID: 0} 741 | m_PrefabInstance: {fileID: 0} 742 | m_PrefabAsset: {fileID: 0} 743 | m_GameObject: {fileID: 1177363328} 744 | m_Enabled: 1 745 | m_CastShadows: 1 746 | m_ReceiveShadows: 1 747 | m_DynamicOccludee: 1 748 | m_MotionVectors: 1 749 | m_LightProbeUsage: 1 750 | m_ReflectionProbeUsage: 1 751 | m_RayTracingMode: 2 752 | m_RenderingLayerMask: 1 753 | m_RendererPriority: 0 754 | m_Materials: 755 | - {fileID: 2100000, guid: 338a41f540d4bf248b9f284d4039526e, type: 2} 756 | m_StaticBatchInfo: 757 | firstSubMesh: 0 758 | subMeshCount: 0 759 | m_StaticBatchRoot: {fileID: 0} 760 | m_ProbeAnchor: {fileID: 0} 761 | m_LightProbeVolumeOverride: {fileID: 0} 762 | m_ScaleInLightmap: 1 763 | m_ReceiveGI: 1 764 | m_PreserveUVs: 0 765 | m_IgnoreNormalsForChartDetection: 0 766 | m_ImportantGI: 0 767 | m_StitchLightmapSeams: 1 768 | m_SelectedEditorRenderState: 3 769 | m_MinimumChartSize: 4 770 | m_AutoUVMaxDistance: 0.5 771 | m_AutoUVMaxAngle: 89 772 | m_LightmapParameters: {fileID: 0} 773 | m_SortingLayerID: 0 774 | m_SortingLayer: 0 775 | m_SortingOrder: 0 776 | --- !u!33 &1177363331 777 | MeshFilter: 778 | m_ObjectHideFlags: 0 779 | m_CorrespondingSourceObject: {fileID: 0} 780 | m_PrefabInstance: {fileID: 0} 781 | m_PrefabAsset: {fileID: 0} 782 | m_GameObject: {fileID: 1177363328} 783 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 784 | --- !u!4 &1177363332 785 | Transform: 786 | m_ObjectHideFlags: 0 787 | m_CorrespondingSourceObject: {fileID: 0} 788 | m_PrefabInstance: {fileID: 0} 789 | m_PrefabAsset: {fileID: 0} 790 | m_GameObject: {fileID: 1177363328} 791 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 792 | m_LocalPosition: {x: 4.143, y: 0.554, z: -0.788} 793 | m_LocalScale: {x: 1, y: 1, z: 1} 794 | m_Children: [] 795 | m_Father: {fileID: 1448576253} 796 | m_RootOrder: 7 797 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 798 | --- !u!1 &1205531516 799 | GameObject: 800 | m_ObjectHideFlags: 0 801 | m_CorrespondingSourceObject: {fileID: 0} 802 | m_PrefabInstance: {fileID: 0} 803 | m_PrefabAsset: {fileID: 0} 804 | serializedVersion: 6 805 | m_Component: 806 | - component: {fileID: 1205531518} 807 | - component: {fileID: 1205531517} 808 | m_Layer: 0 809 | m_Name: Point Light (2) 810 | m_TagString: Untagged 811 | m_Icon: {fileID: 0} 812 | m_NavMeshLayer: 0 813 | m_StaticEditorFlags: 0 814 | m_IsActive: 1 815 | --- !u!108 &1205531517 816 | Light: 817 | m_ObjectHideFlags: 0 818 | m_CorrespondingSourceObject: {fileID: 0} 819 | m_PrefabInstance: {fileID: 0} 820 | m_PrefabAsset: {fileID: 0} 821 | m_GameObject: {fileID: 1205531516} 822 | m_Enabled: 1 823 | serializedVersion: 10 824 | m_Type: 2 825 | m_Shape: 0 826 | m_Color: {r: 0, g: 0.22227144, b: 1, a: 1} 827 | m_Intensity: 1 828 | m_Range: 10 829 | m_SpotAngle: 30 830 | m_InnerSpotAngle: 21.80208 831 | m_CookieSize: 10 832 | m_Shadows: 833 | m_Type: 0 834 | m_Resolution: -1 835 | m_CustomResolution: -1 836 | m_Strength: 1 837 | m_Bias: 0.05 838 | m_NormalBias: 0.4 839 | m_NearPlane: 0.2 840 | m_CullingMatrixOverride: 841 | e00: 1 842 | e01: 0 843 | e02: 0 844 | e03: 0 845 | e10: 0 846 | e11: 1 847 | e12: 0 848 | e13: 0 849 | e20: 0 850 | e21: 0 851 | e22: 1 852 | e23: 0 853 | e30: 0 854 | e31: 0 855 | e32: 0 856 | e33: 1 857 | m_UseCullingMatrixOverride: 0 858 | m_Cookie: {fileID: 0} 859 | m_DrawHalo: 0 860 | m_Flare: {fileID: 0} 861 | m_RenderMode: 0 862 | m_CullingMask: 863 | serializedVersion: 2 864 | m_Bits: 4294967295 865 | m_RenderingLayerMask: 1 866 | m_Lightmapping: 4 867 | m_LightShadowCasterMode: 0 868 | m_AreaSize: {x: 1, y: 1} 869 | m_BounceIntensity: 1 870 | m_ColorTemperature: 6570 871 | m_UseColorTemperature: 0 872 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 873 | m_UseBoundingSphereOverride: 0 874 | m_ShadowRadius: 0 875 | m_ShadowAngle: 0 876 | --- !u!4 &1205531518 877 | Transform: 878 | m_ObjectHideFlags: 0 879 | m_CorrespondingSourceObject: {fileID: 0} 880 | m_PrefabInstance: {fileID: 0} 881 | m_PrefabAsset: {fileID: 0} 882 | m_GameObject: {fileID: 1205531516} 883 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 884 | m_LocalPosition: {x: 4.036, y: 0.802, z: -2.853} 885 | m_LocalScale: {x: 1, y: 1, z: 1} 886 | m_Children: [] 887 | m_Father: {fileID: 347070204} 888 | m_RootOrder: 2 889 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 890 | --- !u!1 &1445788603 891 | GameObject: 892 | m_ObjectHideFlags: 0 893 | m_CorrespondingSourceObject: {fileID: 0} 894 | m_PrefabInstance: {fileID: 0} 895 | m_PrefabAsset: {fileID: 0} 896 | serializedVersion: 6 897 | m_Component: 898 | - component: {fileID: 1445788607} 899 | - component: {fileID: 1445788606} 900 | - component: {fileID: 1445788605} 901 | - component: {fileID: 1445788604} 902 | m_Layer: 0 903 | m_Name: Cube (4) 904 | m_TagString: Untagged 905 | m_Icon: {fileID: 0} 906 | m_NavMeshLayer: 0 907 | m_StaticEditorFlags: 4294967295 908 | m_IsActive: 1 909 | --- !u!65 &1445788604 910 | BoxCollider: 911 | m_ObjectHideFlags: 0 912 | m_CorrespondingSourceObject: {fileID: 0} 913 | m_PrefabInstance: {fileID: 0} 914 | m_PrefabAsset: {fileID: 0} 915 | m_GameObject: {fileID: 1445788603} 916 | m_Material: {fileID: 0} 917 | m_IsTrigger: 0 918 | m_Enabled: 1 919 | serializedVersion: 2 920 | m_Size: {x: 1, y: 1, z: 1} 921 | m_Center: {x: 0, y: 0, z: 0} 922 | --- !u!23 &1445788605 923 | MeshRenderer: 924 | m_ObjectHideFlags: 0 925 | m_CorrespondingSourceObject: {fileID: 0} 926 | m_PrefabInstance: {fileID: 0} 927 | m_PrefabAsset: {fileID: 0} 928 | m_GameObject: {fileID: 1445788603} 929 | m_Enabled: 1 930 | m_CastShadows: 1 931 | m_ReceiveShadows: 1 932 | m_DynamicOccludee: 1 933 | m_MotionVectors: 1 934 | m_LightProbeUsage: 1 935 | m_ReflectionProbeUsage: 1 936 | m_RayTracingMode: 2 937 | m_RenderingLayerMask: 1 938 | m_RendererPriority: 0 939 | m_Materials: 940 | - {fileID: 2100000, guid: 338a41f540d4bf248b9f284d4039526e, type: 2} 941 | m_StaticBatchInfo: 942 | firstSubMesh: 0 943 | subMeshCount: 0 944 | m_StaticBatchRoot: {fileID: 0} 945 | m_ProbeAnchor: {fileID: 0} 946 | m_LightProbeVolumeOverride: {fileID: 0} 947 | m_ScaleInLightmap: 1 948 | m_ReceiveGI: 1 949 | m_PreserveUVs: 0 950 | m_IgnoreNormalsForChartDetection: 0 951 | m_ImportantGI: 0 952 | m_StitchLightmapSeams: 1 953 | m_SelectedEditorRenderState: 3 954 | m_MinimumChartSize: 4 955 | m_AutoUVMaxDistance: 0.5 956 | m_AutoUVMaxAngle: 89 957 | m_LightmapParameters: {fileID: 0} 958 | m_SortingLayerID: 0 959 | m_SortingLayer: 0 960 | m_SortingOrder: 0 961 | --- !u!33 &1445788606 962 | MeshFilter: 963 | m_ObjectHideFlags: 0 964 | m_CorrespondingSourceObject: {fileID: 0} 965 | m_PrefabInstance: {fileID: 0} 966 | m_PrefabAsset: {fileID: 0} 967 | m_GameObject: {fileID: 1445788603} 968 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 969 | --- !u!4 &1445788607 970 | Transform: 971 | m_ObjectHideFlags: 0 972 | m_CorrespondingSourceObject: {fileID: 0} 973 | m_PrefabInstance: {fileID: 0} 974 | m_PrefabAsset: {fileID: 0} 975 | m_GameObject: {fileID: 1445788603} 976 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 977 | m_LocalPosition: {x: 2.36, y: 0.554, z: -3.71} 978 | m_LocalScale: {x: 1, y: 1, z: 1} 979 | m_Children: [] 980 | m_Father: {fileID: 1448576253} 981 | m_RootOrder: 4 982 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 983 | --- !u!1 &1448576252 984 | GameObject: 985 | m_ObjectHideFlags: 0 986 | m_CorrespondingSourceObject: {fileID: 0} 987 | m_PrefabInstance: {fileID: 0} 988 | m_PrefabAsset: {fileID: 0} 989 | serializedVersion: 6 990 | m_Component: 991 | - component: {fileID: 1448576253} 992 | m_Layer: 0 993 | m_Name: Scene 994 | m_TagString: Untagged 995 | m_Icon: {fileID: 0} 996 | m_NavMeshLayer: 0 997 | m_StaticEditorFlags: 4294967295 998 | m_IsActive: 1 999 | --- !u!4 &1448576253 1000 | Transform: 1001 | m_ObjectHideFlags: 0 1002 | m_CorrespondingSourceObject: {fileID: 0} 1003 | m_PrefabInstance: {fileID: 0} 1004 | m_PrefabAsset: {fileID: 0} 1005 | m_GameObject: {fileID: 1448576252} 1006 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1007 | m_LocalPosition: {x: 0, y: 0, z: 0} 1008 | m_LocalScale: {x: 1, y: 1, z: 1} 1009 | m_Children: 1010 | - {fileID: 457602029} 1011 | - {fileID: 1825853114} 1012 | - {fileID: 365301339} 1013 | - {fileID: 1148749116} 1014 | - {fileID: 1445788607} 1015 | - {fileID: 1843524358} 1016 | - {fileID: 1694349907} 1017 | - {fileID: 1177363332} 1018 | - {fileID: 1553916145} 1019 | - {fileID: 2088306442} 1020 | m_Father: {fileID: 0} 1021 | m_RootOrder: 2 1022 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1023 | --- !u!1 &1471844741 1024 | GameObject: 1025 | m_ObjectHideFlags: 0 1026 | m_CorrespondingSourceObject: {fileID: 0} 1027 | m_PrefabInstance: {fileID: 0} 1028 | m_PrefabAsset: {fileID: 0} 1029 | serializedVersion: 6 1030 | m_Component: 1031 | - component: {fileID: 1471844742} 1032 | m_Layer: 0 1033 | m_Name: Lighting 1034 | m_TagString: Untagged 1035 | m_Icon: {fileID: 0} 1036 | m_NavMeshLayer: 0 1037 | m_StaticEditorFlags: 0 1038 | m_IsActive: 1 1039 | --- !u!4 &1471844742 1040 | Transform: 1041 | m_ObjectHideFlags: 0 1042 | m_CorrespondingSourceObject: {fileID: 0} 1043 | m_PrefabInstance: {fileID: 0} 1044 | m_PrefabAsset: {fileID: 0} 1045 | m_GameObject: {fileID: 1471844741} 1046 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1047 | m_LocalPosition: {x: 0, y: 0, z: 0} 1048 | m_LocalScale: {x: 1, y: 1, z: 1} 1049 | m_Children: 1050 | - {fileID: 347070204} 1051 | - {fileID: 2027904430} 1052 | m_Father: {fileID: 0} 1053 | m_RootOrder: 3 1054 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1055 | --- !u!1 &1553916141 1056 | GameObject: 1057 | m_ObjectHideFlags: 0 1058 | m_CorrespondingSourceObject: {fileID: 0} 1059 | m_PrefabInstance: {fileID: 0} 1060 | m_PrefabAsset: {fileID: 0} 1061 | serializedVersion: 6 1062 | m_Component: 1063 | - component: {fileID: 1553916145} 1064 | - component: {fileID: 1553916144} 1065 | - component: {fileID: 1553916143} 1066 | - component: {fileID: 1553916142} 1067 | m_Layer: 0 1068 | m_Name: Cube (8) 1069 | m_TagString: Untagged 1070 | m_Icon: {fileID: 0} 1071 | m_NavMeshLayer: 0 1072 | m_StaticEditorFlags: 4294967295 1073 | m_IsActive: 1 1074 | --- !u!65 &1553916142 1075 | BoxCollider: 1076 | m_ObjectHideFlags: 0 1077 | m_CorrespondingSourceObject: {fileID: 0} 1078 | m_PrefabInstance: {fileID: 0} 1079 | m_PrefabAsset: {fileID: 0} 1080 | m_GameObject: {fileID: 1553916141} 1081 | m_Material: {fileID: 0} 1082 | m_IsTrigger: 0 1083 | m_Enabled: 1 1084 | serializedVersion: 2 1085 | m_Size: {x: 1, y: 1, z: 1} 1086 | m_Center: {x: 0, y: 0, z: 0} 1087 | --- !u!23 &1553916143 1088 | MeshRenderer: 1089 | m_ObjectHideFlags: 0 1090 | m_CorrespondingSourceObject: {fileID: 0} 1091 | m_PrefabInstance: {fileID: 0} 1092 | m_PrefabAsset: {fileID: 0} 1093 | m_GameObject: {fileID: 1553916141} 1094 | m_Enabled: 1 1095 | m_CastShadows: 1 1096 | m_ReceiveShadows: 1 1097 | m_DynamicOccludee: 1 1098 | m_MotionVectors: 1 1099 | m_LightProbeUsage: 1 1100 | m_ReflectionProbeUsage: 1 1101 | m_RayTracingMode: 2 1102 | m_RenderingLayerMask: 1 1103 | m_RendererPriority: 0 1104 | m_Materials: 1105 | - {fileID: 2100000, guid: 338a41f540d4bf248b9f284d4039526e, type: 2} 1106 | m_StaticBatchInfo: 1107 | firstSubMesh: 0 1108 | subMeshCount: 0 1109 | m_StaticBatchRoot: {fileID: 0} 1110 | m_ProbeAnchor: {fileID: 0} 1111 | m_LightProbeVolumeOverride: {fileID: 0} 1112 | m_ScaleInLightmap: 1 1113 | m_ReceiveGI: 1 1114 | m_PreserveUVs: 0 1115 | m_IgnoreNormalsForChartDetection: 0 1116 | m_ImportantGI: 0 1117 | m_StitchLightmapSeams: 1 1118 | m_SelectedEditorRenderState: 3 1119 | m_MinimumChartSize: 4 1120 | m_AutoUVMaxDistance: 0.5 1121 | m_AutoUVMaxAngle: 89 1122 | m_LightmapParameters: {fileID: 0} 1123 | m_SortingLayerID: 0 1124 | m_SortingLayer: 0 1125 | m_SortingOrder: 0 1126 | --- !u!33 &1553916144 1127 | MeshFilter: 1128 | m_ObjectHideFlags: 0 1129 | m_CorrespondingSourceObject: {fileID: 0} 1130 | m_PrefabInstance: {fileID: 0} 1131 | m_PrefabAsset: {fileID: 0} 1132 | m_GameObject: {fileID: 1553916141} 1133 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 1134 | --- !u!4 &1553916145 1135 | Transform: 1136 | m_ObjectHideFlags: 0 1137 | m_CorrespondingSourceObject: {fileID: 0} 1138 | m_PrefabInstance: {fileID: 0} 1139 | m_PrefabAsset: {fileID: 0} 1140 | m_GameObject: {fileID: 1553916141} 1141 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1142 | m_LocalPosition: {x: 4.059, y: 0.955, z: -1.706} 1143 | m_LocalScale: {x: 1, y: 1, z: 1} 1144 | m_Children: [] 1145 | m_Father: {fileID: 1448576253} 1146 | m_RootOrder: 8 1147 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1148 | --- !u!1 &1694349903 1149 | GameObject: 1150 | m_ObjectHideFlags: 0 1151 | m_CorrespondingSourceObject: {fileID: 0} 1152 | m_PrefabInstance: {fileID: 0} 1153 | m_PrefabAsset: {fileID: 0} 1154 | serializedVersion: 6 1155 | m_Component: 1156 | - component: {fileID: 1694349907} 1157 | - component: {fileID: 1694349906} 1158 | - component: {fileID: 1694349905} 1159 | - component: {fileID: 1694349904} 1160 | m_Layer: 0 1161 | m_Name: Cube (6) 1162 | m_TagString: Untagged 1163 | m_Icon: {fileID: 0} 1164 | m_NavMeshLayer: 0 1165 | m_StaticEditorFlags: 4294967295 1166 | m_IsActive: 1 1167 | --- !u!65 &1694349904 1168 | BoxCollider: 1169 | m_ObjectHideFlags: 0 1170 | m_CorrespondingSourceObject: {fileID: 0} 1171 | m_PrefabInstance: {fileID: 0} 1172 | m_PrefabAsset: {fileID: 0} 1173 | m_GameObject: {fileID: 1694349903} 1174 | m_Material: {fileID: 0} 1175 | m_IsTrigger: 0 1176 | m_Enabled: 1 1177 | serializedVersion: 2 1178 | m_Size: {x: 1, y: 1, z: 1} 1179 | m_Center: {x: 0, y: 0, z: 0} 1180 | --- !u!23 &1694349905 1181 | MeshRenderer: 1182 | m_ObjectHideFlags: 0 1183 | m_CorrespondingSourceObject: {fileID: 0} 1184 | m_PrefabInstance: {fileID: 0} 1185 | m_PrefabAsset: {fileID: 0} 1186 | m_GameObject: {fileID: 1694349903} 1187 | m_Enabled: 1 1188 | m_CastShadows: 1 1189 | m_ReceiveShadows: 1 1190 | m_DynamicOccludee: 1 1191 | m_MotionVectors: 1 1192 | m_LightProbeUsage: 1 1193 | m_ReflectionProbeUsage: 1 1194 | m_RayTracingMode: 2 1195 | m_RenderingLayerMask: 1 1196 | m_RendererPriority: 0 1197 | m_Materials: 1198 | - {fileID: 2100000, guid: 338a41f540d4bf248b9f284d4039526e, type: 2} 1199 | m_StaticBatchInfo: 1200 | firstSubMesh: 0 1201 | subMeshCount: 0 1202 | m_StaticBatchRoot: {fileID: 0} 1203 | m_ProbeAnchor: {fileID: 0} 1204 | m_LightProbeVolumeOverride: {fileID: 0} 1205 | m_ScaleInLightmap: 1 1206 | m_ReceiveGI: 1 1207 | m_PreserveUVs: 0 1208 | m_IgnoreNormalsForChartDetection: 0 1209 | m_ImportantGI: 0 1210 | m_StitchLightmapSeams: 1 1211 | m_SelectedEditorRenderState: 3 1212 | m_MinimumChartSize: 4 1213 | m_AutoUVMaxDistance: 0.5 1214 | m_AutoUVMaxAngle: 89 1215 | m_LightmapParameters: {fileID: 0} 1216 | m_SortingLayerID: 0 1217 | m_SortingLayer: 0 1218 | m_SortingOrder: 0 1219 | --- !u!33 &1694349906 1220 | MeshFilter: 1221 | m_ObjectHideFlags: 0 1222 | m_CorrespondingSourceObject: {fileID: 0} 1223 | m_PrefabInstance: {fileID: 0} 1224 | m_PrefabAsset: {fileID: 0} 1225 | m_GameObject: {fileID: 1694349903} 1226 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 1227 | --- !u!4 &1694349907 1228 | Transform: 1229 | m_ObjectHideFlags: 0 1230 | m_CorrespondingSourceObject: {fileID: 0} 1231 | m_PrefabInstance: {fileID: 0} 1232 | m_PrefabAsset: {fileID: 0} 1233 | m_GameObject: {fileID: 1694349903} 1234 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1235 | m_LocalPosition: {x: 3.177, y: 0.554, z: -3.157} 1236 | m_LocalScale: {x: 1, y: 1, z: 1} 1237 | m_Children: [] 1238 | m_Father: {fileID: 1448576253} 1239 | m_RootOrder: 6 1240 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1241 | --- !u!1 &1825853110 1242 | GameObject: 1243 | m_ObjectHideFlags: 0 1244 | m_CorrespondingSourceObject: {fileID: 0} 1245 | m_PrefabInstance: {fileID: 0} 1246 | m_PrefabAsset: {fileID: 0} 1247 | serializedVersion: 6 1248 | m_Component: 1249 | - component: {fileID: 1825853114} 1250 | - component: {fileID: 1825853113} 1251 | - component: {fileID: 1825853112} 1252 | - component: {fileID: 1825853111} 1253 | m_Layer: 0 1254 | m_Name: Cube (1) 1255 | m_TagString: Untagged 1256 | m_Icon: {fileID: 0} 1257 | m_NavMeshLayer: 0 1258 | m_StaticEditorFlags: 4294967295 1259 | m_IsActive: 1 1260 | --- !u!65 &1825853111 1261 | BoxCollider: 1262 | m_ObjectHideFlags: 0 1263 | m_CorrespondingSourceObject: {fileID: 0} 1264 | m_PrefabInstance: {fileID: 0} 1265 | m_PrefabAsset: {fileID: 0} 1266 | m_GameObject: {fileID: 1825853110} 1267 | m_Material: {fileID: 0} 1268 | m_IsTrigger: 0 1269 | m_Enabled: 1 1270 | serializedVersion: 2 1271 | m_Size: {x: 1, y: 1, z: 1} 1272 | m_Center: {x: 0, y: 0, z: 0} 1273 | --- !u!23 &1825853112 1274 | MeshRenderer: 1275 | m_ObjectHideFlags: 0 1276 | m_CorrespondingSourceObject: {fileID: 0} 1277 | m_PrefabInstance: {fileID: 0} 1278 | m_PrefabAsset: {fileID: 0} 1279 | m_GameObject: {fileID: 1825853110} 1280 | m_Enabled: 1 1281 | m_CastShadows: 1 1282 | m_ReceiveShadows: 1 1283 | m_DynamicOccludee: 1 1284 | m_MotionVectors: 1 1285 | m_LightProbeUsage: 1 1286 | m_ReflectionProbeUsage: 1 1287 | m_RayTracingMode: 2 1288 | m_RenderingLayerMask: 1 1289 | m_RendererPriority: 0 1290 | m_Materials: 1291 | - {fileID: 2100000, guid: 338a41f540d4bf248b9f284d4039526e, type: 2} 1292 | m_StaticBatchInfo: 1293 | firstSubMesh: 0 1294 | subMeshCount: 0 1295 | m_StaticBatchRoot: {fileID: 0} 1296 | m_ProbeAnchor: {fileID: 0} 1297 | m_LightProbeVolumeOverride: {fileID: 0} 1298 | m_ScaleInLightmap: 1 1299 | m_ReceiveGI: 1 1300 | m_PreserveUVs: 0 1301 | m_IgnoreNormalsForChartDetection: 0 1302 | m_ImportantGI: 0 1303 | m_StitchLightmapSeams: 1 1304 | m_SelectedEditorRenderState: 3 1305 | m_MinimumChartSize: 4 1306 | m_AutoUVMaxDistance: 0.5 1307 | m_AutoUVMaxAngle: 89 1308 | m_LightmapParameters: {fileID: 0} 1309 | m_SortingLayerID: 0 1310 | m_SortingLayer: 0 1311 | m_SortingOrder: 0 1312 | --- !u!33 &1825853113 1313 | MeshFilter: 1314 | m_ObjectHideFlags: 0 1315 | m_CorrespondingSourceObject: {fileID: 0} 1316 | m_PrefabInstance: {fileID: 0} 1317 | m_PrefabAsset: {fileID: 0} 1318 | m_GameObject: {fileID: 1825853110} 1319 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 1320 | --- !u!4 &1825853114 1321 | Transform: 1322 | m_ObjectHideFlags: 0 1323 | m_CorrespondingSourceObject: {fileID: 0} 1324 | m_PrefabInstance: {fileID: 0} 1325 | m_PrefabAsset: {fileID: 0} 1326 | m_GameObject: {fileID: 1825853110} 1327 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1328 | m_LocalPosition: {x: 0, y: 0.554, z: 0} 1329 | m_LocalScale: {x: 1, y: 1, z: 1} 1330 | m_Children: [] 1331 | m_Father: {fileID: 1448576253} 1332 | m_RootOrder: 1 1333 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1334 | --- !u!1 &1843524354 1335 | GameObject: 1336 | m_ObjectHideFlags: 0 1337 | m_CorrespondingSourceObject: {fileID: 0} 1338 | m_PrefabInstance: {fileID: 0} 1339 | m_PrefabAsset: {fileID: 0} 1340 | serializedVersion: 6 1341 | m_Component: 1342 | - component: {fileID: 1843524358} 1343 | - component: {fileID: 1843524357} 1344 | - component: {fileID: 1843524356} 1345 | - component: {fileID: 1843524355} 1346 | m_Layer: 0 1347 | m_Name: Cube (5) 1348 | m_TagString: Untagged 1349 | m_Icon: {fileID: 0} 1350 | m_NavMeshLayer: 0 1351 | m_StaticEditorFlags: 4294967295 1352 | m_IsActive: 1 1353 | --- !u!65 &1843524355 1354 | BoxCollider: 1355 | m_ObjectHideFlags: 0 1356 | m_CorrespondingSourceObject: {fileID: 0} 1357 | m_PrefabInstance: {fileID: 0} 1358 | m_PrefabAsset: {fileID: 0} 1359 | m_GameObject: {fileID: 1843524354} 1360 | m_Material: {fileID: 0} 1361 | m_IsTrigger: 0 1362 | m_Enabled: 1 1363 | serializedVersion: 2 1364 | m_Size: {x: 1, y: 1, z: 1} 1365 | m_Center: {x: 0, y: 0, z: 0} 1366 | --- !u!23 &1843524356 1367 | MeshRenderer: 1368 | m_ObjectHideFlags: 0 1369 | m_CorrespondingSourceObject: {fileID: 0} 1370 | m_PrefabInstance: {fileID: 0} 1371 | m_PrefabAsset: {fileID: 0} 1372 | m_GameObject: {fileID: 1843524354} 1373 | m_Enabled: 1 1374 | m_CastShadows: 1 1375 | m_ReceiveShadows: 1 1376 | m_DynamicOccludee: 1 1377 | m_MotionVectors: 1 1378 | m_LightProbeUsage: 1 1379 | m_ReflectionProbeUsage: 1 1380 | m_RayTracingMode: 2 1381 | m_RenderingLayerMask: 1 1382 | m_RendererPriority: 0 1383 | m_Materials: 1384 | - {fileID: 2100000, guid: 338a41f540d4bf248b9f284d4039526e, type: 2} 1385 | m_StaticBatchInfo: 1386 | firstSubMesh: 0 1387 | subMeshCount: 0 1388 | m_StaticBatchRoot: {fileID: 0} 1389 | m_ProbeAnchor: {fileID: 0} 1390 | m_LightProbeVolumeOverride: {fileID: 0} 1391 | m_ScaleInLightmap: 1 1392 | m_ReceiveGI: 1 1393 | m_PreserveUVs: 0 1394 | m_IgnoreNormalsForChartDetection: 0 1395 | m_ImportantGI: 0 1396 | m_StitchLightmapSeams: 1 1397 | m_SelectedEditorRenderState: 3 1398 | m_MinimumChartSize: 4 1399 | m_AutoUVMaxDistance: 0.5 1400 | m_AutoUVMaxAngle: 89 1401 | m_LightmapParameters: {fileID: 0} 1402 | m_SortingLayerID: 0 1403 | m_SortingLayer: 0 1404 | m_SortingOrder: 0 1405 | --- !u!33 &1843524357 1406 | MeshFilter: 1407 | m_ObjectHideFlags: 0 1408 | m_CorrespondingSourceObject: {fileID: 0} 1409 | m_PrefabInstance: {fileID: 0} 1410 | m_PrefabAsset: {fileID: 0} 1411 | m_GameObject: {fileID: 1843524354} 1412 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 1413 | --- !u!4 &1843524358 1414 | Transform: 1415 | m_ObjectHideFlags: 0 1416 | m_CorrespondingSourceObject: {fileID: 0} 1417 | m_PrefabInstance: {fileID: 0} 1418 | m_PrefabAsset: {fileID: 0} 1419 | m_GameObject: {fileID: 1843524354} 1420 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1421 | m_LocalPosition: {x: 1.654, y: 0.554, z: -3.201} 1422 | m_LocalScale: {x: 1, y: 1, z: 1} 1423 | m_Children: [] 1424 | m_Father: {fileID: 1448576253} 1425 | m_RootOrder: 5 1426 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1427 | --- !u!1 &2027904428 1428 | GameObject: 1429 | m_ObjectHideFlags: 0 1430 | m_CorrespondingSourceObject: {fileID: 0} 1431 | m_PrefabInstance: {fileID: 0} 1432 | m_PrefabAsset: {fileID: 0} 1433 | serializedVersion: 6 1434 | m_Component: 1435 | - component: {fileID: 2027904430} 1436 | - component: {fileID: 2027904429} 1437 | m_Layer: 0 1438 | m_Name: Directional Light 1439 | m_TagString: Untagged 1440 | m_Icon: {fileID: 0} 1441 | m_NavMeshLayer: 0 1442 | m_StaticEditorFlags: 0 1443 | m_IsActive: 1 1444 | --- !u!108 &2027904429 1445 | Light: 1446 | m_ObjectHideFlags: 0 1447 | m_CorrespondingSourceObject: {fileID: 0} 1448 | m_PrefabInstance: {fileID: 0} 1449 | m_PrefabAsset: {fileID: 0} 1450 | m_GameObject: {fileID: 2027904428} 1451 | m_Enabled: 1 1452 | serializedVersion: 10 1453 | m_Type: 1 1454 | m_Shape: 0 1455 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 1456 | m_Intensity: 1 1457 | m_Range: 10 1458 | m_SpotAngle: 30 1459 | m_InnerSpotAngle: 21.80208 1460 | m_CookieSize: 10 1461 | m_Shadows: 1462 | m_Type: 2 1463 | m_Resolution: -1 1464 | m_CustomResolution: -1 1465 | m_Strength: 1 1466 | m_Bias: 0.05 1467 | m_NormalBias: 0.4 1468 | m_NearPlane: 0.2 1469 | m_CullingMatrixOverride: 1470 | e00: 1 1471 | e01: 0 1472 | e02: 0 1473 | e03: 0 1474 | e10: 0 1475 | e11: 1 1476 | e12: 0 1477 | e13: 0 1478 | e20: 0 1479 | e21: 0 1480 | e22: 1 1481 | e23: 0 1482 | e30: 0 1483 | e31: 0 1484 | e32: 0 1485 | e33: 1 1486 | m_UseCullingMatrixOverride: 0 1487 | m_Cookie: {fileID: 0} 1488 | m_DrawHalo: 0 1489 | m_Flare: {fileID: 0} 1490 | m_RenderMode: 0 1491 | m_CullingMask: 1492 | serializedVersion: 2 1493 | m_Bits: 4294967295 1494 | m_RenderingLayerMask: 1 1495 | m_Lightmapping: 4 1496 | m_LightShadowCasterMode: 0 1497 | m_AreaSize: {x: 1, y: 1} 1498 | m_BounceIntensity: 1 1499 | m_ColorTemperature: 6570 1500 | m_UseColorTemperature: 0 1501 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 1502 | m_UseBoundingSphereOverride: 0 1503 | m_ShadowRadius: 0 1504 | m_ShadowAngle: 0 1505 | --- !u!4 &2027904430 1506 | Transform: 1507 | m_ObjectHideFlags: 0 1508 | m_CorrespondingSourceObject: {fileID: 0} 1509 | m_PrefabInstance: {fileID: 0} 1510 | m_PrefabAsset: {fileID: 0} 1511 | m_GameObject: {fileID: 2027904428} 1512 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 1513 | m_LocalPosition: {x: 0, y: 3, z: 0} 1514 | m_LocalScale: {x: 1, y: 1, z: 1} 1515 | m_Children: [] 1516 | m_Father: {fileID: 1471844742} 1517 | m_RootOrder: 1 1518 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 1519 | --- !u!1 &2073667357 1520 | GameObject: 1521 | m_ObjectHideFlags: 0 1522 | m_CorrespondingSourceObject: {fileID: 0} 1523 | m_PrefabInstance: {fileID: 0} 1524 | m_PrefabAsset: {fileID: 0} 1525 | serializedVersion: 6 1526 | m_Component: 1527 | - component: {fileID: 2073667359} 1528 | - component: {fileID: 2073667358} 1529 | m_Layer: 0 1530 | m_Name: Point Light 1531 | m_TagString: Untagged 1532 | m_Icon: {fileID: 0} 1533 | m_NavMeshLayer: 0 1534 | m_StaticEditorFlags: 0 1535 | m_IsActive: 1 1536 | --- !u!108 &2073667358 1537 | Light: 1538 | m_ObjectHideFlags: 0 1539 | m_CorrespondingSourceObject: {fileID: 0} 1540 | m_PrefabInstance: {fileID: 0} 1541 | m_PrefabAsset: {fileID: 0} 1542 | m_GameObject: {fileID: 2073667357} 1543 | m_Enabled: 1 1544 | serializedVersion: 10 1545 | m_Type: 2 1546 | m_Shape: 0 1547 | m_Color: {r: 1, g: 0, b: 0, a: 1} 1548 | m_Intensity: 1 1549 | m_Range: 10 1550 | m_SpotAngle: 30 1551 | m_InnerSpotAngle: 21.80208 1552 | m_CookieSize: 10 1553 | m_Shadows: 1554 | m_Type: 0 1555 | m_Resolution: -1 1556 | m_CustomResolution: -1 1557 | m_Strength: 1 1558 | m_Bias: 0.05 1559 | m_NormalBias: 0.4 1560 | m_NearPlane: 0.2 1561 | m_CullingMatrixOverride: 1562 | e00: 1 1563 | e01: 0 1564 | e02: 0 1565 | e03: 0 1566 | e10: 0 1567 | e11: 1 1568 | e12: 0 1569 | e13: 0 1570 | e20: 0 1571 | e21: 0 1572 | e22: 1 1573 | e23: 0 1574 | e30: 0 1575 | e31: 0 1576 | e32: 0 1577 | e33: 1 1578 | m_UseCullingMatrixOverride: 0 1579 | m_Cookie: {fileID: 0} 1580 | m_DrawHalo: 0 1581 | m_Flare: {fileID: 0} 1582 | m_RenderMode: 0 1583 | m_CullingMask: 1584 | serializedVersion: 2 1585 | m_Bits: 4294967295 1586 | m_RenderingLayerMask: 1 1587 | m_Lightmapping: 4 1588 | m_LightShadowCasterMode: 0 1589 | m_AreaSize: {x: 1, y: 1} 1590 | m_BounceIntensity: 1 1591 | m_ColorTemperature: 6570 1592 | m_UseColorTemperature: 0 1593 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 1594 | m_UseBoundingSphereOverride: 0 1595 | m_ShadowRadius: 0 1596 | m_ShadowAngle: 0 1597 | --- !u!4 &2073667359 1598 | Transform: 1599 | m_ObjectHideFlags: 0 1600 | m_CorrespondingSourceObject: {fileID: 0} 1601 | m_PrefabInstance: {fileID: 0} 1602 | m_PrefabAsset: {fileID: 0} 1603 | m_GameObject: {fileID: 2073667357} 1604 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1605 | m_LocalPosition: {x: 2.9, y: 0.802, z: -2.28} 1606 | m_LocalScale: {x: 1, y: 1, z: 1} 1607 | m_Children: [] 1608 | m_Father: {fileID: 347070204} 1609 | m_RootOrder: 0 1610 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1611 | --- !u!1 &2088306438 1612 | GameObject: 1613 | m_ObjectHideFlags: 0 1614 | m_CorrespondingSourceObject: {fileID: 0} 1615 | m_PrefabInstance: {fileID: 0} 1616 | m_PrefabAsset: {fileID: 0} 1617 | serializedVersion: 6 1618 | m_Component: 1619 | - component: {fileID: 2088306442} 1620 | - component: {fileID: 2088306441} 1621 | - component: {fileID: 2088306440} 1622 | - component: {fileID: 2088306439} 1623 | m_Layer: 0 1624 | m_Name: Cube (9) 1625 | m_TagString: Untagged 1626 | m_Icon: {fileID: 0} 1627 | m_NavMeshLayer: 0 1628 | m_StaticEditorFlags: 4294967295 1629 | m_IsActive: 1 1630 | --- !u!65 &2088306439 1631 | BoxCollider: 1632 | m_ObjectHideFlags: 0 1633 | m_CorrespondingSourceObject: {fileID: 0} 1634 | m_PrefabInstance: {fileID: 0} 1635 | m_PrefabAsset: {fileID: 0} 1636 | m_GameObject: {fileID: 2088306438} 1637 | m_Material: {fileID: 0} 1638 | m_IsTrigger: 0 1639 | m_Enabled: 1 1640 | serializedVersion: 2 1641 | m_Size: {x: 1, y: 1, z: 1} 1642 | m_Center: {x: 0, y: 0, z: 0} 1643 | --- !u!23 &2088306440 1644 | MeshRenderer: 1645 | m_ObjectHideFlags: 0 1646 | m_CorrespondingSourceObject: {fileID: 0} 1647 | m_PrefabInstance: {fileID: 0} 1648 | m_PrefabAsset: {fileID: 0} 1649 | m_GameObject: {fileID: 2088306438} 1650 | m_Enabled: 1 1651 | m_CastShadows: 1 1652 | m_ReceiveShadows: 1 1653 | m_DynamicOccludee: 1 1654 | m_MotionVectors: 1 1655 | m_LightProbeUsage: 1 1656 | m_ReflectionProbeUsage: 1 1657 | m_RayTracingMode: 2 1658 | m_RenderingLayerMask: 1 1659 | m_RendererPriority: 0 1660 | m_Materials: 1661 | - {fileID: 2100000, guid: ab7d014135dea6641b99daf9db3426dc, type: 2} 1662 | m_StaticBatchInfo: 1663 | firstSubMesh: 0 1664 | subMeshCount: 0 1665 | m_StaticBatchRoot: {fileID: 0} 1666 | m_ProbeAnchor: {fileID: 0} 1667 | m_LightProbeVolumeOverride: {fileID: 0} 1668 | m_ScaleInLightmap: 1 1669 | m_ReceiveGI: 1 1670 | m_PreserveUVs: 0 1671 | m_IgnoreNormalsForChartDetection: 0 1672 | m_ImportantGI: 0 1673 | m_StitchLightmapSeams: 1 1674 | m_SelectedEditorRenderState: 3 1675 | m_MinimumChartSize: 4 1676 | m_AutoUVMaxDistance: 0.5 1677 | m_AutoUVMaxAngle: 89 1678 | m_LightmapParameters: {fileID: 0} 1679 | m_SortingLayerID: 0 1680 | m_SortingLayer: 0 1681 | m_SortingOrder: 0 1682 | --- !u!33 &2088306441 1683 | MeshFilter: 1684 | m_ObjectHideFlags: 0 1685 | m_CorrespondingSourceObject: {fileID: 0} 1686 | m_PrefabInstance: {fileID: 0} 1687 | m_PrefabAsset: {fileID: 0} 1688 | m_GameObject: {fileID: 2088306438} 1689 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 1690 | --- !u!4 &2088306442 1691 | Transform: 1692 | m_ObjectHideFlags: 0 1693 | m_CorrespondingSourceObject: {fileID: 0} 1694 | m_PrefabInstance: {fileID: 0} 1695 | m_PrefabAsset: {fileID: 0} 1696 | m_GameObject: {fileID: 2088306438} 1697 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1698 | m_LocalPosition: {x: 0.67, y: 0.554, z: -0.2} 1699 | m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} 1700 | m_Children: [] 1701 | m_Father: {fileID: 1448576253} 1702 | m_RootOrder: 9 1703 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1704 | --------------------------------------------------------------------------------