Здравствуйте! Подскажите пожалуйста, как реализовать разброс пуль, если стрельбу я создал через Рейкаст?
Просто я не очень понимаю как это можно реализовать!
Вот код стрельбы:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RifleB : MonoBehaviour {
private Camera _camera;
public GameObject body;
private RecoilHorizontal recoilHorizontal;
private RecoilVertical recoilVertical;
void Awake()
{
recoilHorizontal = body.GetComponent<RecoilHorizontal>();
recoilVertical = GetComponent<RecoilVertical>();
_camera = GetComponent<Camera>();
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
if (Input.GetMouseButtonDown(0))
{
Shoot();
}
}
public void Shoot()
{
Vector3 point = new Vector3(
_camera.pixelWidth / 2, _camera.pixelHeight / 2, 0);
Ray ray = _camera.ScreenPointToRay(point);
RaycastHit hit;
recoilHorizontal.recoilHor();
recoilVertical.recoilVer();
if (Physics.Raycast(ray, out hit))
{
GameObject hitObject = hit.transform.gameObject;
ReactiveTarget target = hitObject.GetComponent<ReactiveTarget>();
if (target != null)
{
target.ReactToHit();
}
}
}
}