Animated Low-Poly Water Waves in Blender

This guide provides a straightforward walkthrough on creating stylized, animated low-poly water waves in Blender. By combining the powerful wave simulation of the Ocean modifier with the geometric reduction of the Decimate modifier and flat shading, you can quickly achieve a clean, performant, and retro low-poly aesthetic suitable for games and stylized renders.

Step 1: Create the Base Mesh

  1. Open Blender and delete the default cube.
  2. Press Shift + A, navigate to Mesh, and select Plane (or Grid).
  3. Scale the plane to your desired size (e.g., press S, type 5, and press Enter).

Step 2: Apply the Ocean Modifier

  1. Select the plane and go to the Modifier Properties tab (wrench icon) in the Properties panel.
  2. Click Add Modifier and select Ocean from the Deform or Physics category.
  3. Configure the ocean settings:
    • Geometry: Keep it set to Displace to alter the existing plane geometry, or switch to Generate to let the modifier create a new ocean grid.
    • Resolution: Set this to a lower value (around 6 to 10) to keep the polygon count manageable before decimation.
    • Waves: Adjust Scale (wave height), Smallest Wave, and Choppiness (sharpness of peaks) to match the desired look of your water.

Step 3: Achieve the Low-Poly Look

  1. With the ocean object selected, click Add Modifier and choose Decimate from the Generate category.
  2. Place the Decimate modifier below the Ocean modifier in the modifier stack.
  3. In the Decimate modifier settings:
    • Select the Collapse tab and lower the Ratio (e.g., between 0.05 and 0.2) to triangulate and reduce the surface into sharp, angular facets.
    • Alternatively, use the Un-Subdivide tab and set the Iterations to an even number to produce a cleaner, low-poly quad pattern.
  4. Right-click the mesh in the 3D Viewport and select Shade Flat to ensure the angular faces catch the light individually.

Step 4: Animate the Waves

  1. Select the ocean object and go back to the Ocean modifier.
  2. Move the timeline playhead to frame 1.
  3. Locate the Time property under the Ocean modifier.
  4. Animate using keyframes:
    • Set Time to 1.0, hover over the field, and press I to insert a keyframe.
    • Move the playhead to the final frame (e.g., frame 250).
    • Set Time to a higher value (e.g., 10.0 or 15.0) and press I to keyframe it.
  5. Alternatively, automate the animation using a driver:
    • Click the Time input field, type #frame * 0.05, and press Enter. The wave speed will now automatically update as the timeline plays.

Step 5: Add a Stylized Material

  1. Switch to the Material Properties tab and click New.
  2. Set the Base Color to a vibrant cyan or deep blue.
  3. Lower the Roughness to around 0.1 to make the flat facets reflective and glossy.
  4. Optionally, slightly increase the Transmission or Metallic value to enhance the reflective properties of the low-poly surface.