(Unity)速度をゲーム画面に表示する(その1)

(スクリプト)

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 = GetComponent<Rigidbody>();  
    }

    void Update()
    {
        // 追加
        var vel = rb.velocity.magnitude.ToString("n2");
        velocityLabel.text = "速度:" + vel;

        if (Input.GetKey(KeyCode.LeftShift))
        {
            rb.velocity += transform.forward * 0.3f;
        }

        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);
    }
}

(実行結果)