How to rotate all ParallaxLayers by the same amount if they have different motion scales?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Diet Estus

I have a ParallaxBackground that has different ParallaxLayers with different motion_scales.

I want to rotate them all by the same amount (and also rotate my viewport’s canvas transform by this amount).

But if I rotate the entire ParallaxBackground by this amount, the layers rotate according to their individual motion scales

If I rotate the ParallaxLayers individually by this amount, they also rotate according to their individual motion scales.

And, of course, rotating my main viewport’s canvas transform doesn’t affect them at all.

So, how can I rotate all my parallax layers by the same amount, while still allowing them to have different motion_scales?

Maybe you could have multipliers for each background which accounts for the differences in the scaling factors? Or maybe each ParallaxBackground could be based upon a percentage of a single Vector2? I’d offer more aid, but I know very little about parallax backgrounds.

Ertain | 2018-09-07 17:52

:bust_in_silhouette: Reply From: markopolo

There is no way that I know of to cleanly deal with godot’s built in parallax layers and rotating cameras. See my response to your other question about this for more info :slight_smile: