Sorting Groups
Scissor2D now has support for Sorting Groups, which is the new default behaviour for anything rendered inside a ScissorActor.
https://i.imgur.com/Y9sDqYm.png
This slightly changes how sorting layers works over all as the ‘Sorting Layer’ and ‘Order in Layer’ variables have now moved to the base Scissor Actor.
https://i.imgur.com/PchQ4Ui.png
Scissor Components now have a new variable called ‘Render Order’, which defines the draw order within an Scissor Actor.
https://i.imgur.com/0O3emG9.gif
Why have I done this? Before the changes, Components that are part of an Actor would need their layering settings set from the global layering pool. A problem arises when two Actors with the same layering setting pass over each other. As you can see above they interact in undesirable ways. The only solution being the creation of many render layers or writing a game system to dynamically move ordering around.
https://i.imgur.com/10VmRk4.gif
Under the new system Scissor Actors are treated as a singular entity so all the contained parts correctly sort over other actors on the same layer. In the rarer case that you actually need an Actor to span multiple world layers, you can use a UChildActorComponent with another ScissorActor in it and that will work as expected.
Right then, I think I’m going to tackle Texture Atlasing next, as it looks a bit tedious to implement and id like to get it out of the way