目次

079 GameObjectを中心にカメラを回転させる

概要

特定のオブジェクトを中心にカメラを回転させる様な動きを実現するには、オブジェクトの中心座標からの距離を決めた上で、sin,cos 回転させてやりますが、Unityのゲームオブジェクトは親子関係に出来るという特性があるので、それを利用して実装してみます。

オブジェクトを親子関係にする

まず空のGameObjectを追加して、CameraAxisとします。そのCameraAxisにカメラオブジェクトをドラッグします。

この状態で、CameraAxis用のスクリプトを実装します。

CameraAxis スクリプトの実装

using UnityEngine;
using System.Collections;
 
public class CameraAxis : MonoBehaviour
{
	public float fRotateSpeed = 10.0f;
 
	void Update()
	{
		bool isPush = Input.GetMouseButton( 0 );
 
		if( isPush )
		{
		// 移動量
		float fValue = fRotateSpeed * Time.deltaTime;
 
		// 回転
		transform.Rotate( 0, fValue, 0, Space.World );
		}
	}
}

これをゲームオブジェクトにアタッチするとアタッチしたゲームオブジェクトを中心にカメラが回転します。