ich diesen Code für meinen MainCamera verwendet für nach dem Spieler in meinem 2d Spiel in Unity5:Follow-Spieler durch die Kamera in 2D-Spielen
using UnityEngine;
using System.Collections;
public class CameraFollow : MonoBehaviour {
public float dampTime = 0.15f;
private Vector3 velocity = Vector3.zero;
public Transform target;
// Update is called once per frame
void Update()
{
if (target)
{
Vector3 point = GetComponent<Camera>().WorldToViewportPoint(target.position);
Vector3 delta = target.position - GetComponent<Camera>().ViewportToWorldPoint(new Vector3(0.5f, 0.5f, point.z)); //(new Vector3(0.5, 0.5, point.z));
Vector3 destination = transform.position + delta;
transform.position = Vector3.SmoothDamp(transform.position, destination, ref velocity, dampTime);
}
}
}
Es funktioniert gut, aber Spieler ist in der Mitte des Bildschirms Allways . Ich bin wan Player in Bildschirm und mein Sprite für Show Erde meines Spiels wird unter der Kamera bleiben. Ich meine, besser in folgenden Bilder:
, was ich will:
Das Ergebnis:
ok ich habe einen öffentlichen Parameter OffsetOfCamera und diesen Code 'destination.y + = someOffset;' hinzugefügt. Jetzt kann ich die Kamera von der Einheit auf und ab bewegen. –