[Unity][C#]矢印キーで玉を転がす方法

Unity C#で矢印キーで操作しながら玉を転がす方法を説明します

Unityエディターのバージョン : 2022.3.16f1

手順
1.以下のスクリプトを、転がしたい3Dオブジェクトにアタッチする
2.スクリプトコンポーネントのインスペクターから”moveSpeed”(転がる速さ)を設定する ⇒これで完了

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BallController : MonoBehaviour
{
    public float moveSpeed;  //ボールが転がる速さ

    // Start is called before the first frame update
    void Start()
    {
        Application.targetFrameRate = 60;  //フレームレートを60に設定
    }

    // Update is called once per frame
    void Update()
    {
        RotateBall();
    }

    void RotateBall()
    {
        if (Input.GetKey(KeyCode.RightArrow))
        {
            transform.Rotate(0, -7.5f * moveSpeed, 0, Space.World);  //回転する方向と回転の大きさを指定
            transform.Translate(0.1f * moveSpeed, 0, 0, Space.World);  //移動する方向と移動の大きさを指定
        }

        if (Input.GetKey(KeyCode.LeftArrow))
        {
            transform.Rotate(0, 7.5f * moveSpeed, 0, Space.World);  //回転する方向と回転の大きさを指定
            transform.Translate(-0.1f * moveSpeed, 0, 0, Space.World);  //移動する方向と移動の大きさを指定
        }

        if (Input.GetKey(KeyCode.UpArrow))
        {
            transform.Rotate(7.5f * moveSpeed, 0, 0, Space.World);  //回転する方向と回転の大きさを指定
            transform.Translate(0, 0.1f * moveSpeed, 0, Space.World);  //移動する方向と移動の大きさを指定
        }

        if (Input.GetKey(KeyCode.DownArrow))
        {
            transform.Rotate(-7.5f * moveSpeed, 0, 0, Space.World);  //回転する方向と回転の大きさを指定
            transform.Translate(0, -0.1f * moveSpeed, 0, Space.World);  //移動する方向と移動の大きさを指定
        }
    }
}

第四引数に”Space.World”を送ったことで、ワールド座標を中心に移動・回転するようになりました
回転と移動の方向は設定している重力の方向にもよるので、もしこの方法で上手くいかなければ、回転と移動の方向を変えてみてください