Я делаю бесконечную игру с раннером, используя бесконечный движок, который работает так, что игрок / бегун остается на прежней позиции, в то время как элементы фона, платформы и враги идут на игрока.
Это работало нормально, пока я не ввел вражескую стрельбу, где враги находят и стреляют в игрока.Я использую следующий скрипт, который находится на префабе EnemyBullet
:
void Start()
{
shooter = GameObject.FindObjectOfType<Player>();
shooterPosition = shooter.transform.position;
direction = (shooterPosition - transform.position).normalized;
}
// Update is called once per frame
void Update()
{
transform.position += direction * speed * Time.deltaTime;
}
Это работает, но проблема в том, что он слишком точен, как, например, когда игрок прыгает, пуля имеет тенденциюугадать его положение и выстрелил прямо в игрока.
Я знаю, что это потому, что игрок на самом деле не двигается, и это делает нацеливание игрока очень легким.
Есть ли способулучшить это?Или каким-то образом сделать это более естественным?
Спасибо