Camera FOV Clipping for Blender
Vložit
- čas přidán 25. 07. 2024
- Camera FOV Clip is a free Node Group for Blender 3.0 Geometry Nodes (or 2.92/2.93 supported in an earlier version). It is designed for Geometry Nodes when scattering many objects throughout your scene - resulting in a scene that is too demanding.
When using the Camera FOV Clip node group it will automatically clip or hide objects that are outside of the camera field-of-view. Move or rotate the camera and the visible objects are automatically updated in real time.
This can be a significant performance improvement, given there could be a 10 times reduction in the number of objects displayed in the viewport. (So now you can scatter even more objects.)
Download the Node Group from my Gumroad page.
gum.co/BlenderCameraFOVClip
This video covers:
00:00 - Introduction - what does this node group do
00:55 - How to use/configure the node group in your own scene
03:47 - Setting the Object Scale Factor
05:34 - Performance comparison
06:15 - Explanation of the geometry nodes math used to hide objects
10:51 - Node group implementation details
14:41 - Summary
Current version of node group is V1.2 - this resolves these limitations:
- Top/bottom clipping
- Support for vertical aspect ratios (e.g. 3:4 or 9:16)
- Optimised for Blender 3.0 (using Geometry Nodes fields).
Limitations and technical details:
- Camera attributes (such as sensor size and focal length) must be manually set in the node group. You could use a Driver for these settings, particularly if you need to change or animate the settings.
- If you need to use the node group with different cameras, then you would have to switch between different Object Info nodes.
- Remember to allow sufficient padding with the Object Scale Factor to cover objects just outside of the field-of-view that can influence the render - due to shadows, reflections or illumination inside the scene. Perform renders with the clipping enabled/disabled and identify any influence on the final render.
- Using Object Scale Factor to handle vertical clipping of tall objects will be problematic - particularly if the object origin is at the base of the object.
- If you adjust the objects scattered through the scene (size, origin point etc), then you may need to make further changes to the Object Scale Factor.
Remember you can combine this node group with other easy Geometry Nodes performance tuning techniques such as changing the level of detail (LOD) for the geometry based on the distance from the camera.
Hope you find it useful. - Krátké a kreslené filmy
An updated version of the node group (V1.1) now supports clipping on the Top/Bottom. See the link in the description for more details.
Could you please explain how to combine different LODs in the same node group? Amazing work by the way.
@orencloud I'd recommend checking out some of Erindale's videos, like this one. czcams.com/video/7J-bpAvImfs/video.html
Also have a look at the DevTalk discussion on Geometry Nodes.
The hardest problem is having different models where you can seamlessly transition from one to the other. For example using different subdivisions levels should work well, whereas going from geometry to a 2D image plane is likely more noticeable.
I found an Eevee performance problem with shadow calculations (and have submitted a patch). Turning off shadows for distant objects would likely not be noticeable.
Ultimately if you get active on DevTalk then you can help steer the features in Geometry Nodes.
@@MarkStead Still it would be great if u could also make a video about LODS and a nodegroup :)) It would be really appreciated :))
This is great! Your method for vector rotation is so tidy, I didn't realise we could use Transform nodes for this.
Works great! Thank you, Mark!
Awesome work! You deserve more views!
Bravo man, tu es superbe. Nice explained and so CC0.
Thanks Mark, great stuff!
Impressive work and very useful. Kind regards from Argentina.
Amazing example!
thank you very much !!!!!!!!!!!!!!!
Thank you very math)
Nice stuff ! :-)
I was wondering how to get it work. It's basically the same as for subdivision modifier, having a camera option for that.
Thanks for that Tutorial and the nodes! :-))
Is it possible to use this node for a scene with multiple cameras without having to manaully switch the camera each time?
Not sure it's possible at this point to work out which camera is active.
@@MarkStead Would the input slot for the camera be animateable? I could manually change it and add a keyframe if that works?
Yeah, that should work. You can also animate other properties like the Camera Focal Length.
@@MarkStead Thank you!