Update v1.1 - Lights, Optimizations & Bug fixes


Good-day! It's time for the first update, which is a kind of an overhaul

Firstly, it comes with two new master materials for your sprites and some bug fixes which swept through the cracks! 

This asset is now a separate plugin, which will break compatibility on everything from the former release but will be easier to update and keep backward compatibility from now on! 

Source code will still be available seperately though :)

Bug fixes:

  • Fixed a bug where one shot animations still loops when finished playing.
  • Fixed a bug where frames didn't sync correctly between angles. If the last animation frame where last seen, the next angle wold be set to second last. 
  • Fixed so looped animations gets frame synced too.
  • Simplified some lines of code.


New features:

Moved the whole project to a seperate plugin, for easier installing and updating. 

Added two new materials for your sprite actors (Lit and Unlit) to handle billboarding instead of handling it by code. It almost removed frame spikes completely when player moves around with a lot of actors in the same place.

The lit material supports normal lighting but also has compensated shadows by getting the skylight's lighting and applying it to the material's Emissive Output. (Requires a Skylight in your scene, aka ambient light)



Added a button [ Billboard Mode ] in the DirectionalRenderComponent for switching between handling sprite billboarding via material or by code ("Material" or "Code").



Updated the example project with these new materials and a new one-shot example character which plays a death animation. Also added toggleble ambient light to the demo, so you can see the difference with the new shadow compensation. 


Material

Billboarding by code also rotates the sprite's collision, which can be useful for situations where hit-box accuracy is more necessary. Billboarding by material is more performant but doesn't rotate the collision, which is better for situations where a lot of actors exist in the same space but doesn't need as accurate collisions. 

To use the new materials:

  • Change your sprite's material to either "M_LitSpriteActor" or "M_UnlitSpriteActor" 
  • Change your billboard mode -> Material.

Both are provided with the plugin!   


I haven't updated the manual regarding the material aspect yet but will get around to it soon!



Future:

---------------

Now that the new fixes and improvements are done, I will focusing on mainly usability and optimization. 

Current optimization goal is to reach as close to stable 60 fps as possible with 10.000 actors active in one scene, without adding complexity in the usability or having to do more manual setup/tweaking from the user's perspective. I'll focus on keeping this project as drag-and-drop and scalable as I can, since I also use this in my own projects!

Forward and onwards: I will keep optimizing this until it's balanced by experimenting with reducing calculations, some sort of "LOD", and what not. This is however mostly a temporary solution until I figure out a better, more robust, one which meets all my criterias. 


Cheers!

//SIPSII

Get Eight Directional Rendering

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.