Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skeleton evaluator #7

Open
io7m opened this issue Nov 26, 2016 · 1 comment
Open

Skeleton evaluator #7

io7m opened this issue Nov 26, 2016 · 1 comment

Comments

@io7m
Copy link
Owner

io7m commented Nov 26, 2016

An evaluator evaluates and blends actions, producing the final matrices for all bones.

Depends #6
Depends #2

@io7m io7m self-assigned this Nov 26, 2016
io7m added a commit that referenced this issue Nov 26, 2016
Move compiler to the same model as the evaluator API, make the
API take CaSkeleton values directly, and strict preconditions
for the structure of the CaSkeleton values.

Affects #7
Affects #2
io7m added a commit that referenced this issue Dec 3, 2016
This is working towards skeleton evaluation. The
`CaEvaluatorSingleActionCurves` type separately evaluates the
translation, orientation, and scale, for a given bone in a skeleton
for a given action.

Add quadratic interpolation.

Affects #10
Affects #7
io7m added a commit that referenced this issue Dec 4, 2016
This was referenced Jan 10, 2017
io7m added a commit that referenced this issue Jan 13, 2017
Introduce a new CaEvaluatedSkeletonMutableType that acts as storage
for evaluated joints. This allows for users to reason about space
usage within their programs: The skeleton types are the storage,
and evaluators act on that storage without performing significant
allocations themselves.

Add functions to produce deformation matrices.

Affects #15
Affects #7
io7m added a commit that referenced this issue Jan 13, 2017
This replaces the code in the single action evaluator with a general
class that calculates keyframes and progress values for interpolation.
This changes the semantics slightly: The final keyframe in an action
is _never_ reached; the action will loop back to the start on the frame
before the final keyframe. This may have consequences for keyframe
events, because an event on the final keyframe will never be evaluated.

Fix #17
Affects #7
Affects #9
@io7m io7m added the evaluator label Jan 21, 2017
@io7m io7m added this to the 0.1.0 milestone Jan 29, 2017
io7m added a commit that referenced this issue Jan 30, 2017
This fixes a bug caused by the use of standard linear interpolation:
Linear interpolation does not guarantee that it will use the
shortest path when interpolating a quaternion. This required using
the as-yet-unreleased jtensors 7.1.0 package.

Fix #23
Affects #7
@io7m
Copy link
Owner Author

io7m commented Jan 31, 2017

A decision needs to be made as to what evaluators will be included in 0.1.0. Right now, only the most trivial evaluator is implemented: A single action evaluator. Presumably, evaluators could be composed rather than, for example, implementing another evaluator that processes multiple actions with blending and so on.

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

No branches or pull requests

1 participant