【Unity】生成したオブジェクトを回転させる方法 (original) (raw)
今回は、Unityにて作成したオブジェクトを回転させる場合のやり方の説明になります。
目次
まずはじめに必要となるオブジェクトを生成します。
1.オブジェクトの生成
これについては簡単ですが以下のような過去記事で説明しています。
https://kuku81kuku81.hatenablog.com/entry/2023/07/27_Unity_how_to_create_an_object
これにより、シーン上に対象となるオブジェクトが生成できたら、次に回転のためのスクリプトを作成します。
2.スクリプトの作成
スクリプトを作成するには、以下のようにプロジェクトウインドウにある「+」ボタンから
「+」→「C# Script」
と選択します。
これによりプロジェクトウインドウ内に新しいスクリプトが作成されます。
スクリプト生成
はじめは「NewBehaviourScript1」などと名前がついていますので適当な名前に変更します。
今回は「CubeController」と変更しておきます。
このスクリプトをダブルクリックするとエディターにて開きます。
以下が生成後はじめてスクリプトを開いた時のものです。
これに回転用のスクリプトの中身を追加して行きます。
その結果の例としては以下のようになります。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CubeController : MonoBehaviour
{
float rotateSpeed = 0;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(Input.GetMouseButtonDown(0)){
rotateSpeed = 2;
}
transform.Rotate(0,rotateSpeed,0);
}
}
上の例の概要は以下のようになります。
はじめに、「 CubeController 」クラスの中で初期値として
float rotateSpeed = 0;
で、回転速度を0としています。
これにより画面が表示されたときは対象オブジェクトは静止しています。
「Update」の中で、
if(Input.GetMouseButtonDown(0)){
rotateSpeed = 2;
}
とすることで、マウスの左ボタンがクリックされたら、回転速度を2に上げています。
transform.Rotate(0,rotateSpeed,0);
では、その回転速度を含めてオブジェクトのRotate(回転速度)パラメータに値を設定しています。
今回は、X方向:0、Y方向:rotateSpeed 、Z方向:0
としていますのでY軸の周りをrotateSpeedで回転することになります。
3.オブジェクトへのスクリプトのアタッチ
最後に、これをはじめに生成した対象オブジェクトにアタッチします。
プロジェクトウインドウのつかんで、ヒエラルキーウインドウ内の生成オブジェクトにドラッグアンドドロップします。
以上が、生成したオブジェクトを回転させる方法になります。