Пытаюсь разобраться со стандартным скриптом аи из туториала, чтобы двинуться дальше
Столкнулся с забавной проблемой:
- Код: Выделить всё
var attackRange = 30.0;
var shootAngleDistance = 10.0;
var target : Transform;
function Start ()
{
if (target == null && GameObject.FindWithTag("Player"))
target = GameObject.FindWithTag("Player").transform;
}
function Update ()
{
if (target == null)
return;
// Rotate towards target
var targetPoint = target.position;
var targetRotation = Quaternion.LookRotation (targetPoint - transform.position, Vector3.up);
transform.rotation = Quaternion.Slerp(
transform.rotation, targetRotation, Time.deltaTime * 2.0);
// If we are almost rotated towards target - fire one clip of ammo
var forward = transform.TransformDirection(Vector3.forward);
var targetDir = target.position - transform.position;
//if (Vector3.Angle(forward, targetDir) < shootAngleDistance)
//SendMessage("Fire");
Debug.DrawLine( transform.position, Vector3.forward*20, Color.red);
}
(скрипт был немного модифицирован, тк он нужен только чтобы понять)
Как задать только одну плоскость вращения?(турель будет состоять из двух частей, одна осуществляет поворот, другая наклон)
Просто насколько я понял из скрипта мы и задавали ей только одну плоскость, но турель отслеживает цель и по вертикали.
Ещё нормально что свои дебаг линии я вижу только после нажатия кнопки "стоп" и то в течение секунды?