Skip to content
Snippets Groups Projects
Commit 8c1a9fc9 authored by David Williams's avatar David Williams
Browse files

Correctly check for duration "once" for fixed or computed duration

parent 7bdd0b47
No related branches found
No related tags found
No related merge requests found
...@@ -124,6 +124,11 @@ export const AnimateModelIndex = PluginStateAnimation.create({ ...@@ -124,6 +124,11 @@ export const AnimateModelIndex = PluginStateAnimation.create({
? params.duration.params.durationInS * 1000 ? params.duration.params.durationInS * 1000
: Math.ceil(1000 * traj.data.frameCount / params.duration.params.targetFps); : Math.ceil(1000 * traj.data.frameCount / params.duration.params.targetFps);
if (params.mode.name === 'once' && t.current >= durationInMs) {
isEnd = true;
return { modelIndex: traj.data.frameCount-1 };
}
let phase: number = (t.current % durationInMs) / durationInMs; let phase: number = (t.current % durationInMs) / durationInMs;
if (params.mode.name === 'loop') { if (params.mode.name === 'loop') {
if (params.mode.params.direction === 'backward') { if (params.mode.params.direction === 'backward') {
...@@ -135,7 +140,6 @@ export const AnimateModelIndex = PluginStateAnimation.create({ ...@@ -135,7 +140,6 @@ export const AnimateModelIndex = PluginStateAnimation.create({
} }
const modelIndex = Math.min(Math.floor(traj.data.frameCount * phase), traj.data.frameCount - 1); const modelIndex = Math.min(Math.floor(traj.data.frameCount * phase), traj.data.frameCount - 1);
isEnd = isEnd || modelIndex === traj.data.frameCount - 1;
return { modelIndex }; return { modelIndex };
} }
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment