主人公を追いかけるカメラ
Timmyの移動できたとしても、操作が確認しにくいので、プレーヤーを追いかけるカメラ(三人称視点)を作りましょう
単純なアプローチ
一番簡単なのは「カメラの位置を主人公の位置にしろ!」の仕組みである。これがすぐ試せるので、「CameraController」スクリプトを作成してみましょう:
スクリプト
// 主人公を追いかけるカメラ
public class CameraController : MonoBehaviour
{
// 追いかけるオブジェクトのTransform
[SerializeField]
private Transform target;
private void Update()
{
// 自分の位置をターゲットの位置にするだけ
transform.position = target.position;
}
}
このスクリプトをカメラにアタッチし、確認しましょう。なお、Unity でカメラの「target」を「Player」にしてください。

改善:セルフィスティック
今の処理はとても単純で、カメラはプレーヤーの足元に行ってしまいました。もう少し賢い作戦を考えてみましょう。「三人称」といえば:

セルフィスティックは良いでしょう!シーンにあるカメラの親子関係を変えて、同じ仕組みになるようにしましょう。具体的に:
INSERT ILLUSTRATION OF Base->Height->Stick->Camera
- Base(基礎) :主人公を追いかける根。セルフィスティックなら、「人間が立っている場所」
- Height(高さ) :地面からの高さ。だいたいTimmyの頭までにすれば良いでしょう。
- Pole(ポール) :スティックのそのもの。人間からどれぐらい離れるのか
- Camera(カメラ):スティックの端にあるカメラ
これはヒエラルキー(とその位置)はこうなる:
|
|
|
|
|
|
なお、「CameraController」のスクリプトは、カメラではなく、実際に動く基礎(Base)アタッチすべき。Main Camera からスクリプトを削除するのは、右側にある「⋮」を押し、「Remove Component」(コンポーネントを削除)でできる。

では、「CameraController」をBaseにアタッチし、もう一度確認しましょう。




