Question on Creature 2D Skeletal + Mesh Animation Tool for Defold Engine

Hello all,

I am the developer of the Creature Animation Tool:
http://creature.kestrelmoon.com/

Trailer:

Quite a few people have been contacting me recently asking about getting Creature Animation runtime support into Defold.

I am here to ask how possible it is to get it working in your engine since I have user requests.

Creature is a 100% mesh based ( full on skinning + deformation ) so my question to the Defold Devs is whether it works or is compatible with your framework.

To give you more info ( and I am not sure if this helps you ), Creature also supports export to industry supported formats of FBX and Alembic. So if Defold supports these or plans to support them in the future, then any Creature Animation will automatically work in Defold.

Thank you for your time in reading this post, looking forward to your answers on this community :slight_smile:

You can also email: creature@kestrelmoon.com if you will like to converse with me directly.

Cheers

6 Likes

Hi, Defold supports Spine 3.3 does this help? Recently DragonBones updated to allow a spine 3.3 export.

1 Like

This is not quite true. We do not support all of the features in Spine 3.3. I’m trying to find the exact version or set of features we support, but I couldn’t find it. @sicher, do you know the exact feature set that we support?

1 Like

ooops, sorry my bad, I’ve no idea what Version Defold supports I export from Dragon Bones in 3.3 and it works, so I assumed that Defold supported it.

Edit - Found this in the Manuals

Currently, Defold does not support animation keys that flip bones over the X or Y axis. Defold supports mesh animation but only with bones, meaning that you can’t animate single vertices. If you need to animate single vertices you can do that through a bone being 100% bound to that vertex only and animate the bone.

2 Likes

Hello,

Does Defold support ( or plan to support ) FBX Animation?
Because if what you support right now is regular bone skinning, then the more streamlined approach to get a Creature Animation into Defold is via FBX.

The Creature native runtimes also work but they perform a lot more operations other than regular bone skinning ( full on mesh deformation )

I think starting out, it is ok to support regular bone skinning first ( that means bone motors in Creature ), which means FBX should suffice. FBX is also a good idea for Defold if it happens since this means a lot of other tools can also export into it. I believe supporting industry standard formats is quite important in order for an engine to work with a variety of 3rd party tools.

On a side note, for full on mesh deformation, I recommend looking into the Alembic file format which is another industry supported standard for point caching.

Obviously I should be pushing for native Creature runtime support but I think from a broader perspective ( stepping outside of my product and taking a look from the engine’s point of view ), it makes a lot more sense to push for the standard formats first before any custom runtimes.

Cheers

Your questions can probably be best answered by @sven, @Andreas_Tadic or @Ragnar_Svensson. Guys, do you have any input here?

The short answer is that Defold currently only support bone animation for 2D and 3D objects. To access this functionality the user needs to import/use either Spine JSON-format or Collada files.

Internally we compile the input data into our own runtime format, currently there is no support to add custom build steps. If you are interested in adding Defold export to Creature I would suggest that you look into the Spine JSON format, as Defold can read this and support most of the 2.x functionality.

1 Like

Hello,

Creature’s animation framework and design is much more general than specialized 2d programs. Hence, it sounds like the Collada format might sound more suitable if it is a general 3D scene description format.

Does Collada support most of the general bone skinning features of FBX + animation keys as well?

Thanks

Essentially the Collada support is:

  • One mesh per file.
  • Skeleton is built from “JOINT” entries.
  • Animation only work for joints and keyframed transforms need to be expressed as matrices.
  • We don’t support multiple “clips” in the same file, so multiple animations for one 3D model is defined in .animationset files inside Defold.

Some further details and limitations can be found in the release notes for 1.2.94: http://www.defold.com/release-notes/1.2.94/

Let us know if you have any more questions, it will be very interesting to see how it goes! :slight_smile:

Hello,

So I saw that Defold has added native extensions, which means the ability to build C++ code for the engine. Is there access to drawing a textured mesh ( points, indices and uv arrays )?

I really think that if this simple feature was added into Defold, I can easily port the Creature runtimes over into Defold. This will be a great feature addition to your great 2D framework as well :slight_smile:

For reference, Creature runtimes are very performant.

Complex Mesh deformation running in WebGL:
http://creature.kestrelmoon.com/WebDemo/Babylon-Demo.html

Here are fully mesh deforming raptor characters running across the screen. This demo is using the CreaturePack Web format to deliver results that have high performance, great quality and yet compact in delivery size:
http://www.kestrelmoon.com/creature/WebDemo/raptor_mark.html

Please let me know whether native extensions have support ( or will have ) for rendering textured meshes.

Cheers

1 Like

Hi @kestrel.moon11. We are adding native extension support for the final couple of platforms now (Windows was released just two days ago, and Linux is next). Once we have support for all platforms we can start to expand on the Defold SDK to expose more of the engine and hopefully support what you’re asking for.

1 Like

@britzl Thank you for your prompt reply! Can I know roughly the timeline when you guys are planning to expose engine rendering functionality features into the native extension framework? This will help me plan the Creature runtime Defold feature set moving forwards.

Thanks!

@Mathias_Westerdahl and @sven are the ones who are working with native extensions the most. I’m not sure of the roadmap for Q3 and Q4, but maybe @Mathias_Westerdahl knows?

Exposing more rendering functions for a task such as this is dependent on better support for custom vertex formats in the engine, and that track isn’t in the road map yet unfortunately (afaik).

1 Like

@Mathias_Westerdahl Hello, thanks for the helpful reply. I really look forward to when this feature is added. This will allow me to port the Creature runtimes onto Defold. I believe it will add a great deal of quality in terms of both animation and visual fidelity to your already great engine toolkit. I have quite a few users of Creature wanting Defold support which is why I am asking. Compared to other 2D animation tools out there, Creature is 100% mesh based and designed much more optimally for high end 2D mesh animation + deformation. Given that C++ runtime for support for Creature is very strong, I will be more than happy to make Creature a viable and useful 2D Animation option for developers in the Defold Engine.

Cheers

5 Likes

If this happens I will buy Creature.

2 Likes

We have everything in place in the engine now to create a Creature extension to parse Creature files and generate data for our mesh component. It will not have a tight editor integration but should be fully usable from code.

2 Likes