Skip to content

Blender 5.0: Modeling & UV

Modeling

Modifiers

There are six new Geometry Nodes based modifiers. (8ba63262bf)

  • Array: Distributes the object along a line, circle, curve or with a custom transform. Also supports gizmos and randomization. The legacy array modifier is still available for now.
  • Scatter on Surface: Instances other objects on the surface. It features density as well as amount based sampling. The distribution can be controlled with an attribute and an image texture. Multiple of these modifiers can be chained to scatter different objects with different distributions.
  • Instance on Elements: Creates instances on points, edges, faces or face corners.
  • Randomize Instances: Adds additional randomization to instances created by other modifiers.
  • Curve to Tube: Creates a cylindrical mesh (or any custom shape) from a curve. It also supports round caps and generates a UV map.
  • Geometry Input: Can be used at the beginning of the modifier stack to copy the final geometry of another object.

Other changes to existing modifiers:

  • Boolean Operation Solver label has been renamed from "Fast" to "Float" to better reflect its functionality. This change is applied consistently across the edit mode boolean operator, boolean modifier stack, and Python API. (PR#141686)
  • "Implicit sharing" is used for the storage of modifier bind data, significantly improving undo performance and decreasing memory usage (a08cd68f1e).

Attributes

  • Freestyle edge and face tags are now stored as generic attributes, with the names freestyle_edge and freestyle_face. The attributes will be propagated like all other boolean attributes. The use_freestyle_mark properties for this data on Mesh elements are removed; the attribute API should be used instead (b20ecee555). Mesh is not yet affected by this change.
  • For curves, Grease Pencil, and point clouds, attributes no longer have a name length limit. Also, for Python API users, attribute references are no longer invalidated when adding or removing others (68759af516, fa03c53d4a).

Curves

  • A new "Curve Data" panel in edit mode allows tweaking built-in curve attribute values (c59a1aedbf).

Lattice

  • New operator: "Lattice Deform Selected" accessible from the add menu. This adds a new lattice that deforms selected objects, by default the lattice is fitted to the selection bounds and oriented to match the active object. (c2319f8293).

Mesh

  • Improve "Merge by Distance" behavior

    • Use a deterministic method of selecting the target vertex, picking the center-most vertex of a cluster with the lowest index as a tie breaker. (69e27b4855).
    • A new "Centroid" option moves vertices to the average location of all merged vertices (enabled by default). (93cc17dd72).

UV

  • UV Selection Improvements

    • Sync selection is now capable of selecting individual UV coordinates without having to select all UV's connected to a vertex.

      Common selection operations in the 3D viewport such as picking/box/lasso/circle select maintain the UV selection however some selection operations such as select-random will reset the UV selection, causing all UV's connected to selected vertices to become selected.

      Sync selection is now enabled by default. (62d72bd0b5).

    • Use a shared selection for all UV maps, removing the per UV-map selection. When loading older files only the selection from the active UV-map is preserved. (f4308aa2d0).
    • Undo now stores UV selection settings such as UV select mode, sticky and sync-select. (37382b7c39),
  • Add pack to custom region option to "Pack Islands" operator (a9a54c88b9).
  • Add Minimum and Maximum to Align Vertically/Horizontally (9f28549fd4)
  • Add "Arrange and align selected UV islands" operator (f7f4c154b6)
  • Add "Move Selected UV's on Axis" operator, accessible via num-pad keys (cfad6f4f25)
  • Convert the "Copy Mirror UV Coordinates" operator from Python to C++ (919acbbf7f)

Python API / Compatibility Changes

  • UV Sculpt strength_curve and curve_preset properties have been renamed to curve_distance_falloff and curve_distance_falloff_preset (0a72429ea8).