- 7
- 211 639
Novan Byworks
United States
เข้าร่วมเมื่อ 5 ก.พ. 2019
How to CORRECTLY use AMBIENT OCCLUSION | Blender Tutorial
I'm here to settle the score on how to use ambient occlusion in Blender CORRECTLY. None are without sin.
Blender Manual - "Shader To RGB":
docs.blender.org/manual/en/latest/render/shader_nodes/converter/shader_to_rgb.html
Blender Stack Exchange post:
blender.stackexchange.com/questions/196400/material-emitting-only-in-dark-parts-of-an-object
ASSETS USED:
Rustic Brick 2:
www.textures.com/download/PBR0359/137144
Coastal Cliff 2:
www.textures.com/download/PBR0848/139504
Tufted Leather:
www.textures.com/download/PBR0208/133245
Hammered Copper:
www.textures.com/download/PBR0188/133227
Wood Trim:
www.textures.com/download/PBR0575/138822
Old Metal (legacy):
www.textures.com/download/Substance0062/128402
Timbered Brick Wall:
www.textures.com/download/PBR0571/138818
SciFi Panels 09:
www.textures.com/download/PBR0950/140627
HDRI Japan Kabuchiko Night:
www.textures.com/download/HDRPanoramas0093/134037
HDRI Faroer Bay A:
www.textures.com/download/HDRPanoramas0192/139754
Earth model by Denis Cliofas:
skfb.ly/6VCKF
Blender Manual - "Shader To RGB":
docs.blender.org/manual/en/latest/render/shader_nodes/converter/shader_to_rgb.html
Blender Stack Exchange post:
blender.stackexchange.com/questions/196400/material-emitting-only-in-dark-parts-of-an-object
ASSETS USED:
Rustic Brick 2:
www.textures.com/download/PBR0359/137144
Coastal Cliff 2:
www.textures.com/download/PBR0848/139504
Tufted Leather:
www.textures.com/download/PBR0208/133245
Hammered Copper:
www.textures.com/download/PBR0188/133227
Wood Trim:
www.textures.com/download/PBR0575/138822
Old Metal (legacy):
www.textures.com/download/Substance0062/128402
Timbered Brick Wall:
www.textures.com/download/PBR0571/138818
SciFi Panels 09:
www.textures.com/download/PBR0950/140627
HDRI Japan Kabuchiko Night:
www.textures.com/download/HDRPanoramas0093/134037
HDRI Faroer Bay A:
www.textures.com/download/HDRPanoramas0192/139754
Earth model by Denis Cliofas:
skfb.ly/6VCKF
มุมมอง: 67 036
วีดีโอ
SOURCE Engine-style TEXTURE BLENDING! | Blender Tutorial
มุมมอง 3.2Kปีที่แล้ว
A detailed guide on how to realistically blend textures (and build geometry) in Blender in a similar style as Valve's Source engine. Hammer BlendModulate tutorial by TopHATTWaffle: th-cam.com/video/kV8DLgxJv0U/w-d-xo.html Hammer Displacements tutorial by 3kliksphilip: th-cam.com/video/nre432l_OTc/w-d-xo.html Article on similar process in the Unreal Engine: discover.therookies.co/2017/07/14/surv...
Displacement in EEVEE | Blender Tutorial
มุมมอง 24K2 ปีที่แล้ว
A step-by-step guide on how to set up controllable displacement/height maps for EEVEE in Blender. "Blocky Coastal Cliff" material: www.textures.com/download/PBR0848/139504 Curtis Holt's displacement video: th-cam.com/video/TJ_o1_m713w/w-d-xo.html Ben/bbbn18's Gumroad download: bbbn19.gumroad.com/l/WDCRp Lightning Boy Shader video: th-cam.com/video/YdoBJ2lnkks/w-d-xo.html
My Scene (#344) for TOY STORY 2 REDIALED
มุมมอง 110K3 ปีที่แล้ว
Imagine you're on the freeway and you happen to pass an airport baggage truck with nobody but a pile of toys in the driver's seat. My contribution to the "Toy Story 2 Redialed" collaboration. Check out the trailer here: th-cam.com/video/DOL2uOlCUEQ/w-d-xo.html
THE LAST MINUTE | Animated Short
มุมมอง 6803 ปีที่แล้ว
Questionably based on a true story, of which I'm sure many can relate. Made for the Newgrounds "Stay Awake" Summer Animation Jam. This took a lot more out of me than I expected, and I didn't get to do half of the scenes I wanted. I ended up having my own "Last Minute" experience from this. Such is the nature of deadlines. It's good discipline, I suppose. Maybe I'll come back to it later on, but...
MASKING Mouth Gaps | Toon Boom Tutorial
มุมมอง 6K3 ปีที่แล้ว
A super quick explanation for Toon Boom Harmony Advanced on how to mask out a character's face in the gap of their mouth. It's a great cheat for lip-syncing in profile without having to resort to that awful, flounder-faced, side-mouth you see in anime all the time.
MY TALKING DOG!?! | Animated Short
มุมมอง 2193 ปีที่แล้ว
What do you do when your dog you don't even remember having starts talking? Made for the Newgrounds Talking Pet Animation Jam. Originally uploaded on May 4, 2020. www.newgrounds.com/portal/view/754299 novanbyworks.newgrounds.com/
OMG Amazing
Same goes for properly combining 2 normal maps. Maybe you can make video on that, too.
DECODED did a good video on this here: th-cam.com/video/aBpihNllKNw/w-d-xo.html georg240p shows a more advanced solution here: th-cam.com/video/S9sz00l3FqQ/w-d-xo.html
@@NovanByworks Yeah, I know both. Decodes one is just simply inaccurate - he just eyeballs it (like most of his stuff). The george240p method works on one type of normal maps (openGL tangent). I would appreciate a comprehensive guide to different normal map types (for instance Unity using alpha channel for green, etc.). What blender needs is simply a 'combine normal maps' node where you can select types. Should be in there.
@@hermano8160 Good point, same with re-implementing proper baked AO support. Looks like there was a suggestion for a "Combine Normal Maps" node on the dev forum 3 years ago, but no response. They also provided their own interim solution: devtalk.blender.org/t/suggestion-built-in-normal-map-blending-layering-nodes/20978
Make it addon bro 😩
OMG, I was about to waste a bunch of time doing this, then realized that my game engine will just do it for me and I can skip the whole shootin' match. yay for minor victories Also, made me consider cranking up the AO settings in my engine, because researching AO made me kind of a fan.
hammer is superior than blender for simple envs and block manipulation
But it is also neither pleasant to use nor practical for anything outside of Source mapping.
ambient occlusion is grey instead of pure white, why? default settings.
"You might as well just merge the AO map into the Albedo in Photoshop". I always wondered why we couldn't just don't do this instead! Thanks for clearing this out.
Well, if you're baking in static lighting, just pushing them together in Krita is fine, and the difference could be little to none.
wow this is really a great tutorial, thank you so much!
The righteous fury of knowing that other people on the internet are wrong came through beautifully here.
think you need to talk abit slower buddy, i thought i talked fast but having to slow down a video to understand is not good lol
You're not the only one, so I will take this into consideration for future videos. At least for this one, subtitles are available if that helps.
againandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainandagainand
this is fantastic...now how would you use it in Redshift... 🤣🤣🤣
Followed every instruction and it made the design less realistic
why did you not change the ao map from srgb to non color?
Since the AO map is being multiplied over the diffuse map, it gets treated as a regular color layer rather than non-color data.
Great info. Thanks.
basiclly use 1-NdotL to multiply the AO map right?
This would be the ideal solution, but Blender sadly doesn't allow using light direction in shaders for some reason.
0:57 LOL
I am trying to make a moss texture and wanted the moss not to feel flat and i am using a pretty old computer so eevee seem the best option specially since i want to preview my material without the need to render it make adjusting the material also alot easier without having to denoise. So i just want to say thank you i will be try this soon. Hopefully i wont have to many material that need such treatment.
How'd you get the little image previews above your nodes? :0
It's an add-on called "Node Preview". It's a tad pricey but very useful. You can buy it here: blendermarket.com/products/node-preview
The texture blending is nice and all (actually amazing), but those add-ons are really gonna help me out
_This is a joke._ _These guys are cool . . ._ for a short time after you pull them out of a freezer. Again and ag . . . Nah, srsly, they cool. P.S. The slaps you thown . . . I . . . felt them like it was me who shouted again and again how to incorectly use the Ambeyond Conclusion.
Nice video, but please slow it down. I can barely see what you're doing without slowing the video down or going back a bunch of times
I like to edit for a brisk pace to keep things succinct. You can turn on subtitles and/or change the video speed if you need.
Tried it for cycles. I added layer "solidrender" and cant find it in "override". I don't understand what i did wrong
While in the "SolidRender" view layer, create a blank white diffuse material and set that to the override. This will make everything use this material when the layer is rendered so it will only show AO and lighting. This layer then gets multiplied on top of the original Scene layer in the compositor.
Thank you! 😊@@NovanByworks
Great trick. I understand the steps, but why does it work? It's basically killing the AO map under direct light - how does a diffuse shader to rgb in the mix do that? What? Great video, but this is one of my complaints about a LOT of online tutorials: they go through the right steps, but don't always explain the what's and whys. So I don't learn them, just what options to click.
I quickly glossed over it in the video, but ambient occlusion simply refers to the occlusion of ambient light, also known as "indirect light". It's the natural shadows exhibited by creases and cavities that ambient light cannot reach (think of an overcast day). When a direct source of light is shone on them, these shadows disappear. "Shader To RGB" effectively exposes the raw color data of a BSDF shader, i.e. what's lit and what's not. Thus we can use this data like a mask to control what parts of an AO map are revealed under direct light and what parts are not. Normally AO occurs naturally in path-traced rendering such as with Cycles, but game engines use pre-baked AO maps to save on performance for real-time rendering. EEVEE is also real-time but lacks that same support for AO maps, so we use Shader To RGB instead. The tradeoff is that this disables screen space reflections and subsurface scattering. Until Blender adds real AO map support, this is my interim solution.
Nice, thanks for the reply! So it's really about "reverting" back to the pure color of the shader, which emulates the effect of being in direct light. I totally get it, thanks again.@@NovanByworks
very nice
I wanna go home
Little kitten!
Great video, thank you
Awesome tutorial. I can already think of some cases where this would be useful for my blender stuff.
Clarence?
There is no "solid render layer", you lying.
At 3:22, you can see me create a new View Layer named, "SolidRender".
I always knew this so I resorted to never use thinking that AO might be a technique for old times when Raytracing wasn't as efficient and PC's weren't strong so they faked GI using AO. Hence why also used in games. So basically AO is indeed in genuine use, just that it is being wrongly used by everyone.
Can you make a vid on portal light property in area light
I'm not familiar with that as I typically work in EEVEE. It's a little outdated, but this seems like a pretty good explanation: blender.stackexchange.com/a/33877/66794
I am learning how to create cs2 skins and that glow in the dark effect seems really interesting to apply in the game. Would you make a detailed tutorial about how can you achieve this effect and how to bake the occlusion sheet?
To create the glow/light effect, you just use the same setup for an emissive map rather than the AO map. As for the "occlusion sheet", I'm not sure I understand what you're referring to. Your material should already have an ambient occlusion map, and if not, you either have to make one in an image editor or bake it from actual geometry.
Make more tutorials. You have a unique appeal that will get you far.
Looks close but not exactly how the source engine does it. What they do is take the blend modulate value from the texture, then add and subtract a "sharpness" value from it (for example 0.5), which gives a min and max value. They then clamp these from 0 to 1. Next they feed the input alpha from the vertices to a smoothstep function (map range in blender) with the edges being the min and max value from above. This is used as the lerp between the 2 color textures.
Interesting. The problem is there isn't a lot of accessible documentation for this feature. My method is basically an approximation that could be built off of, since nobody else seems to have done something similar.
how do you know all that 😭
This is an awesome tutorial! Very helpful! Although, I can get displacement to show up in the viewport for Eevee, I can't get it to show up in the final render. Would you have any advice as to why?
Only things I can think of are to check that the modifier has 'Render' visibility enabled and that the Subdivision modifier has render set higher than 0.
@@NovanByworks oh damn that would’ve been a good idea, I applied the modifiers because it was just a quick little afternoon project and that got working. But the next time I open blender I’ll see if that’s checked. Also, thank you so much, a million times for taking the time to answer the question, you’re awesome.
@@Infinitydev-lh2bo Happy to help! It's a good rule of thumb to keep modifiers when possible to maintain a non-destructive workflow. Plus setting ones like Subdivision and Displacement to render-only helps improve performance.
i dont understand the need of the empty, just subdivide the plane, then disp mod with texture, done
The empty allows you to control the offset of the displacement texture, since it can't be done through the shader editor.
@@NovanByworks yea, as uve perfectly shown in the video (great video, well done!) Just imagine it a bit complicated and weard later having 50 objects, all with emty controllers and stuff... hopefully eevee next will make it more intuitive and easier...
@@bUildYT I agree, it is needlessly cumbersome. That's why I originally made the video since I could use it as reference for myself, lol. Last I heard, EEVEE Next will be introduced in 4.1, so it should be very soon. They are currently aiming for March 19 this year.
99% of blender youtubers are just affiliate marketers. They don't know anything beyond the surface level.
not at all. most of them are just repurposing the AO node to make a quick dirt/grime/dust mask. it has nothing to do with light.
!!!!!!
"I'm here to settle the score on how to use ambient occlusion in Blender CORRECTLY. None are without sin." Yuck, why do male artist always talk like they have a stick up their ass and pretentious af? No wonder people are flocking to AI art. They probably don't want to deal with btchy, try-hard, tw*ts like you lol. So fcking annoying.
People flocking to AI art are lazy and only care for receiving praise and attention rather than actually learning and creating something themselves.
I'm so confused. Ima go back and make a second cube.
my hero
Thank you for sharing this. It really help me while working on my commercial projects
1:21 “You might as well just merge the AO map into the albedo map to save yourself the extra draw call.” I thought a draw call was just an instance of a mesh or an instance of a material applied to one? I don’t have that much experience in draw calls, so any of us could be wrong, but I’m open to learning more.
Best I can tell, it depends on the rendering engine itself. This might not actually be true for EEVEE, but uselessly rendering the AO on top of the albedo is still less performant than just merging them into the same image. Game engine shaders tend to separate the AO map because of the way it's supposed to react to light, which may result in an extra draw call depending on the shader model used.
FULLY CORRECT SEEN BELOW! ~ Writing in caps here because I'm trying to solve this issue, and this YT video gave me what I needed to solve it (Shader -> RGB), but the solution given wasn't working in all cases for me. Here is the correct math that works across many PBRs that I tested: Starting Configuration: Textures => Principled BSDF -> Shader Output Here's what you will do (Probably putting this all in a Shader Group), - Take the Ambient Occlusion, and multiply it with albedo (Call this node NODE_Z). Then, take the Metal texture, invert it, and multiply with NODE_Z to get NODE_Y. - Then, add Principled BSDF -> Shader to RGB; VectorAdd this result with NODE_Y, and connect the output of this VectorAdd to your Shader Output. This now _adds_ ambient lighting (The YT tutorial doesn't actually brighten up the texture, it only darkens, which is incorrect); and, it works correctly on textures with metal in them (This YT tutorial breaks on any texture with metallicity). You can also multiply Ambient Occlusion with any number (1, 2, 3, 4) to match the "Ambient Light" setting in your game engine (UE, Unity, Godot), and the result should match 1:1 with the game engine. This adjusts the intensity of the ambient light. You even multiply by a color to give the ambient light a tint. Overall, the formula is this: ambient_light = ambient_intensity * ambient_tint * ambient_occlusion; // intensity is a float, the other two are vector3's ambient_light *= albedo; ambient_light *= 1 - metallic; BSDF_RGB += ambient_light; // If you have a PBR without an AO map, set ambient_occlusion = vector3(1,1,1), so that lighting is still equal across all PBRs in the scene. Hope this helps!
Alexa: How do I permanently engrave this information on my brain?
wow more of these vids please!! EVERYDAY LESSONS lol lol I tried this and it didn't work, missing something basic I think. Also, love how you explain what an AO is, i mean.. i knew that... or did i??? how does sheen and specular work??? as a fabric artist I need to know these things =D ytytyt for the videos
this only works for eevee?
Yes, specifically "Shader to RGB" is exclusive to EEVEE.
I need AO in cycles :(@@NovanByworks
I tried to conduct experiments and I got the impression that this does not always work. The Ambient Occlusion node works more stable than Diffusion + Shader to RGB. 🤔
The issue is that the AO node doesn't take light direction into account or allow you to use pre-baked AO maps.
@@NovanByworks Agree. It makes sense. Then it might be worth combining both approaches. Since the AO node also has its advantages.
are you 1.5xing your voice? it feels way to fast...
I've included subtitles and you can change the video speed.