Defold 1.2.94
With this release we have added initial support for skeleton animations in 3D models. For more detailed notes on changes and current limitations, see the list below the changelist.
We have also added support for cursor and playback control on model animations, the same feature added in previous release for Spine models.
The flipbook animation for particles now supports a new mode to allow for different image sizes within the same flipbook without stretching the particles. Along with this addition we have fixed automatic resizing of sprites that uses flipbook animations.
We have fixed a performance issue with loading and mapping dependences/libraries in the editor resulting in significantly increased performance when loading.
Engine
-
DEF-2308
- Added: Automatic particle resizing from flipbook animation -
DEF-2161
- Added: Skeleton animations for 3D models -
DEF-2295
- Added: Cursor and playback control for model animations -
DEF-2304
- Added: Max GUI scene count per collection is now configurable ingame.project
-
DEF-2202
- Fixed: Up-axis for Collada models are now taken into account -
DEF-2202
- Fixed: Correct UV/texture coordinates for Collada models -
DEF-2303
- Fixed: Label with dynamically set text remained after go.delete -
DEF-2308
- Fixed: Automatic sprite resizing from flipbook animation -
DEF-1972
- Fixed: Disable animating node during complete callback didn’t update property fragments -
DEF-2274
- Fixed: Spine nodes with animated alpha now works as expected -
DEF-2145
- Fixed: Libraries/dependencies loading performance
Notes regarding the new 3D skeleton animation support:
-
Up-axis for Collada files/models are now taken into account. This means that some models that has been authored in Blender (or other software where the up axis is not Y) will appear rotated.
-
UV/texture coordinates were previously upside down for Collada files/models, but this has now been fixed. This means that if you have current workarounds/fixes for this in your shaders, they need to be “undone” for correct texture mapping.
-
Relevant to the the UV-fix, we have made some changes to how our internal UV coords are generated (Atlas and TileSources). In the most common cases this should not mean any changes to the end user of Defold, but for some edge cases and specific advanced usage of shaders this is good to keep in mind.
-
Only baked animations are supported. (Animations where each keyframe has matrices for each animated bone, and not position, rotation and scale as separate keys.)
-
Animations are linearly interpolated. For more advanced curve interpolation the animations needs to be prebaked from the exporter.
-
Animation clips in collada are not supported. For multiple animations per model use the new
.animationset
file. -
For each bone in a skeleton we create gameobjects so that you can attach/parent other gameobjects to the bones in runtime. (This works just as Spine bones currently.)
-
There is a limitation in the current implementation that does not allow for correct skewing in model animations. We are aware of this and have a plan for fixing this in the future.
-
Positions, Normals and UV coordinates are exposed to the materials/shaders.
-
There is a simple 3D material in
/builtins/materials/model.material
with amodel
predicate tag. The default render script has not changed so models will still not render by default, instead refer to the 3D example in our online documentation. -
There is a new
model.*
Lua namespace, similar to thespine.*
namespace, to play/cancel model animations and set/reset constants at runtime.