bevyengine / bevyengine/bevy

Allow me to declare an animation clip event based on a frame, not on a time

Open
#16,973 3 comments 0 reactions 0 assignees View on GitHub
A-Animation C-Feature D-Straightforward S-Ready-For-Implementation
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## What problem does this solve or what need does it fill?
The fact that i can only declare an animation event based on a time and not a frame is not only weird, but it is confusing and potentially even makes it impossible for me to do what i need to do (i am not sure?)

My running animation has a dynamic speed. So i need to be able to trigger events at particular frame indices. 'time' will not work if it is literally using time with no regard for the speed of the clip ( i dont know as this is not documented).

So what am i to do here? IMO either the documentation needs to be very very much improved in this regard, or (my primary recommendation) make these anim clip events be based on a frame index in order to make this clear and impossible to get wrong or mess up .

Example:
```

anim_clip.add_event_to_target(
AnimationTargetId::from_iter( bone_names_array ),
clip_time.clone(), // makes no sense for this to me a time, it should be a frame index
anim_clip_event_type.clone()
);

```

Contributor guide

Open the contributing guide

Research direction

Start with the anim_clip.add_event_to_target entry point shown in the issue and inspect how its clip_time argument is interpreted. Determine whether the requested behavior requires frame-based events, clearer documentation of time semantics, or both; done means the chosen behavior is explicit and no longer ambiguous for dynamically paced animations.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.