Cover

TYPE:

PERSONAL PROJECT

ROLE:

//

TIMELINE:

2024-2025

SOFTWARE(S):

UNITY::GLSL::HLSL

Cover

Misc Systems

TYPE:

PERSONAL PROJECT

ROLE:

//

TIMELINE:

2024-2025

SOFTWARE(S):

UNITY::GLSL::HLSL

Cover

Misc Systems

Water//

Im building a water system because I liked the water physics in Sea of thieves and wanted to see if I could achieve a similar effect. This is the first draft I did in one after-noon of work.

how It Works//

I use a Render texture shader to manage the water height map using noise (Im planning to replace this with physically accurate method such as sum of sines).

I then split the calculation of the rendered mesh and the collider mesh. Both meshes sample the water texture at the same coordinates.

The visual mesh sample the texture and displace itself in its shader directly, assuring maximum fidelity and liberty to play with visual effects (not my priority at the moment).

I use a compute shader to calculate the vertices positions of the collider mesh. I need to update my mesh quite frequently to keep up with the water movement which can get very expensive very fast while using compute shaders. Fortunately, the "liquid" property of what we're trying to achieve allow me to refresh the compute shader at a much slower rate than the visuals without any impact on the belivability of the physic.

The collider's mesh is also less dense than the visual's one because I don't need as many vertices to make the physics belivable as the floating objects sinks.