Hello,
I made a script for a gun that shoots with raycast method.
Now I need to Instantiate a plane as a bullet hole effect on the fired position. I tried with raycastHit but I didn’t succeed.
Any help?
#pragma strict
var FireSound : AudioClip;
var ReloadSound : AudioClip;
var Muzzle : GameObject;
var MuzzleSpawner : GameObject;
var HoldingWeapon : GameObject;
var Hole : GameObject;
private var attributes : WeaponAttributes;
private var counter : float;
function Awake () {
attributes = HoldingWeapon.GetComponent("WeaponAttributes");
}
function Update () {
counter --;
var fwd = transform.TransformDirection (Vector3.forward);
var newPos = Vector3.forward * 10;
Debug.DrawRay(transform.position, transform.forward * attributes.Range, Color.blue);
if(Input.GetMouseButton(0) && counter <= 0)
{
counter = attributes.RateOfFire;
var muzz = Instantiate(Muzzle, MuzzleSpawner.transform.position, transform.rotation);
muzz.transform.parent = gameObject.transform;
audio.PlayOneShot(FireSound);
if (Physics.Raycast (transform.position, fwd, attributes.Range))
{
print ("We hit something!");
}
}
}