Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class EnemyController : MonoBehaviour {
- // Define el objetivo al que sigues
- public GameObject target;
- // Define los parametros de jugabilidad
- public float speed, turn; // turn = 0.01 y 1
- // Variables internas de control
- private Vector3 move, rotation; // Control de movimiento y rotacion
- private Quaternion lookAt; // Guarda el vector al que tienes que mirar
- // Use this for initialization
- void Start () {
- // Deten la ejecucion en caso de error de target
- if (target == null) Debug.LogError("Target no asignado");
- // Asigna velocidad inicial (debug)
- move.z = speed;
- }
- // Update is called once per frame
- void Update () {
- // Mueve al enemigo
- MoveEnemy();
- }
- // Mueve al enemigo
- void MoveEnemy() {
- // Calcula el vector de a donde debe mirar el enemigo
- lookAt = Quaternion.LookRotation(target.transform.position - this.transform.position);
- // Apunta al target mediante una rotacion suavizada (interporlacion linear en el tiempo delta)
- this.transform.rotation = Quaternion.Lerp(this.transform.rotation, lookAt, (Time.smoothDeltaTime * turn));
- // Muevelo
- this.transform.Translate(move * Time.deltaTime);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement