- Locking nodes can now be done by pressing Ctrl + L, and unlocking with
Ctrl + Shift + L.
- Grouping nodes is now done by pressing Ctrl + G, and ungrouping with
Ctrl + Shift + G (similar to Inkscape).
- Toggling the grid is now done by pressing the `#` key
(also similar to Inkscape). This change was needed as Ctrl + G
now groups selected nodes.
Different shortcuts are used for the lock/unlock and group/ungroup
actions, so that the shortcuts are idempotent.
This makes the Linear and Cubic icons in particular easier to
distinguish from each other.
The Cubic interpolation icon's curve was also changed to be
more distinguishable from the Linear icon's curve.
For octahedral compressed normals/tangents, we use vec4 in the shader
regardless of whether a normal/tangent does/doesn't exist
For the case where we only have a normal vector, we need to specify that
there are only two components being used when calling glVertexAttrib
Before we would always specify that there were 4 components, and used
offsets to determine where in the vertex buffer to read data from but
this doesn't work on all platforms
After the decision to continue feature development for the `3.x` branch
alongside the `master` branch for Godot 4.0, we released 3.3-stable in
April 2021.
6 months and 2000 commits later, Godot 3.4 is another feature-packed milestone
for Godot 3, with a ton of improvements and fixes to make it a great option
for use in production while we wait for Godot 4.0!
A big thankyou to all contributors who work tirelessly on our two parallel
development branches and made this stable 3.4 release possible.
NodePath properties are designed to be relative to the given node, so
validity checks are failing in the editor for Polygon2D nodes, which are
relative to the Skeleton2D node rather than the Polygon2D node.
Fixed by saving bone paths as String properties instead of NodePath.
Shouldn't cause a difference for performance since NodePath properties
are technically saved as String anyway.
(cherry picked from commit 8d9619ad46)
New contributors added to AUTHORS:
@briansemrau, @Duroxxigar, @williamd67
Thanks to all contributors and donors for making Godot possible!
(cherry picked from commit 300286ea08)
Godot uses Variant parameters for calls to script methods.
Up until now we were boxing such parameters when marshalling
them for invokation, even if they were value types.
Now Godot allocates the marshalled parameters on the stack,
reducing the GC allocations resulted from boxing.