This is my post for the sketch #22 : ~ Grayscale ! ~
List of edits (click to open)
- 22/04 : Added tornado 4
- 21/04 : Added tornado 3
- 15/04 : Added tornado 2, added the “thumbnail gif” section
- 12/04 : Added tornado 1 shader breakdown.
The theme I chose is … TORNADOES !!
…again (I love these cuties).
I’ll try to use a lot of different styles, from cartoonish to realistic ones. My goal is to create an unique mood for each tornado that I’ll make. It can be a static scene, some kind of panoramic environment, a gameplay-oriented way of approach or even some 2D animated artwork. I’ll try to do everything, I promise. :]
Let’s go !
- ~ Tornado N°1 ~
Okay so ! Let’s begin with some Halftone, right ?
HD Video link (trust me, the gif quality is bad):
Alright ! So, after I searched a lot for visual references that can inspire me, I noticed that Halftone is a good candidate ! I tried to mix it with some custom banding shader. As you can see, my first entry is shader-only, no particles
Basically, my shader is based on a custom lighting made by multiplying a screen space texture by the dot product of light direction & world normals. Actually, this is only the tiny tiny base of the process, I added a LOT of little things to make it better (like custom outline woo !) At the beginning, I used this video as a reference, it’s pretty cool : Video link
Also, there is a lot of things that could be optimized/upgraded, but if I do it for eevery entry, that will take like 3 months lol. (I mean, some outlines are weird, there are visual artifacts, the props animations are garbage, etc…).
~ Breakdown : how to make an easy Hightone shader with amplify ?
- First step : configure the custom lighting. To do this, you need to multiply the dot product of the world normals and the light direction with the light color, and you can also put a vector1 to control the intensity.
- Second step : configure the UV for the dots texture. The screen position could work alone, but you need to multiply it with the screen parameters and the texel size to normalize it, otherwise you texture will be stretched according to your screen resolution.
- Next, take the XY values of this operation and plug in to the texture UVs. What I do after this is multiplying my texture by the light config output that we etablished at step 1, resulting in a gradient that’s close to the final output. Then, I use a smoothstep to reduce the grey gradient, and to gain control over how my dots are rendered.
- That’s it ! Now plug this into your custom lighting input, play with the values, and you should have something similar to this :
- This is the base that I made for my shaders. I added a lot of little features like custom outline with vertex alpha blending (to remove some artifacts), panning and rotation, posterize, vertex offset, nodes for the emission, etc… testing is key :]
- ~ Tornado N°2 ~
Today I made this tornado ! It’s a stylized naruto-ish style, and I was hugely inspired and motivated by all the fantastic VFX we can find on CG Joy.
The whole tornado is composed of some emitters, for a total of ~75 particles on screen. Most of them are meshes, so I tried to do my best to optimize them, to have the least overdraw possible. There are also really simple dissolve shader, and the core shader is composed of a single texture that’s doing both the emission and the vertex offset.
Well, about this one I feel like I cound polish some things like the top of the tornado, or add some kind of background/ground to the scene, but I don’t have the time right now.
- ~ Tornado N°3 ~
Here is my third sketch. It’s a realistic one this time ! My main reference is this Google research.
Supercell storms are really amazing ! But quite hard to make; I restarted like 3 times… And it’s really not perfect. But hey, it’s a sketch :] Here we go :
Video link (it seems like Youtube has destroyed my greyscale values, unlucky)
This one is all about noises, and I used quite the same methods than my Sketch #12. If you want a detailed workflow about how to make this kind of realistic tornadoes, I wrote an article for 80.lv right here !
- ~ Tornado N°4 ~
I did some pixel art post process to render this one. Actually, these are 3D meshes with an orthographic camera. Quite fun to make ! My main reference is this gif.
Tornado textures are screen space, with standard distortion. Storm is made of some meshes with simple dissolve and posterized noises. Maybe I’ll polish this one at the end ! Maybe not :]
Stay tuned, more tornadoes are coming this week end !
To be edited
Like always, feel free to ask me anything about this ! I’ll try my best to answer correctly.
See you soon for an update !