(スクリプト)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TankMovement2_Velocity : MonoBehaviour
{
    public float turnSpeed;
    private Rigidbody rb;
    private float turnInputValue;
    public Text velocityLabel;
    
    void Start()
    {
        rb = GetComponen<Rigidbody>();  
    }
    void Update()
    {
        // 改良(0未満の小数は表示しない)
        var forSpeed = Vector3.Dot(rb.velocity, transform.forward).ToString("0");
        velocityLabel.text = "速度:" + forSpeed;
        if (Input.GetKey(KeyCode.LeftShift))
        {
            rb.velocity += transform.forward * 0.3f;
            // 改良(Clampを使って速度を制限する)
            rb.velocity = Vector3.ClampMagnitude(rb.velocity, 30);
        }
        if(Input.GetKey(KeyCode.RightShift))
        {
            rb.velocity -= transform.forward * 0.2f;
        }
        TankTurn();
        if(Input.GetKeyDown(KeyCode.Z))
        {
            rb.velocity = Vector3.zero;
        }
    }
    void TankTurn()
    {
        turnInputValue = Input.GetAxis("Horizontal");
        float turn = turnInputValue * turnSpeed * Time.deltaTime;
        Quaternion turnRotation = Quaternion.Euler(0, turn, 0);
        rb.MoveRotation(rb.rotation * turnRotation);
    }
} 
(実行結果)
