レースゲームとかに使えるね!
昔のアーケードレースゲームの時点で、
ハンドルを少しだけ切ったら微妙に動いて、
ハンドルを大きく切ったら大きく動く工夫がされていました。
入力と、物体を動かす力が線形ではなく、二次関数の方がよい。
ヒント:方向ベクトルの大きさの二乗
function Update () {
var directionVector = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
if (directionVector != Vector3.zero) {
var directionLength = directionVector.magnitude;
directionVector = directionVector / directionLength;
directionLength = Mathf.Min(1, directionLength);
directionLength = directionLength * directionLength;
directionVector = directionVector * directionLength;
}
motor.inputMoveDirection = transform.rotation * directionVector;
motor.inputJump = Input.GetButton("Jump");
}