KhronosGroup / KhronosGroup/COLLADA2GLTF

Converter generates incorrect rotation key frames

Open
#108 5 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C++
Stars
573
Forks
154
PR merge metrics
No merged PRs in 30d

Description

Replaces https://github.com/KhronosGroup/glTF/issues/244

---

A COLLADA model with the following animation (hand edited at this point) has five keyframes:

``` xml


0 0.5 1.0 1.5 2.0







0 90 180 270 360







LINEAR LINEAR LINEAR LINEAR LINEAR













```

The rotation angles around Z are simply `0 90 180 270 360`. However, the converter generates the following axis-angle rotations, which include an axis flip:

```
[1, 0, 0, 0]
[0, 0, 1, 1.5707963705062866]
[0, 0, 1, 3.1415927410125732]
[0, 0, -1, 1.5707963705062866]
[0, 0, -1, 0]
```

Adding more keyframes (with shorter deltas between the rotation angles) does not fix the problem nor does changing the domain from `[0, 360]` to `[-180, 180]`.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the issue with the provided COLLADA animation and trace the converter's rotation-animation handling. Done means the generated axis-angle keyframes represent the continuous 0, 90, 180, 270, and 360 degree Z rotation without an axis flip.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.