WIP transition to using sync track based synchronisation.
This commit is contained in:
@@ -25,14 +25,13 @@ struct AnimSamplerNode : public AnimNode {
|
||||
ozz::vector<ozz::math::SoaTransform> m_local_matrices;
|
||||
ozz::animation::SamplingCache m_sampling_cache;
|
||||
|
||||
void SetAnimation(ozz::animation::Animation* animation);
|
||||
void SetAnimation(ozz::animation::Animation* animation, const SyncTrack& sync_track);
|
||||
|
||||
virtual void UpdateIsSynced(bool is_synced) override {
|
||||
m_is_time_synced = is_synced;
|
||||
}
|
||||
|
||||
virtual void EvalAnimDuration() override {
|
||||
m_anim_duration = m_animation->duration();
|
||||
virtual void UpdateSyncTrack() override {
|
||||
}
|
||||
|
||||
virtual void UpdateTime(float dt) override {
|
||||
@@ -42,8 +41,7 @@ struct AnimSamplerNode : public AnimNode {
|
||||
m_anim_ratio = fmodf((float)m_current_time, 1.0f);
|
||||
m_current_time = m_anim_ratio;
|
||||
} else {
|
||||
const float duration = m_animation->duration();
|
||||
m_anim_ratio = fmodf((float)m_current_time / duration, 1.0f);
|
||||
m_anim_ratio = fmodf((float)m_current_time / m_sync_track.m_duration, 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user