Scissor2D - A new 2D toolkit plugin

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 :slight_smile: