[Unity] カメラに追従するGameObjectと複製(1)
- 2021年8月12日
- Unity
今回はカメラに追従するGameObjectと任意のタイミングでGameObjectを複製する方法をシェアしたいと思います。
想定する動作
1)
カメラがどの方向を向いても常に画面中央にGameObjectが追従するようにします。

カメラの向きに応じてCubeオブジェクトが追従するので、常に画面の中心にCubeオブジェクトが表示される(下画面)。
2)
スペースキーを押すと、画面中央にGameObjectが複製され、スペースキーを押したタイミングの場所で固定されます。

カメラの向きを変えながらスペースキーを押すと、その時点でCubeオブジェクトが複製され固定化されます。
実装方法
カメラの向きをW(上)A(左)S(下)D(右)キーで操作できるようにする。
Assets内にScriptを新規作成します。
Script名は「RotationScript」としました。
以下サンプルコードとなります。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RotationScript : MonoBehaviour
{
// Update is called once per frame
void Update()
{
//Aキーを押している間はY軸に1加算して回転
if (Input.GetKey("a"))
{
float x = 1;
this.transform.Rotate(0.0f, x, 0.0f);
}
//Dキーを押している間はY軸に1減算して回転
if (Input.GetKey("d"))
{
float x = -1;
this.transform.Rotate(0.0f, x, 0.0f);
}
//Wキーを押している間はY軸に1加算して回転
if (Input.GetKey("w"))
{
float x = -1;
this.transform.Rotate(x, 0.0f, 0.0f);
}
//Sキーを押している間はY軸に1減算して回転
if (Input.GetKey("s"))
{
float x = 1;
this.transform.Rotate(x, 0.0f, 0.0f);
}
}
}
このScriptをCameraオブジェクトにアタッチすることにより、カメラの回転をキーボードから操作することが可能になります。
次回は、このカメラに追従するCubeオブジェクトを配置する方法と任意のタイミングでCubeオブジェクトを複製する方法を紹介したいと思います。
木曜日担当:nishida
nishida at 2021年08月12日 10:00:51