Check out updates for this project here!: https://forums.unrealengine.com/showthread.php?50022-Perfect-Tile-System-Do-you-guys-want-this-for-the-Marketplace
One of my biggest setbacks was my incessant need to keep adding features to this thing. Originally it was just a basic multiplication and grout system to handle tiles and some tiling features, but it ballooned into a glass shader, a frosted glass shader that mimics interscattering, a dual-tile algorithm with a controllable midpoint value, texture maps (and dual texture maps), parallax displacement, falloff blending, etc, and it's just gotten crazy. So much so that certain new features required a complete rewrite of the shader's blending setup... multiple times. Upon release, it might as well be called the Perfect Tile System 3.0: nearly every single piece of code would have been written 3 times. And it's still not completely "perfect."
Initially, I used spider web branches to control how toggling different options affect the system. This makes sense if there's only a couple features to worry about. But I revamped all the toggling to feed into each other down a line. The end result is much cleaner code that allows me to add features and make changes to the system rather easily, but getting to that type of solution can be difficult to figure out: the order must be tested under as many circumstances as possible to avoid bugs or rendering errors.
For anyone following, I appreciate your patience with me and this project. I will strive to create the best product I possibly can. Here is my current to-do list:
Finish cleaning up the shaderTextures and Glass features combined are currently untested: may be unstable (medium priority)"Lerp" functions should be replaced with "If" functions/parameters and be tested for optimum performance (medium priority)Debug scattering map checkerboard pattern blows out colors and does not cancel out wrong parameters (low priority)Dual tile implementation is very broad, but not universal, and more can be done with it (low priority)Clear Coat implementation is very basic at the moment (low priority)Roughness implementation is good, but more could be done with it (low priority)Specularity currently has no implementation. This saves on instructions, but more can be done (low priority)AO implementation is OK for its purpose, but it's pretty basic at the moment (low priority)Asset ManagementRemake all instances for compatibility with final shaderDelete unused assetsSize managementFix redirectorsPackage project for development- Ensure guide is updated to reflect recent changes
Dual tile algorithm midpointParallax optionsShader organizationPackage project for developmentQuick Test open- Demonstration/Advertisement Video
MusicNarrationMatinee SetupLive DemoMatinee RecordingFinal Editing- Screenshots
- Submit!
No comments:
Post a Comment