From aa6016effa8fc136c301ea76e9b9e737c4165376 Mon Sep 17 00:00:00 2001 From: Parag Date: Mon, 3 Feb 2020 12:43:34 +0530 Subject: [PATCH] Turn radius Fixed Jitter fix --- .gitignore | 1 + Assembly-CSharp.csproj | 1 - Assets/Scenes/Environment.unity | 22 +++++++++++++++++++- Assets/Scripts/Gameplay/Player.cs | 29 ++++++++++++++++++++++++++- ProjectSettings/QualitySettings.asset | 2 +- 5 files changed, 51 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 3bc5ffe..8b05b62 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,4 @@ crashlytics-build.properties /GGJ2020/obj /GGJ2020/Logs /GGJ2020/Temp +/TapeIt/MonoBleedingEdge/EmbedRuntime diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj index 8cd7da6..d2fe37d 100644 --- a/Assembly-CSharp.csproj +++ b/Assembly-CSharp.csproj @@ -99,7 +99,6 @@ - D:/Parag/GlobalGameJam2020/GGJ2020/Library/ScriptAssemblies/Unity.RenderPipeline.Universal.ShaderLibrary.dll diff --git a/Assets/Scenes/Environment.unity b/Assets/Scenes/Environment.unity index 4b93f54..d4ee82a 100644 --- a/Assets/Scenes/Environment.unity +++ b/Assets/Scenes/Environment.unity @@ -2410,6 +2410,11 @@ PrefabInstance: propertyPath: m_Player value: objectReference: {fileID: 1425440733} + - target: {fileID: 2110099446476025165, guid: 28e64137460414c268ae931fb3c2471f, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -22.300049 + objectReference: {fileID: 0} - target: {fileID: 4413687339875598747, guid: 28e64137460414c268ae931fb3c2471f, type: 3} propertyPath: m_LocalPosition.x @@ -2465,11 +2470,26 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 5388114570276696727, guid: 28e64137460414c268ae931fb3c2471f, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 19.699951 + objectReference: {fileID: 0} - target: {fileID: 6297312369232339573, guid: 28e64137460414c268ae931fb3c2471f, type: 3} propertyPath: m_Name value: HUD objectReference: {fileID: 0} + - target: {fileID: 6713140501537717192, guid: 28e64137460414c268ae931fb3c2471f, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -5.340027 + objectReference: {fileID: 0} + - target: {fileID: 7905635006492613438, guid: 28e64137460414c268ae931fb3c2471f, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 19.699951 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 28e64137460414c268ae931fb3c2471f, type: 3} --- !u!1001 &2141218753 @@ -2667,7 +2687,7 @@ PrefabInstance: - target: {fileID: 7680917141668134391, guid: 14bd973fc598eaf40aa2c354c2ae7696, type: 3} propertyPath: m_RunTimeToDash - value: 0.3 + value: 0.2 objectReference: {fileID: 0} - target: {fileID: 7680917141668134391, guid: 14bd973fc598eaf40aa2c354c2ae7696, type: 3} diff --git a/Assets/Scripts/Gameplay/Player.cs b/Assets/Scripts/Gameplay/Player.cs index b8c21b4..6840ca6 100644 --- a/Assets/Scripts/Gameplay/Player.cs +++ b/Assets/Scripts/Gameplay/Player.cs @@ -28,6 +28,9 @@ public enum PlayerStates [SerializeField] private float m_DefaultMoveSpeed = 10.0f; + [SerializeField] + private float m_PlayerTurnAngSpeed = 360.0f; + private bool m_bUseAnimEventDataForSpeed = false; private Vector2 m_MoveDir = new Vector2(0.0f, 0.0f); @@ -381,7 +384,7 @@ public void UpdateMoveState(State currState, float deltaTime) if (turnDir.sqrMagnitude >= TURN_DIR_EPSILON) { turnDir.Normalize(); - Vector3 forward = Vector3.Slerp(transform.forward, turnDir, 0.2f); + Vector3 forward = Rotate(transform.forward, turnDir, Mathf.Deg2Rad * m_PlayerTurnAngSpeed, deltaTime);//Vector3.Slerp(transform.forward, turnDir, 0.2f); //transform.forward = forward.normalized; transform.rotation = Quaternion.LookRotation(forward.normalized, Vector3.up); } @@ -394,6 +397,30 @@ public void EndMoveState(State endingState, State newState) CurrentMoveSpeed = 0; ClearCharacterFlag(CharacterFlag.eCF_ResetMoveSpeedAfterUse); } + + public Vector3 Rotate(Vector3 currDir, Vector3 targetDir, float angleSpeedRad, float deltaTime) + { + float radAngle = Mathf.Acos(Mathf.Clamp(Vector3.Dot(currDir, targetDir), 0.0f, 1.0f)); + float angleToRotate = angleSpeedRad * deltaTime; + + float targetAngle = Mathf.Clamp(radAngle - angleToRotate, 0.0f, Mathf.PI); + + //Debug.Log("## Target angle : " + targetAngle); + + Vector3 rotAxis = Vector3.Cross(targetDir, currDir); + const float EPSILON = 0.000001f; + if (rotAxis.sqrMagnitude <= EPSILON) + { + rotAxis = Vector3.up; + } + else + { + rotAxis.Normalize(); + } + + return Quaternion.AngleAxis(Mathf.Rad2Deg * targetAngle, rotAxis) * targetDir; + } + // End Walk, Run State // ----------------- diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset index 2e913d1..819b61f 100644 --- a/ProjectSettings/QualitySettings.asset +++ b/ProjectSettings/QualitySettings.asset @@ -21,7 +21,7 @@ QualitySettings: skinWeights: 4 textureQuality: 0 anisotropicTextures: 2 - antiAliasing: 4 + antiAliasing: 0 softParticles: 1 softVegetation: 1 realtimeReflectionProbes: 1