【Unity 3D】回転させるブロック(GameObject)を作る

スポンサーリンク

フレーム毎に回転し続けるブロック(GameObject)を作る方法を紹介します。

完成動画

作り方

回転するブロック(GameObject)を作成

1.例としてCubeを設置します。名前はCubeRotationにします。※わかりやすいようにMaterialで赤色を付けています。

回転し続けるスクリプトを作成

1.Rotation.csという名前のスクリプトを作成して、以下のコードを記載する。

using UnityEngine;
public class Rotation : MonoBehaviour
{
    /// <summary>
    /// X軸を基点に回転する速さ
    /// </summary>
    [SerializeField]
    private float rotAngleX = 2.0f;
    /// <summary>
    /// Y軸を基点に回転する速さ
    /// </summary>
    [SerializeField]
    private float rotAngleY = 2.0f;
    /// <summary>
    /// Z軸を基点に回転する速さ
    /// </summary>
    [SerializeField]
    private float rotAngleZ = 2.0f;
    // Update is called once per frame
    void Update()
    {
        // フレームごとに回転させる
        transform.Rotate(rotAngleX, rotAngleY, rotAngleZ);
    }
}

スクリプトを回転させたいブロック(GameObject)にアタッチする

1.Rotation.csを消したいブロック(CubeRotationオブジェクト)にアタッチする。

完成

これでブロックが回転し続けている。

回転する速さや、軸を変えたい場合は、Inspectorタブの”Rot Angle X”、”Rot Angle Y”、”Rot Angle Z”の値を適宜変えればよいです。
数値を0にすれば、その軸での回転は停止します。

コメント

  1. Rikurus より:

    便利なスクリプトの公開ありがとうございます!
    こちらのスクリプトについてですが、様々な方が利用しやすいようにCSファイルをUnityパッケージ化したうえでBoothなどで無料で配布など行っても宜しいでしょうか。

  2. Rikurus より:

    2重投稿になっていましたら申し訳ございません。
    便利なスクリプトの公開ありがとうございます!!
    こちらのスクリプトをUnityパッケージ化したうえでBoothで無料で配布など行っても宜しいでしょうか。

タイトルとURLをコピーしました