Skip to content
This repository has been archived by the owner on Dec 22, 2023. It is now read-only.

Skin animation models have animations and/or animation channels that do nothing #86

Closed
bghgary opened this issue Jun 23, 2017 · 9 comments
Labels

Comments

@bghgary
Copy link
Contributor

bghgary commented Jun 23, 2017

For example, RiggedSimple has two animations. The first one has linear interpolations that animate all the transforms to the same values for the entire timeline. The second one has a real curve for rotation, but translation and scale also have the same values for the entire timeline.

It would be good to update the models to at least remove the no-op animations from the list.

@lexaknyazev
Copy link
Member

Related: KhronosGroup/glTF#982 (comment).

@pjcozzi
Copy link
Member

pjcozzi commented Jun 28, 2017

We could do this by running through gltf-pipeline as soon as it has glTF 2.0 support.

@emackey
Copy link
Member

emackey commented Jan 29, 2020

Some skinned models were regenerated in #245. Safe to close this?

@lexaknyazev
Copy link
Member

As of now, RiggedSimple has one animation with three channels (TRS). Translation and scale do nothing.

@lexaknyazev
Copy link
Member

Long-standing issue in COLLADA2GLTF: KhronosGroup/COLLADA2GLTF#225

@DRx3D
Copy link
Contributor

DRx3D commented Oct 27, 2023

Untouched for almost 4 years. Can this be closed, or does it need to stay open because of the previous comment indicating an issue with COLLADA2GLTF? @lexaknyazev

@donmccurdy
Copy link
Contributor

donmccurdy commented Oct 28, 2023

Note that channels with a constant value are not necessarily unwanted. When the application is playing back multiple animations, or transitioning from one animation to another, that track provides an important distinction between:

  1. this animation does not care where joint X is
  2. this animation expects joint X to be in a specific location (which might or might not be the joint's rest pose)

In other cases, a constant track may be relevant to determining the start time or duration of an animation.

Probably neither of those situations was actually intended here, and it's just a COLLADA2GLTF quirk, but I just want to point out that this wouldn't be something we should rule out from the repository.


I would be happy to make any of the following changes to the model, if desired:

  • (A) remove constant channels
  • (B) resample constant channels down from 50 to 2 keyframes (start + end)
  • (C) resample constant channels down from 50 to 1 keyframe (start)

Currently glTF Transform does (B) by default (with resample command), and could be used in a scripting environment to do (A) or (C). gltfpack will do (A) by default, and has a CLI flag to do (C) instead.

The size difference is 15kb → 12kb.

@javagl
Copy link
Contributor

javagl commented Oct 28, 2023

This has some connection to KhronosGroup/glTF-Validator#200

@emackey
Copy link
Member

emackey commented Oct 30, 2023

I'm fine with no change here. As Don points out, sometimes a constant value in an animation is required, particularly in cases where the default (static) pose is not the same value. Even if that's not required here, the requested change is a micro-optimization of a small sample. Let's close it.

@DRx3D DRx3D closed this as not planned Won't fix, can't repro, duplicate, stale Dec 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

7 participants