Bro made the most useful tutorial under 2 mints without even flexing anything
@yahootube906 ай бұрын
Incorrect, he always flexes his weekly hair makeover.
@bruh2-tl1jx6 ай бұрын
reminds me of old youtube
@DarkFox22326 ай бұрын
Or use UE, where this can be done in perfectly dynamic fashion. Based on number of pixels, each polygon is supposed to take on screen.
@alperademkotan95446 ай бұрын
LOD for blender me likey 🙃
@gordonbrinkmann6 ай бұрын
I just tried it with a little modification, since nowadays we have the new Index Switch node there is no longer a need to combine multiple Switch nodes. Then I calculated the distance between camera and object and with a Math node set to Logarithm and a Multiply and Floor (not really necessary, the Index input floors the float automatically) afterwards I could convert the increasing distance to increasing integers which I could then use as Index to switch between the objects. I then realized a Minimum node at the end is helpful, too, to make sure the integer does not get higher than the max index number... unless you want to make the object disappear completely ;)
@cefcephatus6 ай бұрын
Log is compute expensive. Linear works fine. And with 3 levels, you don't need to care about accuracy that much.
@gordonbrinkmann6 ай бұрын
@@cefcephatus Sure... that wasn't meant to be the ultimate solution, I just said what I tried. My main goal was saying: I use the Index Switch node instead of combining several simple Switch nodes. And "linear works fine", maybe but it did not give me the steps I wanted... who said I cared about accuracy? And for compute expensiveness: my old PC here at work handled it just fine, so I guess my much better PC at home won't have any problems...
@DLCSpider6 ай бұрын
@@cefcephatus But this should be per object per frame, right? In that case it's irrelevant, unless you apply it to a particle system or something similar. Fetching the mesh data itself is magnitudes slower.
@robinsquares6 ай бұрын
Great stuff! LODs really help viewport performance. Cycles, though, is great at handling polygons, and probably won't speed up much.
@mattburkey6 ай бұрын
I was just thinking this, with instancing I've populated absolutely massive scenes with high poly object and not using all that much memory. I can see how it would be useful in the viewport though.
@GinnyGlider6 ай бұрын
Yep! Blender just needs to introduce an "Active Viewport" node to top off the, full functionality of (potentially) true viewport navigation optimization... 😗🎶
@infectioussneeze90995 ай бұрын
how about evee/next
@SAGERUNE5 ай бұрын
@@infectioussneeze9099 Eevee next is supposed to be replacing the workbench render component and will definitely handle geometry much much better.
@marcfuchs69386 ай бұрын
This would be very handy for something like a forest. But if you build very complex trees, it would be very tough to properly decimate them without messing up the topology. I have such a forest, and I went for low poly right from the beginning - or so I thought. With all the leaves (consisting of texture blocks, that are only a couple tris, scattered around every tree top), the few different models I built are still in the thousands of tris. And since a large landscape is filled with them, that is quite a demanding scene. Which is why I went with the classic concept of using billboards. Since my scene is NPR and for stylization I am using a low res anyway, it's an easy getaway. Although I gotta see about the lighting issue with billboards. They all rotate to the camera, so when the light source ends up behind them, they may all be dark and not showing dimensional lighting.
@EyeMCreative6 ай бұрын
A way to take this further, especially for things like trees, you can have the last one just be an image. Just go to a flat-ish angle of the model, and render that with an alpha. You could also maybe render a normal map or just do an AI image to normal with that image. Then just position and scale it as close as you can to the model, and set that as the last object. You could even do 2 images (front and side view) or more, in a similar way to how games will sometimes do 3D fireplace effects by crossing 2 images. So you have 2 levels of mesh optimization, and then an image, and depending on the distance you set and how dense the forest is, you might not be able to tell when it changes. Haven't tested this, just a theory on how you might be able to make it work
@ZacDonald6 ай бұрын
There's a plugin called Instant Impostors that's perfect for foliage situations like that, generates 3d billboards in a sprite sheet.
@biostarstepa6 ай бұрын
There's something I will always love about DC... A lot of information a no time wasting. Some videos have intro/outro twice as long as this full tutorial and still lack in information. Hats down.
@imonseii6 ай бұрын
I love your optimization of "hands down" and "tips hat" into "hats down". Truly following the spirit of DefaultCube. :)
@biostarstepa6 ай бұрын
@@imonseii 😇
@boogss.j.32066 ай бұрын
me: mom I want unreal engine ninite! mom: we have ninite at home *the ninite at home
@Szyszz6 ай бұрын
nanite would be more like dynamically decimating the mesh tho
@niloytesla6 ай бұрын
@@Szyszz 😒
@Szyszz6 ай бұрын
I mean that as in actually dynamically decreasing the object complexity, not switching between few premade geometries
@wsg12316 ай бұрын
@@Szyszz 🤓☝
@niloytesla6 ай бұрын
@@Szyszz well that's a bit complicated then that...
@studyaccount69876 ай бұрын
Did this man read my mind?
@itsTischkante6 ай бұрын
great stuff, but you know what would be actually insane, if you could somehow also include texture resizing
@ggSaturn6 ай бұрын
Well, you could just build a different material for each model right? Like for example: high poly has 4k texture, mid 2k and low 1k. Kinda bit of a process but it should work.
@Enderblade186 ай бұрын
If you're talking about what I think you're talking about, I remember a video. It basically described how you could use the camera distance to determine texture size? Idk I'll have to find that video. Edit: kzbin.info/www/bejne/iaDGmGyYj9h9oKc
@adnaanmashqoor78786 ай бұрын
Mipmaps have to be manually created but you can most definitely use this kind of LOD system with textures.
@_khooman_chronicles_6 ай бұрын
I was wondering how to do this a few minutes ago...🤯
@niloytesla6 ай бұрын
i think google is using some kind of sensor to track brain signal... and then use that to suggest add or video
@Weddit.6 ай бұрын
bro discovered LOD
@reojack56656 ай бұрын
Would it be possible to make a nanite sort of thing in geometry nodes? Where it progressively decimates it without affecting performance?
@presto_the_editor6 ай бұрын
Probably, but I'm imagining the node tree would be insane. And it'd probably only work for geometry nodes objects
@ДанилЧірва6 ай бұрын
Probably not, at least not in geo nodes because it would be incredibly slow and still have to calculate all millions of polygons before decimating for every frame or move in viewport. But we have reverse thing, instead of decimating hi-poly models, we can subdivide low\mid\poly with adaptive subdivision and bring details by displacement. Adaptive subdivision defined by camera view and distance from camera, so you can have extremely detailed surfaces without need of huge amount of memory
@jamesriley50576 ай бұрын
I had to check my playback speed on YT, because this was rapid. perfect thanks
@disruptive_innovator6 ай бұрын
I feel like there are more things like this that I think blender should have built in by now but it doesn't.
@afjer6 ай бұрын
You're free to contribute. If you don't feel confident coding you can write a proposal and get it upvoted on right-click-select. The full time team is still extremely small and they can use all the help they can get.
@disruptive_innovator6 ай бұрын
@@afjer Eh, I just write my own tools and don't contribute back. I think that's how everyone else rolls now. Besides there's stuff on right-click-select that i've needed that's been there for almost 5 years. I don't think that's the way forward.
@nao77226 ай бұрын
I've wanted to know this method for years! Thank you!!
@qryph6 ай бұрын
I watched in 2x speed for that quick knowledge shot
@TheAllin1der6 ай бұрын
Brilliant for scenes with a ton of geometry!
@Blenderbarn6 ай бұрын
so much info, under 2 min, well done!
@hipflipped6 ай бұрын
It would be cool if blender had an add-on or extension to auto-create the various proxies. Several game engines do just that for LOD purposes.
@videopro__6 ай бұрын
Brooooo this is the best 2 minute tutorial I’ve seen this year 😹
@flower-fauna6 ай бұрын
He just implemented LODs in blender, what a king
@durikke25 ай бұрын
Thanks, this is quite genius and yet so "simple" Thanks!!!!
@Ablumz6 ай бұрын
This doesn't account for amount of screen space taken up by the object. For example if the camera is far away from the focal length is long such as 200mm, the object will still be close up on your screen, but you will get the low res version.
@blenderfoto6 ай бұрын
Add focal length as a driver value and multiply it with the distance.
@blenderfoto6 ай бұрын
You can also add resolution as a driver technically if you want to really get into it.
@DanielOakfield6 ай бұрын
Hi, not sure what's up with the speed up playback I had to check it wasn't my player set as normally is at 1.5x - having said that, amazing video, one of the best about optimization I have seen. It always baffled me why the decimate modifier doesn't have a dynamic camera distance option included!! Maybe a new modifier or a custom geometry node with decimation as variables... Anyway, thank you again for this, LOD is paramount for any project.
@UnderfundedScientist6 ай бұрын
This is actually insane
@bramwnnkes30596 ай бұрын
this is sooooo fricking usefull!! Thank you for the tutorial as always mate!
@rewdonaghy13056 ай бұрын
You’re the man! Thank you
@ocbarrio6 ай бұрын
Man, you are awesome... Less than 2 minutes... This is perfect when you have actual geometry. Is it possible to do the same but with instances? Without realize them?
@jakejake60296 ай бұрын
nanite in blender, fuck you nailed it
@vizdotlife6 ай бұрын
Wow, that's really useful. Thanks a bunch!
@oculicious6 ай бұрын
fantastic tutorial, thank you
@Felatelion16 ай бұрын
THANK YOU PAPA
@MPG75556 ай бұрын
wooooooow, clean and quick, and so damn useful.
@ilonachan6 ай бұрын
do we already have sth like a bake node for geometry? because then wouldn't it be super handy if you could create the low-LOD copies right there in the node graph as they're needed, have them auto-baked as they first flow through, and then also have the switching right after? So rather than any manual intervention required, you literally just drag that geometry node modifier in and get the whole thing for free! (you'd still have to rebake if the ground truth model changes, but you need to do that manually with this approach as well, and it's still more automated)
@lozcomm6 ай бұрын
am i allowed to use this much power
@arch.blender11786 ай бұрын
nice workflow, problem / logic = solution
@LowGrav1ty6 ай бұрын
I never even knew you could do this... blender should make an option called maybe "Dynamic Resolution" or something and have this happen automatically if you check a box... in the next update maybe? lol it doesn't seem that difficult to implement 🤔 hopefully Ton will be watching 🤞
@Bordie3D6 ай бұрын
wtf you're amazing
@wydua6 ай бұрын
Now make it happen on it's own. Boom, nanite
@Ablumz6 ай бұрын
This is more based on LOD (Levels of Detail) than nanite. Nanite is smooth, whereas this has 3 levels up steps that you may notice when the camera transitions between them. Still cool to see LODs in Blender, surely someone will make an addon that auto applies this to every mesh
@Carlosnl166 ай бұрын
Why no one is doing this, wtf, is so usefull
@spicymemeboi26466 ай бұрын
Well now the next step would be recreating nanite lol
@VisualistAyush076 ай бұрын
What if they make it automatic then blender will be unstoppable
@CGSTUDENT156 ай бұрын
what about uploading it as a product in blender market i mean u can make it a modifyer or geo node tool then upload it to Blender market or ......
@VisualistAyush076 ай бұрын
@@CGSTUDENT15 oh yeah great idea man
@_Jude-St.-Francis_6 ай бұрын
Favourite KZbin who? Default CUBE !!!!
@TheCrackingSpark6 ай бұрын
I kid you not I've done this manually, I had no idea there was a way of doing this w geo nodes :v
@technofeeliak6 ай бұрын
This is great! Just like Super Mario 64!
@onthepalehorse6 ай бұрын
The successor to Ian
@HS-eq3gk6 ай бұрын
Very useful
@zossua73756 ай бұрын
This is cool. But doesn't this store more models in Blender so It would take longer to open/run. If you doing two different shots I would probably use two different blend files. Unless you are zooming into the model from far away. Anyway this was useful. Thanks.
@GinnyGlider6 ай бұрын
Talk about tutorial optimization! 😄
@w.lf4046 ай бұрын
Thank you so much! Since I am still working on a gtx970 this helps out a lot rendering large scenes! Can you also make a quick tutorial on how to just render what is in the cameras field of view? Is there a geonodes trick or is it just setting the camera view distance according to the render samples?
@mattdownn6 ай бұрын
Bro wants to be a game dev so hard
@FerGalicia5 ай бұрын
brilliant
@lordmanok99956 ай бұрын
bro made lod which is genius I have been thinking of it lately also if it was possible in blender.
@shockerson6 ай бұрын
🔥🔥🔥💣💣💣Master Level 🔥🔥🔥💣💣💣
@stefanrosioru6 ай бұрын
is there any way to do this, but with large-scale terrains? I mean a single mesh with a ton of polygons
@Michael4Times6 ай бұрын
thats so cool
@parikshitbelsare69146 ай бұрын
we got nanite in blender before GTA 6
@Kiamur6 ай бұрын
Does this somehow work with scattered objects in geometry nodes "instance on points" objects?
@mr2meows6 ай бұрын
blender is open source so you can just edit the code to run faster and then compile it
@bUildYT6 ай бұрын
big brain
@man_art_man6 ай бұрын
Hmmmm.... it reminds me Unreal principle. But there it's just work in Viewport. Lumina ?
@JacobHalton6 ай бұрын
Wait.....so....you're basically using geo nodes instead of linked instances or collection instances along with this proxy setting?? That's genius. I'm curious to know how you'd set up a big scene of something like a city, or a very detailed interior. Would it be layers in the proxies or would you do it this way using one proxy for each object and just have a ton of objects in the scene set this way?
@markflakezCG6 ай бұрын
This is cool.
@markflakezCG6 ай бұрын
I only used LODs in game engines. But now I'll use them in Blender too!
@sinachiniforoosh3 ай бұрын
I wish it was possible to do this but with the like screen space
@yehonataniiii6 ай бұрын
Cool! Will this handle motionblur properly?
@parthivshah44486 ай бұрын
Can we do the same for bump maps? I couldn’t figure it out. Someone help
@Tertion6 ай бұрын
Will this work at runtime in UPBGE ???
@bismilbazith89996 ай бұрын
bro created nanite 144p
@Mr-dk1dh5 ай бұрын
How to do this with geo nodes, distribute points on faces?
@BrandyBuizel6 ай бұрын
dope
@Banana-anim8ions6 ай бұрын
Play at x0.75 for normal voice lol
@SmoothieGamesLambda3 ай бұрын
LODS baybeee
@MrS6906 ай бұрын
I never understood why this isn't build into the render engines, or is it?
@yahootube906 ай бұрын
It's not in any that I've heard. AFAIK, it's more game-engine exclusive, due to real-time rendering. I think the render engines generally don't care about LOD since they aren't done in real-time.
@RexelBartolome6 ай бұрын
@@yahootube90 also, rendering in cycles is vertex agnostic meaning it (mostly) doesnt care about how many vertices there are in your scene, it just considers how many pixels and how many light paths per pixel. Optimizing shaders and simplifying your materials is going to give better performance than reducing polycount in cycles. EEVEE cares a lot about your polycount though, so the less polys, the faster (usually) the renders are. And its the same with your viewport experience, your viewport can lag because of how many vertices there are on screen (which is why it takes a while when going into xray wireframe mode on bigger scenes)
@dfhdgsdcrthfjghktygerte6 ай бұрын
@@RexelBartolome I was waited for this comment 10 years in AZKABAN!! Thanks. Because as far as i know for cycles the amount of polygons will only affect the BVH-something pre cumpute? This not affects rendering so much as the amount of bounces etc, as you said. So this tut is a bit misleading. You - like. 😎. Video - dislike 🤮👎
@yashaakimov53786 ай бұрын
@@RexelBartolome its not, more vertex required more intersection checks and more complex acceleration structures, more cache misses and so on. So its always beneficial to reduce vertex count.
@RexelBartolome6 ай бұрын
@@yashaakimov5378 I guess that's fair, I'm just speaking from my own experience and the stuff I've read personally. I guess there is still some benefit to it, it's just not as big (and not worth the effort for the work that I do) compared to other optimizations. I consistently get to a point where rendered view (with overlays turned off) is much faster compared to the standard viewport. My work is in making big scenes with lots scattering systems of vegetation FWIW
@elbonnieto89296 ай бұрын
this process is really time consuming and it would be 10 times more convenient if Blender implemented LODs natively
@ASingleApe6 ай бұрын
did you speed up the video? I put it on 0.75 speed and it sounded more normal
@TheVerluz6 ай бұрын
unreal LOD,
@vidhatavfx6 ай бұрын
just like nanite
@machineman89206 ай бұрын
1.25 * 0.75 is not one bro The actual multiplier to get the real speed back is 0.8
@namdoyle6 ай бұрын
Um....This kind of things should be done automatically.......
@ongakuyaro6 ай бұрын
bro did u speed it up ? or you talk that fast lol
@TheDingsBoms6 ай бұрын
Blender Nanite easy
@fugofugo51356 ай бұрын
I can Imagine this being useful in some cases, But don't you think that THIS optimization process is gonna take more time than its worth ? I mean casual blender users are gonna make one frame renders, This Optimization is WORTHLESS to them because they are gonna spend 2 hours trying to replicate what you did, so they are better of with 2 mins extra render time. Advanced users would Probably avoid using SUCH high res. Meshes alltogether. I mean if your mashine Is capable of handling HIGH POLY MESHES, then rendering can barely be Improved to a degree that would make a big difference using this method. But if your mashine is incapable of handling High poly meshes, you ONLY use low poly. This method would be usefull in gaming, but who does gaming in blender ? Movie/cartoon making, Maybe ? But I feel that even then, There are things that Matter in a frame, so they are gonna have high Poly, and there are things that Don't, so they are gonna be low poly, in the background, blured out. And I wanna make clear that I don't mean to say that this is completelly Useless, I just think that there are very few Instances in which it can be used. Its good to know you Can do THAT, thank you for it. But how often is this gonna be used ?
@yaw_cg_md6 ай бұрын
Renders, taking forever, use unreal
@Ablumz6 ай бұрын
unreal looks worse than cycles, it's great if you are making a videogame or a side project, but not as great for client product work