• Advertisement

How 3D visual effect (vfx / special effect) for game is made?

Recommended Posts

I see some very exciting vfx:

Eastern Dragon: 

Rock man smash ground:

Does anyone know how these vfx can be made?

I guess these vfx may be made with Adobe Photoshop, 3Ds Max, Particle illusion, Adobe AfterEffect.

Edited by 123iamking

Share this post


Link to post
Share on other sites
Advertisement
1 hour ago, 123iamking said:

Does anyone know how these vfx can be made?

It's not one effect it's many.

Eastern Dragon:

The Sword Trails: are normal particle trails. So a particle Emitter that emits particles that shrink over time. Larger black particles is used behind it to create contrast. This is a very easy effect.

How: In your engine just make a regular particle emitter and move it around. You should see the same effect.

Explosion: Typical explosion. Short bright emitter, followed by a smoke emitter. The bright flash of the explosion only lasts 4-8 frames then the smoke is played. Like all good explosions it focus more on effect than the fireball.

How: Explosion takes 2-3 normal emitters. Smoke effect takes around 3 emitters.

Smoke ring: A smoke emitter emitting up and spinning around the character.

Embers: Is just a normal emitter with a wide range and a low particle count.

Dragons: They are 3D models.

 

Rock man smash ground:

Light Ball: A 3D sphere with animated texture. A flat billboard ray cast down onto the ground. 3 Simple trail particles like the sword one for smoke/dust, one for embers and one for short fire trail. A billboard with a pulsing image.

Rock ring: Animated 3D mesh. 1 rock mesh emitter, 2 normal particle emitters for fire and embers. The embers turn to rock over time. To turn the embers to rock a simple lerp shader would be used.

Cracks on ground: Either a shader or billboards was used.

Objects disappearing: This is a "Dissolve shader" made popular by Halo. There are millions of tutorials online for making this but basically you check a value of the pixels and don't render ones higher and the X value is rendered as a emit value.

The purple swarm/ soul: This is a GPU particle emitter.

 

 

Nothing used above is special, it's all basic particle emitters and basic shaders. What makes it all special is the tempo and rhythm of the animation. A pro would take 4-7 days making this. A complete new VFX artist would take 1-2 years of learning.

 

Unreal and Unity has all you need for this build inside, in Unity you will program the shaders in Unreal you make them with Unreal's material editor. For the 3D meshes like rocks and dragons you need a 3D editor.

You could do this all using: Unreal/ Unity, Gimp, Blender.

Share this post


Link to post
Share on other sites
On 12/1/2017 at 4:53 PM, Scouting Ninja said:

Dragons: They are 3D models.

Thanks Scouting Ninja :) your answer is really detailed, I appreciate it :)

But I see GTA 4 also has explosion effect, which really looks like 3D thing, so if the Dragons is 3D models, so are GTA 4's explosions 3d models?

Share this post


Link to post
Share on other sites
2 hours ago, 123iamking said:

so are GTA 4's explosions 3d models?

Just the rocks. The fire and smoke is billboards like most particles.

Watching a few particle tutorials will teach you how to make what you need, after that it's just practice.

Share this post


Link to post
Share on other sites

So without reading @Scouting Ninja threads, he is so fast to get to these, they are 100% made with meshes. Unreal has some very powerful tools for creating 3d assets in a particle system. Something like this could be done within an hour if the mesh is already created. You can control everything from how fast it rotates, number of particles that spawn, and direction they fly, etc etc etc. Colorization of particles is managed by parameters and materials. This means your particles can do everythinng a normal game asset can do. Furthermore, some of these use sprite sheets and other fancy forms to make the particle look even better. There are hundreds of tutorials on youtube on how to do this "UE4 particle system" and you will find loads.

As scounting said, watch those, play with making a few, and after 5 or six different systems you will be able to create some seriously epic stuff with little to no effort on your part.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By Nikolay Dimchev
      Hello, Game Devs! 
      I am a 3D Modeler and Texture Artist currently looking for freelance work.
      If you're interested please feel free to checkout my portfolio at the link below.
      Contact me with details at nickeydimchev3d@gmail.com!
      ~Nick
      nickeydimchev3d.myportfolio.com
       
    • By PhillipHamlyn
      Hi
      I have a procedurally generated tiled landscape, and want to apply 'regional' information to the tiles at runtime; so Forests, Roads - pretty much anything that could be defined as a 'region'. Up until now I've done this by creating a mesh defining the 'region' on the CPU and interrogating that mesh during the landscape tile generation; I then add regional information to the landscape tile via a series of Vertex boolean properties. For each landscape tile vertex I do a ray-mesh intersect into the 'region' mesh and get some value from that mesh.

      For example my landscape vertex could be;
      struct Vtx { Vector3 Position; bool IsForest; bool IsRoad; bool IsRiver; } I would then have a region mesh defining a forest, another defining rivers etc. When generating my landscape veretexes I do an intersect check on the various 'region' meshes to see what kind of landscape that vertex falls within.

      My ray-mesh intersect code isn't particularly fast, and there may be many 'region' meshes to interrogate, and I want to see if I can move this work onto the GPU, so that when I create a set of tile vertexes I can call a compute/other shader and pass the region mesh to it, and interrogate that mesh inside the shader. The output would be a buffer where all the landscape vertex boolean values have been filled in.

      The way I see this being done is to pass in two RWStucturedBuffer to a compute shader, one containing the landscape vertexes, and the other containing some definition of the region mesh, (possibly the region might consist of two buffers containing a set of positions and indexes). The compute shader would do a ray-mesh intersect check on each landscape vertex and would set the boolean flags on a corresponding output buffer.

      In theory this is a parallelisable operation (no one landscape vertex relies on another for its values) but I've not seen any examples of a ray-mesh intersect being done in a compute shader; so I'm wondering if my approach is wrong, and the reason I've not seen any examples, is because no-one does it that way. If anyone can comment on;
      Is this a really bad idea ? If no-one does it that way, does everyone use a Texture to define this kind of 'region' information ? If so - given I've only got a small number of possible types of region, what Texture Format would be appropriate, as 32bits seems really wasteful. Is there a common other approach to adding information to a basic height-mapped tile system that would perform well for runtime generated tiles ? Thanks
      Phillip
    • By GytisDev
      Hello,
      without going into any details I am looking for any articles or blogs or advice about city building and RTS games in general. I tried to search for these on my own, but would like to see your input also. I want to make a very simple version of a game like Banished or Kingdoms and Castles,  where I would be able to place like two types of buildings, make farms and cut trees for resources while controlling a single worker. I have some problem understanding how these games works in the back-end: how various data can be stored about the map and objects, how grids works, implementing work system (like a little cube (human) walks to a tree and cuts it) and so on. I am also pretty confident in my programming capabilities for such a game. Sorry if I make any mistakes, English is not my native language.
      Thank you in advance.
  • Advertisement