void SpellCast() { count++; for (int i = 0; i < size; i++) { Instantiate(unit, NTMath.PolarProjection(gameObject.transform.position, distance, 360 / size * i), Quaternion.Euler(new Vector3(0, 360 / size * (1 + i) + 30, 0))); } if (count >= 6) { CancelInvoke("SpellCast"); } }
void Update() { if (target != null) { transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(new Vector3(90, NTMath.AngleBetweenVector3(target.gameObject.transform.position, transform.position), 0)), Time.time * velocity); // transform.LookAt(target.transform.position, Vector3.forward); // transform.rotation = Quaternion.Lerp(target.gameObject.transform.rotation, transform.rotation, Time.time * velocity); // var relativePos = target.gameObject.transform.position - transform.position; // transform.rotation = Quaternion.LookRotation(target.gameObject.transform.position, Vector3.forward); } }