Skip to content

Blender 5.2 LTS Support #202

@BrendanParmer

Description

@BrendanParmer

Compositor

Added

  • File Output node now has a File Extension checkbox that is independent of the 'File Extension' checkbox in the scene render settings. (3baa73145c)
  • A new Blank Image node was added to return a new image of a given size and constant color. (7548e4936a)
  • The compositor now supports Integer Vector sockets. And they are now used instead of standard float vector sockets in the Image Coordinates node's Pixel output, the Image Info node's Dimensions and Resolution outputs, and the Mask To SDF node's Nearest Pixel output. (f49b33a081) (7e4656c7d5)
  • A new Frame input was added to the Stabilize 2D node. (4ba88368d1)
  • Added Minimum and Maximum outputs to the Levels node. (e08237bb8e)
  • Object sockets and the Active Camera, Camera Info, Input Object, and Object Info nodes from Geometry nodes are now supported. (1d2ca9b15c) (e919a25441) (815059977b)
  • The Matrix socket and Matrix Math nodes are now supported. (45d5533d8e) (446fa98c62)
  • The Rotation socket and rotation nodes are now supported. (f1185c873b)
  • The String socket and String nodes are now supported. (a241422362)
  • The Font socket and the Input Font node are now supported. (d5fa560cc8)
  • The Warning node is now supported. (5f2067df3e)
  • A new String To Image node was added. (d5fa560cc8)
  • Added new assets
    • Film Grain: Simulates the noise and behavior of analog film
    • 3D to Screen Space: Transforms 3D coordinates from world to normalized camera space
    • Screen to 3D Space: Given a depth and a normalized 2D vector, compute 3D coordinates in 3D space. This is the inverse transform of 3D to Screen space above.
    • Transform and Project: A generalized, lower level variation of 3D to Screen Space node that takes Transform and Projection as inputs instead of a Camera object to compute the 2D coordinates in screen space.
    • Project with Depth: A generalized, lower level variation of Screen to 3D space.
  • Support for Default Input Types was added. (e96f40cdb5)

Changed

  • Anisotropic sampling now works with Transform nodes and can be used for higher quality scaling down. Previously, it silently used Bi-Cubic sampling. (1df7f88e4a)

Cycles

