Blender Geometry Nodes Fields Frustum Culling Tutorial

  Рет қаралды 13,844

Chris P

Chris P

Күн бұрын

Пікірлер: 66
@ksheetijsaini
@ksheetijsaini Жыл бұрын
This is really good tutorial! If you're going to be doing close up shots, the only modification I'll add is instead of treating the grid as a lens, to treat it as a sensor. Which means change the Z-vector in the "Combine XYZ Node" to -0.1 (or smaller) instead of -1 and adjust the grid size accordingly (I ended up using X=0.08m & Y=0.05). This would avoid the grid from intersecting with the plane in close up shots and cutting off those objects (since the plane intersection stops those point rays from reaching the raycast node).
@spaceboffin
@spaceboffin Жыл бұрын
Excellent! Thanks for this improvement to an already excellent tut
@davidedozza
@davidedozza 2 жыл бұрын
Great tutorial, thanks! 👏 It can also be used for large terrains, like a boolean, but much faster in calculating! Just add a "delete geometry" and reverse the "is hit" output! 😉
@onnevankenobe
@onnevankenobe 2 жыл бұрын
How could it be done with a material alpha fading and a threshold to then delete it?
@proband15
@proband15 Жыл бұрын
Ok this is so cool! I'm currently fiddling around with UPBGE (basically a fork of current blender with old blender game engine functionality) and this is propably great to improve performance.
@1zymn1
@1zymn1 9 ай бұрын
This is great! I just combined this with we:teach's WINDY GRASS tutorial and now I have a highly optimized wheat field that blows in the wind. It only took my moderate understanding of Geo Nodes to combine them together and it's awesome!
@chrisprenn
@chrisprenn 9 ай бұрын
Very good!
@MrBrigadierArchived
@MrBrigadierArchived Жыл бұрын
This tutorial the real gold! Thank you very much!
@theblacksolid_fr
@theblacksolid_fr 2 жыл бұрын
It's funny. I did the same kind of setup last year with Blender 2.9 to manage vegetation and foliage in a very large scale scene. I was a little disappointed when the field based on geometry nodes arrived but now I know how to readapt it, thank you. 😁👍 Now if you implement automatic orientation on instantiated planes towards the camera in a proxy system with a camera far vanish cut-off you get the same sprite system that saved my life last year.
@markfong7764
@markfong7764 Жыл бұрын
Excellent tutorial and best method I have seen, thanks
@chrisprenn
@chrisprenn Жыл бұрын
thank you!
@bicukow
@bicukow 2 жыл бұрын
Thank youu, the only one who did it on youtube
@vincgordo5861
@vincgordo5861 Жыл бұрын
genius as simple !
@JAM-h4f
@JAM-h4f Жыл бұрын
What a great tutorial ! This is such a great tool !
@atriptoreality
@atriptoreality 2 жыл бұрын
Thank you !
@Gorgious
@Gorgious 2 жыл бұрын
Awesome and deceptively simple !
@WanerRodrigues
@WanerRodrigues 2 жыл бұрын
Thank you! The graswald3d, creator of G Scatter should use the length clamp on his addon, is a very good one but has false positives in the camera clamping
@onnevankenobe
@onnevankenobe 2 жыл бұрын
Hi Chris, I’ve started following your channel because you explain things really well for slow minds like mine 😂
@spaceboffin
@spaceboffin Жыл бұрын
Fantastic tut, many thanks.
@juliusfucik4011
@juliusfucik4011 Жыл бұрын
Thank you so much. I have been looking for this for a while. I almost got it to work, but the rotations where always off. I just did not understand the ray source being on the right... still does not make sense, but now it works!
@chrisprenn
@chrisprenn Жыл бұрын
👍🏻👍🏻
@vladimir-nodes_surfer
@vladimir-nodes_surfer 2 жыл бұрын
Awesome tutorial! Really well explained. Thank you for sharing this useful tool with us!
@SalTarvitz
@SalTarvitz 2 жыл бұрын
You're brilliant.
@salarycat
@salarycat 2 жыл бұрын
Nice tutorial, this is an efficient and easy way to do it!
@zapfsaeule2
@zapfsaeule2 2 жыл бұрын
Thanks a lot! I try to get familiar with geometry nodes with your great help :)
@markgohl2660
@markgohl2660 2 жыл бұрын
Impressive
@HeiniGurke
@HeiniGurke 2 жыл бұрын
Hey thanks, this helped me a lot. Really sped up my current project's viewport performance. I might have found a slightly cleaner nodesetup. I think rotating the camera location for the set position offset is just recreating the normal of the plane that was just rotated. So I just added a normal input node and scaled it negative something. (Drivers from FOV and sensorsize/-2 and some offset to position... it works fine here) Mag deinen Kanal sehr gern. Grüße h
@WDShorty
@WDShorty 2 жыл бұрын
This is amazing! Thank you so much! Can you do LOD based on distance to the camera next?!
@chrisprenn
@chrisprenn 2 жыл бұрын
🤔💡
@Taki7o7
@Taki7o7 2 жыл бұрын
as always, a great video, thank you so much :)
@meldyluova3340
@meldyluova3340 8 ай бұрын
amazing tutorial, im wondering, how can we optimise it even more as if there is an obstacle like a plane between camera and monkeys, it block the rays and so everything behind obstacle will no appears ?
@ilaldkxb
@ilaldkxb 2 жыл бұрын
is your last name bacon
@Middlericc
@Middlericc 10 ай бұрын
Hi Chris! I have viewed this many many times by now. Really, really useful, thank you a lot! I was wondering tho if there was a way to implement some sort of occlusion culling for proper geometry (not instances) in geometry nodes. Do you know any way or workaround? Again, thank you a lot anyway! :)
@chrisprenn
@chrisprenn 10 ай бұрын
= boolean cutting away geometry outside the frustum = yes, possible ;)
@goku21youtub
@goku21youtub 2 жыл бұрын
great stufff! can you make one for dynamic painting in geometry nodes please ?
@tcheadriano
@tcheadriano 2 жыл бұрын
Great Tut! What if on the edges istead of just disappear, the instance objects get the scale reduced out of the camera view then disappear? I guess this way the light changing and bounces will be smooth and harder to notice in cycles final render.
@davebulow2
@davebulow2 Жыл бұрын
That's a great idea.
@nrdkraft
@nrdkraft 2 жыл бұрын
So I have a question. What if we have a scene with multiple cameras and at some time in the animation we change the shot; switch to a different camera as the active one. Is there a way to make these geometry nodes-instead of only to this specific camera-to automatically concur to any camera that is the active one at any given point in the animation? (As opposed to having to select which camera manually, which it seems isn’t even possible animate anyway.) Thank for for your wonderful tutorials my good sir!☺️
@vladimir-nodes_surfer
@vladimir-nodes_surfer 2 жыл бұрын
Although I can not think of an automated GN setup to do what you want, meaning changing the cameras by looking at the camera bindings in the animation timeline, there is a kind of a half manual way to switch cameras in GN nodes: Instead of exposing the camera object input into the modifier proprieties, you can build a switch based system inside the GN, that selects different cameras based on an integer number for example. Then you expose that number to the modifier proprieties and animate it to match your camera swapping. That is how I would do it. If anyone has a better method in mind, I would like to know about it.
@TR-707
@TR-707 Жыл бұрын
whats the trick with only selecting/raycasting onto the surface that is visible to the camera. As this setup is right now, you will end up instancing onto geometry that maybe behind surfaces or inside other geometry.
@mdmpzero
@mdmpzero 6 ай бұрын
Seconding this! I'm trying to figure that out too
@jordanjardine2458
@jordanjardine2458 2 жыл бұрын
Thank you for the great tutorial! I noticed that the rays also shoot out from the back of the camera in addition to the front. Any fix for that? still trying to wrap my heads around all these nodes. Lol
@mirai1073
@mirai1073 2 жыл бұрын
It was a great Tutorial! I do have a question, Is there a way to make it low poly when the distant of your instances far from camera as similar function as adaptive subdivision ?
@chrisprenn
@chrisprenn 2 жыл бұрын
you can calc the distance of instace to cam for setting the subdiv levels in GN or to instance a different object all together
@mirai1073
@mirai1073 2 жыл бұрын
@@chrisprenn Alright, Thanks!
@vladimir-nodes_surfer
@vladimir-nodes_surfer 2 жыл бұрын
I am thinking of a smart LOD system to implement in the version 2 of my currently "work in progres" project: The stellar system. What I plan to do is a material/geometry swap based on the percentage of the camera screen occupied by an object, in my case a planet, black hole or star. What I think it will work is bringing the render scene size (the culling plane size) into GN and compare that with the bounding box of the object and then, based on the screen percentage occupied decide on the material/geometry with the proper amount of details. I would be curious about what other people think, if they have a better solution.
@dorex2007
@dorex2007 Жыл бұрын
Now that you can do that, is there any way to have a object always point towards the camera? Like a plane with an image on it. So as the camera moves the plane always points to the camera. Thanks a lot
@chrisprenn
@chrisprenn Жыл бұрын
You could always (and still can) do that with a simple "track to" constraint on the plane!
@matiasfuentealba898
@matiasfuentealba898 10 ай бұрын
can you use this concept for the subdivition of a mesh?
@chrisprenn
@chrisprenn 9 ай бұрын
Interesting idea! 🤔
@Geeeuuu
@Geeeuuu Жыл бұрын
But how to actually cull the geometry instead of hiding geometry, because objects half in half out are still there?
@erikpatakcreative
@erikpatakcreative Жыл бұрын
I have a scene where instead of static objects, I'd like to cull a volume of slowly moving particles. I get them to move via tranlsating them along a random axis via the scene time. Unfortunately every time I move the camera, the particles jitter as the rays are being casted from moving particles. I haven't been able to think of a solution to this with both the camera and the instances moving due to where the raycast selects points in the node tree. Any thoughts?
@chrisprenn
@chrisprenn Жыл бұрын
sounds strange since the node tree is executed once per frame for each point so the raycast node should always knows exactly where to start...
@intelteller
@intelteller Жыл бұрын
Hey, Great tutorial! It helped me a lot, but I have a problem. In the shader editor, I had random values on color ramps so my objects would have randomized colors. However, when I applied "culling," the colors of my object started to change every frame. What can I do about that?
@chrisprenn
@chrisprenn Жыл бұрын
Hi, with the geometry nodes setup from the tutorial this should work since we distribute points and only instance to the points inside the field of view. That way, all of the points are always there and always have the same object id and will produce the same random value in the shader. See kzbin.info/www/bejne/Zl67o5eho6p0aqM
@intelteller
@intelteller 11 ай бұрын
Thank you! It works! @@chrisprenn
@TristanGrimaux
@TristanGrimaux 2 жыл бұрын
Is there a way to know the size of the camera in geometry nodes?
@chrisprenn
@chrisprenn 2 жыл бұрын
Maybe by now there is... Haven't blendered for a while - too busy at work 🥺
@vladimir-nodes_surfer
@vladimir-nodes_surfer 2 жыл бұрын
There are no dedicated nodes for camera data in GN for now. But you can use drivers to get most if not all of the camera data and the scene size. Just right click on the value that you need and select "Copy as New Driver", then use an value node in GN, right click on the input field and select "Paste Driver". Apart from python, I do not think there is a way to acces this data inside of Geometry Nodes. Hope this helps you 😀
@TristanGrimaux
@TristanGrimaux 2 жыл бұрын
@@vladimir-nodes_surfer I'll try it! Thanks!!
@RASTONKAMAZA
@RASTONKAMAZA 2 жыл бұрын
Sir when we decimate anything in blender for example sphere and if it is already texture and then we decimate this then model texture become break can u solve this issue pls
@sagarlamichhane543
@sagarlamichhane543 Жыл бұрын
it comes behind the camera too. what to do??
@chrisprenn
@chrisprenn Жыл бұрын
There's an entire video chapter to fix this in the tutorial, see kzbin.info/www/bejne/gaCvd2xvhat_fK8
@genesis2303
@genesis2303 2 жыл бұрын
If we can parent cam to selected 3 vertices to noise camera so is it possible to make your autofocus setup from AN? kzbin.info/www/bejne/rpKrm3x3aaqilck
@监听员1379号
@监听员1379号 Жыл бұрын
very good tutorial,thanks!
@chrisprenn
@chrisprenn Жыл бұрын
thank you, glad you liked it!
Shape Mesh w/ Curve - Blender Geometry Nodes Tutorial
16:10
BLENDER 3D | GEO-NODES Просто и понятно!
1:12:40
3D GRIPINSKY
Рет қаралды 48 М.
Un coup venu de l’espace 😂😂😂
00:19
Nicocapone
Рет қаралды 7 МЛН
pumpkins #shorts
00:39
Mr DegrEE
Рет қаралды 78 МЛН
когда не обедаешь в школе // EVA mash
00:51
EVA mash
Рет қаралды 4,1 МЛН
Every parent is like this ❤️💚💚💜💙
00:10
Like Asiya
Рет қаралды 21 МЛН
Blender Geometry Nodes For Absolute Beginners | Part 1/3
36:57
Surfaced Studio
Рет қаралды 194 М.
Access Topology Like a Pro with Blender's New Mesh Topology Nodes
18:01
White Balance in Blender 4.3!
15:25
Christopher 3D
Рет қаралды 13 М.
16 Blender Tips That Made Me Pro
9:20
chocofur
Рет қаралды 440 М.
Blender: procedural buildings with geometry nodes fields | pt. 1
16:04
How RAYCAST works in Blender - Geometry Nodes
25:40
Xan 3D
Рет қаралды 4,7 М.
3D Gaussian Splatting! - Computerphile
17:40
Computerphile
Рет қаралды 139 М.
Un coup venu de l’espace 😂😂😂
00:19
Nicocapone
Рет қаралды 7 МЛН