diff --git a/Assets/Player/Player.cs b/Assets/Player/Player.cs index 31941eb..95b9a09 100644 --- a/Assets/Player/Player.cs +++ b/Assets/Player/Player.cs @@ -18,6 +18,9 @@ private UIHookup uiHookup; private CharacterController charControl; + + private PlayerFade playerFade; + private Camera playerFadeCam; // Start is called before the first frame update void Awake() { @@ -41,6 +44,9 @@ charControl.enabled = true; bottomOffset = -charControl.center.y + charControl.height * 0.5f; + + playerFade = FindObjectOfType(); + playerFadeCam = playerFade.GetComponent(); } public float Speed; @@ -50,6 +56,8 @@ public float MoveTouchFullZone = 0.7f; public float MoveTouchRadiusSize = 1.45f; + private float viewRadius = 4; + // Update is called once per frame void Update() { @@ -116,6 +124,20 @@ wantMove.y = -0.1f * Time.deltaTime; CollisionFlags flags = charControl.Move(wantMove); } + + if (playerFade != null && playerFadeCam != null) + { + Vector3 playerScreen3 = playerFadeCam.WorldToScreenPoint(transform.position); + Vector3 edgeScreen3 = playerFadeCam.WorldToScreenPoint(transform.position + playerFadeCam.transform.right * viewRadius); + + Vector2 playerScreen2 = new Vector2(playerScreen3.x / playerFadeCam.pixelWidth, playerScreen3.y / playerFadeCam.pixelHeight); + Vector2 edgeScreen2 = new Vector2(edgeScreen3.x / playerFadeCam.pixelWidth, edgeScreen3.y / playerFadeCam.pixelHeight); + + float radius = (edgeScreen2 - playerScreen2).magnitude; + + playerFade.PlayerFadeMat.SetVector("_MainCameraPos", new Vector4(playerScreen2.x, playerScreen2.y, 0, 0)); + playerFade.PlayerFadeMat.SetFloat("_Radius", radius); + } } } } diff --git a/Assets/Player/Player.cs b/Assets/Player/Player.cs index 31941eb..95b9a09 100644 --- a/Assets/Player/Player.cs +++ b/Assets/Player/Player.cs @@ -18,6 +18,9 @@ private UIHookup uiHookup; private CharacterController charControl; + + private PlayerFade playerFade; + private Camera playerFadeCam; // Start is called before the first frame update void Awake() { @@ -41,6 +44,9 @@ charControl.enabled = true; bottomOffset = -charControl.center.y + charControl.height * 0.5f; + + playerFade = FindObjectOfType(); + playerFadeCam = playerFade.GetComponent(); } public float Speed; @@ -50,6 +56,8 @@ public float MoveTouchFullZone = 0.7f; public float MoveTouchRadiusSize = 1.45f; + private float viewRadius = 4; + // Update is called once per frame void Update() { @@ -116,6 +124,20 @@ wantMove.y = -0.1f * Time.deltaTime; CollisionFlags flags = charControl.Move(wantMove); } + + if (playerFade != null && playerFadeCam != null) + { + Vector3 playerScreen3 = playerFadeCam.WorldToScreenPoint(transform.position); + Vector3 edgeScreen3 = playerFadeCam.WorldToScreenPoint(transform.position + playerFadeCam.transform.right * viewRadius); + + Vector2 playerScreen2 = new Vector2(playerScreen3.x / playerFadeCam.pixelWidth, playerScreen3.y / playerFadeCam.pixelHeight); + Vector2 edgeScreen2 = new Vector2(edgeScreen3.x / playerFadeCam.pixelWidth, edgeScreen3.y / playerFadeCam.pixelHeight); + + float radius = (edgeScreen2 - playerScreen2).magnitude; + + playerFade.PlayerFadeMat.SetVector("_MainCameraPos", new Vector4(playerScreen2.x, playerScreen2.y, 0, 0)); + playerFade.PlayerFadeMat.SetFloat("_Radius", radius); + } } } } diff --git a/Assets/Player/Player.prefab b/Assets/Player/Player.prefab index 916810b..f7e2e0c 100644 --- a/Assets/Player/Player.prefab +++ b/Assets/Player/Player.prefab @@ -78,7 +78,7 @@ m_EditorClassIdentifier: ForceLocal: 0 Speed: 8 - MoveTouchFullZone: 0.7 + MoveTouchFullZone: 0.6 MoveTouchRadiusSize: 1.45 --- !u!143 &446445004819590403 CharacterController: @@ -198,6 +198,16 @@ m_Modification: m_TransformParent: {fileID: 1845617020408148629} m_Modifications: + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7996748540272408192, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} propertyPath: m_Name @@ -278,6 +288,16 @@ propertyPath: m_Color.b value: 0.41714135 objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} --- !u!1 &1845617019273958004 stripped diff --git a/Assets/Player/Player.cs b/Assets/Player/Player.cs index 31941eb..95b9a09 100644 --- a/Assets/Player/Player.cs +++ b/Assets/Player/Player.cs @@ -18,6 +18,9 @@ private UIHookup uiHookup; private CharacterController charControl; + + private PlayerFade playerFade; + private Camera playerFadeCam; // Start is called before the first frame update void Awake() { @@ -41,6 +44,9 @@ charControl.enabled = true; bottomOffset = -charControl.center.y + charControl.height * 0.5f; + + playerFade = FindObjectOfType(); + playerFadeCam = playerFade.GetComponent(); } public float Speed; @@ -50,6 +56,8 @@ public float MoveTouchFullZone = 0.7f; public float MoveTouchRadiusSize = 1.45f; + private float viewRadius = 4; + // Update is called once per frame void Update() { @@ -116,6 +124,20 @@ wantMove.y = -0.1f * Time.deltaTime; CollisionFlags flags = charControl.Move(wantMove); } + + if (playerFade != null && playerFadeCam != null) + { + Vector3 playerScreen3 = playerFadeCam.WorldToScreenPoint(transform.position); + Vector3 edgeScreen3 = playerFadeCam.WorldToScreenPoint(transform.position + playerFadeCam.transform.right * viewRadius); + + Vector2 playerScreen2 = new Vector2(playerScreen3.x / playerFadeCam.pixelWidth, playerScreen3.y / playerFadeCam.pixelHeight); + Vector2 edgeScreen2 = new Vector2(edgeScreen3.x / playerFadeCam.pixelWidth, edgeScreen3.y / playerFadeCam.pixelHeight); + + float radius = (edgeScreen2 - playerScreen2).magnitude; + + playerFade.PlayerFadeMat.SetVector("_MainCameraPos", new Vector4(playerScreen2.x, playerScreen2.y, 0, 0)); + playerFade.PlayerFadeMat.SetFloat("_Radius", radius); + } } } } diff --git a/Assets/Player/Player.prefab b/Assets/Player/Player.prefab index 916810b..f7e2e0c 100644 --- a/Assets/Player/Player.prefab +++ b/Assets/Player/Player.prefab @@ -78,7 +78,7 @@ m_EditorClassIdentifier: ForceLocal: 0 Speed: 8 - MoveTouchFullZone: 0.7 + MoveTouchFullZone: 0.6 MoveTouchRadiusSize: 1.45 --- !u!143 &446445004819590403 CharacterController: @@ -198,6 +198,16 @@ m_Modification: m_TransformParent: {fileID: 1845617020408148629} m_Modifications: + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7996748540272408192, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} propertyPath: m_Name @@ -278,6 +288,16 @@ propertyPath: m_Color.b value: 0.41714135 objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} --- !u!1 &1845617019273958004 stripped diff --git a/Assets/Scenes/Lobby.unity b/Assets/Scenes/Lobby.unity index 4f4bfe0..990115f 100644 --- a/Assets/Scenes/Lobby.unity +++ b/Assets/Scenes/Lobby.unity @@ -597,6 +597,7 @@ - component: {fileID: 519420032} - component: {fileID: 519420031} - component: {fileID: 519420029} + - component: {fileID: 519420030} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -612,6 +613,19 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 519420028} m_Enabled: 1 +--- !u!114 &519420030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e01fa5ea789417147bb72cb28e84c23e, type: 3} + m_Name: + m_EditorClassIdentifier: + PlayerFadeMat: {fileID: 2100000, guid: 105f7f8ebec08614ca0a3fe6ce6a03cb, type: 2} --- !u!20 &519420031 Camera: m_ObjectHideFlags: 0 @@ -855,72 +869,6 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 731784984} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &755741635 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 755741638} - - component: {fileID: 755741637} - - component: {fileID: 755741636} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &755741636 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &755741637 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &755741638 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &797860887 GameObject: m_ObjectHideFlags: 0 @@ -1552,7 +1500,7 @@ m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2071196361 GameObject: diff --git a/Assets/Player/Player.cs b/Assets/Player/Player.cs index 31941eb..95b9a09 100644 --- a/Assets/Player/Player.cs +++ b/Assets/Player/Player.cs @@ -18,6 +18,9 @@ private UIHookup uiHookup; private CharacterController charControl; + + private PlayerFade playerFade; + private Camera playerFadeCam; // Start is called before the first frame update void Awake() { @@ -41,6 +44,9 @@ charControl.enabled = true; bottomOffset = -charControl.center.y + charControl.height * 0.5f; + + playerFade = FindObjectOfType(); + playerFadeCam = playerFade.GetComponent(); } public float Speed; @@ -50,6 +56,8 @@ public float MoveTouchFullZone = 0.7f; public float MoveTouchRadiusSize = 1.45f; + private float viewRadius = 4; + // Update is called once per frame void Update() { @@ -116,6 +124,20 @@ wantMove.y = -0.1f * Time.deltaTime; CollisionFlags flags = charControl.Move(wantMove); } + + if (playerFade != null && playerFadeCam != null) + { + Vector3 playerScreen3 = playerFadeCam.WorldToScreenPoint(transform.position); + Vector3 edgeScreen3 = playerFadeCam.WorldToScreenPoint(transform.position + playerFadeCam.transform.right * viewRadius); + + Vector2 playerScreen2 = new Vector2(playerScreen3.x / playerFadeCam.pixelWidth, playerScreen3.y / playerFadeCam.pixelHeight); + Vector2 edgeScreen2 = new Vector2(edgeScreen3.x / playerFadeCam.pixelWidth, edgeScreen3.y / playerFadeCam.pixelHeight); + + float radius = (edgeScreen2 - playerScreen2).magnitude; + + playerFade.PlayerFadeMat.SetVector("_MainCameraPos", new Vector4(playerScreen2.x, playerScreen2.y, 0, 0)); + playerFade.PlayerFadeMat.SetFloat("_Radius", radius); + } } } } diff --git a/Assets/Player/Player.prefab b/Assets/Player/Player.prefab index 916810b..f7e2e0c 100644 --- a/Assets/Player/Player.prefab +++ b/Assets/Player/Player.prefab @@ -78,7 +78,7 @@ m_EditorClassIdentifier: ForceLocal: 0 Speed: 8 - MoveTouchFullZone: 0.7 + MoveTouchFullZone: 0.6 MoveTouchRadiusSize: 1.45 --- !u!143 &446445004819590403 CharacterController: @@ -198,6 +198,16 @@ m_Modification: m_TransformParent: {fileID: 1845617020408148629} m_Modifications: + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7996748540272408192, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} propertyPath: m_Name @@ -278,6 +288,16 @@ propertyPath: m_Color.b value: 0.41714135 objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} --- !u!1 &1845617019273958004 stripped diff --git a/Assets/Scenes/Lobby.unity b/Assets/Scenes/Lobby.unity index 4f4bfe0..990115f 100644 --- a/Assets/Scenes/Lobby.unity +++ b/Assets/Scenes/Lobby.unity @@ -597,6 +597,7 @@ - component: {fileID: 519420032} - component: {fileID: 519420031} - component: {fileID: 519420029} + - component: {fileID: 519420030} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -612,6 +613,19 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 519420028} m_Enabled: 1 +--- !u!114 &519420030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e01fa5ea789417147bb72cb28e84c23e, type: 3} + m_Name: + m_EditorClassIdentifier: + PlayerFadeMat: {fileID: 2100000, guid: 105f7f8ebec08614ca0a3fe6ce6a03cb, type: 2} --- !u!20 &519420031 Camera: m_ObjectHideFlags: 0 @@ -855,72 +869,6 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 731784984} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &755741635 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 755741638} - - component: {fileID: 755741637} - - component: {fileID: 755741636} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &755741636 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &755741637 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &755741638 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &797860887 GameObject: m_ObjectHideFlags: 0 @@ -1552,7 +1500,7 @@ m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2071196361 GameObject: diff --git a/Assets/Shaders/PlayerFade.cs b/Assets/Shaders/PlayerFade.cs new file mode 100644 index 0000000..9ad52b9 --- /dev/null +++ b/Assets/Shaders/PlayerFade.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PlayerFade : MonoBehaviour +{ + public Material PlayerFadeMat; + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + + void OnRenderImage(RenderTexture source, RenderTexture destination) + { + RenderTexture old = RenderTexture.active; + RenderTexture.active = destination; + + Graphics.Blit(source, PlayerFadeMat); + + RenderTexture.active = old; + } +} diff --git a/Assets/Player/Player.cs b/Assets/Player/Player.cs index 31941eb..95b9a09 100644 --- a/Assets/Player/Player.cs +++ b/Assets/Player/Player.cs @@ -18,6 +18,9 @@ private UIHookup uiHookup; private CharacterController charControl; + + private PlayerFade playerFade; + private Camera playerFadeCam; // Start is called before the first frame update void Awake() { @@ -41,6 +44,9 @@ charControl.enabled = true; bottomOffset = -charControl.center.y + charControl.height * 0.5f; + + playerFade = FindObjectOfType(); + playerFadeCam = playerFade.GetComponent(); } public float Speed; @@ -50,6 +56,8 @@ public float MoveTouchFullZone = 0.7f; public float MoveTouchRadiusSize = 1.45f; + private float viewRadius = 4; + // Update is called once per frame void Update() { @@ -116,6 +124,20 @@ wantMove.y = -0.1f * Time.deltaTime; CollisionFlags flags = charControl.Move(wantMove); } + + if (playerFade != null && playerFadeCam != null) + { + Vector3 playerScreen3 = playerFadeCam.WorldToScreenPoint(transform.position); + Vector3 edgeScreen3 = playerFadeCam.WorldToScreenPoint(transform.position + playerFadeCam.transform.right * viewRadius); + + Vector2 playerScreen2 = new Vector2(playerScreen3.x / playerFadeCam.pixelWidth, playerScreen3.y / playerFadeCam.pixelHeight); + Vector2 edgeScreen2 = new Vector2(edgeScreen3.x / playerFadeCam.pixelWidth, edgeScreen3.y / playerFadeCam.pixelHeight); + + float radius = (edgeScreen2 - playerScreen2).magnitude; + + playerFade.PlayerFadeMat.SetVector("_MainCameraPos", new Vector4(playerScreen2.x, playerScreen2.y, 0, 0)); + playerFade.PlayerFadeMat.SetFloat("_Radius", radius); + } } } } diff --git a/Assets/Player/Player.prefab b/Assets/Player/Player.prefab index 916810b..f7e2e0c 100644 --- a/Assets/Player/Player.prefab +++ b/Assets/Player/Player.prefab @@ -78,7 +78,7 @@ m_EditorClassIdentifier: ForceLocal: 0 Speed: 8 - MoveTouchFullZone: 0.7 + MoveTouchFullZone: 0.6 MoveTouchRadiusSize: 1.45 --- !u!143 &446445004819590403 CharacterController: @@ -198,6 +198,16 @@ m_Modification: m_TransformParent: {fileID: 1845617020408148629} m_Modifications: + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7996748540272408192, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} propertyPath: m_Name @@ -278,6 +288,16 @@ propertyPath: m_Color.b value: 0.41714135 objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} --- !u!1 &1845617019273958004 stripped diff --git a/Assets/Scenes/Lobby.unity b/Assets/Scenes/Lobby.unity index 4f4bfe0..990115f 100644 --- a/Assets/Scenes/Lobby.unity +++ b/Assets/Scenes/Lobby.unity @@ -597,6 +597,7 @@ - component: {fileID: 519420032} - component: {fileID: 519420031} - component: {fileID: 519420029} + - component: {fileID: 519420030} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -612,6 +613,19 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 519420028} m_Enabled: 1 +--- !u!114 &519420030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e01fa5ea789417147bb72cb28e84c23e, type: 3} + m_Name: + m_EditorClassIdentifier: + PlayerFadeMat: {fileID: 2100000, guid: 105f7f8ebec08614ca0a3fe6ce6a03cb, type: 2} --- !u!20 &519420031 Camera: m_ObjectHideFlags: 0 @@ -855,72 +869,6 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 731784984} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &755741635 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 755741638} - - component: {fileID: 755741637} - - component: {fileID: 755741636} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &755741636 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &755741637 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &755741638 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &797860887 GameObject: m_ObjectHideFlags: 0 @@ -1552,7 +1500,7 @@ m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2071196361 GameObject: diff --git a/Assets/Shaders/PlayerFade.cs b/Assets/Shaders/PlayerFade.cs new file mode 100644 index 0000000..9ad52b9 --- /dev/null +++ b/Assets/Shaders/PlayerFade.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PlayerFade : MonoBehaviour +{ + public Material PlayerFadeMat; + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + + void OnRenderImage(RenderTexture source, RenderTexture destination) + { + RenderTexture old = RenderTexture.active; + RenderTexture.active = destination; + + Graphics.Blit(source, PlayerFadeMat); + + RenderTexture.active = old; + } +} diff --git a/Assets/Shaders/PlayerFade.cs.meta b/Assets/Shaders/PlayerFade.cs.meta new file mode 100644 index 0000000..ae1f41d --- /dev/null +++ b/Assets/Shaders/PlayerFade.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e01fa5ea789417147bb72cb28e84c23e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Player/Player.cs b/Assets/Player/Player.cs index 31941eb..95b9a09 100644 --- a/Assets/Player/Player.cs +++ b/Assets/Player/Player.cs @@ -18,6 +18,9 @@ private UIHookup uiHookup; private CharacterController charControl; + + private PlayerFade playerFade; + private Camera playerFadeCam; // Start is called before the first frame update void Awake() { @@ -41,6 +44,9 @@ charControl.enabled = true; bottomOffset = -charControl.center.y + charControl.height * 0.5f; + + playerFade = FindObjectOfType(); + playerFadeCam = playerFade.GetComponent(); } public float Speed; @@ -50,6 +56,8 @@ public float MoveTouchFullZone = 0.7f; public float MoveTouchRadiusSize = 1.45f; + private float viewRadius = 4; + // Update is called once per frame void Update() { @@ -116,6 +124,20 @@ wantMove.y = -0.1f * Time.deltaTime; CollisionFlags flags = charControl.Move(wantMove); } + + if (playerFade != null && playerFadeCam != null) + { + Vector3 playerScreen3 = playerFadeCam.WorldToScreenPoint(transform.position); + Vector3 edgeScreen3 = playerFadeCam.WorldToScreenPoint(transform.position + playerFadeCam.transform.right * viewRadius); + + Vector2 playerScreen2 = new Vector2(playerScreen3.x / playerFadeCam.pixelWidth, playerScreen3.y / playerFadeCam.pixelHeight); + Vector2 edgeScreen2 = new Vector2(edgeScreen3.x / playerFadeCam.pixelWidth, edgeScreen3.y / playerFadeCam.pixelHeight); + + float radius = (edgeScreen2 - playerScreen2).magnitude; + + playerFade.PlayerFadeMat.SetVector("_MainCameraPos", new Vector4(playerScreen2.x, playerScreen2.y, 0, 0)); + playerFade.PlayerFadeMat.SetFloat("_Radius", radius); + } } } } diff --git a/Assets/Player/Player.prefab b/Assets/Player/Player.prefab index 916810b..f7e2e0c 100644 --- a/Assets/Player/Player.prefab +++ b/Assets/Player/Player.prefab @@ -78,7 +78,7 @@ m_EditorClassIdentifier: ForceLocal: 0 Speed: 8 - MoveTouchFullZone: 0.7 + MoveTouchFullZone: 0.6 MoveTouchRadiusSize: 1.45 --- !u!143 &446445004819590403 CharacterController: @@ -198,6 +198,16 @@ m_Modification: m_TransformParent: {fileID: 1845617020408148629} m_Modifications: + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7996748540272408192, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} propertyPath: m_Name @@ -278,6 +288,16 @@ propertyPath: m_Color.b value: 0.41714135 objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} --- !u!1 &1845617019273958004 stripped diff --git a/Assets/Scenes/Lobby.unity b/Assets/Scenes/Lobby.unity index 4f4bfe0..990115f 100644 --- a/Assets/Scenes/Lobby.unity +++ b/Assets/Scenes/Lobby.unity @@ -597,6 +597,7 @@ - component: {fileID: 519420032} - component: {fileID: 519420031} - component: {fileID: 519420029} + - component: {fileID: 519420030} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -612,6 +613,19 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 519420028} m_Enabled: 1 +--- !u!114 &519420030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e01fa5ea789417147bb72cb28e84c23e, type: 3} + m_Name: + m_EditorClassIdentifier: + PlayerFadeMat: {fileID: 2100000, guid: 105f7f8ebec08614ca0a3fe6ce6a03cb, type: 2} --- !u!20 &519420031 Camera: m_ObjectHideFlags: 0 @@ -855,72 +869,6 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 731784984} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &755741635 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 755741638} - - component: {fileID: 755741637} - - component: {fileID: 755741636} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &755741636 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &755741637 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &755741638 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &797860887 GameObject: m_ObjectHideFlags: 0 @@ -1552,7 +1500,7 @@ m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2071196361 GameObject: diff --git a/Assets/Shaders/PlayerFade.cs b/Assets/Shaders/PlayerFade.cs new file mode 100644 index 0000000..9ad52b9 --- /dev/null +++ b/Assets/Shaders/PlayerFade.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PlayerFade : MonoBehaviour +{ + public Material PlayerFadeMat; + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + + void OnRenderImage(RenderTexture source, RenderTexture destination) + { + RenderTexture old = RenderTexture.active; + RenderTexture.active = destination; + + Graphics.Blit(source, PlayerFadeMat); + + RenderTexture.active = old; + } +} diff --git a/Assets/Shaders/PlayerFade.cs.meta b/Assets/Shaders/PlayerFade.cs.meta new file mode 100644 index 0000000..ae1f41d --- /dev/null +++ b/Assets/Shaders/PlayerFade.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e01fa5ea789417147bb72cb28e84c23e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/PlayerFade.mat b/Assets/Shaders/PlayerFade.mat new file mode 100644 index 0000000..c184b7a --- /dev/null +++ b/Assets/Shaders/PlayerFade.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PlayerFade + m_Shader: {fileID: 4800000, guid: 93ffaa320c96cfd41b6a28092154d1eb, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _Falloff: 0.9 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Radius: 0.13964117 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _MainCameraPos: {r: 0.5594894, g: 0.47476926, b: 0, a: 0} diff --git a/Assets/Player/Player.cs b/Assets/Player/Player.cs index 31941eb..95b9a09 100644 --- a/Assets/Player/Player.cs +++ b/Assets/Player/Player.cs @@ -18,6 +18,9 @@ private UIHookup uiHookup; private CharacterController charControl; + + private PlayerFade playerFade; + private Camera playerFadeCam; // Start is called before the first frame update void Awake() { @@ -41,6 +44,9 @@ charControl.enabled = true; bottomOffset = -charControl.center.y + charControl.height * 0.5f; + + playerFade = FindObjectOfType(); + playerFadeCam = playerFade.GetComponent(); } public float Speed; @@ -50,6 +56,8 @@ public float MoveTouchFullZone = 0.7f; public float MoveTouchRadiusSize = 1.45f; + private float viewRadius = 4; + // Update is called once per frame void Update() { @@ -116,6 +124,20 @@ wantMove.y = -0.1f * Time.deltaTime; CollisionFlags flags = charControl.Move(wantMove); } + + if (playerFade != null && playerFadeCam != null) + { + Vector3 playerScreen3 = playerFadeCam.WorldToScreenPoint(transform.position); + Vector3 edgeScreen3 = playerFadeCam.WorldToScreenPoint(transform.position + playerFadeCam.transform.right * viewRadius); + + Vector2 playerScreen2 = new Vector2(playerScreen3.x / playerFadeCam.pixelWidth, playerScreen3.y / playerFadeCam.pixelHeight); + Vector2 edgeScreen2 = new Vector2(edgeScreen3.x / playerFadeCam.pixelWidth, edgeScreen3.y / playerFadeCam.pixelHeight); + + float radius = (edgeScreen2 - playerScreen2).magnitude; + + playerFade.PlayerFadeMat.SetVector("_MainCameraPos", new Vector4(playerScreen2.x, playerScreen2.y, 0, 0)); + playerFade.PlayerFadeMat.SetFloat("_Radius", radius); + } } } } diff --git a/Assets/Player/Player.prefab b/Assets/Player/Player.prefab index 916810b..f7e2e0c 100644 --- a/Assets/Player/Player.prefab +++ b/Assets/Player/Player.prefab @@ -78,7 +78,7 @@ m_EditorClassIdentifier: ForceLocal: 0 Speed: 8 - MoveTouchFullZone: 0.7 + MoveTouchFullZone: 0.6 MoveTouchRadiusSize: 1.45 --- !u!143 &446445004819590403 CharacterController: @@ -198,6 +198,16 @@ m_Modification: m_TransformParent: {fileID: 1845617020408148629} m_Modifications: + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7996748540272408192, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} propertyPath: m_Name @@ -278,6 +288,16 @@ propertyPath: m_Color.b value: 0.41714135 objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} --- !u!1 &1845617019273958004 stripped diff --git a/Assets/Scenes/Lobby.unity b/Assets/Scenes/Lobby.unity index 4f4bfe0..990115f 100644 --- a/Assets/Scenes/Lobby.unity +++ b/Assets/Scenes/Lobby.unity @@ -597,6 +597,7 @@ - component: {fileID: 519420032} - component: {fileID: 519420031} - component: {fileID: 519420029} + - component: {fileID: 519420030} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -612,6 +613,19 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 519420028} m_Enabled: 1 +--- !u!114 &519420030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e01fa5ea789417147bb72cb28e84c23e, type: 3} + m_Name: + m_EditorClassIdentifier: + PlayerFadeMat: {fileID: 2100000, guid: 105f7f8ebec08614ca0a3fe6ce6a03cb, type: 2} --- !u!20 &519420031 Camera: m_ObjectHideFlags: 0 @@ -855,72 +869,6 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 731784984} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &755741635 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 755741638} - - component: {fileID: 755741637} - - component: {fileID: 755741636} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &755741636 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &755741637 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &755741638 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &797860887 GameObject: m_ObjectHideFlags: 0 @@ -1552,7 +1500,7 @@ m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2071196361 GameObject: diff --git a/Assets/Shaders/PlayerFade.cs b/Assets/Shaders/PlayerFade.cs new file mode 100644 index 0000000..9ad52b9 --- /dev/null +++ b/Assets/Shaders/PlayerFade.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PlayerFade : MonoBehaviour +{ + public Material PlayerFadeMat; + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + + void OnRenderImage(RenderTexture source, RenderTexture destination) + { + RenderTexture old = RenderTexture.active; + RenderTexture.active = destination; + + Graphics.Blit(source, PlayerFadeMat); + + RenderTexture.active = old; + } +} diff --git a/Assets/Shaders/PlayerFade.cs.meta b/Assets/Shaders/PlayerFade.cs.meta new file mode 100644 index 0000000..ae1f41d --- /dev/null +++ b/Assets/Shaders/PlayerFade.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e01fa5ea789417147bb72cb28e84c23e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/PlayerFade.mat b/Assets/Shaders/PlayerFade.mat new file mode 100644 index 0000000..c184b7a --- /dev/null +++ b/Assets/Shaders/PlayerFade.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PlayerFade + m_Shader: {fileID: 4800000, guid: 93ffaa320c96cfd41b6a28092154d1eb, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _Falloff: 0.9 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Radius: 0.13964117 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _MainCameraPos: {r: 0.5594894, g: 0.47476926, b: 0, a: 0} diff --git a/Assets/Shaders/PlayerFade.mat.meta b/Assets/Shaders/PlayerFade.mat.meta new file mode 100644 index 0000000..821d5d4 --- /dev/null +++ b/Assets/Shaders/PlayerFade.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 105f7f8ebec08614ca0a3fe6ce6a03cb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Player/Player.cs b/Assets/Player/Player.cs index 31941eb..95b9a09 100644 --- a/Assets/Player/Player.cs +++ b/Assets/Player/Player.cs @@ -18,6 +18,9 @@ private UIHookup uiHookup; private CharacterController charControl; + + private PlayerFade playerFade; + private Camera playerFadeCam; // Start is called before the first frame update void Awake() { @@ -41,6 +44,9 @@ charControl.enabled = true; bottomOffset = -charControl.center.y + charControl.height * 0.5f; + + playerFade = FindObjectOfType(); + playerFadeCam = playerFade.GetComponent(); } public float Speed; @@ -50,6 +56,8 @@ public float MoveTouchFullZone = 0.7f; public float MoveTouchRadiusSize = 1.45f; + private float viewRadius = 4; + // Update is called once per frame void Update() { @@ -116,6 +124,20 @@ wantMove.y = -0.1f * Time.deltaTime; CollisionFlags flags = charControl.Move(wantMove); } + + if (playerFade != null && playerFadeCam != null) + { + Vector3 playerScreen3 = playerFadeCam.WorldToScreenPoint(transform.position); + Vector3 edgeScreen3 = playerFadeCam.WorldToScreenPoint(transform.position + playerFadeCam.transform.right * viewRadius); + + Vector2 playerScreen2 = new Vector2(playerScreen3.x / playerFadeCam.pixelWidth, playerScreen3.y / playerFadeCam.pixelHeight); + Vector2 edgeScreen2 = new Vector2(edgeScreen3.x / playerFadeCam.pixelWidth, edgeScreen3.y / playerFadeCam.pixelHeight); + + float radius = (edgeScreen2 - playerScreen2).magnitude; + + playerFade.PlayerFadeMat.SetVector("_MainCameraPos", new Vector4(playerScreen2.x, playerScreen2.y, 0, 0)); + playerFade.PlayerFadeMat.SetFloat("_Radius", radius); + } } } } diff --git a/Assets/Player/Player.prefab b/Assets/Player/Player.prefab index 916810b..f7e2e0c 100644 --- a/Assets/Player/Player.prefab +++ b/Assets/Player/Player.prefab @@ -78,7 +78,7 @@ m_EditorClassIdentifier: ForceLocal: 0 Speed: 8 - MoveTouchFullZone: 0.7 + MoveTouchFullZone: 0.6 MoveTouchRadiusSize: 1.45 --- !u!143 &446445004819590403 CharacterController: @@ -198,6 +198,16 @@ m_Modification: m_TransformParent: {fileID: 1845617020408148629} m_Modifications: + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7996748540272408192, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} propertyPath: m_Name @@ -278,6 +288,16 @@ propertyPath: m_Color.b value: 0.41714135 objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} --- !u!1 &1845617019273958004 stripped diff --git a/Assets/Scenes/Lobby.unity b/Assets/Scenes/Lobby.unity index 4f4bfe0..990115f 100644 --- a/Assets/Scenes/Lobby.unity +++ b/Assets/Scenes/Lobby.unity @@ -597,6 +597,7 @@ - component: {fileID: 519420032} - component: {fileID: 519420031} - component: {fileID: 519420029} + - component: {fileID: 519420030} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -612,6 +613,19 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 519420028} m_Enabled: 1 +--- !u!114 &519420030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e01fa5ea789417147bb72cb28e84c23e, type: 3} + m_Name: + m_EditorClassIdentifier: + PlayerFadeMat: {fileID: 2100000, guid: 105f7f8ebec08614ca0a3fe6ce6a03cb, type: 2} --- !u!20 &519420031 Camera: m_ObjectHideFlags: 0 @@ -855,72 +869,6 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 731784984} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &755741635 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 755741638} - - component: {fileID: 755741637} - - component: {fileID: 755741636} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &755741636 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &755741637 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &755741638 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &797860887 GameObject: m_ObjectHideFlags: 0 @@ -1552,7 +1500,7 @@ m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2071196361 GameObject: diff --git a/Assets/Shaders/PlayerFade.cs b/Assets/Shaders/PlayerFade.cs new file mode 100644 index 0000000..9ad52b9 --- /dev/null +++ b/Assets/Shaders/PlayerFade.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PlayerFade : MonoBehaviour +{ + public Material PlayerFadeMat; + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + + void OnRenderImage(RenderTexture source, RenderTexture destination) + { + RenderTexture old = RenderTexture.active; + RenderTexture.active = destination; + + Graphics.Blit(source, PlayerFadeMat); + + RenderTexture.active = old; + } +} diff --git a/Assets/Shaders/PlayerFade.cs.meta b/Assets/Shaders/PlayerFade.cs.meta new file mode 100644 index 0000000..ae1f41d --- /dev/null +++ b/Assets/Shaders/PlayerFade.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e01fa5ea789417147bb72cb28e84c23e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/PlayerFade.mat b/Assets/Shaders/PlayerFade.mat new file mode 100644 index 0000000..c184b7a --- /dev/null +++ b/Assets/Shaders/PlayerFade.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PlayerFade + m_Shader: {fileID: 4800000, guid: 93ffaa320c96cfd41b6a28092154d1eb, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _Falloff: 0.9 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Radius: 0.13964117 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _MainCameraPos: {r: 0.5594894, g: 0.47476926, b: 0, a: 0} diff --git a/Assets/Shaders/PlayerFade.mat.meta b/Assets/Shaders/PlayerFade.mat.meta new file mode 100644 index 0000000..821d5d4 --- /dev/null +++ b/Assets/Shaders/PlayerFade.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 105f7f8ebec08614ca0a3fe6ce6a03cb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/PlayerFade.shader b/Assets/Shaders/PlayerFade.shader new file mode 100644 index 0000000..eaf9fd3 --- /dev/null +++ b/Assets/Shaders/PlayerFade.shader @@ -0,0 +1,74 @@ +Shader "Hidden/PlayerFade" +{ + Properties + { + _Radius("Viewing Radius", Float) = 0.3 + _Falloff("Falloff Percent", Float) = 0.8 + _Color("Fade Color", Color) = (0,0,0,1) + _MainTex("Texture", 2D) = "white" {} + _MainCameraPos("Rendering Camera Screen Pos", Vector) = (0,0,0,0) + } + SubShader + { + // No culling or depth + Cull Off ZWrite Off ZTest Always + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + return o; + } + + sampler2D _MainTex; + + uniform float2 _MainCameraPos; + uniform float _Radius; + uniform float _Falloff; + + uniform float4 _Color; + + fixed4 frag (v2f i) : SV_Target + { + float2 dist = i.uv - _MainCameraPos; + dist.y *= _ScreenParams.y / _ScreenParams.x; + + float3 clearDist = _Radius * _Falloff; + + //float fade = step(clearDist, length(dist)); + float fade = smoothstep(clearDist, _Radius, length(dist)); + + fixed4 col = tex2D(_MainTex, i.uv); + + //return fixed4(screenPos.xy / _ScreenParams.xy, 0, 1); + + //return fixed4(i.screenPos.xy, 0, 1); + + return col * (1 - fade) + _Color * fade; + } + ENDCG + } + } +} diff --git a/Assets/Player/Player.cs b/Assets/Player/Player.cs index 31941eb..95b9a09 100644 --- a/Assets/Player/Player.cs +++ b/Assets/Player/Player.cs @@ -18,6 +18,9 @@ private UIHookup uiHookup; private CharacterController charControl; + + private PlayerFade playerFade; + private Camera playerFadeCam; // Start is called before the first frame update void Awake() { @@ -41,6 +44,9 @@ charControl.enabled = true; bottomOffset = -charControl.center.y + charControl.height * 0.5f; + + playerFade = FindObjectOfType(); + playerFadeCam = playerFade.GetComponent(); } public float Speed; @@ -50,6 +56,8 @@ public float MoveTouchFullZone = 0.7f; public float MoveTouchRadiusSize = 1.45f; + private float viewRadius = 4; + // Update is called once per frame void Update() { @@ -116,6 +124,20 @@ wantMove.y = -0.1f * Time.deltaTime; CollisionFlags flags = charControl.Move(wantMove); } + + if (playerFade != null && playerFadeCam != null) + { + Vector3 playerScreen3 = playerFadeCam.WorldToScreenPoint(transform.position); + Vector3 edgeScreen3 = playerFadeCam.WorldToScreenPoint(transform.position + playerFadeCam.transform.right * viewRadius); + + Vector2 playerScreen2 = new Vector2(playerScreen3.x / playerFadeCam.pixelWidth, playerScreen3.y / playerFadeCam.pixelHeight); + Vector2 edgeScreen2 = new Vector2(edgeScreen3.x / playerFadeCam.pixelWidth, edgeScreen3.y / playerFadeCam.pixelHeight); + + float radius = (edgeScreen2 - playerScreen2).magnitude; + + playerFade.PlayerFadeMat.SetVector("_MainCameraPos", new Vector4(playerScreen2.x, playerScreen2.y, 0, 0)); + playerFade.PlayerFadeMat.SetFloat("_Radius", radius); + } } } } diff --git a/Assets/Player/Player.prefab b/Assets/Player/Player.prefab index 916810b..f7e2e0c 100644 --- a/Assets/Player/Player.prefab +++ b/Assets/Player/Player.prefab @@ -78,7 +78,7 @@ m_EditorClassIdentifier: ForceLocal: 0 Speed: 8 - MoveTouchFullZone: 0.7 + MoveTouchFullZone: 0.6 MoveTouchRadiusSize: 1.45 --- !u!143 &446445004819590403 CharacterController: @@ -198,6 +198,16 @@ m_Modification: m_TransformParent: {fileID: 1845617020408148629} m_Modifications: + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7996748539668531132, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7996748540272408192, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} propertyPath: m_Name @@ -278,6 +288,16 @@ propertyPath: m_Color.b value: 0.41714135 objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Type + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7996748540495018130, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, + type: 3} + propertyPath: m_Shadows.m_Resolution + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6150feaa57b82fc41b4cf5adc7a7dd91, type: 3} --- !u!1 &1845617019273958004 stripped diff --git a/Assets/Scenes/Lobby.unity b/Assets/Scenes/Lobby.unity index 4f4bfe0..990115f 100644 --- a/Assets/Scenes/Lobby.unity +++ b/Assets/Scenes/Lobby.unity @@ -597,6 +597,7 @@ - component: {fileID: 519420032} - component: {fileID: 519420031} - component: {fileID: 519420029} + - component: {fileID: 519420030} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -612,6 +613,19 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 519420028} m_Enabled: 1 +--- !u!114 &519420030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e01fa5ea789417147bb72cb28e84c23e, type: 3} + m_Name: + m_EditorClassIdentifier: + PlayerFadeMat: {fileID: 2100000, guid: 105f7f8ebec08614ca0a3fe6ce6a03cb, type: 2} --- !u!20 &519420031 Camera: m_ObjectHideFlags: 0 @@ -855,72 +869,6 @@ m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 731784984} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &755741635 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 755741638} - - component: {fileID: 755741637} - - component: {fileID: 755741636} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &755741636 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &755741637 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &755741638 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755741635} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &797860887 GameObject: m_ObjectHideFlags: 0 @@ -1552,7 +1500,7 @@ m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2071196361 GameObject: diff --git a/Assets/Shaders/PlayerFade.cs b/Assets/Shaders/PlayerFade.cs new file mode 100644 index 0000000..9ad52b9 --- /dev/null +++ b/Assets/Shaders/PlayerFade.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PlayerFade : MonoBehaviour +{ + public Material PlayerFadeMat; + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + + void OnRenderImage(RenderTexture source, RenderTexture destination) + { + RenderTexture old = RenderTexture.active; + RenderTexture.active = destination; + + Graphics.Blit(source, PlayerFadeMat); + + RenderTexture.active = old; + } +} diff --git a/Assets/Shaders/PlayerFade.cs.meta b/Assets/Shaders/PlayerFade.cs.meta new file mode 100644 index 0000000..ae1f41d --- /dev/null +++ b/Assets/Shaders/PlayerFade.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e01fa5ea789417147bb72cb28e84c23e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/PlayerFade.mat b/Assets/Shaders/PlayerFade.mat new file mode 100644 index 0000000..c184b7a --- /dev/null +++ b/Assets/Shaders/PlayerFade.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PlayerFade + m_Shader: {fileID: 4800000, guid: 93ffaa320c96cfd41b6a28092154d1eb, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _Falloff: 0.9 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Radius: 0.13964117 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _MainCameraPos: {r: 0.5594894, g: 0.47476926, b: 0, a: 0} diff --git a/Assets/Shaders/PlayerFade.mat.meta b/Assets/Shaders/PlayerFade.mat.meta new file mode 100644 index 0000000..821d5d4 --- /dev/null +++ b/Assets/Shaders/PlayerFade.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 105f7f8ebec08614ca0a3fe6ce6a03cb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/PlayerFade.shader b/Assets/Shaders/PlayerFade.shader new file mode 100644 index 0000000..eaf9fd3 --- /dev/null +++ b/Assets/Shaders/PlayerFade.shader @@ -0,0 +1,74 @@ +Shader "Hidden/PlayerFade" +{ + Properties + { + _Radius("Viewing Radius", Float) = 0.3 + _Falloff("Falloff Percent", Float) = 0.8 + _Color("Fade Color", Color) = (0,0,0,1) + _MainTex("Texture", 2D) = "white" {} + _MainCameraPos("Rendering Camera Screen Pos", Vector) = (0,0,0,0) + } + SubShader + { + // No culling or depth + Cull Off ZWrite Off ZTest Always + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + return o; + } + + sampler2D _MainTex; + + uniform float2 _MainCameraPos; + uniform float _Radius; + uniform float _Falloff; + + uniform float4 _Color; + + fixed4 frag (v2f i) : SV_Target + { + float2 dist = i.uv - _MainCameraPos; + dist.y *= _ScreenParams.y / _ScreenParams.x; + + float3 clearDist = _Radius * _Falloff; + + //float fade = step(clearDist, length(dist)); + float fade = smoothstep(clearDist, _Radius, length(dist)); + + fixed4 col = tex2D(_MainTex, i.uv); + + //return fixed4(screenPos.xy / _ScreenParams.xy, 0, 1); + + //return fixed4(i.screenPos.xy, 0, 1); + + return col * (1 - fade) + _Color * fade; + } + ENDCG + } + } +} diff --git a/Assets/Shaders/PlayerFade.shader.meta b/Assets/Shaders/PlayerFade.shader.meta new file mode 100644 index 0000000..f36fac9 --- /dev/null +++ b/Assets/Shaders/PlayerFade.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 93ffaa320c96cfd41b6a28092154d1eb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: