Advertisement
Guest User

Untitled

a guest
Jul 17th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.22 KB | None | 0 0
  1. [SerializeField]
  2.     private Vector2 range = new Vector2(-20,20);
  3.     [SerializeField]
  4.     private float moveSpeed = 5f;
  5.     [SerializeField]
  6.     private float rotateSpeed = 5f;
  7.     [SerializeField]
  8.     private Vector3 position;
  9.  
  10.     private void Awake()
  11.     {
  12.         GetPosition(range);
  13.     }
  14.  
  15.     private void Update()
  16.     {
  17.         Move();
  18.     }
  19.  
  20.     private Vector3 GetPosition(Vector2 range)
  21.     {
  22.         Vector3 tempPos = new Vector3(0,0,0);
  23.         tempPos.x = RandomNumber(transform.position.x,range);
  24.         tempPos.z = RandomNumber(transform.position.z,range);
  25.  
  26.         return tempPos;
  27.     }
  28.  
  29.     private float RandomNumber(float origin,Vector2 range)
  30.     {
  31.         return Random.Range(range.x,range.y) + origin;
  32.     }
  33.  
  34.     private void Move()
  35.     {
  36.         if(Vector3.Distance(transform.position,position) < 1)
  37.         {
  38.             position = GetPosition(range);
  39.         }
  40.         else
  41.         {
  42.             transform.LookAt(position);
  43.             transform.position = Vector3.MoveTowards(transform.position,position,moveSpeed*Time.deltaTime);
  44.             transform.rotation = Quaternion.Slerp(transform.rotation,Quaternion.Euler(position),rotateSpeed*Time.deltaTime);
  45.         }      
  46.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement