Camera FOV Clipping for Blender

Sdílet
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

Komentáře • 19

  • @MarkStead
    @MarkStead  Před 3 lety +4

    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.

    • @orencloud7598
      @orencloud7598 Před 3 lety

      Could you please explain how to combine different LODs in the same node group? Amazing work by the way.

    • @MarkStead
      @MarkStead  Před 3 lety +1

      @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.

    • @mcan-piano4718
      @mcan-piano4718 Před 3 lety

      @@MarkStead Still it would be great if u could also make a video about LODS and a nodegroup :)) It would be really appreciated :))

  • @Erindale
    @Erindale Před 3 lety +6

    This is great! Your method for vector rotation is so tidy, I didn't realise we could use Transform nodes for this.

  • @msvisualization1039
    @msvisualization1039 Před 2 lety +1

    Works great! Thank you, Mark!

  • @user-vz2tn8jd7q
    @user-vz2tn8jd7q Před 8 měsíci

    Awesome work! You deserve more views!

  • @bobleponge4159
    @bobleponge4159 Před 3 lety +1

    Bravo man, tu es superbe. Nice explained and so CC0.

  • @mirohorvath
    @mirohorvath Před 3 lety

    Thanks Mark, great stuff!

  • @Gaonirico
    @Gaonirico Před 3 lety

    Impressive work and very useful. Kind regards from Argentina.

  • @fabianernestopacheco
    @fabianernestopacheco Před 3 lety

    Amazing example!

  • @raoul3444
    @raoul3444 Před 3 lety

    thank you very much !!!!!!!!!!!!!!!

  • @user-cw7pr6ik8z
    @user-cw7pr6ik8z Před 3 lety +1

    Thank you very math)

  • @nurb2kea
    @nurb2kea Před 3 lety +1

    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! :-))

  • @kaidalynch
    @kaidalynch Před 3 lety

    Is it possible to use this node for a scene with multiple cameras without having to manaully switch the camera each time?

    • @MarkStead
      @MarkStead  Před 3 lety

      Not sure it's possible at this point to work out which camera is active.

    • @kaidalynch
      @kaidalynch Před 3 lety

      @@MarkStead Would the input slot for the camera be animateable? I could manually change it and add a keyframe if that works?

    • @MarkStead
      @MarkStead  Před 3 lety

      Yeah, that should work. You can also animate other properties like the Camera Focal Length.

    • @kaidalynch
      @kaidalynch Před 3 lety

      @@MarkStead Thank you!