Maintenant, j'ai eu beaucoup de problèmes avec ceci, et j'ai utilisé le code Unity de base qu'ils fournissent dans le cadre de leur pack d'actifs 2D, et peut être vu comme suit ci-dessous : en utilisant UnityEngine; en utilisant System.Collections;Unity Camera Suivre le bégaiement 2D
public class Camera2DFollow : MonoBehaviour {
public Transform target;
public float damping = 1;
public float lookAheadFactor = 3;
public float lookAheadReturnSpeed = 0.5f;
public float lookAheadMoveThreshold = 0.1f;
public float yPosRestriction = -1;
float offsetZ;
Vector3 lastTargetPosition;
Vector3 currentVelocity;
Vector3 lookAheadPos;
float nextTimeToSearch = 0;
// Use this for initialization
void Start() {
lastTargetPosition = target.position;
offsetZ = (transform.position - target.position).z;
transform.parent = null;
}
// Update is called once per frame
void Update() {
if (target == null) {
FindPlayer();
return;
}
// only update lookahead pos if accelerating or changed direction
float xMoveDelta = (target.position - lastTargetPosition).x;
bool updateLookAheadTarget = Mathf.Abs(xMoveDelta) > lookAheadMoveThreshold;
if (updateLookAheadTarget) {
lookAheadPos = lookAheadFactor * Vector3.right * Mathf.Sign(xMoveDelta);
} else {
lookAheadPos = Vector3.MoveTowards(lookAheadPos, Vector3.zero, Time.deltaTime * lookAheadReturnSpeed);
}
Vector3 aheadTargetPos = target.position + lookAheadPos + Vector3.forward * offsetZ;
Vector3 newPos = Vector3.SmoothDamp(transform.position, aheadTargetPos, ref currentVelocity, damping);
newPos = new Vector3 (newPos.x, Mathf.Clamp (newPos.y, yPosRestriction, Mathf.Infinity), newPos.z);
transform.position = newPos;
lastTargetPosition = target.position;
}
void FindPlayer() {
if (nextTimeToSearch <= Time.time) {
GameObject searchResult = GameObject.FindGameObjectWithTag ("Player");
if (searchResult != null)
target = searchResult.transform;
nextTimeToSearch = Time.time + 0.5f;
}
}
}
L'une des principales raisons pour lesquelles j'ai eu des problèmes avec c'est parce que je suis tout à fait nouveau à l'unité et ont vraiment touché que sur UnityScript, mais mon principal problème est que la fusée augmente la vitesse de mon jeu , la caméra commence à bégayer, j'ai l'impression que c'est quelque chose à voir avec l'amortissement?
Avez-vous essayé d'utiliser iTween? J'ai placé des scripts iTween sur la caméra et cela aide le bégaiement. – ApolloSoftware