Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Camera by tag!

Discussion in 'Scripting' started by silvabrid, Sep 10, 2013.

  1. silvabrid

    silvabrid

    Joined:
    Aug 12, 2010
    Posts:
    109
    i have a camera follow code. how can i get this code to follow the object by the tag instead of choosing the object itself?

    My Code:


    var target : Transform;
    var distance = 3.0;
    var height = 3.0;
    var damping = 5.0;
    var smoothRotation = true;
    var rotationDamping = 10.0;

    function Update () {
    var wantedPosition = target.TransformPoint(0, height, -distance);
    transform.position = Vector3.Lerp (transform.position, wantedPosition, Time.deltaTime * damping);

    if (smoothRotation) {
    var wantedRotation = Quaternion.LookRotation(target.position - transform.position, target.up);
    transform.rotation = Quaternion.Slerp (transform.rotation, wantedRotation, Time.deltaTime * rotationDamping);
    }

    else transform.LookAt (target, target.up);
    }
     
  2. Digital

    Digital

    Joined:
    Feb 6, 2011
    Posts:
    182
    Add var objTag : String or any other variable for your tag variable. Under Update function add target = GameObject.FindWithTag(objTag).transform;. That's it, now every time you change objTag to a object tag camera will fallow object with that tag.

    Like this:

    var target : Transform;
    var distance = 3.0;
    var height = 3.0;
    var damping = 5.0;
    var smoothRotation = true;
    var rotationDamping = 10.0;
    var objTag : String;

    function Update () {
    target = GameObject.FindWithTag(objTag).transform;
    var wantedPosition = target.TransformPoint(0, height, -distance);
    transform.position = Vector3.Lerp (transform.position, wantedPosition, Time.deltaTime * damping);

    if (smoothRotation) {
    var wantedRotation = Quaternion.LookRotation(target.position - transform.position, target.up);
    transform.rotation = Quaternion.Slerp (transform.rotation, wantedRotation, Time.deltaTime * rotationDamping);
    }

    else transform.LookAt (target, target.up);
    }
     
  3. silvabrid

    silvabrid

    Joined:
    Aug 12, 2010
    Posts:
    109
    thanx testing that now!