Star Citizen - Explosion VFX Breakdown

Hi all,

I figured it would be cool to share this here. It’s a video of our Senior VFX Artist Caleb (who is a member of this site) showing how we create high quality explosion assets in Star Citizen, using some pretty cool shader wizardry.

I hope it proves useful, and if you guys have any questions, feel free to ask :slight_smile:

  • Mike (Lead VFX Artist, Cloud Imperium Games)

53 Likes

I am so jealous… and my eyes just pop…

I’m super curious–is there anything similar to (or coming down the pipe) the optical flow map for UE4? That seems like it sure does solve the constant flickering you have to fight when using sprites.

1 Like

Top notch stuff! Would love to see a more in depth showing of how all of those textures are generated and used in the shader.

There is a convo going on right now about the optical flow style stuff. A lot of it is centered around UE4 actually so it may be helpful.

Motion Vectors (for animated textures), How do you generate them?

We are primarily talking about the method shown a few years back by Guerilla Games that more recently Klemen Lozar wrote up for UE4: http://www.klemenlozar.com/frame-blending-with-motion-vectors/#more-1772

Most studios seem to have adopted the concept if not the specific implementation, so I wouldn’t be surprised to hear Epic is making something more built in, but although parts of it are still hard to get a grasp on, the results are so valuable that most everyone is rolling their own anyway.

8 Likes

looks awesome guys! diggin it!

Thanks for the kinds words guys!

@ryan.dowlingsoka, indeed Caleb (our Senior VFX Artist) has replied to that thread with some tips on how we generate our flow maps using Twixtor and/or FumeFX velocity (sometimes combining the two).

We found it to be something of a dark art to get a setup that works best for us - a lot of trial and error! We were lucky enough to be able to spend a lot of R&D time getting it working well though, and we are starting to get some very smooth results now.

Thanks again,

Mike

1 Like

You are a gentleman and a scholar, sir!

Booommbb!!! thanks for sharing this , motivated to create my own version with Houdini now :heart_eyes:

great piece of information dude :slight_smile:

Nice to see Caleb on “Around the Verse” finally :slight_smile: Also fantastic to see new features have been added to the CIG VFX Tools.

This is awesome, thanks for sharing this!

Hey all,
I’ve been trying to get decent normals from FumeFX with a light cage but its not looking so hot. What was the process you used when rendering the normals from Fume?

The method i use is derived from an old method by ryan clark.

http://www.zarria.net/nrmphoto/nrmphoto.html

He uses a flashlight to photograph an object, then combines the “lightmaps” together to make a normal.

I also combine it with the rgb lighting method that is common in the movie industry to combine multiple light directions into 1 render. Its basically just a normal rgb light rig in your 3d program. Left light is red, top is green, front is blue. (dont need front for the normal) You need to do a second render pass for right and below, (right=red, below=green) You can also add a blue back light into your second render but its not needed for the normal. (front and back lighting useful for the diffuse though)

When setting up the lights in your scene, make them exactly 90 degrees on their respective axis as 90 degrees seems to yield the best/most accurate results. There are times however what all the side lights will not light a section of the sim. (ie: a cavity in the middle of the cloud) These areas will show up as essentially flat on the normal. There ways to minimize this, either by thinning out the sim so the light penetrates more, or by rendering a second normal map with lights that will cover those areas (45-60 degrees instead of 90) and then combining the two photoshop.

6 Likes

what a great explosion vfx! Awesome!

I will type my need here since it falls in my opinion perfect into a resource topic related to maps generating.

Because i really like this video I’m working on my own personal project to generate “same” result.
Im working on Houdini 15, and after having my explosion simulation done i need help to generate maps (and how i make temperature map) and spread sheets.

i did research about this but didn’t find too much detailed information.
any small tutorial will be greatly appreciated :heart_eyes:

I have a question too :slight_smile:

How do you generate temp map? I’m guessing that using effectors in ffx and rendering temperature channel, am I right? I haven’t tested that yet, will have to give it a try.

Also… Do you generate all those passes in just one render or you render multiple times with different settings? If so - how? Maybe newb question but I really can’t figure out how do generate all the different lighting setups, motion vectors, temp maps all at once :slight_smile: Time is money so it would be great to generate them all at once.

@Ohadgfx re: > how i make temperature map?
@Gaxx re: > How do you generate temp map?

This just the fire render, at least in the example shown on the video. So, two options here. Either enable Render Elements and select FumeFX Fire, or simply set your smoke color to completely black and render out directly (we don’t need the alpha channel of the fire, as we comp over the top of the smoke via our engine’s particle shader).

At CIG, we only need the fire pass as a greyscale, and we then map this to a Black-body/heat gradient in our particle editor. So the most important thing for us when rendering out the fire pass is that there is sufficient noise/detail in the frames. I find this one of the trickiest parts to master, as it’s all too easy for the fire to bloom out all the detail in the texture - especially if using multiple scattering.

@Gaxx re: > Do you generate all those passes in just one render or you render multiple times with different settings?

For sure, the less often you need to press the render button, the better! :slight_smile: Personally I use Backburner to send my renders to a separate PC. The benefits of this are obvious; I can queue up my various passes, plus it frees up my main PC so I can continue with other tasks.

You can see the exact amount of passes we end up with in the original video link but we basically need RGB smoke x2 (for normal and diffuse), fire (for heat), velocity (for flow map) and alpha (for, you guessed it, alpha!)

I hope that makes sense :blush:

2 Likes

Thanks for the answers.

One more question about coloring of fire. Do you color it by something called ‘color indexing’? https://www.youtube.com/watch?v=YcFwQgwLY9A this was one of the first videos on good old ImbueFX :slight_smile: this seems to be working the way you describe but I’d rather confirm that.

Anyway - good job creating those explosions. Looks very good. Can’t wait for recreating those!

@Gaxx - yeah, exactly that. We don’t currently have the ablility to dynamically update the mapping though, but it’s something we’re thinking about doing.

Good link by the way, that’s @alex.underhill who happens to be the creator of the awesome Slate editor, which I’ve seen mentioned on a couple of posts here already but surely deserves a thread of its own :smiley:

2 Likes