はじめに
Unityで2DオブジェクトのSpriteを時間経過で回転させる方法を解説します。
回転方向は時計回り・反時計回りの両方を実装し、フラグで切り替えるようにしました。
また、回転にはQuaternionを使います。
2025-09-22
Unityで2DオブジェクトのSpriteを時間経過で回転させる方法を解説します。
回転方向は時計回り・反時計回りの両方を実装し、フラグで切り替えるようにしました。
また、回転にはQuaternionを使います。
Unity: 6000.2.4f1
Unityの「Hierarchyの左上 +ボタンかHierarchy上で右クリック」→「2D Object」→「Sprites」→「Square」でオブジェクトを追加します。
この追加したオブジェクトを回転させます。
例えばRotationのZ値に60を入力すると、オブジェクトが60度回転します。
時間経過で回転させるにはスクリプトを書く必要があります。
スクリプトは以下の通りです。
using UnityEngine;
public class RotateTest : MonoBehaviour
{
[SerializeField, Header("回転スピード")]
private float rotateSpeed = 100f;
[SerializeField, Header("角度")]
private float angle = 0f;
[SerializeField, Header("時計回り方向か")]
private bool isClockwise = true;
void Update()
{
RotateImage();
}
/// <summary>
/// 画像を回転させる
/// </summary>
private void RotateImage()
{
// 時計回り
if (isClockwise)
{
angle -= rotateSpeed * Time.deltaTime;
}
// 反時計回り
else
{
angle += rotateSpeed * Time.deltaTime;
}
transform.rotation = Quaternion.Euler(0, 0, angle);
}
}
これを作成したSquareのオブジェクトにアタッチすれば準備完了です。
実行すると時計回りにオブジェクトが回転します。
Is Clockwise のチェックをはずす(フラグを切り替える)と、反時計回りに回転します。
今回はオブジェクトを自動で回転させるスクリプトを紹介しました。
ブログでUnityの記事を公開するのはこれで初めてですね。
今後も、簡単な機能を中心に紹介していきます。