KhronosGroup / KhronosGroup/glTF

[Clarification] Convert bezier to cubic spline

Open
#1,778 5 comments 1 reaction 0 assignees View on GitHub
implementation
Dominant language
HTML
Stars
7.8k
Forks
1.2k
Avg merge
17h 26m
Merged PRs (30d)
5

Description

Hi,

in some 3d design software (Blender) and in some 3d engines, animation data use bezier keyframes. These keyframes basically consist on the sampled value (time and value) and two handles (time and value)

Consider how this fcurve change when I modify the left handle value of a keyframe:
![image](https://user-images.githubusercontent.com/2644001/75920770-512d0e00-5e60-11ea-9d01-fee71b9dab85.png)

![image](https://user-images.githubusercontent.com/2644001/75920802-5db16680-5e60-11ea-9d72-d9b56073dc92.png)

glTF supports cubic splines, but they can't represent all the space spanned by bezier curves; in particular, a glTF cubic spline consist on a timestamp, a value and two tangents, 4 degrees of freedom, while bezier support up to 6 keyframes (3 timestamps, and 3 values).

How should we convert from bezier to cubicsplines and viceversa? A clarification about this may be useful in the spec.

Contributor guide

Open the contributing guide

Research direction

No repository file or test is named. Start by comparing Blender's bezier keyframe representation with the glTF cubic-spline definition described in the issue; done means an agreed conversion rule is documented in the specification.

Written by the indexing model from the issue text.

Assessment

Tech stack
blender
Domain
computer-graphics, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.