Есть скрипт на стрельбу в 2D платформере. Не знаю как сделать разброс оружия, а то все пули летят в одну точку
Есть пустой GameObject из которого вылетает пуля. Не бейте за плохой скрипт, опыта особо нету
public class Weapon : MonoBehaviour
{
public Transform firePoint;
public GameObject Bullet;
public AudioClip ShootSound;
[SerializeField] ParticleSystem GunBOOM;
AudioSource Audio;
public float fireRate = 100;
private float _timer;
void Start()
{
Audio = GetComponent<AudioSource>();
Audio.Play();
}
void Update()
{
if (Input.GetButton("Fire1"))
{
_timer += Time.deltaTime;
if (_timer < 1 / fireRate) return;
Shoot();
_timer = 0;
GunBOOM.Play();
}
else
{
GunBOOM.Stop();
}
}
void Shoot()
{
Instantiate(Bullet, firePoint.position, firePoint.rotation);
Audio.PlayOneShot(ShootSound);
}
}
Ответы (2 шт):
Автор решения: PRoBka _
→ Ссылка
Instantiate(Bullet, firePoint.position, firePoint.rotation);
Используй тут Random.Range.
Автор решения: luvjungle
→ Ссылка
angle - это угол разброса
var bullet = Instantiate(Bullet, firePoint.position, firePoint.rotation);
var spread = Random.Range(-angle / 2f, angle / 2f);
bullet.transform.Rotate(0, 0, spread);