From 77fc7782c2aedb5085a39d7408d10f926c627c31 Mon Sep 17 00:00:00 2001 From: Anonymous Raccoon <32224410+AnonymusRaccoon@users.noreply.github.com> Date: Sun, 4 Mar 2018 18:32:36 +0100 Subject: [PATCH] Changing player movements --- Assets/Physics Materials.meta | 10 +++ .../Wall-Material.physicMaterial | 13 ++++ .../Wall-Material.physicMaterial.meta | 10 +++ Assets/Prefabs.meta | 10 +++ .../fin plateforme droite.prefab | 6 +- .../fin plateforme droite.prefab.meta | 0 .../fin plateforme gauche.prefab | 6 +- .../fin plateforme gauche.prefab.meta | 0 Assets/{ => Prefabs}/plateforme.prefab | 2 +- Assets/{ => Prefabs}/plateforme.prefab.meta | 0 Assets/Script/PlayerMovement.cs | 60 ++++++++++-------- Assets/Test.unity | 19 ++++-- Assets/Textures.meta | 10 +++ Assets/{ => Textures}/test2.png | Bin Assets/{ => Textures}/test2.png.meta | 0 ProjectSettings/InputManager.asset | 6 +- 16 files changed, 110 insertions(+), 42 deletions(-) create mode 100644 Assets/Physics Materials.meta create mode 100644 Assets/Physics Materials/Wall-Material.physicMaterial create mode 100644 Assets/Physics Materials/Wall-Material.physicMaterial.meta create mode 100644 Assets/Prefabs.meta rename Assets/{ => Prefabs}/fin plateforme droite.prefab (99%) rename Assets/{ => Prefabs}/fin plateforme droite.prefab.meta (100%) rename Assets/{ => Prefabs}/fin plateforme gauche.prefab (99%) rename Assets/{ => Prefabs}/fin plateforme gauche.prefab.meta (100%) rename Assets/{ => Prefabs}/plateforme.prefab (99%) rename Assets/{ => Prefabs}/plateforme.prefab.meta (100%) create mode 100644 Assets/Textures.meta rename Assets/{ => Textures}/test2.png (100%) rename Assets/{ => Textures}/test2.png.meta (100%) diff --git a/Assets/Physics Materials.meta b/Assets/Physics Materials.meta new file mode 100644 index 0000000..afa1e53 --- /dev/null +++ b/Assets/Physics Materials.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: be8a94e0174b7da41827f1471f89d262 +folderAsset: yes +timeCreated: 1520184605 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Physics Materials/Wall-Material.physicMaterial b/Assets/Physics Materials/Wall-Material.physicMaterial new file mode 100644 index 0000000..756550a --- /dev/null +++ b/Assets/Physics Materials/Wall-Material.physicMaterial @@ -0,0 +1,13 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!134 &13400000 +PhysicMaterial: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Wall-Material + dynamicFriction: 0.6 + staticFriction: 0.6 + bounciness: 0 + frictionCombine: 0 + bounceCombine: 0 diff --git a/Assets/Physics Materials/Wall-Material.physicMaterial.meta b/Assets/Physics Materials/Wall-Material.physicMaterial.meta new file mode 100644 index 0000000..4224930 --- /dev/null +++ b/Assets/Physics Materials/Wall-Material.physicMaterial.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3f67cbc34e2adef4e808c3445e69a63d +timeCreated: 1520184644 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 13400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs.meta b/Assets/Prefabs.meta new file mode 100644 index 0000000..142f155 --- /dev/null +++ b/Assets/Prefabs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: dbc49bc858164374294eb3f7204b0806 +folderAsset: yes +timeCreated: 1520184581 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/fin plateforme droite.prefab b/Assets/Prefabs/fin plateforme droite.prefab similarity index 99% rename from Assets/fin plateforme droite.prefab rename to Assets/Prefabs/fin plateforme droite.prefab index f451a56..2a8eb4d 100644 --- a/Assets/fin plateforme droite.prefab +++ b/Assets/Prefabs/fin plateforme droite.prefab @@ -22,7 +22,7 @@ GameObject: - component: {fileID: 33026272336095722} - component: {fileID: 65416904971122956} - component: {fileID: 23164338022607192} - m_Layer: 0 + m_Layer: 8 m_Name: Cube m_TagString: Untagged m_Icon: {fileID: 0} @@ -37,7 +37,7 @@ GameObject: serializedVersion: 5 m_Component: - component: {fileID: 4620220062861480} - m_Layer: 0 + m_Layer: 8 m_Name: fin plateforme droite m_TagString: Untagged m_Icon: {fileID: 0} @@ -55,7 +55,7 @@ GameObject: - component: {fileID: 33978407956936954} - component: {fileID: 136123792039155002} - component: {fileID: 23372499946096730} - m_Layer: 0 + m_Layer: 8 m_Name: Cylinder m_TagString: Untagged m_Icon: {fileID: 0} diff --git a/Assets/fin plateforme droite.prefab.meta b/Assets/Prefabs/fin plateforme droite.prefab.meta similarity index 100% rename from Assets/fin plateforme droite.prefab.meta rename to Assets/Prefabs/fin plateforme droite.prefab.meta diff --git a/Assets/fin plateforme gauche.prefab b/Assets/Prefabs/fin plateforme gauche.prefab similarity index 99% rename from Assets/fin plateforme gauche.prefab rename to Assets/Prefabs/fin plateforme gauche.prefab index d62c235..dc9d90d 100644 --- a/Assets/fin plateforme gauche.prefab +++ b/Assets/Prefabs/fin plateforme gauche.prefab @@ -22,7 +22,7 @@ GameObject: - component: {fileID: 33351752315019936} - component: {fileID: 65008393815429252} - component: {fileID: 23779764108674620} - m_Layer: 0 + m_Layer: 8 m_Name: Cube m_TagString: Untagged m_Icon: {fileID: 0} @@ -40,7 +40,7 @@ GameObject: - component: {fileID: 33147600320716148} - component: {fileID: 136665385331263236} - component: {fileID: 23531530577167232} - m_Layer: 0 + m_Layer: 8 m_Name: Cylinder m_TagString: Untagged m_Icon: {fileID: 0} @@ -55,7 +55,7 @@ GameObject: serializedVersion: 5 m_Component: - component: {fileID: 4061937932440146} - m_Layer: 0 + m_Layer: 8 m_Name: fin plateforme gauche m_TagString: Untagged m_Icon: {fileID: 0} diff --git a/Assets/fin plateforme gauche.prefab.meta b/Assets/Prefabs/fin plateforme gauche.prefab.meta similarity index 100% rename from Assets/fin plateforme gauche.prefab.meta rename to Assets/Prefabs/fin plateforme gauche.prefab.meta diff --git a/Assets/plateforme.prefab b/Assets/Prefabs/plateforme.prefab similarity index 99% rename from Assets/plateforme.prefab rename to Assets/Prefabs/plateforme.prefab index 7a9465a..ec7613d 100644 --- a/Assets/plateforme.prefab +++ b/Assets/Prefabs/plateforme.prefab @@ -22,7 +22,7 @@ GameObject: - component: {fileID: 33716266132219356} - component: {fileID: 65432861558745414} - component: {fileID: 23358357970697832} - m_Layer: 0 + m_Layer: 8 m_Name: plateforme m_TagString: Untagged m_Icon: {fileID: 0} diff --git a/Assets/plateforme.prefab.meta b/Assets/Prefabs/plateforme.prefab.meta similarity index 100% rename from Assets/plateforme.prefab.meta rename to Assets/Prefabs/plateforme.prefab.meta diff --git a/Assets/Script/PlayerMovement.cs b/Assets/Script/PlayerMovement.cs index ed2b0a1..ffd74dd 100644 --- a/Assets/Script/PlayerMovement.cs +++ b/Assets/Script/PlayerMovement.cs @@ -5,12 +5,18 @@ public class PlayerMovement : MonoBehaviour { [SerializeField] private int speed = 10; [SerializeField] private int airSpeed = 5; - [SerializeField] private int jumpForce = 400; + [SerializeField] private int jumpForce = 8; + [SerializeField] private int smallJump = 4; + [SerializeField] private float gravity = 8.5f; + + [Space] + [SerializeField] private LayerMask groundMask; + [SerializeField] private LayerMask wallMask; - private float jumpDelay = 0; private bool isGrounded = true; - private bool airControl = false; + private bool canWallJump = false; private float jumpDirection; + private bool airControl = false; private Rigidbody rb; @@ -20,8 +26,19 @@ public class PlayerMovement : MonoBehaviour rb = GetComponent(); } - private void Update () + private void FixedUpdate() { + if (Physics.OverlapSphere(rb.position, 1.5f, groundMask).Length > 0) + isGrounded = true; + else + isGrounded = false; + + if (Physics.OverlapSphere(rb.position, 1, wallMask).Length > 0) + canWallJump = true; + else + canWallJump = false; + + if (!isGrounded) { if (jumpDirection > 0) @@ -40,32 +57,25 @@ public class PlayerMovement : MonoBehaviour } } - rb.MovePosition(rb.position + new Vector3(Input.GetAxis("Horizontal"), 0, 0) * (airControl ? airSpeed : speed) * Time.deltaTime); - - if(jumpDelay == 0) - { - RaycastHit hit; - if (Physics.Raycast(rb.position, Vector3.down, out hit, 1)) - { - if(hit.collider.tag != "Player" || hit.collider.tag != "Projectile") - isGrounded = true; - } - } - else - { - jumpDelay--; - } + rb.MovePosition(rb.position + new Vector3(Input.GetAxis("Horizontal"), 0, 0) * (airControl ? airSpeed : speed) * Time.fixedDeltaTime); + airControl = false; - if (Input.GetAxis("Jump") > 0 && isGrounded) + if (Input.GetButtonDown("Jump") && isGrounded) { - print(Input.GetAxis("Jump")); jumpDirection = Input.GetAxis("Horizontal"); isGrounded = false; - jumpDelay = Mathf.Round(750 * Time.deltaTime); - rb.AddForce(new Vector3(0, jumpForce * Input.GetAxis("Jump"), 0), ForceMode.Acceleration); + rb.velocity = new Vector3(0, jumpForce, 0); + } + if(Input.GetButtonUp("Jump") && !isGrounded && rb.velocity.y > smallJump) + { + rb.velocity = new Vector3(0, smallJump, 0); } - airControl = false; - } + + if (rb.velocity.y < 1) + { + rb.velocity = new Vector3(0, rb.velocity.y - gravity * Time.fixedDeltaTime, 0); + } + } } diff --git a/Assets/Test.unity b/Assets/Test.unity index 0852e9d..0edc187 100644 --- a/Assets/Test.unity +++ b/Assets/Test.unity @@ -231,7 +231,7 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 4620220062861480, guid: 1e59ce4d0aab18f44a51b286de5259c4, type: 2} propertyPath: m_RootOrder - value: 6 + value: 4 objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: 1e59ce4d0aab18f44a51b286de5259c4, type: 2} @@ -273,7 +273,7 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 4061937932440146, guid: b21e2e91c2466fa4ba8c38be7831894c, type: 2} propertyPath: m_RootOrder - value: 5 + value: 3 objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: b21e2e91c2466fa4ba8c38be7831894c, type: 2} @@ -315,7 +315,7 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 4928226377463138, guid: bebad6dbaee6f9440afb6cfabba013d3, type: 2} propertyPath: m_RootOrder - value: 4 + value: 2 objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: bebad6dbaee6f9440afb6cfabba013d3, type: 2} @@ -419,7 +419,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 3 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1180913642 MonoBehaviour: @@ -434,7 +434,12 @@ MonoBehaviour: m_EditorClassIdentifier: speed: 10 airSpeed: 7 - jumpForce: 400 + jumpForce: 8 + smallJump: 4 + gravity: 8 + groundMask: + serializedVersion: 2 + m_Bits: 256 --- !u!1 &1699708122 GameObject: m_ObjectHideFlags: 0 @@ -511,7 +516,7 @@ GameObject: - component: {fileID: 1936456414} - component: {fileID: 1936456413} - component: {fileID: 1936456412} - m_Layer: 0 + m_Layer: 8 m_Name: Cube m_TagString: Untagged m_Icon: {fileID: 0} @@ -582,5 +587,5 @@ Transform: m_LocalScale: {x: 30, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Textures.meta b/Assets/Textures.meta new file mode 100644 index 0000000..e1ec2ed --- /dev/null +++ b/Assets/Textures.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 82cc9862699d1e540ab06f42d4e97302 +folderAsset: yes +timeCreated: 1520184594 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/test2.png b/Assets/Textures/test2.png similarity index 100% rename from Assets/test2.png rename to Assets/Textures/test2.png diff --git a/Assets/test2.png.meta b/Assets/Textures/test2.png.meta similarity index 100% rename from Assets/test2.png.meta rename to Assets/Textures/test2.png.meta diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset index beeaa0e..3c57e03 100644 --- a/ProjectSettings/InputManager.asset +++ b/ProjectSettings/InputManager.asset @@ -94,9 +94,9 @@ InputManager: altNegativeButton: altPositiveButton: gravity: 3 - dead: 0.001 - sensitivity: 50 - snap: 0 + dead: 0.01 + sensitivity: 100 + snap: 1 invert: 0 type: 0 axis: 0