예제 #1
0
    /// <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);
    }
예제 #2
0
    /// <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");
    }
예제 #3
0
    /// <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;
        }
    }