Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [SerializeField]
- private Vector2 range = new Vector2(-20,20);
- [SerializeField]
- private float moveSpeed = 5f;
- [SerializeField]
- private float rotateSpeed = 5f;
- [SerializeField]
- private Vector3 position;
- private void Awake()
- {
- GetPosition(range);
- }
- private void Update()
- {
- Move();
- }
- private Vector3 GetPosition(Vector2 range)
- {
- Vector3 tempPos = new Vector3(0,0,0);
- tempPos.x = RandomNumber(transform.position.x,range);
- tempPos.z = RandomNumber(transform.position.z,range);
- return tempPos;
- }
- private float RandomNumber(float origin,Vector2 range)
- {
- return Random.Range(range.x,range.y) + origin;
- }
- private void Move()
- {
- if(Vector3.Distance(transform.position,position) < 1)
- {
- position = GetPosition(range);
- }
- else
- {
- transform.LookAt(position);
- transform.position = Vector3.MoveTowards(transform.position,position,moveSpeed*Time.deltaTime);
- transform.rotation = Quaternion.Slerp(transform.rotation,Quaternion.Euler(position),rotateSpeed*Time.deltaTime);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement