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

Поделиться
HTML-код
  • Опубликовано: 16 ноя 2024

Комментарии • 127

  • @ippotsk
    @ippotsk 3 года назад +38

    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 6 лет назад +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 4 года назад +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.

  • @stuarteliason8093
    @stuarteliason8093 6 лет назад +24

    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 6 лет назад +1

      I was wondering if that was a possibility.

    • @Kram1032
      @Kram1032 6 лет назад +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.

  • @antonmuzik6887
    @antonmuzik6887 6 лет назад +11

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

  • @DimosasQuest
    @DimosasQuest 8 месяцев назад +1

    Still does the trick in blender 4.0 in 2024!

  • @davidfrazier4358
    @davidfrazier4358 3 года назад +1

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

  • @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.

  • @codered1047
    @codered1047 6 лет назад +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!

  • @SpencerMagnusson
    @SpencerMagnusson 6 лет назад +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 6 лет назад

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

  • @fabioroncal8763
    @fabioroncal8763 5 лет назад +27

    The heat distortion planes still casting shadows

    • @para8D
      @para8D 5 лет назад +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 4 года назад

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

  • @Capkuckokos
    @Capkuckokos 2 года назад +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.

  • @KevinSmith-qi5yn
    @KevinSmith-qi5yn 6 лет назад

    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.

  • @robestey5628
    @robestey5628 4 года назад

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

  • @yonicaldomillocreative7316
    @yonicaldomillocreative7316 2 года назад

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

  • @yahlimendler2898
    @yahlimendler2898 6 лет назад +7

    Could you please make a tutorial on iridescence?

  • @polipano
    @polipano 4 года назад +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

  • @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!

  • @LushPop
    @LushPop 3 года назад

    god bless this channel

  • @Ramp10er
    @Ramp10er 2 года назад

    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...

  • @Illasera
    @Illasera 4 года назад

    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.

  • @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

  • @方エデン
    @方エデン 3 года назад

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

  • @mysteryof3d
    @mysteryof3d 6 лет назад +1

    That really looks great :).

  • @h7opolo
    @h7opolo 4 года назад

    great tutorial. thank you.

  • @TheJobCompany
    @TheJobCompany 6 лет назад +1

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

  • @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 2 года назад +1

      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 5 месяцев назад

      @@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

  • @SilentPrayerCG
    @SilentPrayerCG 3 года назад

    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.

  • @RomboutVersluijs
    @RomboutVersluijs 6 лет назад

    Clever thinking bro!

  • @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^^

  • @rana-3d
    @rana-3d 6 лет назад

    Very interesting your tutorial

  • @corvette724
    @corvette724 3 года назад

    Hi, great. Hod did u make the Rivests?

  • @toolzshed
    @toolzshed 5 лет назад

    whoa sweet!

  • @simoncodrington
    @simoncodrington 5 лет назад

    Thanks for the video mate. Looks great :)

  • @JakobScheidt
    @JakobScheidt 6 лет назад

    Great, that was very informative!

  • @-Blender
    @-Blender 6 лет назад

    Really cool effect :)

  • @aux_anges
    @aux_anges 6 лет назад

    Clever, thank you, this was fun :)

  • @MisterWealth
    @MisterWealth 5 лет назад +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.

  • @arandomlizard3411
    @arandomlizard3411 5 лет назад +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 3 года назад +4

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

  • @philmsproduction
    @philmsproduction 6 лет назад +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 6 лет назад +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 6 лет назад

      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...

  • @danieldesembrana3998
    @danieldesembrana3998 Год назад

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

  • @Avion_Anims
    @Avion_Anims 8 месяцев назад

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

  • @098_naitikshah7
    @098_naitikshah7 5 лет назад +1

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

  • @letsgobirding9246
    @letsgobirding9246 3 года назад

    what is that other camera doing?

  • @pitched7401
    @pitched7401 7 месяцев назад

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

  • @pierregarcia4752
    @pierregarcia4752 6 лет назад

    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 6 лет назад +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 6 лет назад

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

  • @krypto61
    @krypto61 6 лет назад

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

    • @philmsproduction
      @philmsproduction 6 лет назад +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 6 лет назад

      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

  • @notsure1969
    @notsure1969 5 лет назад

    Awesome. How long did that take to figure out?

  • @FoxBoi69
    @FoxBoi69 6 лет назад +5

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

    • @Foxidroytber
      @Foxidroytber 6 лет назад

      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 6 лет назад +1

      why dont you try it? :D

    • @FoxBoi69
      @FoxBoi69 6 лет назад

      Minze i don't know xD

    • @abuzzedwhaler7949
      @abuzzedwhaler7949 6 лет назад +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?

  • @xnet-pvzok728
    @xnet-pvzok728 5 лет назад

    Called it

  • @liambuffat3731
    @liambuffat3731 6 лет назад +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 6 лет назад +1

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

  • @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 🙏🙌

  • @ChrisD__
    @ChrisD__ 6 лет назад

    Can you make a tutorial on making tutorials?

  • @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 2 года назад

      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.

  • @lomborg4876
    @lomborg4876 2 года назад +1

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

  • @VitzGaming
    @VitzGaming Год назад

    i cant do it...

  • @eleypvr7294
    @eleypvr7294 2 года назад

    uhhh i still have the black holes

  • @Charly_Chive
    @Charly_Chive 6 лет назад

    haven't you uploaded this a couple days ago?

    • @RemingtonCreative
      @RemingtonCreative 6 лет назад

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

  • @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

  • @ЯНМУСАТОВ-у4м
    @ЯНМУСАТОВ-у4м 4 года назад

    What's EVT_TWEAK_L

  • @inanis_exe
    @inanis_exe Год назад

    2023 thank you

  • @SamMorseBrown
    @SamMorseBrown 6 лет назад

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

  • @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 5 лет назад +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 5 лет назад +1

      @@para8D Thank you!!

    • @imgood8514
      @imgood8514 4 года назад +1

      @@para8D thank you bro

  • @marcelputra299
    @marcelputra299 6 лет назад

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

  • @russian2.0
    @russian2.0 2 года назад

    at least Russian subtitles added ...

  • @mikeben9587
    @mikeben9587 6 лет назад

    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 6 лет назад

      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

  • @lucutes2936
    @lucutes2936 2 года назад

    a bit complicated

  • @sid3238
    @sid3238 6 лет назад

    FIRST

  • @SwankyPete69
    @SwankyPete69 6 лет назад

    I know this man in real life

  • @starby1243
    @starby1243 6 лет назад +1

    I wouldn't call it realistic though🐹

  • @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!

  • @ApexArtistX
    @ApexArtistX 6 лет назад

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

  • @HrafnNordhri
    @HrafnNordhri 6 лет назад

    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 6 лет назад +1

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

    • @RemingtonCreative
      @RemingtonCreative 6 лет назад

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

  • @Wzxxx
    @Wzxxx 5 лет назад

    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