토네이도와 폭발효과 만들기



토네이도와 폭발효과 만들기

금별 0 3,940 2019.08.18 17:38

원문 : https://halisavakis.com/write-up-tornado-explosion/

 

Tornado & Explosion

 

 

 

 

Recently I started experimenting with VFX and my 2 first entries on the field were 2 pretty standard concepts: a tornado and an explosion. Actually the whole idea of getting into VFX dawned on me after watching an awesome VFX tornado by Spyro. So I tried approaching VFX my own way, with my existing assets/shaders and knowledge, and started with these 2 simple concepts, with a style I had in mind which was similar to the waterfall shader I covered before.

 

Tornado

 


In case you missed it, the tornado turned out something like this:

 

 

 

 

By now, you’ve probably figured out that it’s all about layering stuff, and this effect was no exception. It’s a combination of 3 distinct effects (4 if you include the clouds, which I won’t cover here): the tornado core (which consists of 4 meshes using the same shader), the top and bottom spiraling planes (can’t think of a better description) and the particle system on the bottom.

 

Tornado core


The only custom mesh I used, looks something like this:

 

 

 

 

It’s nothing special, I did however make sure the UVs cover the whole square, so that the noise texture tiles as it pans on it.

I made a custom shader for the tornado which does the following effects:

Takes a noise texture and pans it in both axes according to a given speed.
Takes 2 HDR colors and, after rounding the texture’s values (like in the waterfall), lerps between them based on the banded value.
Displaces the vertices of the model based on the noise texture (white = outwards, black = inwards).
Uses a cutoff value to clip the pixels according to the texture’s grayscale value (without the rounding, for more values).
To get a better idea, each of the 4 layers of the core look like this:

 

 

 

 

Each layer has a different material with different colors, amount of clipping, scaling and vertex displacement power.

An important factor to get this look was the noise texture, created in substance designer:

 

 

 

 

 

Since I pan the texture in both axes, having a noise texture that was tilted 45 degrees like that was imperative to having the tornado swirling look.

 

Spiraling planes

 


The planes on the top and bottom of the tornado, while not fitting without a context (and the sky is not really fitting to the scene), contribute significantly to the impression of the sucking power of the tornado. They use a shader which is more or less the exact same as the tornado core, but with one big difference: they sample the noise texture in polar coordinates. That way, they give the impression of the texture being sucked towards the center, like a portal. That’s obviously why using polar coordinates is common to portal effects.

 

 

 

 

 

The particles
 

The more keen-eyed of you might have seen the shader before; it’s the one from that waterfall shader I mentioned above. The shader for them is explained and written in the second part of the tutorial so you can check it there!

 

 

 

 

Explosion


Following the same style as the tornado, I wanted to make an explosion effect, as it’d probably be way more commonly used than the tornado. Because I was following the same style and the principles were more or less the same, I ended up using pretty much the same exact shaders with different parameters. The end result was something like this:

 

 

 

 

Just to see it a bit better, here’s the effect without the animations:

 

 

 

 

You probably guessed it already: it’s a bunch of layers. No more than the tornado too. Here there are 3.5 distinct effects (3.5 because there are just 3 different shaders but one is used differently and on a separate mesh): The inner core of the explosion, the outer layers, the bottom spiraling plane and the outer air layers.

 

Inner core

 


While this was a separate shader, the principle was the same: Noise texture that pans with some speed, used for both coloring by lerping between 2 HDR colors (no banding here though) and for displacing the vertices.

Without the extra layers, it looks like this:

 

 

 

 

With a noise texture that looked like this:

 

 

 

 

 

Outer layers


There are 2 outer layers, using the exact same shader and setup as the tornado layers. Easy to figure out when you see them away from each other:

 

 

via GIPHY

 

 

Having them pan the opposite way really contributes to the chaos of the explosion, at least for me.

FYI, all these meshes are spheres, they just have a plane hiding the rest of the mesh.

 

Bottom spiraling plane


No surprises here, it’s the exact same thing as before.

 

 

via GIPHY

 

 

Air layers


Just for this one, I’ll remove the ground plane to see what’s going on:

 

 

via GIPHY

 

 

Yes, it’s the tornado mesh with the same shader. I’m that lazy.

 

The animation


Clearly most of the work went into animating the thing, to have a somewhat nice feeling on the impact and the timing. Lucky for me, I have a custom tool I made that takes care of simple “programmer” animations, using coroutines and such.

