From 7b7241471509f62c74e687ea145fc32ab48f4554 Mon Sep 17 00:00:00 2001 From: ahmad al asal Date: Tue, 13 Sep 2022 18:45:56 +0300 Subject: [PATCH] fow fix --- Assets/Example Scenes/Dungeon/Dungeon.unity | 17 +-- Assets/Example Scenes/Dungeon/FOW/Demo.unity | 11 +- Assets/Example Scenes/Dungeon/FOW/FogOfWar.cs | 114 +++++++++--------- .../Dungeon/FOW/Shaders/FOW.shader | 7 +- .../Dungeon/FOW/Shaders/FOWINC.cginc | 9 +- .../Runtime Example/Runtime Example.unity | 104 +++++++++++++--- 6 files changed, 168 insertions(+), 94 deletions(-) diff --git a/Assets/Example Scenes/Dungeon/Dungeon.unity b/Assets/Example Scenes/Dungeon/Dungeon.unity index 7e59956..ebb8a6e 100644 --- a/Assets/Example Scenes/Dungeon/Dungeon.unity +++ b/Assets/Example Scenes/Dungeon/Dungeon.unity @@ -756,7 +756,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 922553028} m_LocalRotation: {x: 0.46193978, y: 0.33141357, z: -0.19134171, w: 0.8001032} - m_LocalPosition: {x: -6.4471517, y: 24.571493, z: -9.652845} + m_LocalPosition: {x: -8.655901, y: 28.454464, z: -11.861595} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 983891336} @@ -808,7 +808,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_BindingMode: 1 - m_FollowOffset: {x: -7.611013, y: 13.37999, z: -7.611013} + m_FollowOffset: {x: -9.819762, y: 17.26296, z: -9.819762} m_XDamping: 1 m_YDamping: 1 m_ZDamping: 1 @@ -1049,8 +1049,9 @@ MonoBehaviour: m_EditorClassIdentifier: mode: 1 radius: 10 - resolution: 1 - NearClipFromVS: 2 + resolution: 4 + CameraOffset: 2 + ShadowReach: 5 area: serializedVersion: 2 x: 0 @@ -1077,8 +1078,8 @@ MonoBehaviour: - {fileID: 1417781027} - {fileID: 1417781026} NoiseScale: 20 - NoiseMagnitude: 2 - BlurItterations: 2 + NoiseMagnitude: 0.002 + BlurItterations: 1 BlendSpeed: 5 --- !u!81 &1080201540 AudioListener: @@ -1139,7 +1140,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1080201538} m_LocalRotation: {x: 0.46193978, y: 0.33141357, z: -0.19134171, w: 0.8001032} - m_LocalPosition: {x: -6.4471517, y: 24.571493, z: -9.652845} + m_LocalPosition: {x: -8.655901, y: 28.454464, z: -11.861595} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1405400200} @@ -1826,7 +1827,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1891384457} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalPosition: {x: 0, y: 0.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1159673613} diff --git a/Assets/Example Scenes/Dungeon/FOW/Demo.unity b/Assets/Example Scenes/Dungeon/FOW/Demo.unity index 4b42930..01b562d 100644 --- a/Assets/Example Scenes/Dungeon/FOW/Demo.unity +++ b/Assets/Example Scenes/Dungeon/FOW/Demo.unity @@ -921,8 +921,9 @@ MonoBehaviour: m_EditorClassIdentifier: mode: 0 radius: 10 - resolution: 1 - NearClipFromVS: 5 + resolution: 4 + CameraOffset: 5 + ShadowReach: 1 area: serializedVersion: 2 x: -20 @@ -940,9 +941,9 @@ MonoBehaviour: - {fileID: 1481871345} - {fileID: 196712691} - {fileID: 1422430232} - NoiseScale: 50 - NoiseMagnitude: 2 - BlurItterations: 2 + NoiseScale: 20 + NoiseMagnitude: 0.002 + BlurItterations: 1 BlendSpeed: 5 --- !u!1 &409308431 GameObject: diff --git a/Assets/Example Scenes/Dungeon/FOW/FogOfWar.cs b/Assets/Example Scenes/Dungeon/FOW/FogOfWar.cs index 585a963..c57a668 100644 --- a/Assets/Example Scenes/Dungeon/FOW/FogOfWar.cs +++ b/Assets/Example Scenes/Dungeon/FOW/FogOfWar.cs @@ -19,6 +19,7 @@ public enum Resolution _256, _128 } + enum Pass { Vision, @@ -35,7 +36,8 @@ enum Pass public float radius = 10f; public Resolution resolution; [Tooltip("distance of the near clip plane from vision source, useful when the vision source inside the geometry to clip the ceiling")] - public float NearClipFromVS = 5f; + public float CameraOffset = 5f; + public float ShadowReach = 1f; public Rect area; public List VisionSources = new List(); public List Occluders = new List(); @@ -49,7 +51,6 @@ enum Pass public float BlendSpeed = 5; static int - stencil_rt_id = Shader.PropertyToID("_Stencil"), fow_rt_id = Shader.PropertyToID("_FOW"), saturate_rt_id = Shader.PropertyToID("_Saturate"), visionSrcWS_id = Shader.PropertyToID("_VisionSource_WS"), @@ -65,84 +66,77 @@ static int private Material blur_mat; private static int BlurPyramidID; - private RenderTexture fow; + private RenderTexture fow_0; + private RenderTexture fow_1; [ImageEffectUsesCommandBuffer] private void OnRenderImage(RenderTexture source, RenderTexture destination) { - if (VisionSources.Count > 0) + if (VisionSources.Count > 0 && Occluders.Count > 0) { buffer.Clear(); buffer.SetGlobalVector(bounds_id, new Vector4(area.min.x, area.min.y, area.max.x, area.max.y)); - var desc = fow.descriptor; - //using stencil with command buffer isn't well documented - desc.graphicsFormat = UnityEngine.Experimental.Rendering.GraphicsFormat.R16_SFloat; - buffer.GetTemporaryRT(stencil_rt_id, desc); - buffer.SetRenderTarget(stencil_rt_id, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.DontCare); + var desc = fow_0.descriptor; + buffer.SetRenderTarget(fow_0, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.DontCare); buffer.ClearRenderTarget(false, true, Color.black); for (int i = 0; i < VisionSources.Count; i++) DrawVisionSource(VisionSources[i].position, radius); - buffer.SetRenderTarget(fow, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.DontCare); - buffer.SetGlobalVector(noiseParam_id, new Vector4(NoiseScale, 0, NoiseMagnitude)); buffer.SetGlobalFloat(blendFactor_id, BlendSpeed * Time.deltaTime); - buffer.Blit(stencil_rt_id, fow, fow_mat,(int)Pass.PostProcess); - Saturate(fow); - Blur(fow); + buffer.Blit(fow_0, fow_1, fow_mat, (int)Pass.PostProcess); + buffer.Blit(fow_1, fow_0, fow_mat, (int)Pass.Saturate); + buffer.Blit(fow_0, fow_1, fow_mat, (int)Pass.Saturate); + + Blur(fow_0); - buffer.ReleaseTemporaryRT(stencil_rt_id); - buffer.SetGlobalTexture(fow_rt_id, fow); + buffer.SetGlobalTexture(fow_rt_id, fow_0); if (mode == Mode.Overlay) FOWOverlay(source, destination); Graphics.ExecuteCommandBuffer(buffer); - } - if(mode == Mode.BlendWithShadow) + if (mode == Mode.BlendWithShadow) + Graphics.Blit(source, destination); + } + else Graphics.Blit(source, destination); } - void Saturate(RenderTexture source) - { - buffer.GetTemporaryRT(saturate_rt_id, source.descriptor); - //the normal blit could flip the texture vertically - buffer.Blit(source, saturate_rt_id, fow_mat, (int)Pass.Saturate); - buffer.Blit(saturate_rt_id, source, fow_mat, (int)Pass.Saturate); - buffer.ReleaseTemporaryRT(saturate_rt_id); - } - void DrawVisionSource(Vector3 pos,float radius) { - Vector3 pos_ss = default; - pos_ss.x = InvLerpUnlamp(area.min.x, area.max.x, pos.x); - pos_ss.y = InvLerpUnlamp(area.min.y, area.max.y, pos.z); - pos_ss.z = radius / area.height; - pos_ss *= GetResolution(resolution); + float dominant = Mathf.Max(area.width, area.height); + float texelPerUnit = GetResolution(resolution) / dominant; + Vector3 pos_ss = default; + pos_ss.x = (pos.x - area.xMin); + pos_ss.y = (pos.z - area.yMin); + pos_ss.z = radius; + pos_ss *= texelPerUnit; buffer.SetGlobalVector(visionSrcSS_id, pos_ss); buffer.SetGlobalVector(visionSrcWS_id, new Vector4(pos.x, pos.y, pos.z, radius)); + buffer.SetGlobalVector("_FOWParams", new Vector4(ShadowReach,0.1f,0,0)); float n = 0.01f; - float f = n + NearClipFromVS; + float f = n + CameraOffset; Matrix4x4 view = - Matrix4x4.TRS(new Vector3(area.center.x, pos.y + NearClipFromVS + n, area.center.y), + Matrix4x4.TRS(new Vector3(area.center.x, pos.y + f, area.center.y), Quaternion.LookRotation(Vector3.down, Vector3.forward), - Vector3.one); + Vector3.one).inverse; Matrix4x4 projection = default; projection.m00 = 2f/area.width; projection.m11 = -2f/area.height; - projection.m22 = 2f / (f - n); + projection.m22 = 2f / (f - n); projection.m23 = -(f + n) / (f - n); projection.m33 = 1f; - buffer.SetViewProjectionMatrices(view.inverse, projection); + buffer.SetViewProjectionMatrices(view, projection); var visionMatrix = Matrix4x4.TRS(pos, Quaternion.LookRotation(Vector3.up, Vector3.forward), @@ -150,8 +144,8 @@ void DrawVisionSource(Vector3 pos,float radius) buffer.DrawMesh(quad_mesh, visionMatrix, fow_mat, 0, (int)Pass.Vision); - pos.y = NearClipFromVS * 0.5f + pos.y; - Bounds bounds = new Bounds(pos, new Vector3(radius, NearClipFromVS, radius)); + pos.y = CameraOffset * 0.5f + pos.y; + Bounds bounds = new Bounds(pos, new Vector3(radius*2, CameraOffset, radius*2)); var cullResult = Cull(bounds); for (int i = 0; i < cullResult.Count; i++) @@ -190,28 +184,39 @@ private void OnEnable() for (int i = 1; i < MaxBlurItterations * 2; i++) Shader.PropertyToID("_BlurPyramid" + i); - var res = GetResolution(resolution); + var size = GetSize(); var desc = new RenderTextureDescriptor() { - width = res, - height = res, + width = size.x, + height = size.y, dimension = TextureDimension.Tex2D, - graphicsFormat = UnityEngine.Experimental.Rendering.GraphicsFormat.R16_SNorm, + graphicsFormat = UnityEngine.Experimental.Rendering.GraphicsFormat.R16_SFloat, volumeDepth = 1, msaaSamples = 1, depthBufferBits = 0, }; - fow = new RenderTexture(desc); + fow_0 = new RenderTexture(desc); + fow_1 = new RenderTexture(desc); quad_mesh = GetPrimitiveMesh(PrimitiveType.Quad); fow_mat = new Material(Shader.Find("Hidden/FOW")); buffer = new CommandBuffer() { name = "FOW" }; } + + Vector2Int GetSize() + { + var res = GetResolution(resolution); + return area.width > area.height ? + new Vector2Int(res, (int)(area.height * res / area.width) ) : + new Vector2Int((int)(area.width * res / area.height) , res) ; + } private void OnDisable() { - fow?.Release(); - SafeDestroy(fow); + fow_0?.Release(); + fow_1?.Release(); + SafeDestroy(fow_0); + SafeDestroy(fow_1); Shader.SetGlobalTexture(fow_rt_id, Texture2D.whiteTexture); SafeDestroy(blur_mat); @@ -225,7 +230,7 @@ private void Blur(RenderTargetIdentifier source) if (BlurItterations < 1) return; - var dsec = fow.descriptor; + var dsec = fow_0.descriptor; int height = GetResolution(resolution) / 2; int fromId = 0, toId = BlurPyramidID + 1; int i; @@ -285,11 +290,6 @@ private int GetResolution(Resolution resolution) return 0; } - float InvLerpUnlamp(float a, float b, float v) - { - return (v - a) / (b - a); - } - public List Cull(Bounds bounds) { var renderers = new List(); @@ -301,8 +301,6 @@ public List Cull(Bounds bounds) return renderers; } - Vector3 SetY(Vector3 vec, float value) { vec.y = value; return vec; } - Mesh GetPrimitiveMesh(PrimitiveType primitive) { var go = GameObject.CreatePrimitive(primitive); @@ -329,9 +327,9 @@ void SafeDestroy(Object obj) private void OnDrawGizmos() { Gizmos.color = Color.yellow; - Gizmos.DrawLine(new Vector3(area.min.x, NearClipFromVS, area.min.y), new Vector3(area.max.x, NearClipFromVS, area.min.y)); - Gizmos.DrawLine(new Vector3(area.max.x, NearClipFromVS, area.min.y), new Vector3(area.max.x, NearClipFromVS, area.max.y)); - Gizmos.DrawLine(new Vector3(area.max.x, NearClipFromVS, area.max.y), new Vector3(area.min.x, NearClipFromVS, area.max.y)); - Gizmos.DrawLine(new Vector3(area.min.x, NearClipFromVS, area.max.y), new Vector3(area.min.x, NearClipFromVS, area.min.y)); + Gizmos.DrawLine(new Vector3(area.min.x, CameraOffset, area.min.y), new Vector3(area.max.x, CameraOffset, area.min.y)); + Gizmos.DrawLine(new Vector3(area.max.x, CameraOffset, area.min.y), new Vector3(area.max.x, CameraOffset, area.max.y)); + Gizmos.DrawLine(new Vector3(area.max.x, CameraOffset, area.max.y), new Vector3(area.min.x, CameraOffset, area.max.y)); + Gizmos.DrawLine(new Vector3(area.min.x, CameraOffset, area.max.y), new Vector3(area.min.x, CameraOffset, area.min.y)); } } diff --git a/Assets/Example Scenes/Dungeon/FOW/Shaders/FOW.shader b/Assets/Example Scenes/Dungeon/FOW/Shaders/FOW.shader index 8345a27..6a9cd5e 100644 --- a/Assets/Example Scenes/Dungeon/FOW/Shaders/FOW.shader +++ b/Assets/Example Scenes/Dungeon/FOW/Shaders/FOW.shader @@ -37,7 +37,6 @@ Shader "Hidden/FOW" Name "Occluder" Blend one one - BlendOp RevSub Cull front CGPROGRAM @@ -50,7 +49,7 @@ Shader "Hidden/FOW" float frag(v2f i) : SV_Target { - return step(length(i.vertex.xy - _VisionSource_SS.xy),_VisionSource_SS.z); + return -step(length(i.vertex.xy - _VisionSource_SS.xy),_VisionSource_SS.z); } ENDCG @@ -76,8 +75,8 @@ Shader "Hidden/FOW" i.uv.y = 1 - i.uv.y; #endif float3 n = sdnoise(i.uv * _NoiseParam.x + _NoiseParam.y)* _NoiseParam.z; - float s = _Stencil.Load(int3(floor(i.uv.x* _Stencil_TexelSize.z + n.y),floor(i.uv.y* _Stencil_TexelSize.w + n.z),0)).r; - float v = step(0.00001, s); + float s = tex2D(_MainTex, i.uv + n.yz); + float v = step(0.00001,s); return (v * 2 - 1) * _BlendFactor; } diff --git a/Assets/Example Scenes/Dungeon/FOW/Shaders/FOWINC.cginc b/Assets/Example Scenes/Dungeon/FOW/Shaders/FOWINC.cginc index 6f7143c..fc51854 100644 --- a/Assets/Example Scenes/Dungeon/FOW/Shaders/FOWINC.cginc +++ b/Assets/Example Scenes/Dungeon/FOW/Shaders/FOWINC.cginc @@ -15,13 +15,12 @@ struct v2f sampler2D _MainTex; float4 _MainTex_ST; - -Texture2D _Stencil; -float4 _Stencil_TexelSize; +float4 _MainTex_TexelSize; float4 _Bounds; float4 _VisionSource_WS; float4 _VisionSource_SS; +float4 _FOWParams; // (scale, offset, magnitude) float4 _NoiseParam; float _BlendFactor; @@ -44,8 +43,8 @@ v2f vert_occluder(appdata v) v2f o = (v2f)0; float4 wpos = mul(UNITY_MATRIX_M, v.vertex); float3 delta = wpos - _VisionSource_WS; - float d = exp(delta.y*2); - delta.y = 0; + float d = max(0,exp(delta.y) - 1)* _FOWParams.x + _FOWParams.y; + delta.y = 0; wpos.xyz += normalize(delta) * d ; o.vertex = mul(UNITY_MATRIX_VP, wpos); return o; diff --git a/Assets/Example Scenes/Runtime Example/Runtime Example.unity b/Assets/Example Scenes/Runtime Example/Runtime Example.unity index bae19d7..aeb27d0 100644 --- a/Assets/Example Scenes/Runtime Example/Runtime Example.unity +++ b/Assets/Example Scenes/Runtime Example/Runtime Example.unity @@ -25,8 +25,8 @@ RenderSettings: m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 m_AmbientMode: 0 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_SubtractiveShadowColor: {r: 0.6132076, g: 0.6132076, b: 0.6132076, a: 1} + m_SkyboxMaterial: {fileID: 0} m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -123,6 +123,82 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &185468279 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 185468280} + - component: {fileID: 185468282} + - component: {fileID: 185468281} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &185468280 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185468279} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1308271314} + m_Father: {fileID: 1058073928} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 20, y: -70} + m_SizeDelta: {x: 300, y: 50} + m_Pivot: {x: 0, y: 0} +--- !u!114 &185468281 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185468279} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &185468282 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185468279} + m_CullTransparentMesh: 1 --- !u!1 &500168094 GameObject: m_ObjectHideFlags: 0 @@ -246,7 +322,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1058073928} - m_RootOrder: 1 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &664574637 MonoBehaviour: @@ -373,8 +449,8 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} m_Children: - - {fileID: 1308271314} - {fileID: 664574636} + - {fileID: 185468280} m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -408,18 +484,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1308271313} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 1058073928} + m_Father: {fileID: 185468280} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 25, y: -25} - m_SizeDelta: {x: 400, y: 40} - m_Pivot: {x: 0, y: 1} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1308271315 MonoBehaviour: m_ObjectHideFlags: 0 @@ -444,7 +520,7 @@ MonoBehaviour: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} m_FontSize: 32 m_FontStyle: 0 - m_BestFit: 0 + m_BestFit: 1 m_MinSize: 3 m_MaxSize: 40 m_Alignment: 0 @@ -498,7 +574,7 @@ Camera: m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_BackGroundColor: {r: 0.4339178, g: 0.44494137, b: 0.46226418, a: 0} m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0