Когда я стреляю в свою пулю, она преследует врага. Я хочу иметь прицельную систему,
например, пуля должна идти в позицию противника, когда она была впервые замечена (не преследуя объект, просто стрелять в первую позицию, в которой был замечен враг).
Это мой код, и он заставляет пулю следовать за врагом:
void shoot() {
GameObject bulletGO=(GameObject) Instantiate(BulletPrefab, firepoint.position, firepoint.rotation);
Bullet bullet = bulletGO.GetComponent<Bullet>();
if (bullet != null) {
bullet.Seek(target);
}
и:
private Transform target;
public float speed = 5f;
public GameObject ImpactEffect;
public void Seek(Transform _target) {
target = _target;
}
// Update is called once per frame
void Update () {
if (target == null)
{
Destroy(gameObject);
return;
}
Vector3 dir = target.position - transform.position;
float distancethisframe = speed * Time.deltaTime;
if (dir.magnitude <= distancethisframe)
{
HitTarget();
return;
}
transform.Translate(dir.normalized * distancethisframe, Space.World);
}
так есть идеи?