With that tool I can move, scale, rotate transforms, but I can also change the color of sprites/UI elements and (the more underutilized feature which I loved for this effect) change the property of a material. I can also sequence the aforementioned animations, delay them and make them use specific easing curves (or custom ones). It’s a handy tool, but right now it needs a massive refactoring and major UI/UX improvement cause this is an editor that only I can love:

 

 

 

 

The good thing is that all the aforementioned shaders have a “_Cutoff” property, so it was easy to dissolve the effect over time, while also scaling it.

 

Radial blur


To give more of an impact during the explosion, I used a custom shader for radial blur, for which I also happen to have a tutorial with the code right here. Lucky you! I do have to note that I’ve added a slight chromatic aberration effect on the existing shader though.

Here’s a comparison of a screenshot with and without the radial blur:

 

 

 

 

Without radial blur

 

 

 

 

Conclusion


And that’s it! Hopefully this breakdown gives you a good idea about how to achieve similar effects! For me these little experiments are super fun and I want to explore what else I can do with these simple techniques and shaders. Until then, see you in the next one!


These posts will never go behind a paywall. But if you really really super enjoyed this post, consider buying me a coffee, or becoming my patron to get exciting benefits!

 

Comments


번호 포토 분류 제목 글쓴이 날짜 조회
59 언리얼4 언리얼4 머터리얼 팁 - 머터리얼만으로 트위스트 구현하기 금별 2020.03.26 1565
58 언리얼4 언리얼4 머터리얼 튜토 - 플립북 모션벡터의 비대칭 RowCollumn 카운트 수정 금별 2020.03.19 1579
57 언리얼4 언리얼4 이펙트 팁 - 꿀렁이는 액체머터리얼 금별 2020.03.14 3404
56 언리얼4 언리얼4 - 리퀴드 이로이젼(침식) 효과 금별 2020.03.12 2648
55 언리얼4 언리얼4 튜토리얼 - 액터/버텍스옵셋/스플라인메시컴포넌트 및 파티클 용 언리얼 모션 블러사용법 금별 2020.03.12 2041
54 언리얼4 언리얼4 튜토리얼 - 툰 쉐이더 제작(보더랜드/Jet Set Radio) 금별 2020.03.01 2890
53 언리얼4 언리얼4 튜토리얼 - Radial 블러 만들기 금별 2020.03.01 2950
52 언리얼4 언리얼4 머터리얼 팁 - 루핑되는 액체 메쉬 머터리얼 만들기 금별 2020.02.28 1562
51 언리얼4 언리얼4 이펙트 튜토리얼 - 젤다의 전설느낌 디졸브링 파티클FX 제작 금별 2020.02.27 3322
50 언리얼4 언리얼4 이펙트 참고정보 - 스플라인에 타일링되는 리퀴드 메쉬 제작 사진new 댓글+4 금별 2020.02.25 2635
49 언리얼4 플립 백사이드 버택스 노멀 금별 2020.02.25 1126
48 언리얼4 언리얼4에서 멋진 구름효과 만들기 금별 2020.02.20 9424
47 언리얼4 언리얼4 이펙트 팁 - 쇼크웨이브 제작 댓글+1 금별 2020.02.19 3245
46 언리얼4 언리얼4 이펙트 팁 - 윈터 미믹 제작과정 금별 2020.02.07 3940
45 언리얼4 언리얼4 쉐이더 튜토리얼 - 홀로 글리치 효과 제작 금별 2020.02.04 2914
44 언리얼4 언리얼4 머터리얼 튜토리얼 - 수학을 활용한 쉐입형태 제작 금별 2020.02.04 1569
43 언리얼4 언리얼4 머터리얼 팁 - 월드 공간에서 스피어 마스크를 사용 금별 2020.02.02 2272
42 언리얼4 언리얼4 머터리얼 튜토리얼 - 흐르는 노이즈 머터리얼 제작 금별 2020.02.02 2460
41 언리얼4 언리얼4 튜토리얼 - 심리스 형태의 Animated 노이즈제작 금별 2020.01.31 1656
40 언리얼4 언리얼4 - 바다 파도 쉐이더 라이브 스트림 튜토리얼 금별 2020.01.24 3026
39 언리얼4 언리얼4 팁 - 얼음물 유리잔 쉐이더 제작 댓글+1 금별 2020.01.20 2856
38 언리얼4 언리얼4 튜토리얼 - Explosions for Games (UE4 Particle Tutorial) 금별 2020.01.20 1606

 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand