Create Realistic Heat Distortions in Blender! (CGC Weekly #25)

Поділитися
Вставка
  • Опубліковано 18 чер 2024
  • Heat distortions are a fantastic atmospheric effect that can really help sell the realism of any shot containing excessive heat. From lava to jet engines, this method will help you replicate realistic heat distortions in no time!
    Spitfire Mk IXe model and textures courtesy of martinsifrar on Sketchfab.
    sketchfab.com/models/4bfb316c...
    7-DAY FREE TRIAL (100's of Blender Tutorials)
    cgcookie.com
    GETTING STARTED IN BLENDER:
    Blender Beginner Basics: b3d.blendermarket.com/Tb2pfn
    What is Blender? b3d.blendermarket.com/u4AQOI
    FOLLOW US:
    / cgcookie
    / cgcookie
    / cgcookieinc

КОМЕНТАРІ • 127

  • @ippotsk
    @ippotsk 2 роки тому +33

    Whenever I see these specific node tutorial videos, it just blows my mind imagining how people even discover the node combinations that lead to these results. Hats off to you, haha.

  • @Kram1032
    @Kram1032 5 років тому +49

    A couple things:
    - Because of how IOR is calculated in Cycles, your plane doesn't have the same IOR on both sides. The back side (which ever one the normal is facing away from) actually gets values smaller than 1. To fix this, you have to use the backfacing property and, conditional on that, invert the IOR with a math node (1/IOR). That's then the "thin film" version of the same effect.
    - On a similar note, it might actually be a good idea to also apply a subtle normal map to the plane, because irl, we're dealing with what's effectively smoke-like (similar poofy / cloudy structure) and you aren't always looking on that straight onto the "surface" of that cloud from all angles
    - "in a perfect world", you'd use a volume with varying IOR for this. In exchange the IOR variation would be far subtler than for this thin film approximation. But I don't think Cycles can do that yet.
    - Maybe that idea could be approximated by using a particle system and billboards? Might just look like a mess though. Would come down to trying it out.

    • @DjTasteless
      @DjTasteless 5 років тому

      great inspirations, but when is it worth that effort? maybe in a 2 minute exhaust- clip...

    • @rizerphe
      @rizerphe 3 роки тому +2

      @@DjTasteless volumetric IOR enables accurate rendering of stuff that's capable of bending light (e.g. rendering neutron star collisions)

    • @Kram1032
      @Kram1032 3 роки тому +2

      @@DjTasteless adding a normal map is super helpful actually. It turns out doing so means you can get away with far lower (and effectively more realistic) IOR values. The IOR is technically supposed to be absolutely tiny.

    • @JRHainsworth
      @JRHainsworth Рік тому

      How would I change IOR in a volume?

    • @Kram1032
      @Kram1032 Рік тому +1

      @@JRHainsworth you don't. You can't. Cycles doesn't support this.
      you can, however, approximate it using the techniques offered in this video.
      My comment is merely suggesting improvements to that video's process:
      - use normal maps and smaller IOR instead of smooth but enormous IOR
      - make sure to use a thin film-style IOR (so backfacing needs the same IOR)
      - to approximate a volume, use a ton (thousands to millions) of tiny planes each with relatively small (very nearly =1) IOR values
      If Cycles *did* support volumetrically varying IOR, it'd amount to applying a volumetric texture or a voxel field or something, just like you'd do clouds and what not.

  • @antonmuzik6887
    @antonmuzik6887 5 років тому +11

    Mate, you're a genius. I've been trying to achieve this effect for ages. Thumbs up.

  • @codered1047
    @codered1047 5 років тому +1

    Impressive result. i had the nutty idea to use this Heat distortion material in a fluid sim on my channel and it turned out great. keep up the great content!

  • @davidfrazier4358
    @davidfrazier4358 3 роки тому +1

    "...Anyway...it's cool stuff, trust me!" LOL.Grant you always mange to make me smile! Great job

  • @stuarteliason8093
    @stuarteliason8093 5 років тому +23

    At 7:00 when you’re using the Vector Math to center the gradient, you can use a Vector > Mapping node to do the same thing. You can also simply use the Object output from the Texture Coordinate node; that will be centered on the object’s origin so the gradient will be centered.
    Great tutorial, I’ve been looking for an effect like this for a while! Keep up the good work!

    • @Javierm0n0
      @Javierm0n0 5 років тому +1

      I was wondering if that was a possibility.

    • @Kram1032
      @Kram1032 5 років тому +3

      Also, the object coordinates use the object's scaling, I think. Which means if you start with the standard plane and then just scale and position it as needed *in object mode,* the circular gradient is going to look exactly right (like the tightest fitting ellipse) and *precisely* end at the edge of the plane.

  • @robestey5628
    @robestey5628 4 роки тому

    THAT is just too friggin COOL. Well done - thank you

  • @mysteryof3d
    @mysteryof3d 5 років тому +1

    That really looks great :).

  • @yonicaldomillocreative7316
    @yonicaldomillocreative7316 Рік тому

    Amazing and clear tut!!!!!!!!

  • @simoncodrington
    @simoncodrington 5 років тому

    Thanks for the video mate. Looks great :)

  • @h7opolo
    @h7opolo 3 роки тому

    great tutorial. thank you.

  • @JakobScheidt
    @JakobScheidt 5 років тому

    Great, that was very informative!

  • @aux_anges
    @aux_anges 5 років тому

    Clever, thank you, this was fun :)

  • @rana-3d
    @rana-3d 5 років тому

    Very interesting your tutorial

  • @syphlr1447
    @syphlr1447 4 роки тому +1

    Ty for amazing tuto & effect =) 10:56 might as well add a noise modifier to Y location to get a more random effect (unless irl heat constant) 12:30 add a damped track to camera constraint to get the heat always face the cam.

  • @RomboutVersluijs
    @RomboutVersluijs 5 років тому

    Clever thinking bro!

  • @-Blender
    @-Blender 5 років тому

    Really cool effect :)

  • @Bi0Dr01d
    @Bi0Dr01d 5 років тому +1

    Bizarre... While this video was loading up, a WIX (create your own website) ad came up with an almost identical table/desk and laptop as the room you recorded this video in. When I skipped the ad, it literally looked like some dude from the WIX commercial transformed into you to talk about blender. lol It was funny. Made my day.
    Make your own website - by Creating Realistic Heat Distortions in Blender!

  • @TheJobCompany
    @TheJobCompany 5 років тому +1

    Noice! At least now, during the winter freezing weather I can remind myself how much I miss summer times.

  • @SpencerMagnusson
    @SpencerMagnusson 5 років тому +4

    Another way I've seen this done (a longer but perhaps more accurate way) is to do a render of smoke (openGL maybe?) in the applicable area, where the smoke is white with a low density. And then you add that in the composite and plug it into the displace node. It's definitely not as quick, but the use of smoke may make it a little more accurate, and it'd hold up to multiple layers in compositing.

    • @baggern
      @baggern 5 років тому

      Well no - with this method you are actually displacing the directions the rays go.

  • @toolzshed
    @toolzshed 5 років тому

    whoa sweet!

  • @fabioroncal8763
    @fabioroncal8763 5 років тому +27

    The heat distortion planes still casting shadows

    • @para8D
      @para8D 4 роки тому +7

      select the plane [object context menu - visibility - ray visibility - shadow (untick)] There is likely a way to do it with nodes but couldn't tell you. If anyone knows reply!

    • @0x8080FF
      @0x8080FF 4 роки тому +4

      @@para8D To stop an object from rendering shadows using cycles nodes, use the Light Path node 'Is Shadow Ray' output into the factor input of a Mix Shader, with a Transparent BSDF as the second shader input.

    • @para8D
      @para8D 4 роки тому

      @@0x8080FF perfect, thanks!

    • @spiritwolf5792
      @spiritwolf5792 3 роки тому

      it's actually correct.
      heat distortions do make shadows.
      the problem is when you have caustics off and then it's not accurate.

  • @yahlimendler2898
    @yahlimendler2898 5 років тому +7

    Could you please make a tutorial on iridescence?

  • @user-tt9tr4vx1n
    @user-tt9tr4vx1n 3 роки тому

    I want to know how to make the shock wave distortion effect, thank you for sharing.

  • @LushPop
    @LushPop 3 роки тому

    god bless this channel

  • @KevinSmith-qi5yn
    @KevinSmith-qi5yn 5 років тому

    Shiny metals can have an Index of Refraction less than 1, but they are solid materials and this affects how the light colors the metal.

  • @corvette724
    @corvette724 3 роки тому

    Hi, great. Hod did u make the Rivests?

  • @rolandrickphotography
    @rolandrickphotography 5 років тому

    Your tutorials taste good like cookies 🤤🤤🤤. So, subbed and checked the bell 🛎 😊 - What is that for a notebook you are using? GPU working fine with 2.79, 2.80? Would appreciate any recommendation 🙏🙌

  • @notsure1969
    @notsure1969 4 роки тому

    Awesome. How long did that take to figure out?

  • @Capkuckokos
    @Capkuckokos Рік тому +1

    Actually air has the index of refraction 1.0003, it is not exactly 1. 1 is only for vacuum. Hot air has a slightly smaller IOR than air in normal conditions because it is less dense, so it is closer to vacuum. Usually in blender we approximate air with IOR exactly equal to 1, actually there is no air in empty spaces in blender, it is a vacuum. If we doing so, maybe it will be more accurate to use IOR less then 1 for hot air.

  • @polipano
    @polipano 3 роки тому +3

    Hello, great tutorial. Thank you. I am trying to use this for the heat of the engines of an airplane during takeoff. However, even though the refraction plane color is pure white (1,1,1) and even though the Roughness is 0.00 and the IOR=1, the refraction plane is not transparent but is seen very clearly. I am working with the recent 2.8 version. Can you please assist me solving this issue? Thank you, Nissan

  • @DimosasQuest
    @DimosasQuest 3 місяці тому

    Still does the trick in blender 4.0 in 2024!

  • @Ramp10er
    @Ramp10er Рік тому

    You can actually use these to create Son Gouku Aura, then add some rotoscoping on the character to make the edges glow. You can also add some multifractal to add some color to your distortion.. Hollywood VFX...

  • @RicardorVFX
    @RicardorVFX 5 років тому

    More controllable would be a layered render and handle that with a animated displacement map and traking to object, so you do not tie yourself with the background

  • @Stoerfishprojekt
    @Stoerfishprojekt 5 років тому

    wow thats so much over the top .. do it in compositing.. same texture.. easier masking.. no coplicated nodehustling inside of the materialshade and safe rendertime cause the effect will done in the compositer^^

  • @SilentPrayerCG
    @SilentPrayerCG 2 роки тому

    The black stuff is visible because camera watches back of plane, i think render consider it exit of ray from object instead of entering, or something like that.
    I've noticed it when i tried this in different rendering system and there was no black stuff, but then i rotate view to back of plane, and yea there it is.
    Actually it even better when came see back of plane, its better distort object right behind plane.
    I bet it because ray considered distorted for all distance between camera and point when he "exit" through back of plane.

  • @098_naitikshah7
    @098_naitikshah7 5 років тому +1

    Hey, the one from the channel ' Remington Graphics ' looks just like you

  • @sourdonkeyjuice
    @sourdonkeyjuice 4 роки тому +5

    I followed this but it seems my refraction is only being affected by the world HDRI and not taking into account the other objects and lights in the scene.. is this a blender limitation or could I be doing something wrong? Any help much appreciated! Thanks

    • @leanderbrough8517
      @leanderbrough8517 Рік тому

      little late but, if you're using eevee be sure to enable screen space reflections in both the material settings and render settings

    • @VolcanicDecay
      @VolcanicDecay 18 днів тому

      @@leanderbrough8517 I had the same issue but even with those setting enabled it shows some objects but after some distance it still only shows the HDR

  • @ChrisD__
    @ChrisD__ 5 років тому

    Can you make a tutorial on making tutorials?

  • @arandomlizard3411
    @arandomlizard3411 4 роки тому +20

    You are totally wrong. This is actually one of the few cases that you do want an IOR less than 1. You only get an IOR less than one when you go from more dense to less dense, which, guess what, is exactly what is happening.

    • @ajfraser224
      @ajfraser224 2 роки тому +4

      wow it was nice of you to point this out in such a polite and nice way

  • @Wzxxx
    @Wzxxx 4 роки тому

    I have absolutelt no idea what You did with these vector and math part and saperate xyz. No idea. I learned nothing. But thats a good instruction

  • @MisterWealth
    @MisterWealth 4 роки тому +1

    How can I have the heat distortion turn on and off like real heat disortion example being a mirage. You'll sometimes see it, it'll disappear then reappear almost in layers. How can I achieve that effect?

    • @eggyrepublic
      @eggyrepublic 4 роки тому

      Add a mix shader right before the final output, and connect a transparent node to the second slot. Adjust the mix factor and keyframe it so you can have the plane be invisible (transparent) or with the heat distortion.

  • @philmsproduction
    @philmsproduction 5 років тому +2

    Although I am pretty sure that is not physically accurate to assume that the distortion happens along a plane. It still looks very convincing.
    I recently read that heated air is a example of a medium with a continuously varying index of refraction. That is the IOR changes not abruptly along a surface but continously. So I believe the light rays will travel along a curve instead of being refracted at a clearly defined surface (where there would be an edge in the path of the light ray instead of a curve).
    I don't think any render engine supports physically accurate rendering of media with continously varying IOR.
    Anyway who cares if we need to fake it as long as the result looks still cool.

    • @eknight2904
      @eknight2904 5 років тому +2

      I recall another tutorial on this on CG Cookie that used particles with rgb colours that were then mapped in the compositor to create a lens distortion effect based on the RGB values for XYZ. Quite some work, but very accurate and convincing results. This way introduced is a lot cheaper in terms of effort and for a quick way makes a lot of sense to me, too. What I would do is distort the plane (or a cylinder?) rather than use a texture. Would need to check if that changes the looks to be even more realistic. Animation probably needs to be a bit faster for a head exhaust? Nice tutorial - as always! :-)

    • @Kram1032
      @Kram1032 5 років тому

      Yeah, I tried adding a normal map to "fake" distortions not along a plane, and it actually is rather advantageous: Smaller IORs can cause larger distortions that way.
      No way to do the continuous IOR in Blender though. That'd require a volume-level IOR.

    • @Cristian-xp2ix
      @Cristian-xp2ix 5 років тому

      @@Kram1032 I know I'm late, but I think you can simulate the changing IOR, by keyframing it and then adding a subtle noise modifier in the graph editor. I haven't tried it, but it should be even more realistic IMO.

    • @Kram1032
      @Kram1032 5 років тому

      That's IOR changing in time, not in space. You want volumetric IOR. Potentially a different, continuously varying value for every single point in space.

    • @Cristian-xp2ix
      @Cristian-xp2ix 5 років тому

      @@Kram1032 Thanks, I get it now...

  • @Illasera
    @Illasera 3 роки тому

    Do not duplicate the material for different distortions,
    Performance tip so you WON'T end up with 1000 materials for each distortion effect; that will eat your resources and pollute your workspace.
    In version 2.8 and above, each object got : object index pass and material index pass.
    You can use "object info" node and plug it into "math node" multiplier so each object that you give a different index number that will provide different distortion, while using the same material and save perfomance, let alone clean workspace enviornment.
    * the method described above works with : keyframes, drivers, library overrides and collection instances.

  • @letsgobirding9246
    @letsgobirding9246 3 роки тому

    what is that other camera doing?

  • @FoxBoi69
    @FoxBoi69 5 років тому +5

    what would happen if you assign this material to uprising smoke?

    • @Foxidroytber
      @Foxidroytber 5 років тому

      i dont think that adding to smoke works cause smoke isnt a actual mesh its a lot of voxels but it would be insane tho

    • @MinZ3
      @MinZ3 5 років тому +1

      why dont you try it? :D

    • @FoxBoi69
      @FoxBoi69 5 років тому

      Minze i don't know xD

    • @abuzzedwhaler7949
      @abuzzedwhaler7949 5 років тому +1

      Sadly, it wouldn't work. Smokes are volumetric, not geometric, and we currently do not have a volume refraction shader. The reason being that refraction requires normal data, which voxels do not have.

  • @masterchieftheconqueror2631
    @masterchieftheconqueror2631 4 роки тому

    This work in 2.81? 2.82?

  • @liambuffat3731
    @liambuffat3731 5 років тому +1

    Why do we have a glass node when the refraction node looks so much better? Just add noise and you have an old window glass.
    I wish someone could explain clearly the precise manipulation of the gradient texture. I've been adding a mapping node and use trial and error to position it. Its not very intuitive.
    Thanks for all the great tutorials

    • @hansdietrich83
      @hansdietrich83 5 років тому +1

      Because glass isn't pure refraction but also reflection and color. Also you should use the principled shader for glass

  • @danieldesembrana3998
    @danieldesembrana3998 10 місяців тому

    My laptop can't handle cycles. Can it be done using evee?

  • @pitched7401
    @pitched7401 2 місяці тому

    I know i'm 5 years late, but dude the Texture Coordinate "Object" output exists... Awesome stuff tho!

  • @pierregarcia4752
    @pierregarcia4752 5 років тому

    IOR can’t get lower than 1 because it’s the divider of the speed of light. And as you know, nothing can get faster than c. So if the IOR were lower than 1, the speed of light would get over c which is impossible.
    Great video btw!

    • @MinZ3
      @MinZ3 5 років тому +1

      I've found 2 entries on this page where the IOR is lower than 1. Not sure if thats accurate though: pixelandpoly.com/ior.html
      It's Gold and Silver.
      Edit: Just skimmed through the Wikipedia page for the refractive Index. IOR values below 1 are possible, there are even materials with a negative IOR. Quiet hard to understand nevertheless.

    • @RemingtonCreative
      @RemingtonCreative 5 років тому

      From what I know, IOR can be negative, which is technically less than one, but it can never physically be between -1 and 1.

  • @xnet-pvzok728
    @xnet-pvzok728 4 роки тому

    Called it

  • @Avion_Anims
    @Avion_Anims 3 місяці тому

    I need some help... The plane causes shadow to my aircraft, and i don't know how to change it. Please help.

  • @Charly_Chive
    @Charly_Chive 5 років тому

    haven't you uploaded this a couple days ago?

    • @RemingtonCreative
      @RemingtonCreative 5 років тому

      We upload episodes on CGCookie.com a week in advance, so you probably saw it there first :)

  • @krypto61
    @krypto61 5 років тому

    You can use this at 8:28 to create a portal in scene :)

    • @philmsproduction
      @philmsproduction 5 років тому +1

      hey that would be a cool idea. Someone should make a tutorial about how to render a portal. Or such a door like in the movie monsters, inc. But probably that is not really possible without first implementing this functionality in cycles.

    • @krypto61
      @krypto61 5 років тому

      well, it is possible if I understood you right: you want a door that shows a different world behind it am I right? Maybe you could use the camera rays factor in the light path node in a way how this would work

  • @tamilorejoseph4704
    @tamilorejoseph4704 2 роки тому

    This is a really good tutorial but I’ve come across a problem where by my edges don’t fade into the background, it would be really helpful if someone could help me with that. Cheers :)

    • @NeHooYeY
      @NeHooYeY Рік тому

      Same, I have small gun shot with bright light for 1 frame and I see square edges.
      I know I’m doing something wrong, but can’t find the root.

  • @marcinsieteski9364
    @marcinsieteski9364 5 років тому +2

    Hi! I am using Eevee on Blender 2.8 and this distortion effect only applies to my HDRI and acts like there is nothing else in the scene. Any idea why it is distorting only HDRI?

    • @para8D
      @para8D 4 роки тому +5

      I needed to turn on [render settings - screen space reflections - refraction] and with the plane selected [material context menu - settings - screen space refraction on] these are off by default as Eevee is setup for fast performance initially.

    • @kmb_jr
      @kmb_jr 4 роки тому +1

      @@para8D Thank you!!

    • @imgood8514
      @imgood8514 3 роки тому +1

      @@para8D thank you bro

  • @lomborg4876
    @lomborg4876 2 роки тому +1

    I’m fairly sure you could do this with a smoke simulator or a particle system

  • @VitzGaming
    @VitzGaming 7 місяців тому

    i cant do it...

  • @SamMorseBrown
    @SamMorseBrown 5 років тому

    A bit of an unrelated question but how do you make you nodes snap to a grid like his?

  • @user-xe2me1qz5l
    @user-xe2me1qz5l 4 роки тому

    What's EVT_TWEAK_L

  • @eleypvr7294
    @eleypvr7294 Рік тому

    uhhh i still have the black holes

  • @sivanesan3400
    @sivanesan3400 4 роки тому

    Not working on EEVEE. It's only refracting the World not the objects. But its still working on Cycles but i need it on EEVEE.

    • @yarppal9754
      @yarppal9754 3 роки тому

      There's a solution above: para8D
      para8D
      1 year ago
      I needed to turn on [render settings - screen space reflections - refraction] and with the plane selected [material context menu - settings - screen space refraction on] these are off by default as Eevee is setup for fast performance initially.
      5

  • @marcelputra299
    @marcelputra299 5 років тому

    you just made a blackhole out of air, what next?

  • @russian2.0
    @russian2.0 2 роки тому

    at least Russian subtitles added ...

  • @inanis_exe
    @inanis_exe 11 місяців тому

    2023 thank you

  • @mikeben9587
    @mikeben9587 5 років тому

    Nice Video, but nothing for beginners to follow. I mean, when you make a tutorial, then please explain also, what the nodes are doing. You put some (for not profis) crazy nodes in the editor but you dont't explain in detail why you use this nodes. When you dont't do this, then name such videos as breakdown, but not as tutorial. But thats just my opinion

    • @RemingtonCreative
      @RemingtonCreative 5 років тому

      I appreciate the feedback! This tutorial was guaged toward more advanced users, but I'll still try my best to make content understandable for all parties!

  • @Labaya21
    @Labaya21 2 роки тому

    Bro flip the normal, im ithcing

  • @sid3238
    @sid3238 5 років тому

    FIRST

  • @SwankyPete69
    @SwankyPete69 5 років тому

    I know this man in real life

  • @lucutes2936
    @lucutes2936 2 роки тому

    a bit complicated

  • @starby1243
    @starby1243 5 років тому +1

    I wouldn't call it realistic though🐹

  • @ApexArtistX
    @ApexArtistX 5 років тому

    Too much node for a noob. Please make videos with simpler methods . Thanks

  • @DjTasteless
    @DjTasteless 5 років тому

    Please never change the style of your tuts! Its so annoying getting the info about object and edit mode in every tutorial. You spend your life in doing tuts for Blender, including all this noob stuff, so please, people, check out the appropriate tuts!

  • @HrafnNordhri
    @HrafnNordhri 5 років тому

    Not sure who this dude is, I miss training from Jonathan Williamson. This guy seems nice, but he generally talks down to viewers as if we are idiots.

    • @Lattamonsteri
      @Lattamonsteri 5 років тому +1

      Well these are fast beginner-friendlyish tutorials :p it can get a bit frustrating for advanced users of course ;)

    • @RemingtonCreative
      @RemingtonCreative 5 років тому

      I appreciate the feedback, I'll try and keep stuff like this in mind for future episodes! :)

  • @sgarbidonna1
    @sgarbidonna1 4 роки тому

    This is works on eevee?