Introduction
Before updating the Fluid Flux in your project please read carefully the Package Update Process. Following the update procedure ensures a smooth transition and minimizes the risk of potential issues arising during the update process.
Infinite Ocean example map
A new example map in Fluid Flux 2.1. The new map showcases the infinite ocean setup and large-scale stormy waves. This simple example does not use any domains, which makes it super efficient.
TSR Motion Vectors
I’ve improved motion vector generation in surface material, significantly improving water rendering quality. I’ve also added slope velocity, which fixes noisy smearing on the waterfalls. The new motion vectors generated from world position offset work well in Unreal Engine 5.3, so I recommend switching to the latest engine version). For the best experience, use this configuration in your project settings:
- Velocity Pass = Write During Base Pass
- Default Renderer Motion Vector Settings = Precise
Minor issues and bugs may still occur on distant water, and I will work on them in future updates.
Underwater shaders
- replaced old nosy random-based circle blur with a 5×5 Gaussian blur.
- Fixed underwater post-process masking. Now, the post-process disappears when the camera is under the ground map.
- Added underwater visibility enum in the surface actor that allows forcing visibility of underwater post process. The new InsideContainer mode allows rendering post-process through glass (an example of use with glass material will be presented in the next update).
Ground and Domains
- fixed foliage filtering, UseFoliageMeshes works properly now.
- Improved the ground map and phantom meshes debug rendering.
- Enhanced performance of ground map rendering and building the visibility list.
- Fixed rendering of distant landscapes with a lower level of detail.
- The coastline domain can now cut out fragments of the ocean on the landscape.
- Fixed brush editing when the initial state is active.
- The “Current state” in domains changed to transient fixes memory crashes.
- Domains will not update when dragging actor move, only after the drop.
- Fixed simulation streaming on a separate level.
Other improvements
- Adjustments for distant surface rendering. I added OceanWaveRange and OceanWaveFaloff parameters that give additional control.
- Fixed weird overburned emissive when the camera is very high.
- More than four buoyant pontoons have been supported since now.
- Fixed all buoyancy problems in shipping builds.
- Added the tag FluxBuoyancyOwner that allows specifying the target actor for pontoons attachment.
- IsSpartiallyLoaded = false in all crucial Fluid Flux actors fixes world partition bugs.
Enhanced input
Switching to Unreal Engine 5 unlocks the possibility of using all of its goodies, and the Enhanced Input is one of them. The whole input implementation is now stored in data assets, which can be included in the product. Fluid Flux does not require downloading any additional config files.
I’ve also cleaned up the character implementation and moved world control to the player controller, making it easier for everyone to understand.
Demo on itchio
The executable demo was also updated and published on Itchio. There are many reasons for that change:
- This platform is a bit more professional than Google Drive links and may feel safer for others.
- I can send notifications about the new version to everyone who has my demo in the collection.
- I can also push many builds (mobile, VR, PC, Linux, Mac, Vulcan) and manage them better without replacing links on the marketplace page and in my videos.
- Everyone can comment, and I can see additional details about downloads/users.
What Next
This update will be the last one supporting UE 4.26 to UE 5.2. Moving forward, my focus will shift exclusively to updating the package for Unreal Engine 5.3+. I apologize to everyone who is unable to transition to UE5.3 at this time. There are several reasons for this decision:
- TSR doesn’t look acceptable on early versions of Unreal Engine 5, which makes working with it uncomfortable. I highly recommend switching your projects to Unreal Engine 5.3.
- Creating a package with backward compatibility for older versions of UE is time-consuming and requires excessive effort. I prefer to spend this time on improving the product.
- This shift will open up many exciting possibilities for optimizations and improvements, making my work much more manageable.