
Description
This project focuses on implementing a realistic water simulation in the Unity Engine using Fast Fourier Transform (FFT) algorithms. The goal is to accurately represent the behaviour of waves in water surfaces, allowing them to respond realistically to changes in wind and other environmental factors.
The two main methods researched were Gerstner Waves and FFT Algorithm Ocean. Gerstner Waves describe a progressive wave of permanent form on the surface of an incompressible fluid, while FFT algorithms use the discrete Fourier transform to generate 2D height maps that represent the ocean’s surface. The FFT method was chosen for its more realistic appearance, randomness, and ability to simulate wind and foam.
The study utilizes compute shaders on the GPU for FFT algorithm processing. FFT algorithms are used to simulate ocean waves by generating height maps based on the Phillips Spectrum and applying the Cooley-Tukey FFT algorithm. Gaussian Noise generation and the addition of choppy waves to create irregularities in the ocean surface was also included in the study.
To view the full report, please click on the following link: