Skip to content
This repository was archived by the owner on Mar 22, 2026. It is now read-only.

feat: add Blender interpolation types and input validation to AnimationInterpolator#5

Closed
RazorPlay01 wants to merge 1 commit into
TouchController:masterfrom
RazorPlay01:master
Closed

feat: add Blender interpolation types and input validation to AnimationInterpolator#5
RazorPlay01 wants to merge 1 commit into
TouchController:masterfrom
RazorPlay01:master

Conversation

@RazorPlay01

Copy link
Copy Markdown
  • Added BEZIER, BACK, BOUNCE, ELASTIC, QUADRATIC, and CATMULL_ROM interpolations
  • Implemented full support for Vector3f and Quaternionf with correct lerp/slerp operations
  • Added input validation for startValue and endValue lists

…onInterpolator

- Added BEZIER, BACK, BOUNCE, ELASTIC, QUADRATIC, and CATMULL_ROM interpolations
- Implemented full support for Vector3f and Quaternionf with correct lerp/slerp operations
- Added input validation for startValue and endValue lists
@fifth-light

fifth-light commented Jun 9, 2025

Copy link
Copy Markdown
Member

What kind of models you are loading? glTF only supports LINEAR, STEP and CUBIC_SPLINE, VMD has its curve interpolation(not supported for now, use linear in code)

@RazorPlay01

Copy link
Copy Markdown
Author

I had the golden formulas project that I made a while ago and that's why I included so many, but I did it so that the VRM models support Bezier.

@fifth-light

fifth-light commented Jun 9, 2025

Copy link
Copy Markdown
Member

The format of in-memory model & animation data is based upon glTF.

If there is a model format use interpolation functions you added, I can accept you PR. (for example, VMD's cubic interpolation, but VMD's interpolation is special)

Otherwise I prefer making AnimationInterpolation a open class, so you can extend it in your project.

@fifth-light

Copy link
Copy Markdown
Member

so that the VRM models support Bezier

VRM is based upon glTF, how does VRM supports bezier? I can't find bezier support in VRM spec. Is it your extension?

@fifth-light

Copy link
Copy Markdown
Member

Now AnimationChannel can hold AnimationChannelComponent, and you can implement your own AnimationInterpolator.

Example is VmdBezierInterpolation and VmdBezierChannelComponent.

If there is any model formats to be supported needs to use these interpolation types, you can make a new pull request.

Sylsatra added a commit to Sylsatra/ArmorStand that referenced this pull request Nov 29, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants