├── GrabScreen.cs ├── GrabScreen.cs.meta ├── Materials.meta ├── Materials ├── CommandBufferRefraction.mat ├── CommandBufferRefraction.mat.meta ├── CommandBufferRefractionCheaper.mat ├── CommandBufferRefractionCheaper.mat.meta ├── CommandBufferRefractionCheaperAlt.mat └── CommandBufferRefractionCheaperAlt.mat.meta ├── README.md ├── Shaders.meta ├── Shaders ├── RefractionWithCommandBuffer.shader ├── RefractionWithCommandBuffer.shader.meta ├── RefractionWithCommandBufferCheaper.shader ├── RefractionWithCommandBufferCheaper.shader.meta ├── SeparableBlur.shader ├── SeparableBlur.shader.meta ├── ShaderGUI.meta └── ShaderGUI │ ├── Editor.meta │ └── Editor │ ├── CustomMaterialInspector.cs │ └── CustomMaterialInspector.cs.meta ├── Textures.meta ├── Textures ├── Portal_AlbedoBlur.psd ├── Portal_AlbedoBlur.psd.meta ├── Portal_MetallicSmoothnessOcclusionOpacity.psd ├── Portal_MetallicSmoothnessOcclusionOpacity.psd.meta ├── Portal_Normal.png └── Portal_Normal.png.meta ├── _CommandBufferRefraction.unity ├── _CommandBufferRefraction.unity.meta ├── _CommandBufferRefractionCheaper.unity └── _CommandBufferRefractionCheaper.unity.meta /GrabScreen.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | 4 | /// 5 | /// ---------- 6 | /// GrabScreen - Command Buffer script 7 | /// This script creates two global textures containing the screen. Blurred and non-blurred. 8 | /// These textures can be used by e.g. refraction shaders to work without a grab pass. 9 | /// Inspired & adapted by: https://blogs.unity3d.com/2015/02/06/extending-unity-5-rendering-pipeline-command-buffers/ 10 | /// 11 | /// INSTRUCTIONS: Put this script on the camera you want to capture the screen from. 12 | /// ---------- 13 | /// 14 | [ExecuteInEditMode, RequireComponent(typeof(Camera))] 15 | public class GrabScreen : MonoBehaviour{ 16 | 17 | /// 18 | /// The shader used to blur the screen. 19 | /// 20 | public Shader blurShader; 21 | 22 | /// 23 | /// Strings used for shader property identification... 24 | /// 25 | private const string 26 | cBufferName = "GrabAndBlurScreen", 27 | screenCopyKey = "_ScreenCopyTexture", 28 | blurredIDKey = "_Temp1", 29 | blurredID2Key = "_Temp2", 30 | offsetsKey = "offsets", 31 | globalBlurKey = "_GrabBlurTexture", 32 | globalNoBlurKey = "_GrabNoBlurTexture", 33 | blurShaderKey = "Hidden/SeparableBlur"; 34 | 35 | /// 36 | /// Which camera event the command buffer should be attached to. 37 | /// 38 | private CameraEvent _cameraEvent = CameraEvent.AfterImageEffectsOpaque; 39 | /// 40 | /// The texture filter mode of the created render textures. 41 | /// 42 | private FilterMode _filterMode = FilterMode.Bilinear; 43 | /// 44 | /// Reference to the material we are using 45 | /// 46 | private Material _material; 47 | /// 48 | /// Screen resolution. Used to check if the screen size changed. 49 | /// 50 | private Resolution _currentScreenRes = new Resolution(); 51 | /// 52 | /// Reference to our command buffer. 53 | /// 54 | private CommandBuffer _cBuffer; 55 | /// 56 | /// reference to our attached camera. 57 | /// 58 | private Camera _camera; 59 | /// 60 | /// Shader property IDs (automatically set) 61 | /// 62 | private int _screenCopyID, _blurredID, _blurredID2; 63 | 64 | /// 65 | /// Attached camera getter (read only) 66 | /// 67 | private Camera Camera { 68 | get { 69 | GetCamera(); 70 | return _camera; 71 | } 72 | } 73 | 74 | /// 75 | /// Creates the command buffer. 76 | /// 77 | private void CreateCommandBuffer() { 78 | DestroyCommandBuffer(); 79 | Initialize(); 80 | 81 | // Create CommandBuffer 82 | _cBuffer = new CommandBuffer(); 83 | _cBuffer.name = cBufferName; 84 | _cBuffer.Clear(); 85 | 86 | // copy screen into temporary RT (-2 means half the screen size) 87 | _cBuffer.GetTemporaryRT(_screenCopyID, -2, -2, 0, _filterMode); 88 | _cBuffer.Blit(BuiltinRenderTextureType.CurrentActive, _screenCopyID); 89 | _cBuffer.SetGlobalTexture(globalNoBlurKey, _screenCopyID); 90 | 91 | // get two smaller RTs (-4 means quad the screen size) 92 | _cBuffer.GetTemporaryRT(_blurredID, -4, -4, 0, _filterMode); 93 | _cBuffer.GetTemporaryRT(_blurredID2, -4, -4, 0, _filterMode); 94 | 95 | // downsample screen copy into smaller RT, release screen RT 96 | _cBuffer.Blit(_screenCopyID, _blurredID); 97 | _cBuffer.ReleaseTemporaryRT(_screenCopyID); 98 | 99 | // horizontal blur 100 | _cBuffer.SetGlobalVector(offsetsKey, new Vector4(2.0f / Screen.width, 0, 0, 0)); 101 | _cBuffer.Blit(_blurredID, _blurredID2, _material); 102 | // vertical blur 103 | _cBuffer.SetGlobalVector(offsetsKey, new Vector4(0, 2.0f / Screen.height, 0, 0)); 104 | _cBuffer.Blit(_blurredID2, _blurredID, _material); 105 | // horizontal blur 106 | _cBuffer.SetGlobalVector(offsetsKey, new Vector4(4.0f / Screen.width, 0, 0, 0)); 107 | _cBuffer.Blit(_blurredID, _blurredID2, _material); 108 | // vertical blur 109 | _cBuffer.SetGlobalVector(offsetsKey, new Vector4(0, 4.0f / Screen.height, 0, 0)); 110 | _cBuffer.Blit(_blurredID2, _blurredID, _material); 111 | 112 | _cBuffer.SetGlobalTexture(globalBlurKey, _blurredID); 113 | Camera.AddCommandBuffer(_cameraEvent, _cBuffer); 114 | } 115 | 116 | /// 117 | /// Destroys the command buffer. 118 | /// 119 | private void DestroyCommandBuffer() { 120 | if (_cBuffer != null) { 121 | Camera.RemoveCommandBuffer(_cameraEvent, _cBuffer); 122 | _cBuffer.Clear(); 123 | _cBuffer.Dispose(); 124 | _cBuffer = null; 125 | } 126 | 127 | // Make sure we don't have any duplicates of our command buffer. 128 | CommandBuffer[] commandBuffers = Camera.GetCommandBuffers(_cameraEvent); 129 | foreach (CommandBuffer cBuffer in commandBuffers) { 130 | if (cBuffer.name == cBufferName) { 131 | Camera.RemoveCommandBuffer(_cameraEvent, cBuffer); 132 | cBuffer.Clear(); 133 | cBuffer.Dispose(); 134 | } 135 | } 136 | } 137 | 138 | // Update is called once per frame 139 | private void OnPreRender() { 140 | //Recreate command buffer if screen size, downsample or blur was (de)activated 141 | if (_currentScreenRes.height != Camera.pixelHeight || _currentScreenRes.width != Camera.pixelWidth) { 142 | SetCurrentValues(); 143 | CreateCommandBuffer(); 144 | } 145 | SetCurrentValues(); 146 | } 147 | 148 | /// 149 | /// Sets the current values. 150 | /// 151 | private void SetCurrentValues() { 152 | _currentScreenRes.height = Camera.pixelHeight; 153 | _currentScreenRes.width = Camera.pixelWidth; 154 | } 155 | 156 | /// 157 | /// Initialize stuff. 158 | /// 159 | private void OnEnable() { 160 | Initialize(); 161 | } 162 | 163 | /// 164 | /// Initialize shader, material, camera 165 | /// 166 | private void Initialize() { 167 | // If the blur shader isn't initialized, try to find it. 168 | if (!blurShader) { 169 | blurShader = Shader.Find(blurShaderKey); 170 | } 171 | 172 | // if no material was created with the blur shader yet, create one. 173 | if (!_material) { 174 | _material = new Material(blurShader); 175 | _material.hideFlags = HideFlags.HideAndDontSave; 176 | } 177 | 178 | // convert shader property keywords into IDs. 179 | _screenCopyID = Shader.PropertyToID(screenCopyKey); 180 | _blurredID = Shader.PropertyToID(blurredIDKey); 181 | _blurredID2 = Shader.PropertyToID(blurredID2Key); 182 | 183 | // get our attached camera. 184 | GetCamera(); 185 | } 186 | 187 | /// 188 | /// Gets the attached camera. 189 | /// 190 | private void GetCamera() { 191 | if (!_camera) { 192 | _camera = GetComponent(); 193 | } 194 | } 195 | } 196 | -------------------------------------------------------------------------------- /GrabScreen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 609a343303ee93443b246291d3a836db 3 | timeCreated: 1506186128 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 96153b65aad0cd640aa2fdf36ab84f5c 3 | folderAsset: yes 4 | timeCreated: 1506188181 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Materials/CommandBufferRefraction.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: CommandBufferRefraction 10 | m_Shader: {fileID: 4800000, guid: 7a7b0e7bd71b2ab4993293afe6edb68b, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 0 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _AlbedoRGBBlurA: 22 | m_Texture: {fileID: 2800000, guid: e122d594fa5ecb344af7837481889edf, type: 3} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _BumpMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailAlbedoMap: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailMask: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _DetailNormalMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _EmissionMap: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MainTex: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _MetallicGlossMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _MetallicRSmoothnessGOcclusionBOpacityA: 54 | m_Texture: {fileID: 2800000, guid: a0f30737eb30d264fb5e9c2550105bf2, type: 3} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _NormalMapRGB: 58 | m_Texture: {fileID: 2800000, guid: d661edcb637ee16479a68c225ba641ce, type: 3} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | - _OcclusionMap: 62 | m_Texture: {fileID: 0} 63 | m_Scale: {x: 1, y: 1} 64 | m_Offset: {x: 0, y: 0} 65 | - _ParallaxMap: 66 | m_Texture: {fileID: 0} 67 | m_Scale: {x: 1, y: 1} 68 | m_Offset: {x: 0, y: 0} 69 | - _texcoord: 70 | m_Texture: {fileID: 0} 71 | m_Scale: {x: 1, y: 1} 72 | m_Offset: {x: 0, y: 0} 73 | m_Floats: 74 | - _Al: 1 75 | - _AlbedoContribution: 0.6 76 | - _AlbedoContributo: 1 77 | - _AlbedoContributoi: 1 78 | - _BumpScale: 1 79 | - _Cutoff: 0.5 80 | - _DetailNormalMapScale: 1 81 | - _Distortion: 0.05 82 | - _DistortionStrength: 0.05 83 | - _DstBlend: 0 84 | - _EmissionContribution: 0.4 85 | - _GlossMapScale: 1 86 | - _Glossiness: 0.5 87 | - _GlossyReflections: 1 88 | - _Metallic: 0 89 | - _Mode: 0 90 | - _NormalScale: 0.7 91 | - _OcclusionStrength: 1 92 | - _Parallax: 0.02 93 | - _ReflectionStrength: 0.4 94 | - _SmoothnessTextureChannel: 0 95 | - _SpecularHighlights: 1 96 | - _SrcBlend: 1 97 | - _UVSec: 0 98 | - _ZWrite: 1 99 | - __dirty: 0 100 | - _normalScale: 0.539 101 | m_Colors: 102 | - _Color: {r: 1, g: 1, b: 1, a: 1} 103 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 104 | -------------------------------------------------------------------------------- /Materials/CommandBufferRefraction.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14dcb84324e8609489297d6f8ff87c8d 3 | timeCreated: 1506188190 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Materials/CommandBufferRefractionCheaper.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: CommandBufferRefractionCheaper 10 | m_Shader: {fileID: 4800000, guid: c930ae72e69763541892469e86754a86, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 0 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _AlbedoRGBBlurA: 22 | m_Texture: {fileID: 2800000, guid: e122d594fa5ecb344af7837481889edf, type: 3} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _BumpMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailAlbedoMap: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailMask: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _DetailNormalMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _EmissionMap: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MainTex: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _MetallicGlossMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _MetallicRSmoothnessGOcclusionBOpacityA: 54 | m_Texture: {fileID: 2800000, guid: a0f30737eb30d264fb5e9c2550105bf2, type: 3} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _NormalMapRGB: 58 | m_Texture: {fileID: 2800000, guid: d661edcb637ee16479a68c225ba641ce, type: 3} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | - _OcclusionMap: 62 | m_Texture: {fileID: 0} 63 | m_Scale: {x: 1, y: 1} 64 | m_Offset: {x: 0, y: 0} 65 | - _ParallaxMap: 66 | m_Texture: {fileID: 0} 67 | m_Scale: {x: 1, y: 1} 68 | m_Offset: {x: 0, y: 0} 69 | - _texcoord: 70 | m_Texture: {fileID: 0} 71 | m_Scale: {x: 1, y: 1} 72 | m_Offset: {x: 0, y: 0} 73 | m_Floats: 74 | - _BlurAmount: 0.761 75 | - _BumpScale: 1 76 | - _Cutoff: 0.5 77 | - _DetailNormalMapScale: 1 78 | - _DistortionStrength: 0.06 79 | - _DstBlend: 0 80 | - _EmissionContribution: 0.428 81 | - _GlossMapScale: 1 82 | - _Glossiness: 0.5 83 | - _GlossyReflections: 1 84 | - _Metallic: 0 85 | - _Mode: 0 86 | - _NormalScale: 0.338 87 | - _OcclusionStrength: 1 88 | - _Opacity: 0.5 89 | - _Parallax: 0.02 90 | - _ReflectionStrength: 0.383 91 | - _Smoothness: 0.762 92 | - _SmoothnessTextureChannel: 0 93 | - _SpecularHighlights: 1 94 | - _SrcBlend: 1 95 | - _UVSec: 0 96 | - _ZWrite: 1 97 | - __dirty: 0 98 | m_Colors: 99 | - _AlbedoColor: {r: 0.11764707, g: 0.253, b: 0.11764707, a: 1} 100 | - _AlbedoOpacity: {r: 0.11764707, g: 0.253, b: 0.11764707, a: 0.497} 101 | - _AlbedoRGBOpacityA: {r: 0.11764707, g: 0.253, b: 0.11764707, a: 0.497} 102 | - _Color: {r: 1, g: 1, b: 1, a: 1} 103 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 104 | - _MetallicSmoothness: {r: 0, g: 0.7, b: 0, a: 0} 105 | - _MetallicSmoothnessOcclusionOpacity: {r: 0, g: 0.5, b: 0, a: 0.5} 106 | - _OcclusionOpacity: {r: 0, g: 0.5, b: 0, a: 0} 107 | -------------------------------------------------------------------------------- /Materials/CommandBufferRefractionCheaper.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b869f7e1c6bbce428bce3f664432840 3 | timeCreated: 1506192367 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Materials/CommandBufferRefractionCheaperAlt.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: CommandBufferRefractionCheaperAlt 10 | m_Shader: {fileID: 4800000, guid: c930ae72e69763541892469e86754a86, type: 3} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 0 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _AlbedoRGBBlurA: 22 | m_Texture: {fileID: 2800000, guid: e122d594fa5ecb344af7837481889edf, type: 3} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _BumpMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailAlbedoMap: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailMask: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _DetailNormalMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _EmissionMap: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MainTex: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _MetallicGlossMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _MetallicRSmoothnessGOcclusionBOpacityA: 54 | m_Texture: {fileID: 2800000, guid: a0f30737eb30d264fb5e9c2550105bf2, type: 3} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _NormalMapRGB: 58 | m_Texture: {fileID: 2800000, guid: d661edcb637ee16479a68c225ba641ce, type: 3} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | - _OcclusionMap: 62 | m_Texture: {fileID: 0} 63 | m_Scale: {x: 1, y: 1} 64 | m_Offset: {x: 0, y: 0} 65 | - _ParallaxMap: 66 | m_Texture: {fileID: 0} 67 | m_Scale: {x: 1, y: 1} 68 | m_Offset: {x: 0, y: 0} 69 | - _texcoord: 70 | m_Texture: {fileID: 0} 71 | m_Scale: {x: 1, y: 1} 72 | m_Offset: {x: 0, y: 0} 73 | m_Floats: 74 | - _BlurAmount: 0.604 75 | - _BumpScale: 1 76 | - _Cutoff: 0.5 77 | - _DetailNormalMapScale: 1 78 | - _DistortionStrength: 0.081 79 | - _DstBlend: 0 80 | - _EmissionContribution: 0.06 81 | - _GlossMapScale: 1 82 | - _Glossiness: 0.5 83 | - _GlossyReflections: 1 84 | - _Metallic: 0 85 | - _Mode: 0 86 | - _NormalScale: 0.324 87 | - _OcclusionStrength: 1 88 | - _Opacity: 0.5 89 | - _Parallax: 0.02 90 | - _ReflectionStrength: 0.925 91 | - _Smoothness: 0.898 92 | - _SmoothnessTextureChannel: 0 93 | - _SpecularHighlights: 1 94 | - _SrcBlend: 1 95 | - _UVSec: 0 96 | - _ZWrite: 1 97 | - __dirty: 0 98 | m_Colors: 99 | - _AlbedoColor: {r: 0.11764707, g: 0.253, b: 0.11764707, a: 1} 100 | - _AlbedoOpacity: {r: 0.11764707, g: 0.253, b: 0.11764707, a: 0.497} 101 | - _AlbedoRGBOpacityA: {r: 0.75178415, g: 0.83317924, b: 0.99264705, a: 0.497} 102 | - _Color: {r: 1, g: 1, b: 1, a: 1} 103 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 104 | - _MetallicSmoothness: {r: 0, g: 0.7, b: 0, a: 0} 105 | - _MetallicSmoothnessOcclusionOpacity: {r: 0, g: 0.5, b: 0, a: 0.5} 106 | - _OcclusionOpacity: {r: 0, g: 0.5, b: 0, a: 0} 107 | -------------------------------------------------------------------------------- /Materials/CommandBufferRefractionCheaperAlt.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 959046c714828cc479babecfa0878fe9 3 | timeCreated: 1506192367 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Command Buffer based Refraction shaders for Unity 2 | 3 | **Adjustable, blurred Refraction shaders** created with Amplify Shader Editor using **Command Buffers**. Cool to create **glass like materials**. **Works without Amplify Shader Editor**. Inspired by an [Unity blog entry](https://blogs.unity3d.com/2015/02/06/extending-unity-5-rendering-pipeline-command-buffers). 4 | 5 | This implementation was initially created for use in **[Pizza Connection 3](https://store.steampowered.com/app/588160/Pizza_Connection_3/)**, but I adapted the approach for general usage. 6 | 7 | # Goal 8 | To create **cool looking glass materials** it's nice to have **refraction** on the surfaces. In recent games, glass materials sometimes also feature a dynamic blurred refraction on their surface. 9 | 10 | See the new **DOOM** for example: 11 | 12 | ![](http://www.adriancourreges.com/img/blog/2016/doom2016/shot/70_glass_after.jpg) 13 | 14 | To achieve this effect in Unity the [classical approach](https://forum.unity.com/threads/simple-optimized-blur-shader.185327/) is to use a GrabPass in your shader & blur several instances of the same screen based texture. Since **Unity 5** there is an alternative to this approach using [CommandBuffers](https://docs.unity3d.com/ScriptReference/Rendering.CommandBuffer.html). See [this blog entry](https://blogs.unity3d.com/2015/02/06/extending-unity-5-rendering-pipeline-command-buffers/) for more detail. *TL;DR: Using Command buffers is more performant, flexible and easier to use than a normal grab pass in the above case.* 15 | 16 | Since I haven't found any sources except the Unity blog entry on how to achieve the desired effect using Command Buffers I implemented it on my own by adapting the [example provided by Unity](https://blogs.unity3d.com/wp-content/uploads/2015/02/RenderingCommandBuffers50b22.zip). To create the main shaders I used the Amplify Shader Editor *(ASE)*. 17 | 18 | **Disclaimer:** I'm no expert in Shader/Graphics Programming, I just felt the urge to contribute and help others. Everyone is encouraged to contribute to this project and make it better. :) 19 | 20 | ### Screenshots 21 | The blur amount can be tweaked as a simple float property. 22 | ![](https://user-images.githubusercontent.com/530629/30776705-77c565b4-a0ab-11e7-9fac-3d61d49e6190.png) 23 | Reflectivity, Distortion, Emission contribution and a lot of other things can be tweaked. 24 | ![](https://user-images.githubusercontent.com/530629/30776643-6e7278d6-a0aa-11e7-93be-ac8fd8c9404b.png) 25 | 26 | ### Usage 27 | 1. **Copy the contents** of this repository into your **Unity project**. 28 | 2. Add **GrabScreen.cs** to the **camera** you want to capture the screen from. *(This creates 2 global screen textures for our shaders: Blur & No Blur)* 29 | 3. Create a new **Material** and use one of the CommandBufferRefraction shaders, found under **Custom/CommandBufferRefraction** or **Custom/CommandBufferRefractionCheaper** 30 | 4. **Apply your material** to a renderer in your scene. 31 | 5. **Press play** & watch the material in the **Game View** 32 | 33 | ### Options 34 | 35 | #### *RefractionWithCommandBuffer.shader* 36 | ![](https://user-images.githubusercontent.com/530629/30776719-ad4a96fa-a0ab-11e7-91c4-17881574ab7a.png) 37 | 38 | *Note: To give maximum flexibility 3 textures are used to define the material. The property name already shows you which channels of the texture are used for which purpose.* 39 | 40 | ### *RefractionWithCommandBufferCheaper.shader* 41 | ![](https://user-images.githubusercontent.com/530629/30776716-9c4a5a48-a0ab-11e7-9c64-727bf59c4401.png) 42 | 43 | *Note: This is the more easy to use, faster version of the shader (less texture calls). A lot of the properties are tweaked by using sliders.* 44 | 45 | ### ASE Graphs 46 | The shader was created using the Amplify Shader Editor from the Asset Store. Luckily, **you can use these shaders without this asset**. However if you have the shader editor you can directly open the shaders in ASE. 47 | 48 | *Below be shader graphs:* 49 | The CommandBufferRefractionShader. 50 | ![CommandBufferRefraction.shader](https://user-images.githubusercontent.com/530629/30776913-a0a9b4ea-a0af-11e7-886b-46abddbddd29.png) 51 | The cheaper version (fewer texture calls). 52 | ![CommandBufferRefractionCheaper.shader](https://user-images.githubusercontent.com/530629/30776943-0914538c-a0b0-11e7-9f6f-9909814b7fbd.png) 53 | 54 | ### Caveats 55 | ![](https://user-images.githubusercontent.com/530629/30776669-d7a65b7e-a0aa-11e7-9b31-23a82dfeadae.png) 56 | - **Unity Editor:** Shaders don't preview correctly in the *Scene View* 57 | - **Performance:** We create 2 global textures with the command buffer (blurred and non blurred), they are smaller than the actual camera screen size, but this is still performance heavy, so watch out. 58 | - **Forward Based:** We need to render in the transparent queue, so this shader works only with forward rendering. 59 | -------------------------------------------------------------------------------- /Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab87a468d911038469ced511a52c68a4 3 | folderAsset: yes 4 | timeCreated: 1506194700 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/RefractionWithCommandBuffer.shader: -------------------------------------------------------------------------------- 1 | // Made with Amplify Shader Editor 2 | // Available at the Unity Asset Store - http://u3d.as/y3X 3 | Shader "Custom/RefractionWithCommandBuffer" 4 | { 5 | Properties 6 | { 7 | [HideInInspector] __dirty( "", Int ) = 1 8 | _AlbedoRGBBlurA("Albedo (RGB) Blur (A)", 2D) = "white" {} 9 | _MetallicRSmoothnessGOcclusionBOpacityA("Metallic (R) Smoothness (G) Occlusion (B) Opacity (A)", 2D) = "white" {} 10 | _NormalMapRGB("Normal Map (RGB)", 2D) = "bump" {} 11 | _NormalScale("Normal Scale", Range( 0 , 1)) = 0 12 | _DistortionStrength("Distortion Strength", Range( 0 , 1)) = 0.292 13 | _EmissionContribution("Emission Contribution", Range( 0 , 1)) = 0.3 14 | _ReflectionStrength("Reflection Strength", Range( 0 , 1)) = 1 15 | [HideInInspector] _texcoord( "", 2D ) = "white" {} 16 | } 17 | 18 | SubShader 19 | { 20 | Tags{ "RenderType" = "Opaque" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" } 21 | Cull Back 22 | CGINCLUDE 23 | #include "UnityStandardUtils.cginc" 24 | #include "UnityPBSLighting.cginc" 25 | #include "Lighting.cginc" 26 | #pragma target 3.0 27 | struct Input 28 | { 29 | float2 uv_texcoord; 30 | float4 screenPos; 31 | }; 32 | 33 | uniform half _NormalScale; 34 | uniform sampler2D _NormalMapRGB; 35 | uniform float4 _NormalMapRGB_ST; 36 | uniform sampler2D _AlbedoRGBBlurA; 37 | uniform float4 _AlbedoRGBBlurA_ST; 38 | uniform sampler2D _GrabNoBlurTexture; 39 | uniform half _DistortionStrength; 40 | uniform sampler2D _GrabBlurTexture; 41 | uniform half _ReflectionStrength; 42 | uniform half _EmissionContribution; 43 | uniform sampler2D _MetallicRSmoothnessGOcclusionBOpacityA; 44 | uniform float4 _MetallicRSmoothnessGOcclusionBOpacityA_ST; 45 | 46 | void surf( Input i , inout SurfaceOutputStandard o ) 47 | { 48 | float2 uv_NormalMapRGB = i.uv_texcoord * _NormalMapRGB_ST.xy + _NormalMapRGB_ST.zw; 49 | float3 tex2DNode52 = UnpackScaleNormal( tex2D( _NormalMapRGB, uv_NormalMapRGB ) ,_NormalScale ); 50 | o.Normal = tex2DNode52; 51 | float2 uv_AlbedoRGBBlurA = i.uv_texcoord * _AlbedoRGBBlurA_ST.xy + _AlbedoRGBBlurA_ST.zw; 52 | float4 tex2DNode53 = tex2D( _AlbedoRGBBlurA, uv_AlbedoRGBBlurA ); 53 | float4 ase_screenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 ); 54 | float4 ase_screenPos46 = ase_screenPos; 55 | #if UNITY_UV_STARTS_AT_TOP 56 | float scale46 = -1.0; 57 | #else 58 | float scale46 = 1.0; 59 | #endif 60 | float halfPosW46 = ase_screenPos46.w * 0.5; 61 | ase_screenPos46.y = ( ase_screenPos46.y - halfPosW46 ) * _ProjectionParams.x* scale46 + halfPosW46; 62 | #ifdef UNITY_SINGLE_PASS_STEREO 63 | ase_screenPos46.xy = TransformStereoScreenSpaceTex(ase_screenPos46.xy, ase_screenPos46.w); 64 | #endif 65 | ase_screenPos46.xyzw /= ase_screenPos46.w; 66 | float2 componentMask51 = ase_screenPos46.xy; 67 | float2 componentMask55 = ( tex2DNode52 * _DistortionStrength ).xy; 68 | float2 temp_output_54_0 = ( componentMask51 + componentMask55 ); 69 | float4 lerpResult49 = lerp( tex2D( _GrabNoBlurTexture, temp_output_54_0 ) , tex2D( _GrabBlurTexture, temp_output_54_0 ) , tex2DNode53.a); 70 | float4 lerpResult91 = lerp( tex2DNode53 , lerpResult49 , _ReflectionStrength); 71 | o.Albedo = lerpResult91.xyz; 72 | o.Emission = ( _EmissionContribution * lerpResult91 ).xyz; 73 | float2 uv_MetallicRSmoothnessGOcclusionBOpacityA = i.uv_texcoord * _MetallicRSmoothnessGOcclusionBOpacityA_ST.xy + _MetallicRSmoothnessGOcclusionBOpacityA_ST.zw; 74 | float4 tex2DNode58 = tex2D( _MetallicRSmoothnessGOcclusionBOpacityA, uv_MetallicRSmoothnessGOcclusionBOpacityA ); 75 | o.Metallic = tex2DNode58.r; 76 | o.Smoothness = tex2DNode58.g; 77 | o.Occlusion = tex2DNode58.b; 78 | o.Alpha = tex2DNode58.a; 79 | } 80 | 81 | ENDCG 82 | CGPROGRAM 83 | #pragma only_renderers d3d9 d3d11 glcore d3d11_9x 84 | #pragma surface surf Standard keepalpha fullforwardshadows exclude_path:deferred nofog 85 | 86 | ENDCG 87 | Pass 88 | { 89 | Name "ShadowCaster" 90 | Tags{ "LightMode" = "ShadowCaster" } 91 | ZWrite On 92 | CGPROGRAM 93 | #pragma vertex vert 94 | #pragma fragment frag 95 | #pragma target 3.0 96 | #pragma multi_compile_shadowcaster 97 | #pragma multi_compile UNITY_PASS_SHADOWCASTER 98 | #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 99 | # include "HLSLSupport.cginc" 100 | #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) 101 | #define CAN_SKIP_VPOS 102 | #endif 103 | #include "UnityCG.cginc" 104 | #include "Lighting.cginc" 105 | #include "UnityPBSLighting.cginc" 106 | sampler3D _DitherMaskLOD; 107 | struct v2f 108 | { 109 | V2F_SHADOW_CASTER; 110 | float3 worldPos : TEXCOORD6; 111 | float4 tSpace0 : TEXCOORD1; 112 | float4 tSpace1 : TEXCOORD2; 113 | float4 tSpace2 : TEXCOORD3; 114 | float4 texcoords01 : TEXCOORD4; 115 | UNITY_VERTEX_INPUT_INSTANCE_ID 116 | }; 117 | v2f vert( appdata_full v ) 118 | { 119 | v2f o; 120 | UNITY_SETUP_INSTANCE_ID( v ); 121 | UNITY_INITIALIZE_OUTPUT( v2f, o ); 122 | UNITY_TRANSFER_INSTANCE_ID( v, o ); 123 | float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; 124 | half3 worldNormal = UnityObjectToWorldNormal( v.normal ); 125 | fixed3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz ); 126 | fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w; 127 | fixed3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign; 128 | o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x ); 129 | o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y ); 130 | o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z ); 131 | o.texcoords01 = float4( v.texcoord.xy, v.texcoord1.xy ); 132 | o.worldPos = worldPos; 133 | TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) 134 | return o; 135 | } 136 | fixed4 frag( v2f IN 137 | #if !defined( CAN_SKIP_VPOS ) 138 | , UNITY_VPOS_TYPE vpos : VPOS 139 | #endif 140 | ) : SV_Target 141 | { 142 | UNITY_SETUP_INSTANCE_ID( IN ); 143 | Input surfIN; 144 | UNITY_INITIALIZE_OUTPUT( Input, surfIN ); 145 | surfIN.uv_texcoord.xy = IN.texcoords01.xy; 146 | float3 worldPos = IN.worldPos; 147 | fixed3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); 148 | SurfaceOutputStandard o; 149 | UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o ) 150 | surf( surfIN, o ); 151 | #if defined( CAN_SKIP_VPOS ) 152 | float2 vpos = IN.pos; 153 | #endif 154 | half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a; 155 | clip( alphaRef - 0.01 ); 156 | SHADOW_CASTER_FRAGMENT( IN ) 157 | } 158 | ENDCG 159 | } 160 | } 161 | Fallback "Diffuse" 162 | CustomEditor "ASEMaterialInspector" 163 | } 164 | /*ASEBEGIN 165 | Version=13101 166 | 116;50;1906;1004;2407.126;1073.52;1.847712;True;True 167 | Node;AmplifyShaderEditor.RangedFloatNode;63;-1710.117,-117.7083;Half;False;Property;_NormalScale;Normal Scale;5;0;0;0;1;0;1;FLOAT 168 | Node;AmplifyShaderEditor.RangedFloatNode;57;-1393.535,52.59332;Half;False;Property;_DistortionStrength;Distortion Strength;6;0;0.292;0;1;0;1;FLOAT 169 | Node;AmplifyShaderEditor.SamplerNode;52;-1405.301,-167.8068;Float;True;Property;_NormalMapRGB;Normal Map (RGB);4;0;None;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT 170 | Node;AmplifyShaderEditor.GrabScreenPosition;46;-1336.204,-382.0296;Float;False;0;0;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT 171 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;56;-1076.132,-95.07028;Float;False;2;2;0;FLOAT3;0.0;False;1;FLOAT;0.0,0,0;False;1;FLOAT3 172 | Node;AmplifyShaderEditor.ComponentMaskNode;51;-1009.087,-248.1262;Float;False;True;True;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT2 173 | Node;AmplifyShaderEditor.ComponentMaskNode;55;-857.3359,-90.57038;Float;False;True;True;False;True;1;0;FLOAT3;0,0,0;False;1;FLOAT2 174 | Node;AmplifyShaderEditor.SimpleAddOpNode;54;-626.9285,-216.5684;Float;True;2;2;0;FLOAT2;0.0,0;False;1;FLOAT2;0.0,0,0,0;False;1;FLOAT2 175 | Node;AmplifyShaderEditor.SamplerNode;47;-403.7443,-359.0478;Float;True;Global;_GrabNoBlurTexture;_GrabNoBlurTexture;0;0;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT 176 | Node;AmplifyShaderEditor.SamplerNode;18;-392.608,-117.0344;Float;True;Global;_GrabBlurTexture;_GrabBlurTexture;1;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT 177 | Node;AmplifyShaderEditor.SamplerNode;53;-400.3706,-590.7485;Float;True;Property;_AlbedoRGBBlurA;Albedo (RGB) Blur (A);2;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT 178 | Node;AmplifyShaderEditor.RangedFloatNode;87;-375.1392,-798.0683;Half;False;Property;_ReflectionStrength;Reflection Strength;8;0;1;0;1;0;1;FLOAT 179 | Node;AmplifyShaderEditor.LerpOp;49;33.14941,-333.6691;Float;True;3;0;COLOR;0.0;False;1;FLOAT4;0,0,0,0;False;2;FLOAT;0.0;False;1;FLOAT4 180 | Node;AmplifyShaderEditor.RangedFloatNode;66;335.0458,-806.5895;Half;False;Property;_EmissionContribution;Emission Contribution;7;0;0.3;0;1;0;1;FLOAT 181 | Node;AmplifyShaderEditor.LerpOp;91;49.56155,-725.2689;Float;True;3;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0.0;False;2;FLOAT;0.0;False;1;FLOAT4 182 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;65;647.2706,-722.5212;Float;True;2;2;0;FLOAT;0,0,0,0;False;1;FLOAT4;0.0;False;1;FLOAT4 183 | Node;AmplifyShaderEditor.SamplerNode;58;27.5927,-71.0429;Float;True;Property;_MetallicRSmoothnessGOcclusionBOpacityA;Metallic (R) Smoothness (G) Occlusion (B) Opacity (A);3;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT 184 | Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;1094.398,-366.9636;Float;False;True;2;Float;ASEMaterialInspector;0;0;Standard;Custom/RefractionWithCommandBuffer;False;False;False;False;False;False;False;False;False;True;False;False;False;False;True;False;False;Back;0;0;False;0;0;Translucent;0.5;True;True;0;False;Opaque;Transparent;ForwardOnly;True;True;True;False;False;False;True;False;False;False;False;False;False;True;True;True;True;False;0;255;255;0;0;0;0;False;0;4;10;25;False;0.5;True;0;Zero;Zero;0;Zero;Zero;Add;Add;0;False;0;0,0,0,0;VertexOffset;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;0;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0.0;False;4;FLOAT;0.0;False;5;FLOAT;0.0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0.0;False;9;FLOAT;0.0;False;10;OBJECT;0.0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 185 | WireConnection;52;5;63;0 186 | WireConnection;56;0;52;0 187 | WireConnection;56;1;57;0 188 | WireConnection;51;0;46;0 189 | WireConnection;55;0;56;0 190 | WireConnection;54;0;51;0 191 | WireConnection;54;1;55;0 192 | WireConnection;47;1;54;0 193 | WireConnection;18;1;54;0 194 | WireConnection;49;0;47;0 195 | WireConnection;49;1;18;0 196 | WireConnection;49;2;53;4 197 | WireConnection;91;0;53;0 198 | WireConnection;91;1;49;0 199 | WireConnection;91;2;87;0 200 | WireConnection;65;0;66;0 201 | WireConnection;65;1;91;0 202 | WireConnection;0;0;91;0 203 | WireConnection;0;1;52;0 204 | WireConnection;0;2;65;0 205 | WireConnection;0;3;58;1 206 | WireConnection;0;4;58;2 207 | WireConnection;0;5;58;3 208 | WireConnection;0;9;58;4 209 | ASEEND*/ 210 | //CHKSM=F7D175F5720514B358D75E6C1A645E32F5C8F03D -------------------------------------------------------------------------------- /Shaders/RefractionWithCommandBuffer.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a7b0e7bd71b2ab4993293afe6edb68b 3 | timeCreated: 1506191967 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/RefractionWithCommandBufferCheaper.shader: -------------------------------------------------------------------------------- 1 | // Made with Amplify Shader Editor 2 | // Available at the Unity Asset Store - http://u3d.as/y3X 3 | Shader "Custom/RefractionWithCommandBufferCheaper" 4 | { 5 | Properties 6 | { 7 | [HideInInspector] __dirty( "", Int ) = 1 8 | _AlbedoRGBOpacityA("Albedo (RGB) Opacity (A)", Color) = (0,0,0,0) 9 | _Metallic("Metallic", Range( 0 , 1)) = 0 10 | _Smoothness("Smoothness", Range( 0 , 1)) = 0 11 | _NormalMapRGB("Normal Map (RGB)", 2D) = "bump" {} 12 | _NormalScale("Normal Scale", Range( 0 , 1)) = 0 13 | _BlurAmount("Blur Amount", Range( 0 , 1)) = 0 14 | _DistortionStrength("Distortion Strength", Range( 0 , 1)) = 0.292 15 | _EmissionContribution("Emission Contribution", Range( 0 , 1)) = 0.3 16 | _ReflectionStrength("Reflection Strength", Range( 0 , 1)) = 1 17 | [HideInInspector] _texcoord( "", 2D ) = "white" {} 18 | } 19 | 20 | SubShader 21 | { 22 | Tags{ "RenderType" = "Opaque" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" } 23 | Cull Back 24 | CGINCLUDE 25 | #include "UnityStandardUtils.cginc" 26 | #include "UnityPBSLighting.cginc" 27 | #include "Lighting.cginc" 28 | #pragma target 3.0 29 | struct Input 30 | { 31 | float2 uv_texcoord; 32 | float4 screenPos; 33 | }; 34 | 35 | uniform half _NormalScale; 36 | uniform sampler2D _NormalMapRGB; 37 | uniform float4 _NormalMapRGB_ST; 38 | uniform half4 _AlbedoRGBOpacityA; 39 | uniform sampler2D _GrabNoBlurTexture; 40 | uniform half _DistortionStrength; 41 | uniform sampler2D _GrabBlurTexture; 42 | uniform half _BlurAmount; 43 | uniform half _ReflectionStrength; 44 | uniform half _EmissionContribution; 45 | uniform half _Metallic; 46 | uniform half _Smoothness; 47 | 48 | void surf( Input i , inout SurfaceOutputStandard o ) 49 | { 50 | float2 uv_NormalMapRGB = i.uv_texcoord * _NormalMapRGB_ST.xy + _NormalMapRGB_ST.zw; 51 | float3 tex2DNode52 = UnpackScaleNormal( tex2D( _NormalMapRGB, uv_NormalMapRGB ) ,_NormalScale ); 52 | o.Normal = tex2DNode52; 53 | float4 ase_screenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 ); 54 | float4 ase_screenPos46 = ase_screenPos; 55 | #if UNITY_UV_STARTS_AT_TOP 56 | float scale46 = -1.0; 57 | #else 58 | float scale46 = 1.0; 59 | #endif 60 | float halfPosW46 = ase_screenPos46.w * 0.5; 61 | ase_screenPos46.y = ( ase_screenPos46.y - halfPosW46 ) * _ProjectionParams.x* scale46 + halfPosW46; 62 | #ifdef UNITY_SINGLE_PASS_STEREO 63 | ase_screenPos46.xy = TransformStereoScreenSpaceTex(ase_screenPos46.xy, ase_screenPos46.w); 64 | #endif 65 | ase_screenPos46.xyzw /= ase_screenPos46.w; 66 | float2 componentMask51 = ase_screenPos46.xy; 67 | float2 componentMask55 = ( tex2DNode52 * _DistortionStrength ).xy; 68 | float2 temp_output_54_0 = ( componentMask51 + componentMask55 ); 69 | float4 lerpResult49 = lerp( tex2D( _GrabNoBlurTexture, temp_output_54_0 ) , tex2D( _GrabBlurTexture, temp_output_54_0 ) , _BlurAmount); 70 | float4 lerpResult91 = lerp( _AlbedoRGBOpacityA , lerpResult49 , _ReflectionStrength); 71 | o.Albedo = lerpResult91.xyz; 72 | o.Emission = ( _EmissionContribution * lerpResult91 ).xyz; 73 | o.Metallic = _Metallic; 74 | o.Smoothness = _Smoothness; 75 | o.Alpha = _AlbedoRGBOpacityA.a; 76 | } 77 | 78 | ENDCG 79 | CGPROGRAM 80 | #pragma only_renderers d3d9 d3d11 glcore d3d11_9x 81 | #pragma surface surf Standard keepalpha fullforwardshadows exclude_path:deferred nofog 82 | 83 | ENDCG 84 | Pass 85 | { 86 | Name "ShadowCaster" 87 | Tags{ "LightMode" = "ShadowCaster" } 88 | ZWrite On 89 | CGPROGRAM 90 | #pragma vertex vert 91 | #pragma fragment frag 92 | #pragma target 3.0 93 | #pragma multi_compile_shadowcaster 94 | #pragma multi_compile UNITY_PASS_SHADOWCASTER 95 | #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 96 | # include "HLSLSupport.cginc" 97 | #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) 98 | #define CAN_SKIP_VPOS 99 | #endif 100 | #include "UnityCG.cginc" 101 | #include "Lighting.cginc" 102 | #include "UnityPBSLighting.cginc" 103 | sampler3D _DitherMaskLOD; 104 | struct v2f 105 | { 106 | V2F_SHADOW_CASTER; 107 | float3 worldPos : TEXCOORD6; 108 | float4 tSpace0 : TEXCOORD1; 109 | float4 tSpace1 : TEXCOORD2; 110 | float4 tSpace2 : TEXCOORD3; 111 | float4 texcoords01 : TEXCOORD4; 112 | UNITY_VERTEX_INPUT_INSTANCE_ID 113 | }; 114 | v2f vert( appdata_full v ) 115 | { 116 | v2f o; 117 | UNITY_SETUP_INSTANCE_ID( v ); 118 | UNITY_INITIALIZE_OUTPUT( v2f, o ); 119 | UNITY_TRANSFER_INSTANCE_ID( v, o ); 120 | float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; 121 | half3 worldNormal = UnityObjectToWorldNormal( v.normal ); 122 | fixed3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz ); 123 | fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w; 124 | fixed3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign; 125 | o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x ); 126 | o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y ); 127 | o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z ); 128 | o.texcoords01 = float4( v.texcoord.xy, v.texcoord1.xy ); 129 | o.worldPos = worldPos; 130 | TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) 131 | return o; 132 | } 133 | fixed4 frag( v2f IN 134 | #if !defined( CAN_SKIP_VPOS ) 135 | , UNITY_VPOS_TYPE vpos : VPOS 136 | #endif 137 | ) : SV_Target 138 | { 139 | UNITY_SETUP_INSTANCE_ID( IN ); 140 | Input surfIN; 141 | UNITY_INITIALIZE_OUTPUT( Input, surfIN ); 142 | surfIN.uv_texcoord.xy = IN.texcoords01.xy; 143 | float3 worldPos = IN.worldPos; 144 | fixed3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); 145 | SurfaceOutputStandard o; 146 | UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o ) 147 | surf( surfIN, o ); 148 | #if defined( CAN_SKIP_VPOS ) 149 | float2 vpos = IN.pos; 150 | #endif 151 | half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a; 152 | clip( alphaRef - 0.01 ); 153 | SHADOW_CASTER_FRAGMENT( IN ) 154 | } 155 | ENDCG 156 | } 157 | } 158 | Fallback "Diffuse" 159 | CustomEditor "ASEMaterialInspector" 160 | } 161 | /*ASEBEGIN 162 | Version=13101 163 | 88;69;1906;1004;1367.737;995.9941;1.660312;True;True 164 | Node;AmplifyShaderEditor.RangedFloatNode;63;-1710.117,-117.7083;Half;False;Property;_NormalScale;Normal Scale;6;0;0;0;1;0;1;FLOAT 165 | Node;AmplifyShaderEditor.SamplerNode;52;-1405.301,-167.8068;Float;True;Property;_NormalMapRGB;Normal Map (RGB);5;0;None;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT 166 | Node;AmplifyShaderEditor.RangedFloatNode;57;-1393.535,52.59332;Half;False;Property;_DistortionStrength;Distortion Strength;8;0;0.292;0;1;0;1;FLOAT 167 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;56;-1076.132,-95.07028;Float;False;2;2;0;FLOAT3;0.0;False;1;FLOAT;0.0,0,0;False;1;FLOAT3 168 | Node;AmplifyShaderEditor.GrabScreenPosition;46;-1336.204,-382.0296;Float;False;0;0;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT 169 | Node;AmplifyShaderEditor.ComponentMaskNode;55;-857.3359,-90.57038;Float;False;True;True;False;True;1;0;FLOAT3;0,0,0;False;1;FLOAT2 170 | Node;AmplifyShaderEditor.ComponentMaskNode;51;-1009.087,-248.1262;Float;False;True;True;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT2 171 | Node;AmplifyShaderEditor.SimpleAddOpNode;54;-626.9285,-216.5684;Float;True;2;2;0;FLOAT2;0.0,0;False;1;FLOAT2;0.0,0,0,0;False;1;FLOAT2 172 | Node;AmplifyShaderEditor.RangedFloatNode;93;-381.7226,-488.7032;Half;False;Property;_BlurAmount;Blur Amount;7;0;0;0;1;0;1;FLOAT 173 | Node;AmplifyShaderEditor.SamplerNode;18;-392.608,-117.0344;Float;True;Global;_GrabBlurTexture;_GrabBlurTexture;1;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT 174 | Node;AmplifyShaderEditor.SamplerNode;47;-403.7443,-359.0478;Float;True;Global;_GrabNoBlurTexture;_GrabNoBlurTexture;0;0;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT 175 | Node;AmplifyShaderEditor.RangedFloatNode;87;-375.1392,-798.0683;Half;False;Property;_ReflectionStrength;Reflection Strength;10;0;1;0;1;0;1;FLOAT 176 | Node;AmplifyShaderEditor.LerpOp;49;65.65135,-383.1956;Float;True;3;0;COLOR;0.0;False;1;FLOAT4;0,0,0,0;False;2;FLOAT;0.0;False;1;FLOAT4 177 | Node;AmplifyShaderEditor.ColorNode;92;-371.2106,-689.1077;Half;False;Property;_AlbedoRGBOpacityA;Albedo (RGB) Opacity (A);2;0;0,0,0,0;0;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT 178 | Node;AmplifyShaderEditor.RangedFloatNode;66;335.0458,-806.5895;Half;False;Property;_EmissionContribution;Emission Contribution;9;0;0.3;0;1;0;1;FLOAT 179 | Node;AmplifyShaderEditor.LerpOp;91;82.06134,-675.8694;Float;True;3;0;COLOR;0,0,0,0;False;1;FLOAT4;0.0,0,0,0;False;2;FLOAT;0.0;False;1;FLOAT4 180 | Node;AmplifyShaderEditor.RangedFloatNode;98;544.6698,-180.3369;Half;False;Property;_Metallic;Metallic;3;0;0;0;1;0;1;FLOAT 181 | Node;AmplifyShaderEditor.RangedFloatNode;99;546.1342,-95.39407;Half;False;Property;_Smoothness;Smoothness;4;0;0;0;1;0;1;FLOAT 182 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;65;647.2706,-722.5212;Float;True;2;2;0;FLOAT;0,0,0,0;False;1;FLOAT4;0.0;False;1;FLOAT4 183 | Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;1094.398,-366.9636;Float;False;True;2;Float;ASEMaterialInspector;0;0;Standard;Custom/RefractionWithCommandBufferCheaper;False;False;False;False;False;False;False;False;False;True;False;False;False;False;True;False;False;Back;0;0;False;0;0;Translucent;0.5;True;True;0;False;Opaque;Transparent;ForwardOnly;True;True;True;False;False;False;True;False;False;False;False;False;False;True;True;True;True;False;0;255;255;0;0;0;0;False;0;4;10;25;False;0.5;True;0;Zero;Zero;0;Zero;Zero;Add;Add;0;False;0;0,0,0,0;VertexOffset;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;0;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0.0;False;4;FLOAT;0.0;False;5;FLOAT;0.0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0.0;False;9;FLOAT;0.0;False;10;OBJECT;0.0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 184 | WireConnection;52;5;63;0 185 | WireConnection;56;0;52;0 186 | WireConnection;56;1;57;0 187 | WireConnection;55;0;56;0 188 | WireConnection;51;0;46;0 189 | WireConnection;54;0;51;0 190 | WireConnection;54;1;55;0 191 | WireConnection;18;1;54;0 192 | WireConnection;47;1;54;0 193 | WireConnection;49;0;47;0 194 | WireConnection;49;1;18;0 195 | WireConnection;49;2;93;0 196 | WireConnection;91;0;92;0 197 | WireConnection;91;1;49;0 198 | WireConnection;91;2;87;0 199 | WireConnection;65;0;66;0 200 | WireConnection;65;1;91;0 201 | WireConnection;0;0;91;0 202 | WireConnection;0;1;52;0 203 | WireConnection;0;2;65;0 204 | WireConnection;0;3;98;0 205 | WireConnection;0;4;99;0 206 | WireConnection;0;9;92;4 207 | ASEEND*/ 208 | //CHKSM=18A97B9C6C468CBA7A2CA2A34BC10DF417BDCE1B -------------------------------------------------------------------------------- /Shaders/RefractionWithCommandBufferCheaper.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c930ae72e69763541892469e86754a86 3 | timeCreated: 1506193275 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/SeparableBlur.shader: -------------------------------------------------------------------------------- 1 | // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' 2 | 3 | Shader "Hidden/SeparableBlur" { 4 | Properties { 5 | _MainTex ("Base (RGB)", 2D) = "" {} 6 | } 7 | 8 | CGINCLUDE 9 | 10 | #include "UnityCG.cginc" 11 | 12 | struct v2f { 13 | float4 pos : POSITION; 14 | float2 uv : TEXCOORD0; 15 | 16 | float4 uv01 : TEXCOORD1; 17 | float4 uv23 : TEXCOORD2; 18 | float4 uv45 : TEXCOORD3; 19 | }; 20 | 21 | float4 offsets; 22 | 23 | sampler2D _MainTex; 24 | 25 | v2f vert (appdata_img v) { 26 | v2f o; 27 | o.pos = UnityObjectToClipPos(v.vertex); 28 | 29 | o.uv.xy = v.texcoord.xy; 30 | 31 | o.uv01 = v.texcoord.xyxy + offsets.xyxy * float4(1,1, -1,-1); 32 | o.uv23 = v.texcoord.xyxy + offsets.xyxy * float4(1,1, -1,-1) * 2.0; 33 | o.uv45 = v.texcoord.xyxy + offsets.xyxy * float4(1,1, -1,-1) * 3.0; 34 | 35 | return o; 36 | } 37 | 38 | half4 frag (v2f i) : COLOR { 39 | half4 color = float4 (0,0,0,0); 40 | 41 | color += 0.40 * tex2D (_MainTex, i.uv); 42 | color += 0.15 * tex2D (_MainTex, i.uv01.xy); 43 | color += 0.15 * tex2D (_MainTex, i.uv01.zw); 44 | color += 0.10 * tex2D (_MainTex, i.uv23.xy); 45 | color += 0.10 * tex2D (_MainTex, i.uv23.zw); 46 | color += 0.05 * tex2D (_MainTex, i.uv45.xy); 47 | color += 0.05 * tex2D (_MainTex, i.uv45.zw); 48 | 49 | return color; 50 | } 51 | 52 | ENDCG 53 | 54 | Subshader { 55 | Pass { 56 | ZTest Always Cull Off ZWrite Off 57 | Fog { Mode off } 58 | 59 | CGPROGRAM 60 | #pragma fragmentoption ARB_precision_hint_fastest 61 | #pragma vertex vert 62 | #pragma fragment frag 63 | ENDCG 64 | } 65 | } 66 | 67 | Fallback off 68 | 69 | 70 | } // shader 71 | -------------------------------------------------------------------------------- /Shaders/SeparableBlur.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e0aaa946d1793b44eb66b5594bdca958 3 | timeCreated: 1506187251 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/ShaderGUI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 60c8037e15f728e47ab1341ef24ae5df 3 | folderAsset: yes 4 | timeCreated: 1506194713 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/ShaderGUI/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2924ee57fdc61944a7be75272d98fad 3 | folderAsset: yes 4 | timeCreated: 1506194842 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/ShaderGUI/Editor/CustomMaterialInspector.cs: -------------------------------------------------------------------------------- 1 | /// 2 | /// --------- 3 | /// Shader GUI stub for Amplify Shader Editor shaders so we don't get a warning when copy & pasting shaders. 4 | /// This is just laziness, so we don't have to remove the default shader GUI reference to "ASEMaterialInspector" made by Amplify. 5 | /// --------- 6 | /// 7 | 8 | // Make sure to activate this class only if the AMPLIFY SHADER EDITOR isn't part of the project. 9 | #if !AMPLIFY_SHADER_EDITOR 10 | using UnityEngine; 11 | using UnityEditor; 12 | 13 | internal class ASEMaterialInspector : ShaderGUI{ 14 | 15 | private static MaterialEditor m_instance = null; 16 | public override void OnGUI( MaterialEditor materialEditor, MaterialProperty[] properties ){ 17 | Material mat = materialEditor.target as Material; 18 | 19 | if ( mat == null ) 20 | return; 21 | 22 | m_instance = materialEditor; 23 | 24 | EditorGUI.BeginChangeCheck(); 25 | base.OnGUI( materialEditor, properties ); 26 | materialEditor.LightmapEmissionProperty(); 27 | if ( EditorGUI.EndChangeCheck() ) 28 | { 29 | string isEmissive = mat.GetTag( "IsEmissive", false, "false" ); 30 | if ( isEmissive.Equals("true") ) 31 | { 32 | mat.globalIlluminationFlags &= ( MaterialGlobalIlluminationFlags )3; 33 | } 34 | else 35 | { 36 | mat.globalIlluminationFlags |= MaterialGlobalIlluminationFlags.EmissiveIsBlack; 37 | } 38 | } 39 | } 40 | 41 | public static MaterialEditor Instance { get { return m_instance; } set { m_instance = value; } } 42 | } 43 | #endif 44 | -------------------------------------------------------------------------------- /Shaders/ShaderGUI/Editor/CustomMaterialInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe3df74dc778476448fde57943195863 3 | timeCreated: 1505999106 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20053be547bfb834e911019cb8e610ad 3 | folderAsset: yes 4 | timeCreated: 1506189700 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Textures/Portal_AlbedoBlur.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Doppelkeks/Unity-CommandBufferRefraction/1bc300fef2a3c443ecc3727625acf9323fc57144/Textures/Portal_AlbedoBlur.psd -------------------------------------------------------------------------------- /Textures/Portal_AlbedoBlur.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e122d594fa5ecb344af7837481889edf 3 | timeCreated: 1506190451 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapsPreserveCoverage: 0 16 | alphaTestReferenceValue: 0.5 17 | mipMapFadeDistanceStart: 1 18 | mipMapFadeDistanceEnd: 3 19 | bumpmap: 20 | convertToNormalMap: 0 21 | externalNormalMap: 0 22 | heightScale: 0.25 23 | normalMapFilter: 0 24 | isReadable: 0 25 | grayScaleToAlpha: 0 26 | generateCubemap: 6 27 | cubemapConvolution: 0 28 | seamlessCubemap: 0 29 | textureFormat: 1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | serializedVersion: 2 33 | filterMode: -1 34 | aniso: -1 35 | mipBias: -1 36 | wrapU: -1 37 | wrapV: -1 38 | wrapW: -1 39 | nPOTScale: 1 40 | lightmap: 0 41 | compressionQuality: 50 42 | spriteMode: 0 43 | spriteExtrude: 1 44 | spriteMeshType: 1 45 | alignment: 0 46 | spritePivot: {x: 0.5, y: 0.5} 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spritePixelsToUnits: 100 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | maxTextureSizeSet: 0 55 | compressionQualitySet: 0 56 | textureFormatSet: 0 57 | platformSettings: 58 | - buildTarget: DefaultTexturePlatform 59 | maxTextureSize: 2048 60 | textureFormat: -1 61 | textureCompression: 1 62 | compressionQuality: 50 63 | crunchedCompression: 0 64 | allowsAlphaSplitting: 0 65 | overridden: 0 66 | spriteSheet: 67 | serializedVersion: 2 68 | sprites: [] 69 | outline: [] 70 | physicsShape: [] 71 | spritePackingTag: 72 | userData: 73 | assetBundleName: 74 | assetBundleVariant: 75 | -------------------------------------------------------------------------------- /Textures/Portal_MetallicSmoothnessOcclusionOpacity.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Doppelkeks/Unity-CommandBufferRefraction/1bc300fef2a3c443ecc3727625acf9323fc57144/Textures/Portal_MetallicSmoothnessOcclusionOpacity.psd -------------------------------------------------------------------------------- /Textures/Portal_MetallicSmoothnessOcclusionOpacity.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0f30737eb30d264fb5e9c2550105bf2 3 | timeCreated: 1506190451 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapsPreserveCoverage: 0 16 | alphaTestReferenceValue: 0.5 17 | mipMapFadeDistanceStart: 1 18 | mipMapFadeDistanceEnd: 3 19 | bumpmap: 20 | convertToNormalMap: 0 21 | externalNormalMap: 0 22 | heightScale: 0.25 23 | normalMapFilter: 0 24 | isReadable: 0 25 | grayScaleToAlpha: 0 26 | generateCubemap: 6 27 | cubemapConvolution: 0 28 | seamlessCubemap: 0 29 | textureFormat: 1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | serializedVersion: 2 33 | filterMode: -1 34 | aniso: -1 35 | mipBias: -1 36 | wrapU: -1 37 | wrapV: -1 38 | wrapW: -1 39 | nPOTScale: 1 40 | lightmap: 0 41 | compressionQuality: 50 42 | spriteMode: 0 43 | spriteExtrude: 1 44 | spriteMeshType: 1 45 | alignment: 0 46 | spritePivot: {x: 0.5, y: 0.5} 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spritePixelsToUnits: 100 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | maxTextureSizeSet: 0 55 | compressionQualitySet: 0 56 | textureFormatSet: 0 57 | platformSettings: 58 | - buildTarget: DefaultTexturePlatform 59 | maxTextureSize: 2048 60 | textureFormat: -1 61 | textureCompression: 1 62 | compressionQuality: 50 63 | crunchedCompression: 0 64 | allowsAlphaSplitting: 0 65 | overridden: 0 66 | spriteSheet: 67 | serializedVersion: 2 68 | sprites: [] 69 | outline: [] 70 | physicsShape: [] 71 | spritePackingTag: 72 | userData: 73 | assetBundleName: 74 | assetBundleVariant: 75 | -------------------------------------------------------------------------------- /Textures/Portal_Normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Doppelkeks/Unity-CommandBufferRefraction/1bc300fef2a3c443ecc3727625acf9323fc57144/Textures/Portal_Normal.png -------------------------------------------------------------------------------- /Textures/Portal_Normal.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d661edcb637ee16479a68c225ba641ce 3 | timeCreated: 1481126984 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 1 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: -1 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | spriteTessellationDetail: -1 50 | textureType: 1 51 | buildTargetSettings: [] 52 | spriteSheet: 53 | serializedVersion: 2 54 | sprites: [] 55 | outline: [] 56 | spritePackingTag: 57 | userData: 58 | assetBundleName: 59 | assetBundleVariant: 60 | -------------------------------------------------------------------------------- /_CommandBufferRefraction.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: 8 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.44960117, g: 0.49967366, b: 0.5756628, a: 1} 42 | --- !u!157 &3 43 | LightmapSettings: 44 | m_ObjectHideFlags: 0 45 | serializedVersion: 11 46 | m_GIWorkflowMode: 0 47 | m_GISettings: 48 | serializedVersion: 2 49 | m_BounceScale: 1 50 | m_IndirectOutputScale: 1 51 | m_AlbedoBoost: 1 52 | m_TemporalCoherenceThreshold: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 0 55 | m_EnableRealtimeLightmaps: 1 56 | m_LightmapEditorSettings: 57 | serializedVersion: 9 58 | m_Resolution: 0.2 59 | m_BakeResolution: 40 60 | m_TextureWidth: 1024 61 | m_TextureHeight: 1024 62 | m_AO: 0 63 | m_AOMaxDistance: 1 64 | m_CompAOExponent: 1 65 | m_CompAOExponentDirect: 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: 1 75 | m_BakeBackend: 0 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVRFiltering: 0 81 | m_PVRFilteringMode: 1 82 | m_PVRCulling: 1 83 | m_PVRFilteringGaussRadiusDirect: 1 84 | m_PVRFilteringGaussRadiusIndirect: 5 85 | m_PVRFilteringGaussRadiusAO: 2 86 | m_PVRFilteringAtrousColorSigma: 1 87 | m_PVRFilteringAtrousNormalSigma: 1 88 | m_PVRFilteringAtrousPositionSigma: 1 89 | m_LightingDataAsset: {fileID: 0} 90 | m_UseShadowmask: 0 91 | --- !u!196 &4 92 | NavMeshSettings: 93 | serializedVersion: 2 94 | m_ObjectHideFlags: 0 95 | m_BuildSettings: 96 | serializedVersion: 2 97 | agentTypeID: 0 98 | agentRadius: 0.5 99 | agentHeight: 2 100 | agentSlope: 45 101 | agentClimb: 0.4 102 | ledgeDropHeight: 0 103 | maxJumpAcrossDistance: 0 104 | minRegionArea: 2 105 | manualCellSize: 0 106 | cellSize: 0.16666667 107 | manualTileSize: 0 108 | tileSize: 256 109 | accuratePlacement: 0 110 | m_NavMeshData: {fileID: 0} 111 | --- !u!1 &99834410 112 | GameObject: 113 | m_ObjectHideFlags: 0 114 | m_PrefabParentObject: {fileID: 100000, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 115 | m_PrefabInternal: {fileID: 914115668} 116 | serializedVersion: 5 117 | m_Component: 118 | - component: {fileID: 99834411} 119 | - component: {fileID: 99834414} 120 | - component: {fileID: 99834413} 121 | - component: {fileID: 99834412} 122 | m_Layer: 0 123 | m_Name: CalibrationWallFrontRight 124 | m_TagString: Untagged 125 | m_Icon: {fileID: 0} 126 | m_NavMeshLayer: 0 127 | m_StaticEditorFlags: 4294967295 128 | m_IsActive: 1 129 | --- !u!4 &99834411 130 | Transform: 131 | m_ObjectHideFlags: 0 132 | m_PrefabParentObject: {fileID: 400000, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 133 | m_PrefabInternal: {fileID: 914115668} 134 | m_GameObject: {fileID: 99834410} 135 | m_LocalRotation: {x: 0.70710695, y: 0.0000002682209, z: 0.00000021584746, w: -0.7071066} 136 | m_LocalPosition: {x: 0, y: 2.500002, z: 2.5000014} 137 | m_LocalScale: {x: 0.49999997, y: 1, z: 0.5} 138 | m_Children: [] 139 | m_Father: {fileID: 142643310} 140 | m_RootOrder: 3 141 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 142 | --- !u!23 &99834412 143 | MeshRenderer: 144 | m_ObjectHideFlags: 0 145 | m_PrefabParentObject: {fileID: 2300000, guid: 82af4827fee368e4c83d72a25f533a4e, 146 | type: 2} 147 | m_PrefabInternal: {fileID: 914115668} 148 | m_GameObject: {fileID: 99834410} 149 | m_Enabled: 1 150 | m_CastShadows: 1 151 | m_ReceiveShadows: 1 152 | m_MotionVectors: 1 153 | m_LightProbeUsage: 1 154 | m_ReflectionProbeUsage: 0 155 | m_Materials: 156 | - {fileID: 2100000, guid: da2c233b59617744588b18235eda5f56, type: 2} 157 | m_StaticBatchInfo: 158 | firstSubMesh: 0 159 | subMeshCount: 0 160 | m_StaticBatchRoot: {fileID: 0} 161 | m_ProbeAnchor: {fileID: 0} 162 | m_LightProbeVolumeOverride: {fileID: 0} 163 | m_ScaleInLightmap: 1 164 | m_PreserveUVs: 0 165 | m_IgnoreNormalsForChartDetection: 0 166 | m_ImportantGI: 0 167 | m_SelectedEditorRenderState: 3 168 | m_MinimumChartSize: 4 169 | m_AutoUVMaxDistance: 0.5 170 | m_AutoUVMaxAngle: 89 171 | m_LightmapParameters: {fileID: 0} 172 | m_SortingLayerID: 0 173 | m_SortingLayer: 0 174 | m_SortingOrder: 0 175 | --- !u!64 &99834413 176 | MeshCollider: 177 | m_ObjectHideFlags: 0 178 | m_PrefabParentObject: {fileID: 6400000, guid: 82af4827fee368e4c83d72a25f533a4e, 179 | type: 2} 180 | m_PrefabInternal: {fileID: 914115668} 181 | m_GameObject: {fileID: 99834410} 182 | m_Material: {fileID: 0} 183 | m_IsTrigger: 0 184 | m_Enabled: 1 185 | serializedVersion: 2 186 | m_Convex: 0 187 | m_InflateMesh: 0 188 | m_SkinWidth: 0.01 189 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 190 | --- !u!33 &99834414 191 | MeshFilter: 192 | m_ObjectHideFlags: 0 193 | m_PrefabParentObject: {fileID: 3300000, guid: 82af4827fee368e4c83d72a25f533a4e, 194 | type: 2} 195 | m_PrefabInternal: {fileID: 914115668} 196 | m_GameObject: {fileID: 99834410} 197 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 198 | --- !u!1 &142643309 199 | GameObject: 200 | m_ObjectHideFlags: 0 201 | m_PrefabParentObject: {fileID: 102722, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 202 | m_PrefabInternal: {fileID: 914115668} 203 | serializedVersion: 5 204 | m_Component: 205 | - component: {fileID: 142643310} 206 | m_Layer: 0 207 | m_Name: CalibrationWalls 208 | m_TagString: Untagged 209 | m_Icon: {fileID: 0} 210 | m_NavMeshLayer: 0 211 | m_StaticEditorFlags: 4294967295 212 | m_IsActive: 1 213 | --- !u!4 &142643310 214 | Transform: 215 | m_ObjectHideFlags: 0 216 | m_PrefabParentObject: {fileID: 431536, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 217 | m_PrefabInternal: {fileID: 914115668} 218 | m_GameObject: {fileID: 142643309} 219 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 220 | m_LocalPosition: {x: 0, y: 0, z: 0} 221 | m_LocalScale: {x: 2.475785, y: 2.4757829, z: 2.4757829} 222 | m_Children: 223 | - {fileID: 389921451} 224 | - {fileID: 1166626485} 225 | - {fileID: 1542817992} 226 | - {fileID: 99834411} 227 | m_Father: {fileID: 1730097075} 228 | m_RootOrder: 1 229 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 230 | --- !u!1 &147505753 231 | GameObject: 232 | m_ObjectHideFlags: 0 233 | m_PrefabParentObject: {fileID: 1000012017197192, guid: 5fb901ed376616a4d800b32547cef664, 234 | type: 2} 235 | m_PrefabInternal: {fileID: 469346548} 236 | serializedVersion: 5 237 | m_Component: 238 | - component: {fileID: 147505756} 239 | - component: {fileID: 147505755} 240 | - component: {fileID: 147505754} 241 | m_Layer: 0 242 | m_Name: ShaderBall 243 | m_TagString: Untagged 244 | m_Icon: {fileID: 0} 245 | m_NavMeshLayer: 0 246 | m_StaticEditorFlags: 0 247 | m_IsActive: 1 248 | --- !u!23 &147505754 249 | MeshRenderer: 250 | m_ObjectHideFlags: 0 251 | m_PrefabParentObject: {fileID: 23000010075245314, guid: 5fb901ed376616a4d800b32547cef664, 252 | type: 2} 253 | m_PrefabInternal: {fileID: 469346548} 254 | m_GameObject: {fileID: 147505753} 255 | m_Enabled: 1 256 | m_CastShadows: 1 257 | m_ReceiveShadows: 1 258 | m_MotionVectors: 1 259 | m_LightProbeUsage: 1 260 | m_ReflectionProbeUsage: 1 261 | m_Materials: 262 | - {fileID: 2100000, guid: 14dcb84324e8609489297d6f8ff87c8d, type: 2} 263 | - {fileID: 2100000, guid: 1af9fbef8b63fc249a7f5a9834cfd2d7, type: 2} 264 | - {fileID: 2100000, guid: e6fb7eca82ae15848ac7abe815d2dc0c, type: 2} 265 | m_StaticBatchInfo: 266 | firstSubMesh: 0 267 | subMeshCount: 0 268 | m_StaticBatchRoot: {fileID: 0} 269 | m_ProbeAnchor: {fileID: 0} 270 | m_LightProbeVolumeOverride: {fileID: 0} 271 | m_ScaleInLightmap: 1 272 | m_PreserveUVs: 0 273 | m_IgnoreNormalsForChartDetection: 0 274 | m_ImportantGI: 0 275 | m_SelectedEditorRenderState: 3 276 | m_MinimumChartSize: 4 277 | m_AutoUVMaxDistance: 0.5 278 | m_AutoUVMaxAngle: 89 279 | m_LightmapParameters: {fileID: 0} 280 | m_SortingLayerID: 0 281 | m_SortingLayer: 0 282 | m_SortingOrder: 0 283 | --- !u!33 &147505755 284 | MeshFilter: 285 | m_ObjectHideFlags: 0 286 | m_PrefabParentObject: {fileID: 33000010213971312, guid: 5fb901ed376616a4d800b32547cef664, 287 | type: 2} 288 | m_PrefabInternal: {fileID: 469346548} 289 | m_GameObject: {fileID: 147505753} 290 | m_Mesh: {fileID: 4300000, guid: 2d99c4ba773b74442b65d2e9cb72bfcd, type: 3} 291 | --- !u!4 &147505756 292 | Transform: 293 | m_ObjectHideFlags: 0 294 | m_PrefabParentObject: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, 295 | type: 2} 296 | m_PrefabInternal: {fileID: 469346548} 297 | m_GameObject: {fileID: 147505753} 298 | m_LocalRotation: {x: 0.000000021855694, y: 0, z: -0, w: 1} 299 | m_LocalPosition: {x: -0, y: 0, z: 0} 300 | m_LocalScale: {x: 1, y: 1, z: 1} 301 | m_Children: [] 302 | m_Father: {fileID: 0} 303 | m_RootOrder: 1 304 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 305 | --- !u!1 &389921450 306 | GameObject: 307 | m_ObjectHideFlags: 0 308 | m_PrefabParentObject: {fileID: 182018, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 309 | m_PrefabInternal: {fileID: 914115668} 310 | serializedVersion: 5 311 | m_Component: 312 | - component: {fileID: 389921451} 313 | - component: {fileID: 389921454} 314 | - component: {fileID: 389921453} 315 | - component: {fileID: 389921452} 316 | m_Layer: 0 317 | m_Name: CalibrationWallRearLeft 318 | m_TagString: Untagged 319 | m_Icon: {fileID: 0} 320 | m_NavMeshLayer: 0 321 | m_StaticEditorFlags: 4294967295 322 | m_IsActive: 1 323 | --- !u!4 &389921451 324 | Transform: 325 | m_ObjectHideFlags: 0 326 | m_PrefabParentObject: {fileID: 464034, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 327 | m_PrefabInternal: {fileID: 914115668} 328 | m_GameObject: {fileID: 389921450} 329 | m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071067} 330 | m_LocalPosition: {x: 0, y: 2.5, z: -2.5} 331 | m_LocalScale: {x: 0.5, y: 1, z: 0.5} 332 | m_Children: [] 333 | m_Father: {fileID: 142643310} 334 | m_RootOrder: 0 335 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 336 | --- !u!23 &389921452 337 | MeshRenderer: 338 | m_ObjectHideFlags: 0 339 | m_PrefabParentObject: {fileID: 2391912, guid: 82af4827fee368e4c83d72a25f533a4e, 340 | type: 2} 341 | m_PrefabInternal: {fileID: 914115668} 342 | m_GameObject: {fileID: 389921450} 343 | m_Enabled: 1 344 | m_CastShadows: 1 345 | m_ReceiveShadows: 1 346 | m_MotionVectors: 1 347 | m_LightProbeUsage: 1 348 | m_ReflectionProbeUsage: 0 349 | m_Materials: 350 | - {fileID: 2100000, guid: da2c233b59617744588b18235eda5f56, type: 2} 351 | m_StaticBatchInfo: 352 | firstSubMesh: 0 353 | subMeshCount: 0 354 | m_StaticBatchRoot: {fileID: 0} 355 | m_ProbeAnchor: {fileID: 0} 356 | m_LightProbeVolumeOverride: {fileID: 0} 357 | m_ScaleInLightmap: 1 358 | m_PreserveUVs: 0 359 | m_IgnoreNormalsForChartDetection: 0 360 | m_ImportantGI: 0 361 | m_SelectedEditorRenderState: 3 362 | m_MinimumChartSize: 4 363 | m_AutoUVMaxDistance: 0.5 364 | m_AutoUVMaxAngle: 89 365 | m_LightmapParameters: {fileID: 0} 366 | m_SortingLayerID: 0 367 | m_SortingLayer: 0 368 | m_SortingOrder: 0 369 | --- !u!64 &389921453 370 | MeshCollider: 371 | m_ObjectHideFlags: 0 372 | m_PrefabParentObject: {fileID: 6494426, guid: 82af4827fee368e4c83d72a25f533a4e, 373 | type: 2} 374 | m_PrefabInternal: {fileID: 914115668} 375 | m_GameObject: {fileID: 389921450} 376 | m_Material: {fileID: 0} 377 | m_IsTrigger: 0 378 | m_Enabled: 1 379 | serializedVersion: 2 380 | m_Convex: 0 381 | m_InflateMesh: 0 382 | m_SkinWidth: 0.01 383 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 384 | --- !u!33 &389921454 385 | MeshFilter: 386 | m_ObjectHideFlags: 0 387 | m_PrefabParentObject: {fileID: 3305810, guid: 82af4827fee368e4c83d72a25f533a4e, 388 | type: 2} 389 | m_PrefabInternal: {fileID: 914115668} 390 | m_GameObject: {fileID: 389921450} 391 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 392 | --- !u!1001 &469346548 393 | Prefab: 394 | m_ObjectHideFlags: 0 395 | serializedVersion: 2 396 | m_Modification: 397 | m_TransformParent: {fileID: 0} 398 | m_Modifications: 399 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 400 | propertyPath: m_LocalPosition.x 401 | value: -0 402 | objectReference: {fileID: 0} 403 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 404 | propertyPath: m_LocalPosition.y 405 | value: 0 406 | objectReference: {fileID: 0} 407 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 408 | propertyPath: m_LocalPosition.z 409 | value: 0 410 | objectReference: {fileID: 0} 411 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 412 | propertyPath: m_LocalRotation.x 413 | value: 0.000000021855694 414 | objectReference: {fileID: 0} 415 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 416 | propertyPath: m_LocalRotation.y 417 | value: 0 418 | objectReference: {fileID: 0} 419 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 420 | propertyPath: m_LocalRotation.z 421 | value: -0 422 | objectReference: {fileID: 0} 423 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 424 | propertyPath: m_LocalRotation.w 425 | value: 1 426 | objectReference: {fileID: 0} 427 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 428 | propertyPath: m_RootOrder 429 | value: 1 430 | objectReference: {fileID: 0} 431 | - target: {fileID: 23000010075245314, guid: 5fb901ed376616a4d800b32547cef664, 432 | type: 2} 433 | propertyPath: m_Materials.Array.data[0] 434 | value: 435 | objectReference: {fileID: 2100000, guid: 14dcb84324e8609489297d6f8ff87c8d, type: 2} 436 | - target: {fileID: 1000012017197192, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 437 | propertyPath: m_IsActive 438 | value: 1 439 | objectReference: {fileID: 0} 440 | m_RemovedComponents: [] 441 | m_ParentPrefab: {fileID: 100100000, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 442 | m_RootGameObject: {fileID: 147505753} 443 | m_IsPrefabParent: 0 444 | --- !u!1001 &914115668 445 | Prefab: 446 | m_ObjectHideFlags: 0 447 | serializedVersion: 2 448 | m_Modification: 449 | m_TransformParent: {fileID: 0} 450 | m_Modifications: 451 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 452 | propertyPath: m_LocalPosition.x 453 | value: 0 454 | objectReference: {fileID: 0} 455 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 456 | propertyPath: m_LocalPosition.y 457 | value: 0 458 | objectReference: {fileID: 0} 459 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 460 | propertyPath: m_LocalPosition.z 461 | value: 0 462 | objectReference: {fileID: 0} 463 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 464 | propertyPath: m_LocalRotation.x 465 | value: 0 466 | objectReference: {fileID: 0} 467 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 468 | propertyPath: m_LocalRotation.y 469 | value: 0 470 | objectReference: {fileID: 0} 471 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 472 | propertyPath: m_LocalRotation.z 473 | value: 0 474 | objectReference: {fileID: 0} 475 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 476 | propertyPath: m_LocalRotation.w 477 | value: 1 478 | objectReference: {fileID: 0} 479 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 480 | propertyPath: m_RootOrder 481 | value: 0 482 | objectReference: {fileID: 0} 483 | - target: {fileID: 1000012052562494, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 484 | propertyPath: m_IsActive 485 | value: 1 486 | objectReference: {fileID: 0} 487 | - target: {fileID: 20000011723007962, guid: 82af4827fee368e4c83d72a25f533a4e, 488 | type: 2} 489 | propertyPath: m_RenderingPath 490 | value: 3 491 | objectReference: {fileID: 0} 492 | - target: {fileID: 108000010494217588, guid: 82af4827fee368e4c83d72a25f533a4e, 493 | type: 2} 494 | propertyPath: m_Intensity 495 | value: 1 496 | objectReference: {fileID: 0} 497 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 498 | propertyPath: m_LocalRotation.x 499 | value: 0.5657461 500 | objectReference: {fileID: 0} 501 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 502 | propertyPath: m_LocalRotation.y 503 | value: -0.6497076 504 | objectReference: {fileID: 0} 505 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 506 | propertyPath: m_LocalRotation.z 507 | value: 0.50764865 508 | objectReference: {fileID: 0} 509 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 510 | propertyPath: m_LocalRotation.w 511 | value: -0.010207292 512 | objectReference: {fileID: 0} 513 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 514 | propertyPath: m_LocalEulerAnglesHint.x 515 | value: 40.398003 516 | objectReference: {fileID: 0} 517 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 518 | propertyPath: m_LocalEulerAnglesHint.y 519 | value: -230.50299 520 | objectReference: {fileID: 0} 521 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 522 | propertyPath: m_LocalEulerAnglesHint.z 523 | value: -101.786 524 | objectReference: {fileID: 0} 525 | m_RemovedComponents: [] 526 | m_ParentPrefab: {fileID: 100100000, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 527 | m_RootGameObject: {fileID: 1730097074} 528 | m_IsPrefabParent: 0 529 | --- !u!1 &1166626484 530 | GameObject: 531 | m_ObjectHideFlags: 0 532 | m_PrefabParentObject: {fileID: 125776, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 533 | m_PrefabInternal: {fileID: 914115668} 534 | serializedVersion: 5 535 | m_Component: 536 | - component: {fileID: 1166626485} 537 | - component: {fileID: 1166626488} 538 | - component: {fileID: 1166626487} 539 | - component: {fileID: 1166626486} 540 | m_Layer: 0 541 | m_Name: CalibrationWallRearRight 542 | m_TagString: Untagged 543 | m_Icon: {fileID: 0} 544 | m_NavMeshLayer: 0 545 | m_StaticEditorFlags: 4294967295 546 | m_IsActive: 1 547 | --- !u!4 &1166626485 548 | Transform: 549 | m_ObjectHideFlags: 0 550 | m_PrefabParentObject: {fileID: 494730, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 551 | m_PrefabInternal: {fileID: 914115668} 552 | m_GameObject: {fileID: 1166626484} 553 | m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5000001, w: 0.49999994} 554 | m_LocalPosition: {x: -2.5, y: 2.5, z: 0} 555 | m_LocalScale: {x: 0.5, y: 1, z: 0.49999997} 556 | m_Children: [] 557 | m_Father: {fileID: 142643310} 558 | m_RootOrder: 1 559 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 560 | --- !u!23 &1166626486 561 | MeshRenderer: 562 | m_ObjectHideFlags: 0 563 | m_PrefabParentObject: {fileID: 2304408, guid: 82af4827fee368e4c83d72a25f533a4e, 564 | type: 2} 565 | m_PrefabInternal: {fileID: 914115668} 566 | m_GameObject: {fileID: 1166626484} 567 | m_Enabled: 1 568 | m_CastShadows: 1 569 | m_ReceiveShadows: 1 570 | m_MotionVectors: 1 571 | m_LightProbeUsage: 1 572 | m_ReflectionProbeUsage: 0 573 | m_Materials: 574 | - {fileID: 2100000, guid: da2c233b59617744588b18235eda5f56, type: 2} 575 | m_StaticBatchInfo: 576 | firstSubMesh: 0 577 | subMeshCount: 0 578 | m_StaticBatchRoot: {fileID: 0} 579 | m_ProbeAnchor: {fileID: 0} 580 | m_LightProbeVolumeOverride: {fileID: 0} 581 | m_ScaleInLightmap: 1 582 | m_PreserveUVs: 0 583 | m_IgnoreNormalsForChartDetection: 0 584 | m_ImportantGI: 0 585 | m_SelectedEditorRenderState: 3 586 | m_MinimumChartSize: 4 587 | m_AutoUVMaxDistance: 0.5 588 | m_AutoUVMaxAngle: 89 589 | m_LightmapParameters: {fileID: 0} 590 | m_SortingLayerID: 0 591 | m_SortingLayer: 0 592 | m_SortingOrder: 0 593 | --- !u!64 &1166626487 594 | MeshCollider: 595 | m_ObjectHideFlags: 0 596 | m_PrefabParentObject: {fileID: 6442406, guid: 82af4827fee368e4c83d72a25f533a4e, 597 | type: 2} 598 | m_PrefabInternal: {fileID: 914115668} 599 | m_GameObject: {fileID: 1166626484} 600 | m_Material: {fileID: 0} 601 | m_IsTrigger: 0 602 | m_Enabled: 1 603 | serializedVersion: 2 604 | m_Convex: 0 605 | m_InflateMesh: 0 606 | m_SkinWidth: 0.01 607 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 608 | --- !u!33 &1166626488 609 | MeshFilter: 610 | m_ObjectHideFlags: 0 611 | m_PrefabParentObject: {fileID: 3378452, guid: 82af4827fee368e4c83d72a25f533a4e, 612 | type: 2} 613 | m_PrefabInternal: {fileID: 914115668} 614 | m_GameObject: {fileID: 1166626484} 615 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 616 | --- !u!1 &1527571117 617 | GameObject: 618 | m_ObjectHideFlags: 0 619 | m_PrefabParentObject: {fileID: 1000011652330946, guid: 82af4827fee368e4c83d72a25f533a4e, 620 | type: 2} 621 | m_PrefabInternal: {fileID: 914115668} 622 | serializedVersion: 5 623 | m_Component: 624 | - component: {fileID: 1527571118} 625 | - component: {fileID: 1527571123} 626 | - component: {fileID: 1527571122} 627 | - component: {fileID: 1527571121} 628 | - component: {fileID: 1527571120} 629 | - component: {fileID: 1527571119} 630 | m_Layer: 0 631 | m_Name: Main Camera 632 | m_TagString: MainCamera 633 | m_Icon: {fileID: 0} 634 | m_NavMeshLayer: 0 635 | m_StaticEditorFlags: 0 636 | m_IsActive: 1 637 | --- !u!4 &1527571118 638 | Transform: 639 | m_ObjectHideFlags: 0 640 | m_PrefabParentObject: {fileID: 4000011252882896, guid: 82af4827fee368e4c83d72a25f533a4e, 641 | type: 2} 642 | m_PrefabInternal: {fileID: 914115668} 643 | m_GameObject: {fileID: 1527571117} 644 | m_LocalRotation: {x: -0.0964301, y: 0.90356946, z: -0.29473457, w: -0.29562664} 645 | m_LocalPosition: {x: 2.93, y: 3.9299998, z: 3.9800003} 646 | m_LocalScale: {x: 1, y: 1, z: 1} 647 | m_Children: [] 648 | m_Father: {fileID: 1730097075} 649 | m_RootOrder: 3 650 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 651 | --- !u!114 &1527571119 652 | MonoBehaviour: 653 | m_ObjectHideFlags: 0 654 | m_PrefabParentObject: {fileID: 0} 655 | m_PrefabInternal: {fileID: 0} 656 | m_GameObject: {fileID: 1527571117} 657 | m_Enabled: 1 658 | m_EditorHideFlags: 0 659 | m_Script: {fileID: 11500000, guid: 609a343303ee93443b246291d3a836db, type: 3} 660 | m_Name: 661 | m_EditorClassIdentifier: 662 | blurShader: {fileID: 4800000, guid: e0aaa946d1793b44eb66b5594bdca958, type: 3} 663 | --- !u!81 &1527571120 664 | AudioListener: 665 | m_ObjectHideFlags: 0 666 | m_PrefabParentObject: {fileID: 81000011721023192, guid: 82af4827fee368e4c83d72a25f533a4e, 667 | type: 2} 668 | m_PrefabInternal: {fileID: 914115668} 669 | m_GameObject: {fileID: 1527571117} 670 | m_Enabled: 1 671 | --- !u!124 &1527571121 672 | Behaviour: 673 | m_ObjectHideFlags: 0 674 | m_PrefabParentObject: {fileID: 124000011119698828, guid: 82af4827fee368e4c83d72a25f533a4e, 675 | type: 2} 676 | m_PrefabInternal: {fileID: 914115668} 677 | m_GameObject: {fileID: 1527571117} 678 | m_Enabled: 1 679 | --- !u!92 &1527571122 680 | Behaviour: 681 | m_ObjectHideFlags: 0 682 | m_PrefabParentObject: {fileID: 92000012839854994, guid: 82af4827fee368e4c83d72a25f533a4e, 683 | type: 2} 684 | m_PrefabInternal: {fileID: 914115668} 685 | m_GameObject: {fileID: 1527571117} 686 | m_Enabled: 1 687 | --- !u!20 &1527571123 688 | Camera: 689 | m_ObjectHideFlags: 0 690 | m_PrefabParentObject: {fileID: 20000011723007962, guid: 82af4827fee368e4c83d72a25f533a4e, 691 | type: 2} 692 | m_PrefabInternal: {fileID: 914115668} 693 | m_GameObject: {fileID: 1527571117} 694 | m_Enabled: 1 695 | serializedVersion: 2 696 | m_ClearFlags: 1 697 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 698 | m_NormalizedViewPortRect: 699 | serializedVersion: 2 700 | x: 0 701 | y: 0 702 | width: 1 703 | height: 1 704 | near clip plane: 0.3 705 | far clip plane: 1000 706 | field of view: 60 707 | orthographic: 0 708 | orthographic size: 5 709 | m_Depth: -1 710 | m_CullingMask: 711 | serializedVersion: 2 712 | m_Bits: 4294967295 713 | m_RenderingPath: 3 714 | m_TargetTexture: {fileID: 0} 715 | m_TargetDisplay: 0 716 | m_TargetEye: 3 717 | m_HDR: 0 718 | m_AllowMSAA: 1 719 | m_ForceIntoRT: 0 720 | m_OcclusionCulling: 1 721 | m_StereoConvergence: 10 722 | m_StereoSeparation: 0.022 723 | m_StereoMirrorMode: 0 724 | --- !u!1 &1542817991 725 | GameObject: 726 | m_ObjectHideFlags: 0 727 | m_PrefabParentObject: {fileID: 100002, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 728 | m_PrefabInternal: {fileID: 914115668} 729 | serializedVersion: 5 730 | m_Component: 731 | - component: {fileID: 1542817992} 732 | - component: {fileID: 1542817995} 733 | - component: {fileID: 1542817994} 734 | - component: {fileID: 1542817993} 735 | m_Layer: 0 736 | m_Name: CalibrationWallFrontLeft 737 | m_TagString: Untagged 738 | m_Icon: {fileID: 0} 739 | m_NavMeshLayer: 0 740 | m_StaticEditorFlags: 4294967295 741 | m_IsActive: 1 742 | --- !u!4 &1542817992 743 | Transform: 744 | m_ObjectHideFlags: 0 745 | m_PrefabParentObject: {fileID: 400002, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 746 | m_PrefabInternal: {fileID: 914115668} 747 | m_GameObject: {fileID: 1542817991} 748 | m_LocalRotation: {x: 0.5000003, y: -0.5000001, z: -0.49999964, w: -0.50000006} 749 | m_LocalPosition: {x: 2.4999998, y: 2.5, z: 0} 750 | m_LocalScale: {x: 0.4999999, y: 1, z: 0.4999999} 751 | m_Children: [] 752 | m_Father: {fileID: 142643310} 753 | m_RootOrder: 2 754 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 755 | --- !u!23 &1542817993 756 | MeshRenderer: 757 | m_ObjectHideFlags: 0 758 | m_PrefabParentObject: {fileID: 2300002, guid: 82af4827fee368e4c83d72a25f533a4e, 759 | type: 2} 760 | m_PrefabInternal: {fileID: 914115668} 761 | m_GameObject: {fileID: 1542817991} 762 | m_Enabled: 1 763 | m_CastShadows: 1 764 | m_ReceiveShadows: 1 765 | m_MotionVectors: 1 766 | m_LightProbeUsage: 1 767 | m_ReflectionProbeUsage: 0 768 | m_Materials: 769 | - {fileID: 2100000, guid: da2c233b59617744588b18235eda5f56, type: 2} 770 | m_StaticBatchInfo: 771 | firstSubMesh: 0 772 | subMeshCount: 0 773 | m_StaticBatchRoot: {fileID: 0} 774 | m_ProbeAnchor: {fileID: 0} 775 | m_LightProbeVolumeOverride: {fileID: 0} 776 | m_ScaleInLightmap: 1 777 | m_PreserveUVs: 0 778 | m_IgnoreNormalsForChartDetection: 0 779 | m_ImportantGI: 0 780 | m_SelectedEditorRenderState: 3 781 | m_MinimumChartSize: 4 782 | m_AutoUVMaxDistance: 0.5 783 | m_AutoUVMaxAngle: 89 784 | m_LightmapParameters: {fileID: 0} 785 | m_SortingLayerID: 0 786 | m_SortingLayer: 0 787 | m_SortingOrder: 0 788 | --- !u!64 &1542817994 789 | MeshCollider: 790 | m_ObjectHideFlags: 0 791 | m_PrefabParentObject: {fileID: 6400002, guid: 82af4827fee368e4c83d72a25f533a4e, 792 | type: 2} 793 | m_PrefabInternal: {fileID: 914115668} 794 | m_GameObject: {fileID: 1542817991} 795 | m_Material: {fileID: 0} 796 | m_IsTrigger: 0 797 | m_Enabled: 1 798 | serializedVersion: 2 799 | m_Convex: 0 800 | m_InflateMesh: 0 801 | m_SkinWidth: 0.01 802 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 803 | --- !u!33 &1542817995 804 | MeshFilter: 805 | m_ObjectHideFlags: 0 806 | m_PrefabParentObject: {fileID: 3300002, guid: 82af4827fee368e4c83d72a25f533a4e, 807 | type: 2} 808 | m_PrefabInternal: {fileID: 914115668} 809 | m_GameObject: {fileID: 1542817991} 810 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 811 | --- !u!1 &1730097074 812 | GameObject: 813 | m_ObjectHideFlags: 0 814 | m_PrefabParentObject: {fileID: 100004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 815 | m_PrefabInternal: {fileID: 914115668} 816 | serializedVersion: 5 817 | m_Component: 818 | - component: {fileID: 1730097075} 819 | m_Layer: 0 820 | m_Name: SceneElements 821 | m_TagString: Untagged 822 | m_Icon: {fileID: 0} 823 | m_NavMeshLayer: 0 824 | m_StaticEditorFlags: 4294967295 825 | m_IsActive: 1 826 | --- !u!4 &1730097075 827 | Transform: 828 | m_ObjectHideFlags: 0 829 | m_PrefabParentObject: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 830 | m_PrefabInternal: {fileID: 914115668} 831 | m_GameObject: {fileID: 1730097074} 832 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 833 | m_LocalPosition: {x: 0, y: 0, z: 0} 834 | m_LocalScale: {x: 1, y: 1, z: 1} 835 | m_Children: 836 | - {fileID: 2135196171} 837 | - {fileID: 142643310} 838 | - {fileID: 1870111270} 839 | - {fileID: 1527571118} 840 | m_Father: {fileID: 0} 841 | m_RootOrder: 0 842 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 843 | --- !u!1 &1870111269 844 | GameObject: 845 | m_ObjectHideFlags: 0 846 | m_PrefabParentObject: {fileID: 1000012052562494, guid: 82af4827fee368e4c83d72a25f533a4e, 847 | type: 2} 848 | m_PrefabInternal: {fileID: 914115668} 849 | serializedVersion: 5 850 | m_Component: 851 | - component: {fileID: 1870111270} 852 | - component: {fileID: 1870111271} 853 | m_Layer: 0 854 | m_Name: Directional Light 855 | m_TagString: Untagged 856 | m_Icon: {fileID: 0} 857 | m_NavMeshLayer: 0 858 | m_StaticEditorFlags: 4294967295 859 | m_IsActive: 1 860 | --- !u!4 &1870111270 861 | Transform: 862 | m_ObjectHideFlags: 0 863 | m_PrefabParentObject: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, 864 | type: 2} 865 | m_PrefabInternal: {fileID: 914115668} 866 | m_GameObject: {fileID: 1870111269} 867 | m_LocalRotation: {x: 0.5657461, y: -0.6497076, z: 0.50764865, w: -0.010207292} 868 | m_LocalPosition: {x: 0, y: 11.01, z: 0} 869 | m_LocalScale: {x: 1, y: 1, z: 1} 870 | m_Children: [] 871 | m_Father: {fileID: 1730097075} 872 | m_RootOrder: 2 873 | m_LocalEulerAnglesHint: {x: 40.398003, y: -230.50299, z: -101.786} 874 | --- !u!108 &1870111271 875 | Light: 876 | m_ObjectHideFlags: 0 877 | m_PrefabParentObject: {fileID: 108000010494217588, guid: 82af4827fee368e4c83d72a25f533a4e, 878 | type: 2} 879 | m_PrefabInternal: {fileID: 914115668} 880 | m_GameObject: {fileID: 1870111269} 881 | m_Enabled: 1 882 | serializedVersion: 8 883 | m_Type: 1 884 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 885 | m_Intensity: 1 886 | m_Range: 10 887 | m_SpotAngle: 30 888 | m_CookieSize: 10 889 | m_Shadows: 890 | m_Type: 2 891 | m_Resolution: -1 892 | m_CustomResolution: -1 893 | m_Strength: 1 894 | m_Bias: 0.05 895 | m_NormalBias: 0.4 896 | m_NearPlane: 0.2 897 | m_Cookie: {fileID: 0} 898 | m_DrawHalo: 0 899 | m_Flare: {fileID: 0} 900 | m_RenderMode: 0 901 | m_CullingMask: 902 | serializedVersion: 2 903 | m_Bits: 4294967295 904 | m_Lightmapping: 4 905 | m_AreaSize: {x: 1, y: 1} 906 | m_BounceIntensity: 1 907 | m_ColorTemperature: 6570 908 | m_UseColorTemperature: 0 909 | m_ShadowRadius: 0 910 | m_ShadowAngle: 0 911 | --- !u!1 &2135196170 912 | GameObject: 913 | m_ObjectHideFlags: 0 914 | m_PrefabParentObject: {fileID: 100006, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 915 | m_PrefabInternal: {fileID: 914115668} 916 | serializedVersion: 5 917 | m_Component: 918 | - component: {fileID: 2135196171} 919 | - component: {fileID: 2135196174} 920 | - component: {fileID: 2135196173} 921 | - component: {fileID: 2135196172} 922 | m_Layer: 0 923 | m_Name: CalibrationFloor 924 | m_TagString: Untagged 925 | m_Icon: {fileID: 0} 926 | m_NavMeshLayer: 0 927 | m_StaticEditorFlags: 4294967295 928 | m_IsActive: 1 929 | --- !u!4 &2135196171 930 | Transform: 931 | m_ObjectHideFlags: 0 932 | m_PrefabParentObject: {fileID: 400006, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 933 | m_PrefabInternal: {fileID: 914115668} 934 | m_GameObject: {fileID: 2135196170} 935 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 936 | m_LocalPosition: {x: 0, y: 0, z: 0} 937 | m_LocalScale: {x: 1.2378925, y: 2.4757829, z: 1.2378914} 938 | m_Children: [] 939 | m_Father: {fileID: 1730097075} 940 | m_RootOrder: 0 941 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 942 | --- !u!23 &2135196172 943 | MeshRenderer: 944 | m_ObjectHideFlags: 0 945 | m_PrefabParentObject: {fileID: 2300004, guid: 82af4827fee368e4c83d72a25f533a4e, 946 | type: 2} 947 | m_PrefabInternal: {fileID: 914115668} 948 | m_GameObject: {fileID: 2135196170} 949 | m_Enabled: 1 950 | m_CastShadows: 1 951 | m_ReceiveShadows: 1 952 | m_MotionVectors: 1 953 | m_LightProbeUsage: 1 954 | m_ReflectionProbeUsage: 0 955 | m_Materials: 956 | - {fileID: 2100000, guid: da2c233b59617744588b18235eda5f56, type: 2} 957 | m_StaticBatchInfo: 958 | firstSubMesh: 0 959 | subMeshCount: 0 960 | m_StaticBatchRoot: {fileID: 0} 961 | m_ProbeAnchor: {fileID: 0} 962 | m_LightProbeVolumeOverride: {fileID: 0} 963 | m_ScaleInLightmap: 1 964 | m_PreserveUVs: 0 965 | m_IgnoreNormalsForChartDetection: 0 966 | m_ImportantGI: 0 967 | m_SelectedEditorRenderState: 3 968 | m_MinimumChartSize: 4 969 | m_AutoUVMaxDistance: 0.5 970 | m_AutoUVMaxAngle: 89 971 | m_LightmapParameters: {fileID: 0} 972 | m_SortingLayerID: 0 973 | m_SortingLayer: 0 974 | m_SortingOrder: 0 975 | --- !u!64 &2135196173 976 | MeshCollider: 977 | m_ObjectHideFlags: 0 978 | m_PrefabParentObject: {fileID: 6400004, guid: 82af4827fee368e4c83d72a25f533a4e, 979 | type: 2} 980 | m_PrefabInternal: {fileID: 914115668} 981 | m_GameObject: {fileID: 2135196170} 982 | m_Material: {fileID: 0} 983 | m_IsTrigger: 0 984 | m_Enabled: 1 985 | serializedVersion: 2 986 | m_Convex: 0 987 | m_InflateMesh: 0 988 | m_SkinWidth: 0.01 989 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 990 | --- !u!33 &2135196174 991 | MeshFilter: 992 | m_ObjectHideFlags: 0 993 | m_PrefabParentObject: {fileID: 3300004, guid: 82af4827fee368e4c83d72a25f533a4e, 994 | type: 2} 995 | m_PrefabInternal: {fileID: 914115668} 996 | m_GameObject: {fileID: 2135196170} 997 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 998 | -------------------------------------------------------------------------------- /_CommandBufferRefraction.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9b82faa06824e746be3c51143c36b63 3 | timeCreated: 1506186320 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /_CommandBufferRefractionCheaper.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: 8 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.44960117, g: 0.49967366, b: 0.5756628, a: 1} 42 | --- !u!157 &3 43 | LightmapSettings: 44 | m_ObjectHideFlags: 0 45 | serializedVersion: 11 46 | m_GIWorkflowMode: 0 47 | m_GISettings: 48 | serializedVersion: 2 49 | m_BounceScale: 1 50 | m_IndirectOutputScale: 1 51 | m_AlbedoBoost: 1 52 | m_TemporalCoherenceThreshold: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 0 55 | m_EnableRealtimeLightmaps: 1 56 | m_LightmapEditorSettings: 57 | serializedVersion: 9 58 | m_Resolution: 0.2 59 | m_BakeResolution: 40 60 | m_TextureWidth: 1024 61 | m_TextureHeight: 1024 62 | m_AO: 0 63 | m_AOMaxDistance: 1 64 | m_CompAOExponent: 1 65 | m_CompAOExponentDirect: 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: 1 75 | m_BakeBackend: 0 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVRFiltering: 0 81 | m_PVRFilteringMode: 1 82 | m_PVRCulling: 1 83 | m_PVRFilteringGaussRadiusDirect: 1 84 | m_PVRFilteringGaussRadiusIndirect: 5 85 | m_PVRFilteringGaussRadiusAO: 2 86 | m_PVRFilteringAtrousColorSigma: 1 87 | m_PVRFilteringAtrousNormalSigma: 1 88 | m_PVRFilteringAtrousPositionSigma: 1 89 | m_LightingDataAsset: {fileID: 0} 90 | m_UseShadowmask: 0 91 | --- !u!196 &4 92 | NavMeshSettings: 93 | serializedVersion: 2 94 | m_ObjectHideFlags: 0 95 | m_BuildSettings: 96 | serializedVersion: 2 97 | agentTypeID: 0 98 | agentRadius: 0.5 99 | agentHeight: 2 100 | agentSlope: 45 101 | agentClimb: 0.4 102 | ledgeDropHeight: 0 103 | maxJumpAcrossDistance: 0 104 | minRegionArea: 2 105 | manualCellSize: 0 106 | cellSize: 0.16666667 107 | manualTileSize: 0 108 | tileSize: 256 109 | accuratePlacement: 0 110 | m_NavMeshData: {fileID: 0} 111 | --- !u!1 &99834410 112 | GameObject: 113 | m_ObjectHideFlags: 0 114 | m_PrefabParentObject: {fileID: 100000, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 115 | m_PrefabInternal: {fileID: 914115668} 116 | serializedVersion: 5 117 | m_Component: 118 | - component: {fileID: 99834411} 119 | - component: {fileID: 99834414} 120 | - component: {fileID: 99834413} 121 | - component: {fileID: 99834412} 122 | m_Layer: 0 123 | m_Name: CalibrationWallFrontRight 124 | m_TagString: Untagged 125 | m_Icon: {fileID: 0} 126 | m_NavMeshLayer: 0 127 | m_StaticEditorFlags: 4294967295 128 | m_IsActive: 1 129 | --- !u!4 &99834411 130 | Transform: 131 | m_ObjectHideFlags: 0 132 | m_PrefabParentObject: {fileID: 400000, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 133 | m_PrefabInternal: {fileID: 914115668} 134 | m_GameObject: {fileID: 99834410} 135 | m_LocalRotation: {x: 0.70710695, y: 0.0000002682209, z: 0.00000021584746, w: -0.7071066} 136 | m_LocalPosition: {x: 0, y: 2.500002, z: 2.5000014} 137 | m_LocalScale: {x: 0.49999997, y: 1, z: 0.5} 138 | m_Children: [] 139 | m_Father: {fileID: 142643310} 140 | m_RootOrder: 3 141 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 142 | --- !u!23 &99834412 143 | MeshRenderer: 144 | m_ObjectHideFlags: 0 145 | m_PrefabParentObject: {fileID: 2300000, guid: 82af4827fee368e4c83d72a25f533a4e, 146 | type: 2} 147 | m_PrefabInternal: {fileID: 914115668} 148 | m_GameObject: {fileID: 99834410} 149 | m_Enabled: 1 150 | m_CastShadows: 1 151 | m_ReceiveShadows: 1 152 | m_MotionVectors: 1 153 | m_LightProbeUsage: 1 154 | m_ReflectionProbeUsage: 0 155 | m_Materials: 156 | - {fileID: 2100000, guid: da2c233b59617744588b18235eda5f56, type: 2} 157 | m_StaticBatchInfo: 158 | firstSubMesh: 0 159 | subMeshCount: 0 160 | m_StaticBatchRoot: {fileID: 0} 161 | m_ProbeAnchor: {fileID: 0} 162 | m_LightProbeVolumeOverride: {fileID: 0} 163 | m_ScaleInLightmap: 1 164 | m_PreserveUVs: 0 165 | m_IgnoreNormalsForChartDetection: 0 166 | m_ImportantGI: 0 167 | m_SelectedEditorRenderState: 3 168 | m_MinimumChartSize: 4 169 | m_AutoUVMaxDistance: 0.5 170 | m_AutoUVMaxAngle: 89 171 | m_LightmapParameters: {fileID: 0} 172 | m_SortingLayerID: 0 173 | m_SortingLayer: 0 174 | m_SortingOrder: 0 175 | --- !u!64 &99834413 176 | MeshCollider: 177 | m_ObjectHideFlags: 0 178 | m_PrefabParentObject: {fileID: 6400000, guid: 82af4827fee368e4c83d72a25f533a4e, 179 | type: 2} 180 | m_PrefabInternal: {fileID: 914115668} 181 | m_GameObject: {fileID: 99834410} 182 | m_Material: {fileID: 0} 183 | m_IsTrigger: 0 184 | m_Enabled: 1 185 | serializedVersion: 2 186 | m_Convex: 0 187 | m_InflateMesh: 0 188 | m_SkinWidth: 0.01 189 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 190 | --- !u!33 &99834414 191 | MeshFilter: 192 | m_ObjectHideFlags: 0 193 | m_PrefabParentObject: {fileID: 3300000, guid: 82af4827fee368e4c83d72a25f533a4e, 194 | type: 2} 195 | m_PrefabInternal: {fileID: 914115668} 196 | m_GameObject: {fileID: 99834410} 197 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 198 | --- !u!1 &142643309 199 | GameObject: 200 | m_ObjectHideFlags: 0 201 | m_PrefabParentObject: {fileID: 102722, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 202 | m_PrefabInternal: {fileID: 914115668} 203 | serializedVersion: 5 204 | m_Component: 205 | - component: {fileID: 142643310} 206 | m_Layer: 0 207 | m_Name: CalibrationWalls 208 | m_TagString: Untagged 209 | m_Icon: {fileID: 0} 210 | m_NavMeshLayer: 0 211 | m_StaticEditorFlags: 4294967295 212 | m_IsActive: 1 213 | --- !u!4 &142643310 214 | Transform: 215 | m_ObjectHideFlags: 0 216 | m_PrefabParentObject: {fileID: 431536, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 217 | m_PrefabInternal: {fileID: 914115668} 218 | m_GameObject: {fileID: 142643309} 219 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 220 | m_LocalPosition: {x: 0, y: 0, z: 0} 221 | m_LocalScale: {x: 2.475785, y: 2.4757829, z: 2.4757829} 222 | m_Children: 223 | - {fileID: 389921451} 224 | - {fileID: 1166626485} 225 | - {fileID: 1542817992} 226 | - {fileID: 99834411} 227 | m_Father: {fileID: 1730097075} 228 | m_RootOrder: 1 229 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 230 | --- !u!1 &147505753 231 | GameObject: 232 | m_ObjectHideFlags: 0 233 | m_PrefabParentObject: {fileID: 1000012017197192, guid: 5fb901ed376616a4d800b32547cef664, 234 | type: 2} 235 | m_PrefabInternal: {fileID: 469346548} 236 | serializedVersion: 5 237 | m_Component: 238 | - component: {fileID: 147505756} 239 | - component: {fileID: 147505755} 240 | - component: {fileID: 147505754} 241 | m_Layer: 0 242 | m_Name: ShaderBall 243 | m_TagString: Untagged 244 | m_Icon: {fileID: 0} 245 | m_NavMeshLayer: 0 246 | m_StaticEditorFlags: 0 247 | m_IsActive: 1 248 | --- !u!23 &147505754 249 | MeshRenderer: 250 | m_ObjectHideFlags: 0 251 | m_PrefabParentObject: {fileID: 23000010075245314, guid: 5fb901ed376616a4d800b32547cef664, 252 | type: 2} 253 | m_PrefabInternal: {fileID: 469346548} 254 | m_GameObject: {fileID: 147505753} 255 | m_Enabled: 1 256 | m_CastShadows: 1 257 | m_ReceiveShadows: 1 258 | m_MotionVectors: 1 259 | m_LightProbeUsage: 1 260 | m_ReflectionProbeUsage: 1 261 | m_Materials: 262 | - {fileID: 2100000, guid: 9b869f7e1c6bbce428bce3f664432840, type: 2} 263 | - {fileID: 2100000, guid: 1af9fbef8b63fc249a7f5a9834cfd2d7, type: 2} 264 | - {fileID: 2100000, guid: e6fb7eca82ae15848ac7abe815d2dc0c, type: 2} 265 | m_StaticBatchInfo: 266 | firstSubMesh: 0 267 | subMeshCount: 0 268 | m_StaticBatchRoot: {fileID: 0} 269 | m_ProbeAnchor: {fileID: 0} 270 | m_LightProbeVolumeOverride: {fileID: 0} 271 | m_ScaleInLightmap: 1 272 | m_PreserveUVs: 0 273 | m_IgnoreNormalsForChartDetection: 0 274 | m_ImportantGI: 0 275 | m_SelectedEditorRenderState: 3 276 | m_MinimumChartSize: 4 277 | m_AutoUVMaxDistance: 0.5 278 | m_AutoUVMaxAngle: 89 279 | m_LightmapParameters: {fileID: 0} 280 | m_SortingLayerID: 0 281 | m_SortingLayer: 0 282 | m_SortingOrder: 0 283 | --- !u!33 &147505755 284 | MeshFilter: 285 | m_ObjectHideFlags: 0 286 | m_PrefabParentObject: {fileID: 33000010213971312, guid: 5fb901ed376616a4d800b32547cef664, 287 | type: 2} 288 | m_PrefabInternal: {fileID: 469346548} 289 | m_GameObject: {fileID: 147505753} 290 | m_Mesh: {fileID: 4300000, guid: 2d99c4ba773b74442b65d2e9cb72bfcd, type: 3} 291 | --- !u!4 &147505756 292 | Transform: 293 | m_ObjectHideFlags: 0 294 | m_PrefabParentObject: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, 295 | type: 2} 296 | m_PrefabInternal: {fileID: 469346548} 297 | m_GameObject: {fileID: 147505753} 298 | m_LocalRotation: {x: 0.000000021855694, y: 0, z: -0, w: 1} 299 | m_LocalPosition: {x: -0, y: 0, z: 0} 300 | m_LocalScale: {x: 1, y: 1, z: 1} 301 | m_Children: [] 302 | m_Father: {fileID: 0} 303 | m_RootOrder: 1 304 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 305 | --- !u!1 &389921450 306 | GameObject: 307 | m_ObjectHideFlags: 0 308 | m_PrefabParentObject: {fileID: 182018, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 309 | m_PrefabInternal: {fileID: 914115668} 310 | serializedVersion: 5 311 | m_Component: 312 | - component: {fileID: 389921451} 313 | - component: {fileID: 389921454} 314 | - component: {fileID: 389921453} 315 | - component: {fileID: 389921452} 316 | m_Layer: 0 317 | m_Name: CalibrationWallRearLeft 318 | m_TagString: Untagged 319 | m_Icon: {fileID: 0} 320 | m_NavMeshLayer: 0 321 | m_StaticEditorFlags: 4294967295 322 | m_IsActive: 1 323 | --- !u!4 &389921451 324 | Transform: 325 | m_ObjectHideFlags: 0 326 | m_PrefabParentObject: {fileID: 464034, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 327 | m_PrefabInternal: {fileID: 914115668} 328 | m_GameObject: {fileID: 389921450} 329 | m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071067} 330 | m_LocalPosition: {x: 0, y: 2.5, z: -2.5} 331 | m_LocalScale: {x: 0.5, y: 1, z: 0.5} 332 | m_Children: [] 333 | m_Father: {fileID: 142643310} 334 | m_RootOrder: 0 335 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 336 | --- !u!23 &389921452 337 | MeshRenderer: 338 | m_ObjectHideFlags: 0 339 | m_PrefabParentObject: {fileID: 2391912, guid: 82af4827fee368e4c83d72a25f533a4e, 340 | type: 2} 341 | m_PrefabInternal: {fileID: 914115668} 342 | m_GameObject: {fileID: 389921450} 343 | m_Enabled: 1 344 | m_CastShadows: 1 345 | m_ReceiveShadows: 1 346 | m_MotionVectors: 1 347 | m_LightProbeUsage: 1 348 | m_ReflectionProbeUsage: 0 349 | m_Materials: 350 | - {fileID: 2100000, guid: da2c233b59617744588b18235eda5f56, type: 2} 351 | m_StaticBatchInfo: 352 | firstSubMesh: 0 353 | subMeshCount: 0 354 | m_StaticBatchRoot: {fileID: 0} 355 | m_ProbeAnchor: {fileID: 0} 356 | m_LightProbeVolumeOverride: {fileID: 0} 357 | m_ScaleInLightmap: 1 358 | m_PreserveUVs: 0 359 | m_IgnoreNormalsForChartDetection: 0 360 | m_ImportantGI: 0 361 | m_SelectedEditorRenderState: 3 362 | m_MinimumChartSize: 4 363 | m_AutoUVMaxDistance: 0.5 364 | m_AutoUVMaxAngle: 89 365 | m_LightmapParameters: {fileID: 0} 366 | m_SortingLayerID: 0 367 | m_SortingLayer: 0 368 | m_SortingOrder: 0 369 | --- !u!64 &389921453 370 | MeshCollider: 371 | m_ObjectHideFlags: 0 372 | m_PrefabParentObject: {fileID: 6494426, guid: 82af4827fee368e4c83d72a25f533a4e, 373 | type: 2} 374 | m_PrefabInternal: {fileID: 914115668} 375 | m_GameObject: {fileID: 389921450} 376 | m_Material: {fileID: 0} 377 | m_IsTrigger: 0 378 | m_Enabled: 1 379 | serializedVersion: 2 380 | m_Convex: 0 381 | m_InflateMesh: 0 382 | m_SkinWidth: 0.01 383 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 384 | --- !u!33 &389921454 385 | MeshFilter: 386 | m_ObjectHideFlags: 0 387 | m_PrefabParentObject: {fileID: 3305810, guid: 82af4827fee368e4c83d72a25f533a4e, 388 | type: 2} 389 | m_PrefabInternal: {fileID: 914115668} 390 | m_GameObject: {fileID: 389921450} 391 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 392 | --- !u!1001 &469346548 393 | Prefab: 394 | m_ObjectHideFlags: 0 395 | serializedVersion: 2 396 | m_Modification: 397 | m_TransformParent: {fileID: 0} 398 | m_Modifications: 399 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 400 | propertyPath: m_LocalPosition.x 401 | value: -0 402 | objectReference: {fileID: 0} 403 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 404 | propertyPath: m_LocalPosition.y 405 | value: 0 406 | objectReference: {fileID: 0} 407 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 408 | propertyPath: m_LocalPosition.z 409 | value: 0 410 | objectReference: {fileID: 0} 411 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 412 | propertyPath: m_LocalRotation.x 413 | value: 0.000000021855694 414 | objectReference: {fileID: 0} 415 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 416 | propertyPath: m_LocalRotation.y 417 | value: 0 418 | objectReference: {fileID: 0} 419 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 420 | propertyPath: m_LocalRotation.z 421 | value: -0 422 | objectReference: {fileID: 0} 423 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 424 | propertyPath: m_LocalRotation.w 425 | value: 1 426 | objectReference: {fileID: 0} 427 | - target: {fileID: 4000010319129062, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 428 | propertyPath: m_RootOrder 429 | value: 1 430 | objectReference: {fileID: 0} 431 | - target: {fileID: 23000010075245314, guid: 5fb901ed376616a4d800b32547cef664, 432 | type: 2} 433 | propertyPath: m_Materials.Array.data[0] 434 | value: 435 | objectReference: {fileID: 2100000, guid: 9b869f7e1c6bbce428bce3f664432840, type: 2} 436 | - target: {fileID: 1000012017197192, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 437 | propertyPath: m_IsActive 438 | value: 1 439 | objectReference: {fileID: 0} 440 | m_RemovedComponents: [] 441 | m_ParentPrefab: {fileID: 100100000, guid: 5fb901ed376616a4d800b32547cef664, type: 2} 442 | m_RootGameObject: {fileID: 147505753} 443 | m_IsPrefabParent: 0 444 | --- !u!1001 &914115668 445 | Prefab: 446 | m_ObjectHideFlags: 0 447 | serializedVersion: 2 448 | m_Modification: 449 | m_TransformParent: {fileID: 0} 450 | m_Modifications: 451 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 452 | propertyPath: m_LocalPosition.x 453 | value: 0 454 | objectReference: {fileID: 0} 455 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 456 | propertyPath: m_LocalPosition.y 457 | value: 0 458 | objectReference: {fileID: 0} 459 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 460 | propertyPath: m_LocalPosition.z 461 | value: 0 462 | objectReference: {fileID: 0} 463 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 464 | propertyPath: m_LocalRotation.x 465 | value: 0 466 | objectReference: {fileID: 0} 467 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 468 | propertyPath: m_LocalRotation.y 469 | value: 0 470 | objectReference: {fileID: 0} 471 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 472 | propertyPath: m_LocalRotation.z 473 | value: 0 474 | objectReference: {fileID: 0} 475 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 476 | propertyPath: m_LocalRotation.w 477 | value: 1 478 | objectReference: {fileID: 0} 479 | - target: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 480 | propertyPath: m_RootOrder 481 | value: 0 482 | objectReference: {fileID: 0} 483 | - target: {fileID: 1000012052562494, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 484 | propertyPath: m_IsActive 485 | value: 1 486 | objectReference: {fileID: 0} 487 | - target: {fileID: 20000011723007962, guid: 82af4827fee368e4c83d72a25f533a4e, 488 | type: 2} 489 | propertyPath: m_RenderingPath 490 | value: 3 491 | objectReference: {fileID: 0} 492 | - target: {fileID: 108000010494217588, guid: 82af4827fee368e4c83d72a25f533a4e, 493 | type: 2} 494 | propertyPath: m_Intensity 495 | value: 1 496 | objectReference: {fileID: 0} 497 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 498 | propertyPath: m_LocalRotation.x 499 | value: 0.5657461 500 | objectReference: {fileID: 0} 501 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 502 | propertyPath: m_LocalRotation.y 503 | value: -0.6497076 504 | objectReference: {fileID: 0} 505 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 506 | propertyPath: m_LocalRotation.z 507 | value: 0.50764865 508 | objectReference: {fileID: 0} 509 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 510 | propertyPath: m_LocalRotation.w 511 | value: -0.010207292 512 | objectReference: {fileID: 0} 513 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 514 | propertyPath: m_LocalEulerAnglesHint.x 515 | value: 40.398003 516 | objectReference: {fileID: 0} 517 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 518 | propertyPath: m_LocalEulerAnglesHint.y 519 | value: -230.50299 520 | objectReference: {fileID: 0} 521 | - target: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 522 | propertyPath: m_LocalEulerAnglesHint.z 523 | value: -101.786 524 | objectReference: {fileID: 0} 525 | m_RemovedComponents: [] 526 | m_ParentPrefab: {fileID: 100100000, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 527 | m_RootGameObject: {fileID: 1730097074} 528 | m_IsPrefabParent: 0 529 | --- !u!1 &1140150142 530 | GameObject: 531 | m_ObjectHideFlags: 0 532 | m_PrefabParentObject: {fileID: 0} 533 | m_PrefabInternal: {fileID: 0} 534 | serializedVersion: 5 535 | m_Component: 536 | - component: {fileID: 1140150146} 537 | - component: {fileID: 1140150145} 538 | - component: {fileID: 1140150144} 539 | - component: {fileID: 1140150143} 540 | m_Layer: 0 541 | m_Name: Cube 542 | m_TagString: Untagged 543 | m_Icon: {fileID: 0} 544 | m_NavMeshLayer: 0 545 | m_StaticEditorFlags: 0 546 | m_IsActive: 1 547 | --- !u!23 &1140150143 548 | MeshRenderer: 549 | m_ObjectHideFlags: 0 550 | m_PrefabParentObject: {fileID: 0} 551 | m_PrefabInternal: {fileID: 0} 552 | m_GameObject: {fileID: 1140150142} 553 | m_Enabled: 1 554 | m_CastShadows: 1 555 | m_ReceiveShadows: 1 556 | m_MotionVectors: 1 557 | m_LightProbeUsage: 1 558 | m_ReflectionProbeUsage: 1 559 | m_Materials: 560 | - {fileID: 2100000, guid: 959046c714828cc479babecfa0878fe9, type: 2} 561 | m_StaticBatchInfo: 562 | firstSubMesh: 0 563 | subMeshCount: 0 564 | m_StaticBatchRoot: {fileID: 0} 565 | m_ProbeAnchor: {fileID: 0} 566 | m_LightProbeVolumeOverride: {fileID: 0} 567 | m_ScaleInLightmap: 1 568 | m_PreserveUVs: 1 569 | m_IgnoreNormalsForChartDetection: 0 570 | m_ImportantGI: 0 571 | m_SelectedEditorRenderState: 3 572 | m_MinimumChartSize: 4 573 | m_AutoUVMaxDistance: 0.5 574 | m_AutoUVMaxAngle: 89 575 | m_LightmapParameters: {fileID: 0} 576 | m_SortingLayerID: 0 577 | m_SortingLayer: 0 578 | m_SortingOrder: 0 579 | --- !u!65 &1140150144 580 | BoxCollider: 581 | m_ObjectHideFlags: 0 582 | m_PrefabParentObject: {fileID: 0} 583 | m_PrefabInternal: {fileID: 0} 584 | m_GameObject: {fileID: 1140150142} 585 | m_Material: {fileID: 0} 586 | m_IsTrigger: 0 587 | m_Enabled: 1 588 | serializedVersion: 2 589 | m_Size: {x: 1, y: 1, z: 1} 590 | m_Center: {x: 0, y: 0, z: 0} 591 | --- !u!33 &1140150145 592 | MeshFilter: 593 | m_ObjectHideFlags: 0 594 | m_PrefabParentObject: {fileID: 0} 595 | m_PrefabInternal: {fileID: 0} 596 | m_GameObject: {fileID: 1140150142} 597 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 598 | --- !u!4 &1140150146 599 | Transform: 600 | m_ObjectHideFlags: 0 601 | m_PrefabParentObject: {fileID: 0} 602 | m_PrefabInternal: {fileID: 0} 603 | m_GameObject: {fileID: 1140150142} 604 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 605 | m_LocalPosition: {x: 1.04, y: 1.41, z: -2.65} 606 | m_LocalScale: {x: 2.9074848, y: 3.6474047, z: 1} 607 | m_Children: [] 608 | m_Father: {fileID: 0} 609 | m_RootOrder: 2 610 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 611 | --- !u!1 &1166626484 612 | GameObject: 613 | m_ObjectHideFlags: 0 614 | m_PrefabParentObject: {fileID: 125776, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 615 | m_PrefabInternal: {fileID: 914115668} 616 | serializedVersion: 5 617 | m_Component: 618 | - component: {fileID: 1166626485} 619 | - component: {fileID: 1166626488} 620 | - component: {fileID: 1166626487} 621 | - component: {fileID: 1166626486} 622 | m_Layer: 0 623 | m_Name: CalibrationWallRearRight 624 | m_TagString: Untagged 625 | m_Icon: {fileID: 0} 626 | m_NavMeshLayer: 0 627 | m_StaticEditorFlags: 4294967295 628 | m_IsActive: 1 629 | --- !u!4 &1166626485 630 | Transform: 631 | m_ObjectHideFlags: 0 632 | m_PrefabParentObject: {fileID: 494730, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 633 | m_PrefabInternal: {fileID: 914115668} 634 | m_GameObject: {fileID: 1166626484} 635 | m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5000001, w: 0.49999994} 636 | m_LocalPosition: {x: -2.5, y: 2.5, z: 0} 637 | m_LocalScale: {x: 0.5, y: 1, z: 0.49999997} 638 | m_Children: [] 639 | m_Father: {fileID: 142643310} 640 | m_RootOrder: 1 641 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 642 | --- !u!23 &1166626486 643 | MeshRenderer: 644 | m_ObjectHideFlags: 0 645 | m_PrefabParentObject: {fileID: 2304408, guid: 82af4827fee368e4c83d72a25f533a4e, 646 | type: 2} 647 | m_PrefabInternal: {fileID: 914115668} 648 | m_GameObject: {fileID: 1166626484} 649 | m_Enabled: 1 650 | m_CastShadows: 1 651 | m_ReceiveShadows: 1 652 | m_MotionVectors: 1 653 | m_LightProbeUsage: 1 654 | m_ReflectionProbeUsage: 0 655 | m_Materials: 656 | - {fileID: 2100000, guid: da2c233b59617744588b18235eda5f56, type: 2} 657 | m_StaticBatchInfo: 658 | firstSubMesh: 0 659 | subMeshCount: 0 660 | m_StaticBatchRoot: {fileID: 0} 661 | m_ProbeAnchor: {fileID: 0} 662 | m_LightProbeVolumeOverride: {fileID: 0} 663 | m_ScaleInLightmap: 1 664 | m_PreserveUVs: 0 665 | m_IgnoreNormalsForChartDetection: 0 666 | m_ImportantGI: 0 667 | m_SelectedEditorRenderState: 3 668 | m_MinimumChartSize: 4 669 | m_AutoUVMaxDistance: 0.5 670 | m_AutoUVMaxAngle: 89 671 | m_LightmapParameters: {fileID: 0} 672 | m_SortingLayerID: 0 673 | m_SortingLayer: 0 674 | m_SortingOrder: 0 675 | --- !u!64 &1166626487 676 | MeshCollider: 677 | m_ObjectHideFlags: 0 678 | m_PrefabParentObject: {fileID: 6442406, guid: 82af4827fee368e4c83d72a25f533a4e, 679 | type: 2} 680 | m_PrefabInternal: {fileID: 914115668} 681 | m_GameObject: {fileID: 1166626484} 682 | m_Material: {fileID: 0} 683 | m_IsTrigger: 0 684 | m_Enabled: 1 685 | serializedVersion: 2 686 | m_Convex: 0 687 | m_InflateMesh: 0 688 | m_SkinWidth: 0.01 689 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 690 | --- !u!33 &1166626488 691 | MeshFilter: 692 | m_ObjectHideFlags: 0 693 | m_PrefabParentObject: {fileID: 3378452, guid: 82af4827fee368e4c83d72a25f533a4e, 694 | type: 2} 695 | m_PrefabInternal: {fileID: 914115668} 696 | m_GameObject: {fileID: 1166626484} 697 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 698 | --- !u!1 &1527571117 699 | GameObject: 700 | m_ObjectHideFlags: 0 701 | m_PrefabParentObject: {fileID: 1000011652330946, guid: 82af4827fee368e4c83d72a25f533a4e, 702 | type: 2} 703 | m_PrefabInternal: {fileID: 914115668} 704 | serializedVersion: 5 705 | m_Component: 706 | - component: {fileID: 1527571118} 707 | - component: {fileID: 1527571123} 708 | - component: {fileID: 1527571122} 709 | - component: {fileID: 1527571121} 710 | - component: {fileID: 1527571120} 711 | - component: {fileID: 1527571119} 712 | m_Layer: 0 713 | m_Name: Main Camera 714 | m_TagString: MainCamera 715 | m_Icon: {fileID: 0} 716 | m_NavMeshLayer: 0 717 | m_StaticEditorFlags: 0 718 | m_IsActive: 1 719 | --- !u!4 &1527571118 720 | Transform: 721 | m_ObjectHideFlags: 0 722 | m_PrefabParentObject: {fileID: 4000011252882896, guid: 82af4827fee368e4c83d72a25f533a4e, 723 | type: 2} 724 | m_PrefabInternal: {fileID: 914115668} 725 | m_GameObject: {fileID: 1527571117} 726 | m_LocalRotation: {x: -0.0964301, y: 0.90356946, z: -0.29473457, w: -0.29562664} 727 | m_LocalPosition: {x: 2.93, y: 3.9299998, z: 3.9800003} 728 | m_LocalScale: {x: 1, y: 1, z: 1} 729 | m_Children: [] 730 | m_Father: {fileID: 1730097075} 731 | m_RootOrder: 3 732 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 733 | --- !u!114 &1527571119 734 | MonoBehaviour: 735 | m_ObjectHideFlags: 0 736 | m_PrefabParentObject: {fileID: 0} 737 | m_PrefabInternal: {fileID: 0} 738 | m_GameObject: {fileID: 1527571117} 739 | m_Enabled: 1 740 | m_EditorHideFlags: 0 741 | m_Script: {fileID: 11500000, guid: 609a343303ee93443b246291d3a836db, type: 3} 742 | m_Name: 743 | m_EditorClassIdentifier: 744 | blurShader: {fileID: 4800000, guid: e0aaa946d1793b44eb66b5594bdca958, type: 3} 745 | --- !u!81 &1527571120 746 | AudioListener: 747 | m_ObjectHideFlags: 0 748 | m_PrefabParentObject: {fileID: 81000011721023192, guid: 82af4827fee368e4c83d72a25f533a4e, 749 | type: 2} 750 | m_PrefabInternal: {fileID: 914115668} 751 | m_GameObject: {fileID: 1527571117} 752 | m_Enabled: 1 753 | --- !u!124 &1527571121 754 | Behaviour: 755 | m_ObjectHideFlags: 0 756 | m_PrefabParentObject: {fileID: 124000011119698828, guid: 82af4827fee368e4c83d72a25f533a4e, 757 | type: 2} 758 | m_PrefabInternal: {fileID: 914115668} 759 | m_GameObject: {fileID: 1527571117} 760 | m_Enabled: 1 761 | --- !u!92 &1527571122 762 | Behaviour: 763 | m_ObjectHideFlags: 0 764 | m_PrefabParentObject: {fileID: 92000012839854994, guid: 82af4827fee368e4c83d72a25f533a4e, 765 | type: 2} 766 | m_PrefabInternal: {fileID: 914115668} 767 | m_GameObject: {fileID: 1527571117} 768 | m_Enabled: 1 769 | --- !u!20 &1527571123 770 | Camera: 771 | m_ObjectHideFlags: 0 772 | m_PrefabParentObject: {fileID: 20000011723007962, guid: 82af4827fee368e4c83d72a25f533a4e, 773 | type: 2} 774 | m_PrefabInternal: {fileID: 914115668} 775 | m_GameObject: {fileID: 1527571117} 776 | m_Enabled: 1 777 | serializedVersion: 2 778 | m_ClearFlags: 1 779 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 780 | m_NormalizedViewPortRect: 781 | serializedVersion: 2 782 | x: 0 783 | y: 0 784 | width: 1 785 | height: 1 786 | near clip plane: 0.3 787 | far clip plane: 1000 788 | field of view: 60 789 | orthographic: 0 790 | orthographic size: 5 791 | m_Depth: -1 792 | m_CullingMask: 793 | serializedVersion: 2 794 | m_Bits: 4294967295 795 | m_RenderingPath: 3 796 | m_TargetTexture: {fileID: 0} 797 | m_TargetDisplay: 0 798 | m_TargetEye: 3 799 | m_HDR: 0 800 | m_AllowMSAA: 1 801 | m_ForceIntoRT: 0 802 | m_OcclusionCulling: 1 803 | m_StereoConvergence: 10 804 | m_StereoSeparation: 0.022 805 | m_StereoMirrorMode: 0 806 | --- !u!1 &1542817991 807 | GameObject: 808 | m_ObjectHideFlags: 0 809 | m_PrefabParentObject: {fileID: 100002, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 810 | m_PrefabInternal: {fileID: 914115668} 811 | serializedVersion: 5 812 | m_Component: 813 | - component: {fileID: 1542817992} 814 | - component: {fileID: 1542817995} 815 | - component: {fileID: 1542817994} 816 | - component: {fileID: 1542817993} 817 | m_Layer: 0 818 | m_Name: CalibrationWallFrontLeft 819 | m_TagString: Untagged 820 | m_Icon: {fileID: 0} 821 | m_NavMeshLayer: 0 822 | m_StaticEditorFlags: 4294967295 823 | m_IsActive: 1 824 | --- !u!4 &1542817992 825 | Transform: 826 | m_ObjectHideFlags: 0 827 | m_PrefabParentObject: {fileID: 400002, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 828 | m_PrefabInternal: {fileID: 914115668} 829 | m_GameObject: {fileID: 1542817991} 830 | m_LocalRotation: {x: 0.5000003, y: -0.5000001, z: -0.49999964, w: -0.50000006} 831 | m_LocalPosition: {x: 2.4999998, y: 2.5, z: 0} 832 | m_LocalScale: {x: 0.4999999, y: 1, z: 0.4999999} 833 | m_Children: [] 834 | m_Father: {fileID: 142643310} 835 | m_RootOrder: 2 836 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 837 | --- !u!23 &1542817993 838 | MeshRenderer: 839 | m_ObjectHideFlags: 0 840 | m_PrefabParentObject: {fileID: 2300002, guid: 82af4827fee368e4c83d72a25f533a4e, 841 | type: 2} 842 | m_PrefabInternal: {fileID: 914115668} 843 | m_GameObject: {fileID: 1542817991} 844 | m_Enabled: 1 845 | m_CastShadows: 1 846 | m_ReceiveShadows: 1 847 | m_MotionVectors: 1 848 | m_LightProbeUsage: 1 849 | m_ReflectionProbeUsage: 0 850 | m_Materials: 851 | - {fileID: 2100000, guid: da2c233b59617744588b18235eda5f56, type: 2} 852 | m_StaticBatchInfo: 853 | firstSubMesh: 0 854 | subMeshCount: 0 855 | m_StaticBatchRoot: {fileID: 0} 856 | m_ProbeAnchor: {fileID: 0} 857 | m_LightProbeVolumeOverride: {fileID: 0} 858 | m_ScaleInLightmap: 1 859 | m_PreserveUVs: 0 860 | m_IgnoreNormalsForChartDetection: 0 861 | m_ImportantGI: 0 862 | m_SelectedEditorRenderState: 3 863 | m_MinimumChartSize: 4 864 | m_AutoUVMaxDistance: 0.5 865 | m_AutoUVMaxAngle: 89 866 | m_LightmapParameters: {fileID: 0} 867 | m_SortingLayerID: 0 868 | m_SortingLayer: 0 869 | m_SortingOrder: 0 870 | --- !u!64 &1542817994 871 | MeshCollider: 872 | m_ObjectHideFlags: 0 873 | m_PrefabParentObject: {fileID: 6400002, guid: 82af4827fee368e4c83d72a25f533a4e, 874 | type: 2} 875 | m_PrefabInternal: {fileID: 914115668} 876 | m_GameObject: {fileID: 1542817991} 877 | m_Material: {fileID: 0} 878 | m_IsTrigger: 0 879 | m_Enabled: 1 880 | serializedVersion: 2 881 | m_Convex: 0 882 | m_InflateMesh: 0 883 | m_SkinWidth: 0.01 884 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 885 | --- !u!33 &1542817995 886 | MeshFilter: 887 | m_ObjectHideFlags: 0 888 | m_PrefabParentObject: {fileID: 3300002, guid: 82af4827fee368e4c83d72a25f533a4e, 889 | type: 2} 890 | m_PrefabInternal: {fileID: 914115668} 891 | m_GameObject: {fileID: 1542817991} 892 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 893 | --- !u!1 &1730097074 894 | GameObject: 895 | m_ObjectHideFlags: 0 896 | m_PrefabParentObject: {fileID: 100004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 897 | m_PrefabInternal: {fileID: 914115668} 898 | serializedVersion: 5 899 | m_Component: 900 | - component: {fileID: 1730097075} 901 | m_Layer: 0 902 | m_Name: SceneElements 903 | m_TagString: Untagged 904 | m_Icon: {fileID: 0} 905 | m_NavMeshLayer: 0 906 | m_StaticEditorFlags: 4294967295 907 | m_IsActive: 1 908 | --- !u!4 &1730097075 909 | Transform: 910 | m_ObjectHideFlags: 0 911 | m_PrefabParentObject: {fileID: 400004, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 912 | m_PrefabInternal: {fileID: 914115668} 913 | m_GameObject: {fileID: 1730097074} 914 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 915 | m_LocalPosition: {x: 0, y: 0, z: 0} 916 | m_LocalScale: {x: 1, y: 1, z: 1} 917 | m_Children: 918 | - {fileID: 2135196171} 919 | - {fileID: 142643310} 920 | - {fileID: 1870111270} 921 | - {fileID: 1527571118} 922 | m_Father: {fileID: 0} 923 | m_RootOrder: 0 924 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 925 | --- !u!1 &1870111269 926 | GameObject: 927 | m_ObjectHideFlags: 0 928 | m_PrefabParentObject: {fileID: 1000012052562494, guid: 82af4827fee368e4c83d72a25f533a4e, 929 | type: 2} 930 | m_PrefabInternal: {fileID: 914115668} 931 | serializedVersion: 5 932 | m_Component: 933 | - component: {fileID: 1870111270} 934 | - component: {fileID: 1870111271} 935 | m_Layer: 0 936 | m_Name: Directional Light 937 | m_TagString: Untagged 938 | m_Icon: {fileID: 0} 939 | m_NavMeshLayer: 0 940 | m_StaticEditorFlags: 4294967295 941 | m_IsActive: 1 942 | --- !u!4 &1870111270 943 | Transform: 944 | m_ObjectHideFlags: 0 945 | m_PrefabParentObject: {fileID: 4000010075728302, guid: 82af4827fee368e4c83d72a25f533a4e, 946 | type: 2} 947 | m_PrefabInternal: {fileID: 914115668} 948 | m_GameObject: {fileID: 1870111269} 949 | m_LocalRotation: {x: 0.5657461, y: -0.6497076, z: 0.50764865, w: -0.010207292} 950 | m_LocalPosition: {x: 0, y: 11.01, z: 0} 951 | m_LocalScale: {x: 1, y: 1, z: 1} 952 | m_Children: [] 953 | m_Father: {fileID: 1730097075} 954 | m_RootOrder: 2 955 | m_LocalEulerAnglesHint: {x: 40.398003, y: -230.50299, z: -101.786} 956 | --- !u!108 &1870111271 957 | Light: 958 | m_ObjectHideFlags: 0 959 | m_PrefabParentObject: {fileID: 108000010494217588, guid: 82af4827fee368e4c83d72a25f533a4e, 960 | type: 2} 961 | m_PrefabInternal: {fileID: 914115668} 962 | m_GameObject: {fileID: 1870111269} 963 | m_Enabled: 1 964 | serializedVersion: 8 965 | m_Type: 1 966 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 967 | m_Intensity: 1 968 | m_Range: 10 969 | m_SpotAngle: 30 970 | m_CookieSize: 10 971 | m_Shadows: 972 | m_Type: 2 973 | m_Resolution: -1 974 | m_CustomResolution: -1 975 | m_Strength: 1 976 | m_Bias: 0.05 977 | m_NormalBias: 0.4 978 | m_NearPlane: 0.2 979 | m_Cookie: {fileID: 0} 980 | m_DrawHalo: 0 981 | m_Flare: {fileID: 0} 982 | m_RenderMode: 0 983 | m_CullingMask: 984 | serializedVersion: 2 985 | m_Bits: 4294967295 986 | m_Lightmapping: 4 987 | m_AreaSize: {x: 1, y: 1} 988 | m_BounceIntensity: 1 989 | m_ColorTemperature: 6570 990 | m_UseColorTemperature: 0 991 | m_ShadowRadius: 0 992 | m_ShadowAngle: 0 993 | --- !u!1 &2135196170 994 | GameObject: 995 | m_ObjectHideFlags: 0 996 | m_PrefabParentObject: {fileID: 100006, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 997 | m_PrefabInternal: {fileID: 914115668} 998 | serializedVersion: 5 999 | m_Component: 1000 | - component: {fileID: 2135196171} 1001 | - component: {fileID: 2135196174} 1002 | - component: {fileID: 2135196173} 1003 | - component: {fileID: 2135196172} 1004 | m_Layer: 0 1005 | m_Name: CalibrationFloor 1006 | m_TagString: Untagged 1007 | m_Icon: {fileID: 0} 1008 | m_NavMeshLayer: 0 1009 | m_StaticEditorFlags: 4294967295 1010 | m_IsActive: 1 1011 | --- !u!4 &2135196171 1012 | Transform: 1013 | m_ObjectHideFlags: 0 1014 | m_PrefabParentObject: {fileID: 400006, guid: 82af4827fee368e4c83d72a25f533a4e, type: 2} 1015 | m_PrefabInternal: {fileID: 914115668} 1016 | m_GameObject: {fileID: 2135196170} 1017 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1018 | m_LocalPosition: {x: 0, y: 0, z: 0} 1019 | m_LocalScale: {x: 1.2378925, y: 2.4757829, z: 1.2378914} 1020 | m_Children: [] 1021 | m_Father: {fileID: 1730097075} 1022 | m_RootOrder: 0 1023 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1024 | --- !u!23 &2135196172 1025 | MeshRenderer: 1026 | m_ObjectHideFlags: 0 1027 | m_PrefabParentObject: {fileID: 2300004, guid: 82af4827fee368e4c83d72a25f533a4e, 1028 | type: 2} 1029 | m_PrefabInternal: {fileID: 914115668} 1030 | m_GameObject: {fileID: 2135196170} 1031 | m_Enabled: 1 1032 | m_CastShadows: 1 1033 | m_ReceiveShadows: 1 1034 | m_MotionVectors: 1 1035 | m_LightProbeUsage: 1 1036 | m_ReflectionProbeUsage: 0 1037 | m_Materials: 1038 | - {fileID: 2100000, guid: da2c233b59617744588b18235eda5f56, type: 2} 1039 | m_StaticBatchInfo: 1040 | firstSubMesh: 0 1041 | subMeshCount: 0 1042 | m_StaticBatchRoot: {fileID: 0} 1043 | m_ProbeAnchor: {fileID: 0} 1044 | m_LightProbeVolumeOverride: {fileID: 0} 1045 | m_ScaleInLightmap: 1 1046 | m_PreserveUVs: 0 1047 | m_IgnoreNormalsForChartDetection: 0 1048 | m_ImportantGI: 0 1049 | m_SelectedEditorRenderState: 3 1050 | m_MinimumChartSize: 4 1051 | m_AutoUVMaxDistance: 0.5 1052 | m_AutoUVMaxAngle: 89 1053 | m_LightmapParameters: {fileID: 0} 1054 | m_SortingLayerID: 0 1055 | m_SortingLayer: 0 1056 | m_SortingOrder: 0 1057 | --- !u!64 &2135196173 1058 | MeshCollider: 1059 | m_ObjectHideFlags: 0 1060 | m_PrefabParentObject: {fileID: 6400004, guid: 82af4827fee368e4c83d72a25f533a4e, 1061 | type: 2} 1062 | m_PrefabInternal: {fileID: 914115668} 1063 | m_GameObject: {fileID: 2135196170} 1064 | m_Material: {fileID: 0} 1065 | m_IsTrigger: 0 1066 | m_Enabled: 1 1067 | serializedVersion: 2 1068 | m_Convex: 0 1069 | m_InflateMesh: 0 1070 | m_SkinWidth: 0.01 1071 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 1072 | --- !u!33 &2135196174 1073 | MeshFilter: 1074 | m_ObjectHideFlags: 0 1075 | m_PrefabParentObject: {fileID: 3300004, guid: 82af4827fee368e4c83d72a25f533a4e, 1076 | type: 2} 1077 | m_PrefabInternal: {fileID: 914115668} 1078 | m_GameObject: {fileID: 2135196170} 1079 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 1080 | -------------------------------------------------------------------------------- /_CommandBufferRefractionCheaper.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2885974aad98184b904687c4811c730 3 | timeCreated: 1506193363 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | --------------------------------------------------------------------------------