- Home /
Particle settings for instant / fast laser?
I was finally able to get the particle system to work!! Thank you to everyone who helped. I have two questions.
How can I speed up the particle system? I'm tweaking the velocity settings now - trying to figure it out. I would like the laser to hit instantly with a slight fade off.
How can I get the laser to fire toward the crosshair? Right now it just shoots from the center of the gun.
Thanks everyone!!
Answer by xxmariofer · Jan 15, 2019 at 08:15 PM
particle system have a property called start speed for the initial velocity, you can change also the color over life time for reduce the alpha. and for shoot from the crosshair depends on how you coded the particle emision, but you can instantiate it in a empty transform inside the crosshair.
Answer by yaiie_unity · Jan 16, 2019 at 12:36 AM
Awesome!! Would you be able to check my code for the particle system? I added it to the muzzle of the gun thinking that would be the best way at the time
using UnityEngine;
public class Gun : MonoBehaviour
{
public float damage = 10f; //Damage
public float range = 500f; //Range of bullet
public float fireRate = .50f; //Greater fire rate = less time between shots.
public float impactForce = 30f; //Impact (velocity)
public ParticleSystem Rail;
public Camera fpsCam; //Camera. Click and drag off of hierarchy
public GameObject impactEffect; //Prefab system for impact
private float nextTimeToFire = 0f; //Instant shot (no lag when pressing down)
void Update()
{
if (Input.GetButtonDown("Fire1") && Time.time >= nextTimeToFire)
{
nextTimeToFire = Time.time + 1f / fireRate;
Shoot();
}
}
void Shoot()
{
Rail.Play(); //Play muzzle / barrel
RaycastHit hit;
if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, range))
{
Target target = hit.transform.GetComponent<Target>();
if (target != null)
{
target.TakeDamage(damage);
}
if (hit.rigidbody != null) //Hit rigidbody component
{
hit.rigidbody.AddForce(-hit.normal * impactForce);
}
GameObject impactGO = Instantiate(impactEffect, hit.point, Quaternion.LookRotation(hit.normal));
Destroy(impactGO, .25f); // Destroy impact effect
{
}
}
}
}
That 'start speed' worked wonders!! Amazing! Cannot thank you enough.
Your answer
Follow this Question
Related Questions
Can you still not change the Velocity of spawned particles? 2 Answers
VFX Graph - Particle velocity along Cone (Position) 1 Answer
How to control velocity of particles? 0 Answers
Is there a better script for permanently deleting items? 0 Answers
Particle System 'world' simulated: problem with velocity 1 Answer