I can't make a simple compilable example right now, but we essentially have
Hope that helps! We do other things in real code like smooth the bend value (see Mathf.SmoothDamp), use B button when tilt steering, and tilt the heli model down more when bending, but those are secondary.
Code:
override void Update()
{
...
// Adjust forward speed
float bend = Mathf.Clamp01(Controller.HeadBend / 0.2f);
SpeedFudge = mOriginalSpeedFudge * Mathf.Lerp(0.66f, 1, bend);
}
override void FixedUpdate()
{
...
// Lean forward to bleed lift and increase falling speed limit
force.y *= 1 - bend;
MaxVertSpeed = Mathf.Lerp(4.5f, 9, bend);
}
Hope that helps! We do other things in real code like smooth the bend value (see Mathf.SmoothDamp), use B button when tilt steering, and tilt the heli model down more when bending, but those are secondary.