Move Camera in UnityScript 2d in C# -
i have started programming unity 2d, , have faced 1 large problem: how move camera? script attached object "player". want move player. thanks!
/* */ using unityengine; using system.collections; public class playercontroller : monobehaviour { public float speed = 10; //float speed public string haxis = "horizontal"; void start () { //empty } void fixedupdate () { if (input.getaxis (haxis) < 0) //left { vector3 newscale = transform.localscale; newscale.y = 1.0f; newscale.x = 1.0f; transform.localscale = newscale; } else if (input.getaxis (haxis) > 0) //right { vector3 newscale =transform.localscale; newscale.x = 1.0f; transform.localscale = newscale; } //position transformation transform.position = transform.position + transform.right * input.getaxis(axisname) * speed * time.deltatime; } }
without scripts, drag camera gameobject child of player , camera start following player position.
for script, try this, set player target.
using unityengine; using system.collections; public class smoothcamera2d : monobehaviour { public float damptime = 0.15f; private vector3 velocity = vector3.zero; public transform target; // update called once per frame void update () { if (target) { vector3 point = camera.worldtoviewportpoint(target.position); vector3 delta = target.position - 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); } } }
Comments
Post a Comment