Skip to content

Smooth VUEs amendment#600

Open
jerethk wants to merge 1 commit intoluciusDXL:masterfrom
jerethk:Smooth_vues_amendment
Open

Smooth VUEs amendment#600
jerethk wants to merge 1 commit intoluciusDXL:masterfrom
jerethk:Smooth_vues_amendment

Conversation

@jerethk
Copy link
Copy Markdown
Contributor

@jerethk jerethk commented May 3, 2026

The existing interpolation logic (introduced by #288) does not take into account the wrapping-around of angles at 360 degrees.
So, if an angle (eg. yaw) is 358 degrees in one frame and 2 degrees in the next frame, the interpolation will happen downwards from 358 to 2, instead of upwards (358, 359, 0, 1, 2).

This is not an issue with 3d-object VUEs, which ignore the angles and use the transformation matrix to render each keyframe. But it is noticed when using VUEs in camera mode, to move a camera or sprite around.

I think the solution to this is to test whether the delta is more than 180 degrees -- if so, interpolate via the shorter distance arc

…e is transiting across 0 / 360 degrees between frames

For example, if changing from 358 degrees to 2 degrees, we want to interpolate upwards (358, 359, 0, 1, 2) not downwards
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant