Search code examples
c#visual-studiounity-game-engineinstantiationparticle-system

Particle System not Initializing


I am trying to have a particle system instantiated right before my prefabed object is destroyed, and I can't find out what isn't working. I have play-on-awake checked.

    [SerializeField] ParticleSystem destruction;
if (destruction != null)
        {

            Debug.Log("this objects transform: " + this.transform);
            Instantiate(destruction, this.transform);
            
        }

        if (tag != "Wall")
        {
            Destroy(gameObject);
        }

Solution

  • The usage of Instantiate in Unity, this is a simple example

           //pass in d preset
        public GameObject explosion; // Explosion effect Prefab component  (an explosion animation)
    
          void OnExplode()
         {
           // Create a Quaternion with a random rotation angle
           // Quaternion.Euler Euler angles
           // Returns a rotation angle that rotates y degrees around the y axis, x degrees around the x axis, and z degrees around the z axis.
         Quaternion randomRotation = Quaternion.Euler(0f, 0f, Random.Range(0f, 360f));
    
         // Initialize the instance of explosion
         // Parameter 1: is the preset Parameter 2: The coordinates of the instantiated preset Parameter 3: The rotation angle of the instantiated preset
         Instantiate(explosion, transform.position, randomRotation);
        }
    

    Thank you hope it can help you