- Home /
Particle System isn't playing
I am trying to make a muzzle flash for a gun with the script below.. If I don't move my player at the start of the game, the particle system plays correctly. As soon as I move it though, the particle effect won't play anymore. How can I fix this?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Gun1 : MonoBehaviour { public float lookRadius = 10.0f; public Transform target; public GameObject gun; public ParticleSystem muzzleFlash;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
float distance = Vector3.Distance(target.position, transform.position);
if (distance <= lookRadius)
{
if (Input.GetButtonDown("Fire1"))
{
Shoot();
}
}
if (distance <= lookRadius)
{
Vector3 direction = (target.position - transform.position).normalized;
Quaternion lookRotation = Quaternion.LookRotation(new Vector3(direction.x, 0, direction.z));
transform.rotation = Quaternion.Slerp(transform.rotation, lookRotation, Time.deltaTime * 5f);
}
}
void Shoot()
{
muzzleFlash.Play();
RaycastHit hit;
if (Physics.Raycast(gun.transform.position, gun.transform.forward, out hit))
{
Debug.Log(hit.transform.name);
}
}
void OnDrawGizmosSelected()
{
Gizmos.color = Color.blue;
Gizmos.DrawWireSphere(transform.position, lookRadius);
}
}
Answer by wewewu · Oct 27, 2020 at 07:34 AM
The particle system won't move, you may have to Instantiate the particle in world space
Your answer
Follow this Question
Related Questions
Finding Particle Information Upon Collision 2 Answers
How would I add force/ burst fire to my gun? 2 Answers
How to change the damage my gun does? 1 Answer
How do i change the position of my particle system 1 Answer
Particle system script colour 3 Answers