オブジェクトを回転や移動、拡大縮小したいときがありますよね?
今回はそれらの方法を記述していきたいと思います。
準備
実験台になってくれるオブジェクト(cube)を用意します。
Transformについて
これから、スクリプトでCubeの移動やら回転やらをしていきますが、その前にTransformコンポーネントについて話していきます。
オブジェクトを選択し、インスペクターを見ますとTransformというコンポーネントが存在します。
これは、オブジェクトの「位置」「角度」「サイズ」の情報を管理しているものです。
スクリプトでこれらを取得して移動、回転、拡大縮小ができるようになりなります。
こんなイメージを持ってもらえればと思います。
Rotate関数
では、スクリプトを書いていきましょう。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TransformScript : MonoBehaviour
{
Transform rotation;
void Start()
{
rotation = this.transform;
}
void Update()
{
rotate();
}
void rotate()
{
rotation.Rotate(50*Time.deltaTime, 0, 0);
}
}
このスクリプトを回転させたいオブジェクトにアタッチしましょう。
解説
この関数はいたって簡単な仕組みです。
現在の角度に指定した角度を毎フレーム加算していくのです。
例えば
Rotate(50*Time.deltaTime, 0, 0);では、X軸の角度に50度を毎フレーム加算していることになります。
角度だけ指定するととてつもない速さで回転しますのでTime.deltaTimeをかけて速さを調節します。
実行してみるとこんな感じ
まとめ
Rotate関数を使うことで簡単に回転を実装することができました!
コメント