An open API service indexing awesome lists of open source software.

https://github.com/dlannan/defold-ozz-animation

Extension to support animation using the ozz-animation library
https://github.com/dlannan/defold-ozz-animation

Last synced: 4 months ago
JSON representation

Extension to support animation using the ozz-animation library

Awesome Lists containing this project

README

        

# Defold Ozz-animation extension

** Update 11/12/2024 - This is no longer being worked on. **

## Defold Anim Limitations

There are a number of limitations (specifically in runtime) that limit the access and ability to handle meshes as well as appropriately accelerate the performance with shaders. Defold is working on this, but the core structure is not suited to using ozz-animation like this. Due to this and a number of other problems (specifically in runtime) I have decided to develop my own engine/solution which will utilize much of the work Ive done in Defold.

The new system is here if people are interested:

https://github.com/dlannan/sokol-luajit/

** This is under construction - bugs/perf/issues beware! **

## Why? Defold has animation!

Yes Defold does. But again, I have a few 'outside the box' features I need. These are mainly (no specific order):

- Runtime loading and mod (for my Flix app that is on pause atm)
- IK runtime modification - for terrain foot placement, and for hand/arm placement
- Blend trees, events and parameterized bone manipulation (relates kinda to IK but more to state control)
- Animation editor (want a standalone way to make/edit/control anims and blend trees)

Much of this is a large amount to build myself (would take months/years). Thus I intend to leverage the excellent ozz-animation library available here:

https://guillaumeblanc.github.io/ozz-animation/

The aim will be to provide some (not necessarily all) of the features ozz-animation has built in and couple it to Defold mesh rendering and possibly use Defold material shaders for skinning.

An extended bonus would be to have GPU accelerated bone anim/blend via texture data into uv streams similar to:

https://github.com/piti6/UnityGpuInstancedAnimation

This will be something I will tackle once I have the basics working.

The standalone Animation editor I want to build with Defold will be a derivative of this extension project. Thus it is expected to be one of the last task items I will tackle.

## Status

12-09-2024: The current status is that I have a basic skeleton, animation set and mesh set loadable from script.

## Todo

- [X] Load in skeletons, anims and meshes
- [X] Create defold mesh from ozz mesh
- [ ] Editor tool to convert gltf to ozz skeleton, anim and mesh
- [ ] Editor tool to convert fbx to ozz skeleton, anim and mesh
- [X] Runtime loadable ozz data
- [ ] Map materials to the defold mesh
- [X] Generate mesh buffers from ozz mesh (maybe in editor?)
- [ ] Prototype Anim Editor