Unity Shader Graph – Black Hole VFX – by Gabriel Prod.

July 7, 2021

Shader Graph

Unity


Title:
Unity VFX & Shader Graph – Black Hole Effect Tutorial

By:
Gabriel Aguiar Prod.


Youtube – Tutorial #1

Description:
Tutorial for a black hole VFX using Unity’s Shader Graph, particle systems, and Visual Effect graph.


Title:
{ How to CHANGE the SKYBOX in Unity } – HDR Textures in the description

By:

GameDevTraum


Youtube – Tutorial #2

Description:
Quick tutorial to use texture as Skybox in Unity.


General Notes

Fixing Errors

I immediately ran into an issue with the Scene Color node. The fix for this was going to the Main Camera and setting the “Opaque Texture” to ON (found under the Rendering section of the Camera). This made the shader and material match the scene color appropriately, giving that transparent look.

I found a generic space texture to use for my background to emulate the one used in the tutorial. I turned it into a Cube texture to create a Cubemap material to use as my Skybox material. That was what I used Tutorial #2 linked to above for.

I was still having an issue seeing the effects in the scene view (it was just remaining as a matte gray plane). I found that modifying the Opaque Texture flag in the UniversalRenderPipelineAsset (High-Quality for me and my current Unity version) resolved this issue, as described here:



Unity Questions – scene color node not working in shader graph

Multiply to Control Effect Distribution

They multiplied the noise with a round particle texture to create a round visual effect on the rectangular plane that contained all the interesting visual effects. The white parts of the texture contained the focus on the noise, while the black parts did not receive impact from the noise. The transition between the two then also creates a bit of a smoother transition from where the distortion occurs to the lack of distortion.


My Resulting Black Hole VFX from Following Tutorial #1


My Resulting Shader Graph for the Heat Distortion Following Tutorial #1


My Resulting Visual Effect Graph for the Floating Particles Following Tutorial #1

via Blogger http://stevelilleyschool.blogspot.com/2021/07/unity-shader-graph-black-hole-vfx-by.html

Particle Effects Differences in Unity Versions

February 13 2019

Particle Effects: from Tower Defense Tutorial

Particle Effects: from Episode 13 – Lives

Youtube – How to make a Tower Defense Game (E13 LIVES) – Unity Tutorial

By: Brackeys

I just wanted to separate out the particle effects section of my blog on this tutorial to make it easier to reference since it might be a helpful reference to help me use older tutorials in the new Unity editor versions. You can see some of these mentioned at the end of the attached tutorial video.

Context, same paragraph as other blog post: Finally, we created another particle effect for the death of the enemy objects. This was another simple one copied from our bullet impact effect, we just varied the values a bit and changed the material to that of the enemy to look like the enemy is breaking apart. I also noted some differences in the particle editor over the large difference in Unity versions.

  • Standard(Top Option) – no longer has “Randomize Rotation Direction”, so I just changed Start Rotation to “Random between two constants” and selected the two numbers applying +/- the Start Rotation (instead of 100 and 1 for start/randomize, I did 99 and 101 for random between two constants)
  • Emission – need to specifically go into “Count” and select “Between two constants” to set a range of options
  • Collision – there is no “Interior Collisions” option anymore; maybe just have to deal with this with “Collides with” option

Tower Defense Tutorial – Brackeys – Ep. 13

February 13, 2019

Tower Defense Tutorial

Episode 13 – Lives

Youtube – How to make a Tower Defense Game (E13 LIVES) – Unity Tutorial

By: Brackeys
Ep. 13

We started by adding another public int, Lives, to the playerstats script. We then copied the bottom in-game canvas and pasted it to the top to hold our lives UI text element.

This tutorial involves a lot of references between different scripts. They suggest that if you’re making a larger game with a lot of moving components that you want to optimize, make calls to methods within the other scripts that do the changes locally, as opposed to directly altering the variables from the other script. In this tutorial, they end up just having everything go through the GameManager and having it handle everything locally.

We created a GameManager script for the gameManager object. The first thing we have this doing is handling the game over situation. It checks if lives <= 0, and if so, runs the EndGame method. We also added the standard gameEnded bool just so the check doesn’t run the EndGame method many times.

We then looked at the enemy script to start fleshing out its functionality. We added a health int, as well as methods to deal with receiving damage, TakeDamage, and dying, Die. TakeDamage also receives an int as input to determine how much damage to apply.

Next was filling out the Bullet script. We updated the Damage method so it grabs the Enemy script component of what it hits now and calls the TakeDamage method we added. We also added a damage int to Bullet that we could pass into TakeDamage to control how much health Damage removes.

Finally, we created another particle effect for the death of the enemy objects. This was another simple one copied from our bullet impact effect, we just varied the values a bit and changed the material to that of the enemy to look like the enemy is breaking apart. I also noted some differences in the particle editor over the large difference in Unity versions.

LOCATIONS OF BASIC METHODS

This section will just list some of the small basic methods created, where they are placed, whether they are public/private/etc., and whether they take input variables to help keep track of a framework for creating really simple games.

      Enemy

    • Take Damage(int amount) – Public – Applies damage to the object based on the int input
    • Die() – Private – Performs basic functions when health reaches 0, like destroy gameObject
      Game Manager

    • End Game – Private – performs actions when end game state is reached (i.e. Lives are 0)
      Bullet

    • Damage(Transform enemy) – private – gets the Enemy script component of the transform entered and calls the TakeDamage method, sending with it the damage variable from Bullet

SUMMARY

  • Larger projects may work better by calling internal methods of separate scripts to handle variables locally instead of directly changing the variables from the outside script
  • Make small, separate methods to deal with “EndPaths”. Could look into this terminology more.
  • Unity’s particle creation system has definitely changed over time, so just be aware when doing older tutorials.
March 9th, 2018

Creating Interesting Particle Effects in Unity

Ripple Effects | Unity Particle Effects | Visual FX Tutorial – Youtube

This video is a tutorial on setting up a basic ripple effect using the particle effects given in Unity. This serves as a basic introduction to some of the different parameters of particle systems. This was useful in setting up the visuals for the projectile in our DIGM 530 project Coral Invasion.

Images and Video of Use as Projectile for Project

Video of Projectile in Motion with Audio

Some Useful Notes:
  • As a projectile effect, it was important to make sure to edit the parameter to have the particle gameObject destroy itself once all the particles died.
  • Editing the parameters of lifetime, rate, scaling size/color all useful to fit the particle between two circle colliders.
  • Was able to attach the particle system prefab to the player script exactly like would normally be done for a generic gameObject used as a projectile. Can instantiate particle systems.