Slide transitions don't seem to move each scene at the same pace

I’m trying to use the “slideUp” transition to move from one scene to another. The scenes are connected graphically, meaning that they look continuous (think of a sky as the top scene and the ground as the bottom scene).

When using the “slideUp” transition, I can notice that the top scene moves slower than the bottom one. This causes seams to be noticed between the scenes during the transition.

Does anyone know a way to fix this?

Thanks!

there are two independent transitions (one for each scene) and no, they’re not perfectly in sync.  internally, the first one is started, then some small but non-zero time elapses, then the second is started.   because transitions are time-based, rather than frame-based, when the “tween” (or lerp) happens on the next render frame, the “t” values of the two transitions will be ever-so-slightly non-equal, so the derived positions will be ever-so-slightly non-equal.  if your overall transition time is fairly short the difference is often so small you don’t notice, but if you have long transitions then it can become noticeable.

storyboard had (and presumably it’s still the same in the fork of it now known as composer) a built-in hard-coded 1ms delay on the first transition to try to get it to sync “better” with the second.  but that was really only a band-aid and doesn’t truly fix the sync.   (and doesn’t help at all if that non-zero intervening time happens to be significantly LESS than 1ms, as can happen with top-of-the-line devices – in that case the delay on the first transition can actually make the desync worse!)

one way to get two independent groups to transition at exactly the same rate is to put them both in a larger container group, and use a single transition on that container group.  neither storyboard nor composer use this approach, so you’d have to DIY.  or you could DIY a frame-based approach and manually adjust both groups’ coordinates in an enterFrame loop.  etc, hth

Are you trying to make an effect like the one in “Hoppy naut”? When you click to get a new alien it like slides up.?

–SonicX278

Thanks Dave, I was trying to avoid going the DIY route, but I might consider it necessary.

SonicX278, I’m not familiar with that game. Do you have a video?

there are two independent transitions (one for each scene) and no, they’re not perfectly in sync.  internally, the first one is started, then some small but non-zero time elapses, then the second is started.   because transitions are time-based, rather than frame-based, when the “tween” (or lerp) happens on the next render frame, the “t” values of the two transitions will be ever-so-slightly non-equal, so the derived positions will be ever-so-slightly non-equal.  if your overall transition time is fairly short the difference is often so small you don’t notice, but if you have long transitions then it can become noticeable.

storyboard had (and presumably it’s still the same in the fork of it now known as composer) a built-in hard-coded 1ms delay on the first transition to try to get it to sync “better” with the second.  but that was really only a band-aid and doesn’t truly fix the sync.   (and doesn’t help at all if that non-zero intervening time happens to be significantly LESS than 1ms, as can happen with top-of-the-line devices – in that case the delay on the first transition can actually make the desync worse!)

one way to get two independent groups to transition at exactly the same rate is to put them both in a larger container group, and use a single transition on that container group.  neither storyboard nor composer use this approach, so you’d have to DIY.  or you could DIY a frame-based approach and manually adjust both groups’ coordinates in an enterFrame loop.  etc, hth

Are you trying to make an effect like the one in “Hoppy naut”? When you click to get a new alien it like slides up.?

–SonicX278

Thanks Dave, I was trying to avoid going the DIY route, but I might consider it necessary.

SonicX278, I’m not familiar with that game. Do you have a video?