Developed a system to simulate realistic weather conditions for realtime environments - built in Unity 6 URP as a Technical Art showcase demonstrating shader development, VFX systems, and procedural environment control.
The system features a procedural ocean mesh with 40,000+ vertices driven by layered sine wave animation and vertex-color foam. Two custom HLSL shaders were written from scratch: OceanWater.shader (URP Lit - fresnel edge glow, two-layer noise normals, depth fade via CameraDepthTexture, foam from vertex color) and CloudSky.shader (Unlit dome - 3-layer domain-warped FBM clouds, sky gradient, horizon fade).
Four weather states - Clear, Rain, Storm, Snow - are driven by a central C# WeatherController state machine with 3.5-second smooth transitions. Each state controls: directional light color and intensity, fog density and color, ambient light, ocean wave height and speed, ocean and cloud material properties, particle system emission rates, and camera background color.
-
SYSTEM 01
Procedural Ocean Mesh
40,000+ vertex mesh with layered sine wave animation. Vertex-color foam on wave peaks. Custom HLSL URP Lit shader with fresnel, noise normals, and depth fade.
-
SYSTEM 02
Cloud Dome Shader
3-layer domain-warped FBM noise shader on a runtime-generated hemisphere mesh. Sky gradient from zenith to horizon. Cloud density, color, and scroll speed driven by WeatherController.
-
SYSTEM 03
C# Weather State Machine
WeatherController driving all systems through Clear, Rain, Storm, and Snow states. Smooth 3.5s SmoothStep lerp transitions across lighting, fog, particles, wave height, and material properties.
-
SYSTEM 04
VFX & Particle Systems
Rain streaks with additive glow, 400 expanding ripple rings on the ocean surface, soft blue-tinted snow drift with noise module, double-strike lightning with full-screen flash overlay, animated sun disk with halo, and a cinematic camera system for portfolio presentation.