我对C#的随机数学有点陌生,但我学会了如何制作步枪、手枪等。但我想学习如何使用射线来制作霰弹枪,而不是使用弹丸。我尝试使用射线进行多次射击,但不知道如何使它们随机,所以现在我只能使用一个射线。我想在射击时制造随机散布。以下是脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ShotGun : MonoBehaviour {
private int pellets = 9;
private float spreadAngle = 10f;
private float damage = 10f;
private float range = 1000f;
private Camera fpsCam;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
if (Input.GetButtonDown("Fire1"))
{
ShotgunRay();
}
}
private void ShotgunRay()
{
RaycastHit hit;
if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, range))
{
Health_Armor target = hit.transform.GetComponent<Health_Armor>();
if (target != null)
{
target.TakeDamage(damage);
}
}
}
}
Mathf.Random
方法。请使用Random.Range(-1f, 1f)
代替。 - Ian H.