Skip to content

[FR] Add Display Keyframes for Fine-Grained Animation Control #305

Open

Description

@Dearliet
20240912-0052-08.7765500.mp4

Benefits to Users:

  • Users gain precise control over each property during animation
  • Users can easily modify a single property, for example text, to simulate a typewriter effect without needing to create multiple variants (assuming in this example variant-bound text displays are implemented)
  • Allows users to interpolate individual properties, though it may come with a performance cost

Interpolation Options

  • Enum, boolean, and string properties behave like command keyframes, meaning they cannot be interpolated
  • For other properties, we would have two options:
    • Support Blockbench interpolation:
      • This allows users to interpolate properties like shadow radius using a custom animation curve, though it can affect performance due to NBT changes occurring each tick (I can share profiling data if you'd like an estimate of how this impacts performance in plugin mode)
      • Users can still opt for step keyframes if they wish to conserve resources
    • Treat them like command keyframes:
      • Users wanting to simulate interpolation would need to manually create multiple keyframes close together, which could support the argument for enabling interpolation in the first option

Maybe bone node display keyframes could include an option in each keyframe menu to specify whether the changes should also apply to all of its child nodes

Activity

  1. added
    🕰️ Long-TermThis issue is being considered, but probably won't be implemented in the near future
    on Sep 12, 2024
  2. added
    🕰️ Long-TermThis issue is being considered, but probably won't be implemented in the near future
    and removed
    🕰️ Long-TermThis issue is being considered, but probably won't be implemented in the near future
    on Sep 12, 2024
  3. SnaveSutit commented on Sep 2, 2026

    @SnaveSutit
    Contributor

    Too many keyframes. I think if I were to implement the ability to animate such things, I would have to make a single channel for "Display Properties" or something where each keyframe can change all of the display properties.

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

Metadata

Metadata

Assignees

Labels

✨ EnhancementNew feature or request🕰️ Long-TermThis issue is being considered, but probably won't be implemented in the near future

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions