How to make it so that my followAhead function doesn't active until the Gameobject moves a certain distance?,How to delay "if" statement of Camera Script after moving x distance?
First, I'd like to say that I'm an artist who is trying to learn the scripting side of game development. So I apologize if I come across as a huge newbie, because I am. So I'm working on a script to control the camera. Here's the script.
public class CameraController : MonoBehaviour {
public GameObject target;
public float followAhead;
private Vector3 targetPosition;
public float smoothing;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
targetPosition = new Vector3 (target.transform.position.x, transform.position.y, transform.position.z);
// this moves the target of the camera ahead of the player
if (target.transform.localScale.x > 0f) {
targetPosition = new Vector3 (targetPosition.x + followAhead, targetPosition.y, targetPosition.z);
} else {
targetPosition = new Vector3 (targetPosition.x - followAhead, targetPosition.y, targetPosition.z);
}
//transform.position = targetPosition;
transform.position = Vector3.Lerp (transform.position, targetPosition, smoothing * Time.deltaTime);
}
So, it works like intended. My issue is that the camera pans 5 paces immediately after turning right or left, which can be nauseating if you're doing something where the character must turn left/right quickly. So I've tried to research this topic but didn't find anything related. I would like to make it so that the character would have to move a certain distance on x before the camera statement is true. I'd imagine it's something I would need to add before, or within the "if" statement, but I'm not sure exactly what. I hope my question makes sense, and I appreciate any help I can get.
Answer by fallingsputnik · Apr 29, 2018 at 06:07 PM
Oh, figured it out, I had to add an IF statement for the target's position. I feel dumb, sorry!
Oh wait, no, that was wrong. It seemed to only delay the followAhead function after moving the objects position.