@Defolz

Пуля не подчиняется скрипту и вылетает как хочет Top Down shooter. Как мне это исправить?

Делал скрипт стрельбы для TDS шутера по видеоролику. Суть в том что пуля из оружия должна вылетать по траектории куда наведен курсор, у человека все работало корректно, а у меня пуля не подчиняется заданной траектории и летит непонятно как вообще. Приложу скрипт и видео.
using UnityEngine;

public class Player_Shooting : MonoBehaviour
{
    public Transform firePoint;
    public GameObject bulletPrefab;
    
    public float bulletForce = 20f;
    // Update is called once per frame
    void Update()
    {
        if(Input.GetButtonDown("Fire1"))
        {
            Shoot();
        }
    }
    
    void Shoot()
    {
        
    GameObject bullet = Instantiate(bulletPrefab, firePoint.position, firePoint.rotation);
    Rigidbody2D rb = bullet.GetComponent<Rigidbody2D>();
    rb.AddForce(firePoint.left * bulletForce, ForceMode2D.Impulse);
    }
}


Видео с полетом пули - https://youtu.be/2AvM6mPa5c0
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 1
rb.AddForce(bullet.forward * bulletForce, ForceMode2D.Impulse) обычно делают, у компонента rigidbody поставить freeze rotation и у тебя колайдер пули сталкивается с игроком, либо надо настроить пересечение коллайредов либо поставить isTrigger в rigidbody пули
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы