You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
989 B
32 lines
989 B
1 year ago
|
using UnityEngine;
|
||
|
|
||
|
|
||
|
[ExecuteInEditMode]
|
||
|
public class CameraFollow : MonoBehaviour
|
||
|
{
|
||
|
[Tooltip("The target to follow")] public Transform target;
|
||
|
|
||
|
[Tooltip("The time it takes to move to the new position")]
|
||
|
public float smoothingTime; //The time it takes to move to the new position
|
||
|
|
||
|
private Vector3 m_Offset;
|
||
|
private Vector3 m_CamVelocity; //Camera's velocity (used by SmoothDamp)
|
||
|
|
||
|
// Use this for initialization
|
||
|
void Start()
|
||
|
{
|
||
|
m_Offset = gameObject.transform.position - target.position;
|
||
|
}
|
||
|
|
||
|
void FixedUpdate()
|
||
|
{
|
||
|
var newPosition = new Vector3(target.position.x + m_Offset.x, transform.position.y,
|
||
|
target.position.z + m_Offset.z);
|
||
|
|
||
|
gameObject.transform.position =
|
||
|
Vector3.SmoothDamp(transform.position, newPosition, ref m_CamVelocity, smoothingTime, Mathf.Infinity,
|
||
|
Time.fixedDeltaTime);
|
||
|
}
|
||
|
}
|
||
|
|