/// <summary> /// ici applique la force perpendiculaire à la rope, dans le bon sens ! /// </summary> public void ApplyAirMoveForce(Vector3 dir, float force) { Debug.DrawRay(transform.position, dir, Color.green, 1f); //externalForce.LittleForceDir(-dir, force); PhysicsExt.ApplyConstForce(rb, -dir, force); }
/// <summary> /// ici tend la corde /// </summary> public void DoAirTenseRope(float boost = 1) { //Debug.Log("tend la corde !"); Vector3 dirRope = ropeHandler.GetVectorFromPlayer(playerController.IdPlayer); Debug.DrawRay(transform.position, dirRope, Color.blue, 1f); PhysicsExt.ApplyConstForce(rb, dirRope, tenseRopeWhenGripped * boost); //externalForce.LittleForceDir(dirRope, tenseRopeWhenGripped * boost); //rb.velocity += dirRope * Physics.gravity.y * (tenseRopeWhenGripped - 1) * Time.fixedDeltaTime; //Debug.Log("ici ajout velocity"); }
/// <summary> /// Applique la gravité du jump / de base ! /// </summary> private void ApplyGravity() { CanApplyGravity(); if (gravityApply[0]) { //Debug.Log("ici ceilling"); PhysicsExt.ApplyConstForce(rb, -Vector3.up, forceUpWhenCeilling); } else if (gravityApply[1]) { //Debug.Log("ici gravity"); rb.velocity += Vector3.up * Physics.gravity.y * (fallMultiplier - 1) * Time.fixedDeltaTime; } else if (gravityApply[2]) { //Debug.Log("ici low gravity"); rb.velocity += Vector3.up * Physics.gravity.y * (lowMultiplier - 1) * Time.fixedDeltaTime; } }