threejs-water

Generate realistic water surfaces in Three.js with Water and Sky shaders.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/neighbor-game-ai/DreamCore-V2-sandbox --skill threejs-water
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: threejs-water
Source: https://github.com/neighbor-game-ai/DreamCore-V2-sandbox/tree/main/.claude/skills/threejs-water
Command: npx skills add https://github.com/neighbor-game-ai/DreamCore-V2-sandbox --skill threejs-water

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Building realistic water surfaces in Three.js requires coordinating multiple shaders and lighting effects to achieve believable reflections and wave dynamics, which is complex and error-prone for typical projects.

Core Features & Use Cases

  • Water shader integration using THREE.Water for dynamic waves driven by normal maps and distortion
  • Sky reflection using the Sky shader to synchronize water reflections with atmospheric lighting
  • Environment mapping via PMREMGenerator for accurate reflections and lighting
  • Use Case: Create lakes, seas, rivers, or pools in web-based 3D scenes with believable water visuals

Quick Start

Open the sample HTML and render a realistic water scene using Three.js in a browser.

Frequently Asked Questions about threejs-water

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create realistic water in Three.js with reflections?

To create realistic water in Three.js, combine the Water shader with Sky reflection and environment maps. This approach synchronizes atmospheric lighting and dynamic wave distortions to render believable lakes, oceans, and pools in web-based 3D scenes.

What is the best way to render ocean waves in a WebGL scene?

Rendering ocean waves in a WebGL scene is best achieved using the Three.js Water shader. It drives dynamic wave visuals through normal map distortions and environment map reflections, accurately capturing sun direction and water color.

How does PMREMGenerator work with Three.js Sky and Water shaders?

PMREMGenerator works with Three.js Sky and Water shaders by pre-filtering the environment map for accurate reflective rendering. It processes the Sky shader output to synchronize water reflections with atmospheric lighting and tone mapping.

Do I need Three.js addons to configure realistic water surfaces?

Yes, you need Three.js addons to configure realistic water surfaces. Specifically, the Water, Sky, and PMREM utilities are required to set sun direction, manage water color, and enable reflective environment mapping.

Why does my Three.js water surface look flat and lack dynamic reflections?

A Three.js water surface looks flat when it lacks dynamic reflections because it is missing environment map integration. Combining Sky shader reflections with PMREMGenerator and the Water shader resolves this by adding accurate lighting and wave distortion.

Can I use Three.js water shaders for lakes and pools in web 3D experiences?

Yes, you can use Three.js water shaders for lakes and pools in web 3D experiences. The shaders support dynamic sun position and reflective rendering, enabling realistic water visuals across various aquatic environments.