Skip to content

Conversation

@Canite
Copy link

@Canite Canite commented Jun 26, 2025

At the request of @WarpedEdge I have begun working on adding some new functionality to the model viewer so that animations can be edited/added/saved in a format compatible with the game. This will include:

  • the ability to pause and iterate over all of the animations key frames
  • editing model bone position/rotation/scale
  • saving new animations
  • adding new keyframes to these custom animations

This is still a work in progress at the moment but the first 3 bullet points above are currently working.
The .anim files must first be exported from Hades Workshop and placed in the StreamingAssets\Assets\Resources\Animations\ folder, then in the Model Viewer, first press E to generate an export file and E again to export the existing animation. Then press L to load that animation as a custom clip. Once the custom clip is loaded, you can press Space to pause the animation and use Z and X to decrement/increment the current paused keyframe. From here, you can select and bone and modify it and then press Space again to view the modified animation. Pressing E twice again to export will save this custom animation into a new .anim file (from the export configuration file).

2025-06-26.17-13-25.mp4
2025-06-26.17-14-08.mp4

@SamsamTS
Copy link
Collaborator

This is good stuff. Nicely done.

I have a question/request. A lot of looping animations don't have a duplicate of the first frame which causes a skip in the animation (see #629)

Any way to automate that? Ideally it would be done at runtime, when the animation loads would probably be the best. Also we would need to either check if the first and last frame are already identical (not all loops miss this frame) or have a list of exception.

@Canite
Copy link
Author

Canite commented Jun 27, 2025

This is good stuff. Nicely done.

I have a question/request. A lot of looping animations don't have a duplicate of the first frame which causes a skip in the animation (see #629)

Any way to automate that? Ideally it would be done at runtime, when the animation loads would probably be the best. Also we would need to either check if the first and last frame are already identical (not all loops miss this frame) or have a list of exception.

There's not any easy way to automate that and having it done at runtime would be for a different part of the engine. However, I may add the ability to move keyframes around in the animation and with the latest commit, you can add new keyframes which will copy the current frame you're on. With both of those, you could copy the first frame and move it to the end of the animation but you would have to manually do this for any animations you wanted to fix.

Added a limit on adding/removing keyframes to the game min/max
@SamsamTS
Copy link
Collaborator

Well if making a copy of the first keyframe and moving it to the end can be done manually, it'll most likely be possible to automate (maybe not at runtime but we'll see). I can take care of the automation.

I'm looking forward for the ability to move keyframes around. Keep up the good work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants