[SCENE GRAPH] [FEATURE REQUEST] property_animation_controller

Please select what you are reporting on:

Verse

What Type of Bug are you experiencing?

Verse

Summary

At Unreal Fest I was shared that Scene Graph will eventually get animation_controller like capabilities in order to animate things more smoothly. However animation_controller is currently only limited to animating transform values (translation, rotation and scale). Other properties which are technically animatable over time are being left out and this is a huge missed opportunity.

The inspiration is drawn from a UI framework SwiftUI. Any type that conforms to Animatable protocol / trait, can provide an animatable property via animatableData. Such property only needs to make sure to support certain operations which are enforced via the VectorArithmetic protocol.

Verse does not have protocols or traits yet and it’s unclear if interfaces will gain this capabilities. Ideally we should get a fully new trait system so that we can apply traits on structs and enums as well, but I digress. In the meantime we would need an intrinsic animatable super type which some native types would automatically conform to. Such types would be int, float, vector2, vector3, vector2i etc.

Steps to Reproduce

N/A

Expected Result

  • A property animation controller should permit animations not only on transform based values but on any property that is animatable (for example on animatable parameterized material properties or widget offset).
  • It should support long running animations (duration based).
  • It should also support per tick target value based animations. The simulation supplies a wish target and the client smoothly interpolates towards the target for the predicted tick duration with potential correction in order to sync with the following tick animation.

Observed Result

N/A

Platform(s)

PC

The status of FORT-761952 incident has been moved from ‘Unconfirmed’ to ‘Needs Triage’.