Ever since the sunset of the Compatibility Lighting technology, it’s been the Shadows that cannot be properly achieved again.
Top = Compatibility , bottom = Voxel w/ Retro TonemapperPreset
It’s either too dark, or there’s no shadows at all. Nothing in between. No more soft & subtle shadows by having a thinner roof … So I thought.
Toying around with Lighting settings doesn’t properly soften shadows and adding lights becomes a mess that doesn’t work either.
Now, I did find something that worked; adding an additional part inside the covering part.
The ‘main’ is just as normal, but with Casting Shadows off → this let’s through all the light.
To compensate, an additional thinner part – just so it doesn’t z-fight with the other – is placed within. This new part has CastShadow on, but sees a higher Transparency so it let’s through the light partially to recreate the soft shadows Compatibility used to provide.
Adding all this manually is rather tedious to say the least, especially when there’s over 20 different sub-places to add these to.
Thanks to a reply under the main migration page I came across later, I got this Emulator model ^ that automatically converts it for you, but I found that for more complicated builds this doesn’t always suffice

Using this technique however, I managed to more or less match the original aesthetic at a Transparency of 0.5 (there might be a more exact formula to determine the transparency)
Since Compatibility isn’t being brough back and Compatibility’s ‘light bleeding’ phenomenon is regarded as “an issue” (despite it being more of a feature after these years; those who dislike it probably use a different lighting techonology to begin with; and Voxel lighting still experiences similar quirks to this bleeding), having the ability to again customise shadow ‘darkness’ is essential to restore and convert projects, as well as to provide feature development to shadows.
Which brings me to my suggestion or feature request (still unable to create one after months of pending):
Since Part transparency affects cast shadows, why can’t there be a shadow opacity slider that allows Developers to compose and control how much light is being held back and how ‘dark’ the shadows cast by this part will be, rather than it being shadows: yes/no
Considering the part’s Transparency already affects shadows, it sure can be replicated in this fashion using a ‘fake transparency’ that doesn’t appear visually to the player, but does for the lighting and shadows.
As for the Part.ShadowOpacity
value,
The lower, the more it let’s through → the softer/more subtle the shadow
The higher, the less light it let’s through → the darker the cast shadow
Whereas previously the thickness of the part (or the amount of thin parts duplicated in the same spot) decided how dark the shadow would be, it can now be done directly (and to a greater extend) using this slider.
This would eliminate the need for aforementioned extra semi-transparent parts just to get softer shadows, and allow Developers greater customisation over their game’s shadows and individually shaded areas.
Additionally, with the retro tonemapper and brightness coversion formula already being there, this will be the final element to allow full migration from Compatibility projects to Voxel.
|
*with this being posted in Art Design Support, is this something that may be beneficial?