Advertisement
Guest User

Untitled

a guest
Nov 30th, 2015
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. public Transform Follower;
  2. public Transform Player;
  3. public float speed;
  4. private float DistanceX;
  5. private float DistanceY;
  6. private float DistanceZ;
  7. public float Distance;
  8. // Use this for initialization
  9. void Start () {
  10.  
  11. Follower.GetComponent<Rigidbody>();
  12. Follower.localRotation = Quaternion.Euler(0, Player.localRotation.y +90, 0);
  13.  
  14. }
  15.  
  16. // Update is called once per frame
  17. void Update () {
  18.  
  19. if (Input.GetAxis("Horizontal") < -0.1)
  20. {
  21. Follower.rotation = Quaternion.Slerp(Follower.transform.rotation, Quaternion.Euler(0, Player.transform.rotation.y - 90, 0), Time.deltaTime*speed);
  22.  
  23. }
  24.  
  25. else if (Input.GetAxis("Horizontal") > 0.1)
  26. {
  27. Follower.rotation = Quaternion.Slerp(Follower.transform.rotation, Quaternion.Euler(0, Player.transform.rotation.y +90, 0), Time.deltaTime * speed);
  28. }
  29.  
  30.  
  31. //Distance From Player
  32. Follower.transform.position = Player.transform.position;
  33. DistanceX = Follower.transform.eulerAngles.x;
  34. DistanceY = Follower.transform.eulerAngles.y;
  35. DistanceZ = Follower.transform.eulerAngles.z;
  36. Quaternion CurrentRotation = Quaternion.Euler(DistanceX, DistanceY, 0);
  37. Follower.transform.position += CurrentRotation * Vector3.back * Distance;
  38. Follower.transform.LookAt(Player);
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement