復習:追跡カメラ
CoddyのUnityジャーニー「物理演算とゲームプレイ」セクションの一部。レッスン 49/63。
チャレンジ
中級車の追従カメラを書きましょう。車のスクリプトは準備できています。上矢印キーで走行し、左右の矢印キーで旋回します。また、車のパブリックフィールド heading には、y 軸周りの向きが度数で格納されています。heading は 0 未満や 360 を超えてもカウントし続けます。
- カメラは、車の位置に
offset(0, 3, -6) をカメラ自身のヨー角で y 軸周りに回転させた値を加えた位置に置きます。これにより、車の後方に配置されます。 - ヨー角は車の向きから始まり、
Mathf.SmoothDampを使ってsmoothTime(0.3) の間に車の向きへ滑らかに近づきます。旋回中、カメラは車より少し遅れて回り、常に最短方向へ回転します。 - カメラは、車の前方
ahead(4) 単位の地点を向きます。
Play を押し、両方向に円を描くように走行してから、Check を押してください。
自分で試してみよう
using UnityEngine;
public class ChaseCamera : MonoBehaviour
{
public Car car;
public Vector3 offset = new Vector3(0, 3, -6);
public float smoothTime = 0.3f;
public float ahead = 4f;
void LateUpdate()
{
}
}