Particle Simulation

This section is a large work in progress currently, as not much has been developed in these categories, as of April 2026.

                There currently is only one simulation and a few particles systems being worked on, which is wind and some simple ambience particles. There are two steps to wind systems, the actual wind generation, and the code telling the mesh how to move. I am thinking of a bunch of different methods of wind systems but focusing on how the mesh should move there are a few options.

The first option is more of a personal idea I have not seen anywhere, probably for good reason. Each mesh has four vertex color channels which are currently in every mesh but are not being used. Every mesh has them whether they are being used or not, so using them only adds the extra cost of the coding pulling the data, not actually having the correct data. The current thought process is by setting up the vertex colors inside of Blender before importing the meshes into Unreal Engine, I can use them as faked physics simulation, without adding much cost. The main reasons to use a system like this are physical accuracy and customization. The only downside is attempting to figure out how to have the hierarchy data for the mesh as well. The hierarchy data contains how each layer or builds on itself, like trunk to large branches to smaller branches to leaves. Each layer must rotate with the other layers continuously.

This makes pivot painter a very good option for telling the mesh how it should move. It creates 2 texture samples that hold the axis and hierarchy information for the mesh. This automatically calculates the required information very quickly. Combining pivot painter with vertex colors might be the best solution.

Another wind solution is using a small fluid simulation around the player which calculates the wind generation for plants near the player.

As for particles, two are currently being developed, plant-based particles, and nighttime ambience. Each particle system is quite simple, just consists of some floating sprites moving in simple fire amber like motion, as seen below. The plant-based particle will spawn when the player gets close enough to the certain plant type that will spawn them in. This is for performance reasons as it’ll just be a immersion increase. This system is also being implemented now as later getting close to some plants might have some player interaction like spawning particles, playing an animation and so on. Having this system already down will be a big help in the future.

The other particle system being developed is nighttime ambience, when the game reaches night I wanted glowing particles to float steadily upwards from the grass. This was very easy to implement the basic code for it as shown below. The most difficult part is I want it to float up from the surface of all the landscape meshes in the game, so a custom sketch pad script was required to filter out the locations I wanted the particles to spawn. It is still a work in progress as spawning particles on the surface are not fully implemented yet.