I want that camera follow the player. For this I use player's(in target) transform and change camera's transform.
public class CameraScript : MonoBehaviour
{
public Transform target;
private Vector3 delta;
void Start()
{
delta = Camera.main.transform.position - target.position;
}
void Update()
{
Camera.main.transform.position = target.position + delta;
}
}
This method works, but it's a better solution?
It comes down to what "better" means, but generally doing a little interpolation to smooth out the camera's motion looks better (although for VR it's not so simple)
Something like this should work:
public class CameraScript : MonoBehaviour
{
public Transform target;
public float lerpSpeed;
private Vector3 delta;
void Start()
{
delta = Camera.main.transform.position - target.position;
}
void Update()
{
Camera.main.transform.position = Vector3.Lerp(Camera.main.transform.position, target.position + delta, lerpSpeed * Time.deltaTime);
}
}