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 Жыл бұрын
Excellent! Thanks for this improvement to an already excellent tut
@davidedozza2 жыл бұрын
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! 😉
@onnevankenobe2 жыл бұрын
How could it be done with a material alpha fading and a threshold to then delete it?
@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.
@1zymn19 ай бұрын
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!
@chrisprenn9 ай бұрын
Very good!
@MrBrigadierArchived Жыл бұрын
This tutorial the real gold! Thank you very much!
@theblacksolid_fr2 жыл бұрын
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 Жыл бұрын
Excellent tutorial and best method I have seen, thanks
@chrisprenn Жыл бұрын
thank you!
@bicukow2 жыл бұрын
Thank youu, the only one who did it on youtube
@vincgordo5861 Жыл бұрын
genius as simple !
@JAM-h4f Жыл бұрын
What a great tutorial ! This is such a great tool !
@atriptoreality2 жыл бұрын
Thank you !
@Gorgious2 жыл бұрын
Awesome and deceptively simple !
@WanerRodrigues2 жыл бұрын
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
@onnevankenobe2 жыл бұрын
Hi Chris, I’ve started following your channel because you explain things really well for slow minds like mine 😂
@spaceboffin Жыл бұрын
Fantastic tut, many thanks.
@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 Жыл бұрын
👍🏻👍🏻
@vladimir-nodes_surfer2 жыл бұрын
Awesome tutorial! Really well explained. Thank you for sharing this useful tool with us!
@SalTarvitz2 жыл бұрын
You're brilliant.
@salarycat2 жыл бұрын
Nice tutorial, this is an efficient and easy way to do it!
@zapfsaeule22 жыл бұрын
Thanks a lot! I try to get familiar with geometry nodes with your great help :)
@markgohl26602 жыл бұрын
Impressive
@HeiniGurke2 жыл бұрын
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
@WDShorty2 жыл бұрын
This is amazing! Thank you so much! Can you do LOD based on distance to the camera next?!
@chrisprenn2 жыл бұрын
🤔💡
@Taki7o72 жыл бұрын
as always, a great video, thank you so much :)
@meldyluova33408 ай бұрын
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 ?
@ilaldkxb2 жыл бұрын
is your last name bacon
@Middlericc10 ай бұрын
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! :)
@chrisprenn10 ай бұрын
= boolean cutting away geometry outside the frustum = yes, possible ;)
@goku21youtub2 жыл бұрын
great stufff! can you make one for dynamic painting in geometry nodes please ?
@tcheadriano2 жыл бұрын
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 Жыл бұрын
That's a great idea.
@nrdkraft2 жыл бұрын
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_surfer2 жыл бұрын
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 Жыл бұрын
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.
@mdmpzero6 ай бұрын
Seconding this! I'm trying to figure that out too
@jordanjardine24582 жыл бұрын
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
@mirai10732 жыл бұрын
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 ?
@chrisprenn2 жыл бұрын
you can calc the distance of instace to cam for setting the subdiv levels in GN or to instance a different object all together
@mirai10732 жыл бұрын
@@chrisprenn Alright, Thanks!
@vladimir-nodes_surfer2 жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
You could always (and still can) do that with a simple "track to" constraint on the plane!
@matiasfuentealba89810 ай бұрын
can you use this concept for the subdivition of a mesh?
@chrisprenn9 ай бұрын
Interesting idea! 🤔
@Geeeuuu Жыл бұрын
But how to actually cull the geometry instead of hiding geometry, because objects half in half out are still there?
@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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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
@intelteller11 ай бұрын
Thank you! It works! @@chrisprenn
@TristanGrimaux2 жыл бұрын
Is there a way to know the size of the camera in geometry nodes?
@chrisprenn2 жыл бұрын
Maybe by now there is... Haven't blendered for a while - too busy at work 🥺
@vladimir-nodes_surfer2 жыл бұрын
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 😀
@TristanGrimaux2 жыл бұрын
@@vladimir-nodes_surfer I'll try it! Thanks!!
@RASTONKAMAZA2 жыл бұрын
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 Жыл бұрын
it comes behind the camera too. what to do??
@chrisprenn Жыл бұрын
There's an entire video chapter to fix this in the tutorial, see kzbin.info/www/bejne/gaCvd2xvhat_fK8
@genesis23032 жыл бұрын
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