After pushing too many changes at once last week, I was forced to spend a few days focusing on stability. Some of the more critical fixes already went in at the beggining of the week, while the remaining are being delivered with this update.
Hair
Hair was arguably the most problematic, affecting visuals as well as peformance:
- Fixed beard sometimes not showing
- Fixed hair-related memory leak
- Fixed hair motion vectors; used in motion blur and TSSAA
Temporal Anti-Aliasing (TSSAA)
The first iteration was showing some black sludge artifacts when dealing with particles, which we fixed right before launch. However, we ended up having other issues causing the same problem, which required a different approach:
- Fixed TSSAA related black sludge
- Fixed TSSAA related water shoreline flickering
- Fixed TSSAA on inventory player preview
- Improved TSSAA performance + reduced GPU memory usage; ~150 MB to ~25 MB at 1920x1080
Motion Blur
This one has been bothering me for a long while now and, while I was hoping this would be a quick fix, it ended up eating an entire day... sad. Unity doesn't zero motion blur vectors when swapping LODs. Had to find a workaround to ensure they weren't blowing up:
- Fixed player motion blur popping when swapping LODs
Other Changes
These are unrelated to last week's update though they have been around for a while and deserved some time:
- Downscaled some textures to save ~100 MB of GPU memory
- Eliminated a few small recurrent memory allocations
- Fixed projected decals not showing sometimes (e.g. bullet impacts)
- Added basic projected decal draw ordering for tree mini game