public void tuneTf(Vector3d torque) { Vector3d ratio = new Vector3d( torque.x != 0 ? vesselState.MoI.x / torque.x : 0, torque.z != 0 ? vesselState.MoI.z / torque.z : 0, //y <=> z torque.y != 0 ? vesselState.MoI.y / torque.y : 0 //z <=> y ); TfV = 0.05 * ratio; Vector3d delayFactor = Vector3d.one + 2 * vesselState.torqueReactionSpeed; TfV.Scale(delayFactor); TfV = TfV.Clamp(2.0 * TimeWarp.fixedDeltaTime, 1.0); TfV = TfV.Clamp(TfMin, TfMax); //Tf = Mathf.Clamp((float)ratio.magnitude / 20f, 2 * TimeWarp.fixedDeltaTime, 1f); //Tf = Mathf.Clamp((float)Tf, (float)TfMin, (float)TfMax); }