Raycast Attributes

  • The Raycast node now provides access to attributes at the intersection point (PR#157344).

Shader Nodes

Subsurface Scattering

  • Subsurface BSDF and Subsurface component in Principled BSDF now supports negative anisotropy. (PR#156355)
  • The Random Walk radius scaling (PR#133848) and anisotropy to albedo mapping (PR#156355) have been adjusted to match other renderers better. To keep compatibility, older files are automatically converted to use Random Walk (Legacy) mode.

Geometry Nodes

Geometry Bundles

  • The Set Geometry Bundle node updates the bundle stored in the geometry. If there was a bundle already, the old one is discarded.
  • The Get Geometry Bundle retrieves the bundle of a geometry, optionally removing it.

Lists

  • The Field to List node creates new lists with a given length by evaluating fields that may depend on the Index node. This can be used with all types supporting fields and is generally the most efficient way to create lists.
  • The Closure to List node creates new lists with a given length by evaluating a closure that has an index input. This can be used to create lists of any type but has a higher performance cost which can be noticeable when creating large lists. (e7e84d4460)
  • The List Length node outputs the length of the passed in list.
  • The Get List Item node allows accessing individual items from the list.
  • Additionally, one can use the Filter List node which creates a new list from all items where the boolean predicate is true or false respectively. The predicate can be a boolean list or field. (207d331f70)
  • Lastly, one can also use the Sort List node to sort the values based on a custom weight. (a62bcf847a)

Collections

  • The introduction of lists also allows for another new node which opens up new designs: the Collection Children node. It allows accessing all the child objects and collections of a collection as a list, optionally recursively.

Sound

  • There is a new Sample Sound Frequencies node. It allows controlling animations and simulations with imported sound. One can get a single amplitude value for the entire sound at a given time or also sample frequency ranges which allows creating sound spectrum animations. (ccedfb3357)
  • New Sound socket type

Empty Objects

  • Empty objects can have geometry nodes modifiers now. This makes them a good choice for implementing custom forces but also make sense for fully generated objects that don't have original data. (301fceb1d3, 1504d9d586)

Merging Points

  • The Merge by Distance node can now be built from more atomic building blocks, giving more control over which points are merged exactly. To achieve that, three new nodes have been added. (7588add7cb)
  • Merge Points combines points or mesh vertices with the same input group ID.
  • Cluster by Distance creates group IDs for groups of close points.
  • Cluster by Connected implements the existing "Connected" mode of the Merge by Distance node and Weld modifier, just for meshes.

Mesh Bevel

  • The long awaited Mesh Bevel node is now available. It provides detailed control over the edges or vertices to bevel. (c53b03f46a)

Attributes

  • The Capture Attribute node supports a selection now. This can make the node more efficient when attribute value is only required in a subset of elements. All unselected elements get their default value, which is zero generally. (7fd7e77af3).
  • The new Rename Attribute node allows easily renaming a single attribute or all attributes with a specific prefix. (24f3c4aad2)
  • The Get Attribute Names node outputs a list of the names of attributes in a geometry, optionally filtered by domain and data type. (eae8e8569d)
  • The new Transfer Attributes node can transfer an arbitrary number (including all) attributes from one geometry to another. By default it uses an index based mapping but custom IDs for each domain can be provided too. (155e0363e5)
  • Attributes can now be stored as 4D float vectors. However, Geometry Nodes still only operates on 3D vectors currently. (73f95d6785)

Curves

  • The new Set NURBS Order and Set NURBS Weight nodes provide easy access to built-in attributes affecting how the final curve is computed. (52062edb6f, fa4492cdf6)

Strings

  • String fields are supported now. However, string attributes are not implemented yet. (1268115c0f)
  • The Find in String node can now find the first occurence from the end. (6edb5ce0a5)
  • The new Trim String node removes specific characters at the start or end of a string. (8e699aa94b)
  • The new Reverse String node reverses the order of characters in a string. (59e54526a2)
  • The new Set String Case node turns strings into upper or lowercase. (905e6c527a)
  • Add base input to conversions between integer and string (43a97ef002).
  • The new Split String splits text into a list based on a delimiter. (1c209733c8)

Node Group Inputs

  • New Scene Frame default input type. (51b4bbce89)
  • For object sockets, the default value for group inputs can be the self-object now (af602ba283).

Bundled Assets

  • New nodes for space transformations and projection. (a4ce6f378b)
    • 3D to Screen Space: Transforms 3D coordinates from world to normalized camera space
    • Screen to 3D Space: Given a depth and a normalized 2D vector, compute 3D coordinates in 3D space. This is the inverse transform of 3D to Screen space above.
    • Transform and Project: A generalized, lower level variation of 3D to Screen Space node that takes Transform and Projection as inputs instead of a Camera object to compute the 2D coordinates in screen space.
    • Project with Depth: A generalized, lower level variation of Screen to 3D space. Example to transform coordinates from the viewport 3D space to screen space and back using the Viewport Transform node.
  • New Principal Component Analysis nodes. (40c0786af9)

Miscellaneous

  • New Nodes
    • The new Instance Reference node provides access to the internal attribute which tells each instance what geometry it should instance. (f7fb4b71de)
    • The new Get Geometry Component node extracts a single component of a geometry if it exists. This also simplifies editing just a single component of a potentially more complex geometry. (c9d606b747)
  • Closures
    • Closures can now be called recursively, up to a limit. (c800cc31b9)
  • Data-blocks sockets (object, collection, etc.) can be compared to each other and to None now. (e6ee7af701)
  • The Bone Info node has an "Exists" output (4c0c494f69).

Grease Pencil

Materials

  • Added new placement settings for line materials using Dots and Squares. This allows materials to generate dots/squares at render time, which is orders of magnitudes faster than e.g. subdividing the strokes using a modifier. There are three placement modes. Count, Density, and Radius (20e256add6).
  • Added randomization settings to the new placement options above. These allow the randomization of size, opacity, and color of the rendered dots/squares (135cf2d18d).

Physics

Cloth Dynamics

  • The new experimental Cloth Dynamics modifier and node group can just be added to any mesh to give it cloth-like behavior. It supports various features built-in like pinning, stretchiness/bendiness controls and tearing.

Hair Dynamics

  • Hair works similarly but requires a bit more setup because it requires a surface the hair is attached to. When using the updated Empty Hair operator in the add menu, this setup is done automatically.

Effectors

  • Custom Effector: Allows injecting fully custom behavior at specific stages into the simulation by using a closure.
  • Effector Bundle: In a node-based workflow, one can also create a bundle containing an arbitrary number of effectors.

Colliders

  • A collider object is created by adding a Collider modifier to it. This uses the geometry at that point in the modifier stack as collision mesh.

Forces

  • Besides the built-in gravity, there are no ready-to-use forces for this system yet. However, one can easily build custom forces.
  • The Set Effector asset attaches effector bundles to a geometry so that the simulation finds it later on.

Custom Effectors

  • Custom effectors can be used to inject fully custom behavior into the simulation using closures. It runs at the specified stage (e.g. "Post Solve") in the simulation loop. Since the geometry is in simulation space (which usually matches world space unless otherwise specified), the To World Transform is provided which contains information for how to transform the geometry into world space, from which it could be transformed into any space as necessary.

XPBD Solver

  • The Cloth and Hair Dynamics assets are internally powered by a new built-in XPBD Solver node. It does the heavy lifting solving various constraint types. The assets build a use-case specific declarative system around this built-in node.

Python API

Geometry Nodes

  • The API for accessing Geometry Nodes modifier properties has changed. The modifier now has proper RNA properties rather than using custom properties for inputs and output attribute names (1561c1ea4a).
  • Socket identifiers for the Compare and Random Value node changed (3a5cd7862b).

Nodes

  • It's possible to open and close panels of nodes from Python now (80ed71c7ac).

Rendering

Shader Nodes

  • A time node was added, which behaves the same as the one in geometry nodes. (#156850)
  • Principled BSDF adds a new boolean input "Thin Wall". When this mode is enabled, the surface is considered a thin sheet. (PR#157469)

User Interface

Editors

Node Editor

  • New "Implicit Conversion" nodes can be used to convert values to a fixed data type (5b8b780ff7)
  • Input Nodes
    • New constant input nodes have been added for Menu sockets and Font data blocks in all node editors (0eca88e118)
    • Vector input nodes support 2D and 4D vectors (fbebd8998d)
  • Editing Nodes
    • Support adding dynamic sockets directly in nodes. (d3a0d4ebf4)
  • Float, Integer, Vector, and Integer Vector sockets now support Pixel subtype. (d6b0edf63b)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions