【Unity】回転させるブロック(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にすれば、その軸での回転は停止します。
ディスカッション
コメント一覧
便利なスクリプトの公開ありがとうございます!
こちらのスクリプトについてですが、様々な方が利用しやすいようにCSファイルをUnityパッケージ化したうえでBoothなどで無料で配布など行っても宜しいでしょうか。
2重投稿になっていましたら申し訳ございません。
便利なスクリプトの公開ありがとうございます!!
こちらのスクリプトをUnityパッケージ化したうえでBoothで無料で配布など行っても宜しいでしょうか。
コメントありがとうございます。
はい。こちらのスクリプトで良ければ配布などを自由に行ってもらって構いません。
ありがとうございます!
下記のBoothにて配布を開始致しました。
https://rikurus-ws.booth.pm/items/4008242
2重投稿、大変お手数をお掛け致しました。