Edit of asset "TCA_Weather_System" Accepted

Old/Current New/Edit
Title TCA_Weather_System
Description TCA Weather System v1.4.0 - Editor Integration and Performance Update
TCA Weather System v1.4.0 - 编辑器集成与性能更新

---

What's New in v1.4.0 / 1.4.0 新特性

Editor Plugin Integration / 编辑器插件集成

English
- Registered as an official Godot editor plugin (plugin.cfg)
- "Add Weather to Scene" menu item for one-click weather setup
- Plugin appears in Project Settings under Plugins
- Weather controller automatically instantiated into the current scene

中文
- 注册为官方 Godot 编辑器插件 (plugin.cfg)
- "Add Weather to Scene" 菜单项,一键添加天气系统
- 插件出现在项目设置的插件列表中
- 天气控制器自动实例化到当前场景

---

Weather Audio Signal System / 天气音频信号系统

English
Exposes weather events as signals so developers can connect their own audio logic.

- weather_type_changed(old_type, new_type): Emitted when weather type changes
- rain_intensity_changed(intensity): Emitted when rain intensity changes
- snow_intensity_changed(intensity): Emitted when snow intensity changes
- fog_density_changed(density): Emitted when fog density changes
- wind_gust_triggered(strength): Emitted on wind gusts

中文
将天气事件暴露为信号,方便开发者连接自己的音频逻辑。

- weather_type_changed(old_type, new_type): 天气类型变化时发射
- rain_intensity_changed(intensity): 降雨强度变化时发射
- snow_intensity_changed(intensity): 降雪强度变化时发射
- fog_density_changed(density): 雾密度变化时发射
- wind_gust_triggered(strength): 阵风触发时发射

---

Performance Optimization / 性能优化

English
- VegetationWindDriver: Replaced find_children_by_type() with material registration system
- Eliminates per-frame scene tree traversal for vegetation wind updates
- Wind updates now O(n) where n equals registered materials, not total scene nodes
- Significant performance improvement for large or complex scenes

中文
- VegetationWindDriver: 将 find_children_by_type() 替换为材质注册系统
- 消除了植被风力更新时的每帧场景树遍历
- 风力更新现在的时间复杂度为 O(n),n 为已注册材质数量,而非场景节点总数
- 对大型或复杂场景有显著的性能提升

---

New Files in v1.4.0 / 1.4.0 新增文件

TCA_Weather_System/
├── plugin.cfg # Editor plugin registration / 编辑器插件注册
├── plugin.gd # Editor plugin script / 编辑器插件脚本
├── scripts/
│ ├── EnvironmentManager.gd # Updated with weather signals / 更新天气信号
│ └── VegetationWindDriver.gd # Updated with registration system / 更新注册系统

---

Quick Start / 快速上手

One-Click Scene Setup / 一键场景设置

Use the editor menu: Project - Tools - Add Weather to Scene

Or manually:
var weather = preload("res://addons/TCA_Weather_System/weather_controller.tscn").instantiate()
add_child(weather)

---

Weather Audio Integration Example / 天气音频集成示例

func _ready():
var env = $WeatherController
env.rain_intensity_changed.connect(func(intensity):
if intensity > 0.5:
$RainAudio.play()
else:
$RainAudio.stop()
)
env.wind_gust_triggered.connect(func(strength):
$GustAudio.volume_db = linear_to_db(strength)
$GustAudio.play()
)

---

Material Registration Example / 材质注册示例

func _ready():
var wind_driver = get_node("/root/World/VegetationWindDriver")
if wind_driver:
wind_driver.register_material(tree_material)
wind_driver.register_material(grass_material)
wind_driver.register_material(flower_material)

---

Volumetric Clouds / 体积云

var sky = $EnvironmentManager.sky_material
sky.set_shader_parameter("cloud_density", 0.3)
sky.set_shader_parameter("cloud_shadow", 0.5)
sky.set_shader_parameter("wind_direction", 45.0)

---

Wetness Effect / 湿润效果

var wetness = $TerrainWetness
wetness.wetness_strength = 0.8
wetness.dry_speed = 0.1

---

Fog Control / 雾控制

var env = $WorldEnvironment.environment
env.fog_height = 10.0
env.fog_density = 0.15 * rain_intensity

---

Performance Tuning / 性能调优

Setting Low Medium High Ultra
Wave Layers 1 2 3 3
Cloud Layers 1 2 3 3
Volumetric Clouds Off Low Mid Full
Wetness Effects Off Low Full Full
Particle Count 30% 60% 100% 100%

Mobile Recommended: Low Quality

---

Changelog / 更新日志

v1.4.0

English
- Added editor plugin integration (plugin.cfg + plugin.gd)
- Added "Add Weather to Scene" menu item
- Added weather audio signal system (5 new signals)
- Fixed VegetationWindDriver per-frame scene tree traversal performance issue
- Updated EnvironmentManager with weather signal emissions

中文
- 新增编辑器插件集成 (plugin.cfg + plugin.gd)
- 新增 "Add Weather to Scene" 菜单项
- 新增天气音频信号系统 (5 个新信号)
- 修复 VegetationWindDriver 每帧遍历场景树的性能问题
- 更新 EnvironmentManager 添加天气信号发射

v1.3.0
- Added volumetric cloud system with self-shadowing
- Added enhanced fog system with weather blending
- Enhanced day/night cycle with sunrise/sunset effects
- Added rain visual improvements and ground wetness
- Added particle system optimization for mobile

v1.2.0
- Added dynamic terrain wetness system
- Added vegetation interaction system
- Improved performance controller

v1.1.0
- Added performance optimization system
- Added global wind system with gust and turbulence
- Added weather transition and forecast system

v1.0.0
- Core water rendering system (Gerstner Waves, God Rays)
- Sky and atmosphere system (Rayleigh + Mie scattering)
- Environment management (10+ weather presets, seasons, day/night)

---

Credits / 致谢

Author: ks222
Volumetric Clouds: Custom raymarching implementation
Sky Shader: Inspired by UE5 atmospheric scattering
Water Shader: Custom Gerstner wave implementation

---

License / 协议

MIT License - Free for commercial and personal use.
MIT 协议 - 免费用于商业和个人用途。
TCA Weather System - Complete Environment System

Version: 1.1.0
Godot Version: 4.6+
Author: 222
License: MIT

---

Overview

English
TCA Weather System is a complete environment system for Godot 4.6+ that brings cinematic weather effects to your game. Version 1.1.0 adds performance optimization, wind system, weather transition, and weather forecast on top of the production-grade water and sky shaders. All features are zero-texture, procedurally generated, and optimized for mobile devices.

中文
TCA Weather System 是 Godot 4.6+ 的完整环境系统,为你的游戏带来电影级天气效果。1.1.0 版本在原有生产级水体着色器基础上,新增性能优化、风场系统、天气平滑过渡和天气预报功能。所有功能零纹理、程序化生成,并针对移动设备优化。

---

What's New in v1.1.0

Performance Optimization System

Module Class Description
Performance Controller PerformanceController Auto-adjusts graphics quality based on FPS. 4 quality levels (Low/Medium/High/Ultra).
Quality Preset QualityPreset Save/load quality presets as .tres files for different devices.

Wind and Cloud System

Module Class Description
Wind Controller WindController Global wind system with gust, turbulence, and direction smoothing.
Cloud Driver CloudDriver Cloud movement driven by wind direction. Smooth cloud offset animation.

Weather Transition System

Module Class Description
Weather Transition WeatherTransition Smooth weather transitions with custom curves and callbacks.
Weather Forecast WeatherForecast Probability-based weather prediction with auto-change timer.

---

Features

Water Rendering System

English

· Gerstner Waves: 3-layer physical waves with crest curling and steepness control. Realistic ocean motion.
· Dynamic Normals: 4-layer procedural normals + wave normals blending. Zero texture dependencies.
· Caustics: Real-time procedural caustics with sun direction rotation. Projects onto underwater geometry.
· Foam System: Crest foam + breaking foam + shoreline foam with smoothstep threshold blending.
· God Rays: Volumetric light shafts with dynamic density and decay. Surface + underwater rendering.
· Spectral Highlights: Rainbow-colored dispersion. Realistic light refraction simulation.
· Underwater Effects: Fog + distortion + caustics + god rays with flow direction animation.
· Reflection: Screen Space Reflection + Fresnel effect + adjustable blur.
· Rain Ripples: Procedural raindrop ripples with density control.

中文

· Gerstner 波:3 层物理波浪,支持波峰卷曲和陡峭度控制
· 动态法线:4 层程序化法线 + 波浪法线混合
· 焦散:实时程序化焦散,随太阳方向旋转
· 泡沫系统:波峰泡沫 + 破碎泡沫 + 岸边泡沫
· 光柱:体积光柱,水面 + 水下双重渲染
· 光谱高光:彩虹色色散
· 水下效果:雾效 + 扭曲 + 焦散 + 光柱
· 反射:屏幕空间反射 + 菲涅尔效应
· 雨滴涟漪:程序化雨滴效果

Sky and Atmosphere System

English

· Atmospheric Scattering: Rayleigh + Mie scattering. Realistic sunset and sunrise colors.
· Cloud System: 3-layer dynamic clouds with wind movement and depth effect.
· Stars and Moon: Procedural stars with twinkling, moon with glow and spherical mapping.
· Weather Integration: Rain/snow/fog intensity affects sky color and cloud cover.

中文

· 大气散射:瑞利散射 + 米氏散射
· 云层系统:3 层动态云层,支持风向移动
· 星星与月亮:程序化星星带闪烁效果
· 天气集成:雨/雪/雾强度影响天空颜色

Environment Management System

English

· Wind Controller: Global wind system with gust, turbulence, and direction control.
· Weather Controller: Rain/snow/fog intensity control with 10+ weather presets.
· Season Controller: Summer/autumn/winter/spring transition with color tint.
· Time Controller: Day/night cycle with sun angle, color, and intensity.
· Reflection System: Automatic cubemap update for realistic water reflections.
· Performance Controller: Auto-adjust graphics quality based on FPS (New in v1.1.0)
· Weather Transition: Smooth weather transitions with custom curves (New in v1.1.0)
· Weather Forecast: Probability-based weather prediction (New in v1.1.0)

中文

· 风控制器:全局风系统,支持阵风、湍流
· 天气控制器:10+ 种天气预设
· 季节控制器:四季过渡
· 时间控制器:日夜循环
· 反射系统:自动更新 Cubemap
· 性能控制器:根据帧率自动调节画质
· 天气过渡:平滑天气切换
· 天气预报:概率天气预测

Particle Systems

English

· Rain Particles: Dynamic rain with adjustable intensity and spread.
· Snow Particles: Dynamic snow with fluttering effect.
· Rain Ripples: Water surface ripples triggered by raindrops.

中文

· 雨粒子:动态雨滴
· 雪粒子:动态雪花
· 雨滴涟漪:雨滴触发的水面涟漪

---

Weather Presets

Weather Rain Snow Fog Cloud Description
clear 0 0 0 0.1 Sunny, clear sky
light_rain 0.3 0 0.2 0.6 Light drizzle
rain 0.7 0 0.3 0.8 Moderate rain
heavy_rain 1.0 0 0.5 0.95 Heavy downpour
light_snow 0 0.4 0.2 0.7 Light snowfall
snow 0 0.7 0.4 0.85 Moderate snowfall
heavy_snow 0 1.0 0.6 0.95 Heavy blizzard
fog 0 0 0.9 0.5 Dense fog
storm 0.9 0 0.4 0.98 Thunderstorm
clouded 0 0 0.2 0.8 Overcast

---

Installation

English

1. Download from GitHub Releases or Godot Asset Library
2. Copy the addons/TCA_Weather_System folder to your project's addons/ directory
3. Open Godot Editor -> Project -> Project Settings -> Plugins
4. Enable "TCA Weather System"
5. Restart the editor

中文

1. 从 GitHub Releases 或 Godot Asset Library 下载
2. 将 addons/TCA_Weather_System 文件夹复制到项目的 addons/ 目录
3. 打开 Godot 编辑器 -> 项目 -> 项目设置 -> 插件
4. 启用 "TCA Weather System"
5. 重启编辑器

---

Quick Start

```gdscript
# Add weather system to your scene
# Simply drag weather_controller.tscn into your scene

# Get environment manager reference
var env = $EnvironmentManager

# Control weather
env.set_weather("rain")
env.set_weather("snow")
env.set_weather("clear")

# Control wind
env.set_wind(Vector2(1, 0), 0.6)

# Control time
env.set_time(14.5)
env.auto_time = true
env.time_speed = 0.1

# Control season
env.set_season("autumn")
env.season_progress = 0.5

# Performance Control (New in v1.1.0)
var perf = $PerformanceController
perf.apply_quality(PerformanceController.Quality.LOW)
perf.auto_adjust = true

# Wind Control (New in v1.1.0)
var wind = $WindController
wind.set_wind(Vector2(1, 0), 8.0)
wind.add_affected_node($CloudDriver)

# Weather Forecast (New in v1.1.0)
var forecast = $WeatherForecast
forecast.auto_change = true
forecast.change_interval = 300.0
forecast.weather_changed.connect(func(from, to):
print("Weather changing from ", from, " to ", to)
)

# Weather Transition (New in v1.1.0)
var transition = $WeatherTransition
transition.start_transition("clear", "rain", 3.0)

# Get current state
print(env.get_weather_description())
print(env.get_wind_description())
print(env.get_current_time_string())

# Listen to events
func _ready():
env.weather_changed.connect(_on_weather_changed)
env.time_changed.connect(_on_time_changed)

func _on_weather_changed(type, rain, snow, fog):
print("Weather changed to: ", type)

func _on_time_changed(time, hour, minute):
print("Time: ", hour, ":", minute)
```

---

Performance Tuning

Quality Levels

Setting Low Medium High Ultra
Wave Layers 1 2 3 3
Cloud Layers 1 2 3 3
God Rays Off On On On
Spectral Highlights Off Off On On
Particle Count 30% 60% 100% 100%
Shadow Quality Off Low Medium High
Anti-Aliasing Off FXAA FXAA MSAA 2x

Mobile Devices (Low Quality)

· 1-layer waves
· No god rays
· No spectral highlights
· 30% particle count

Desktop (Ultra Quality)

· 3-layer waves
· Full god rays
· Spectral highlights
· 100% particle count

---

File Structure

```
TCA_Weather_System/
├── materials/
│ ├── water_material.tres
│ └── water_material.tscn
├── nodes/
│ └── world_environment.tscn
├── particles/
│ ├── rain_particles.tscn
│ └── snow_particles.tscn
├── precipitation/
│ ├── heavy_rain.tres
│ ├── heavy_snow.tres
│ ├── rain.tres
│ └── snow.tres
├── presets/ # New in v1.1.0
│ ├── low_quality.tres
│ ├── medium_quality.tres
│ └── high_quality.tres
├── scripts/
│ ├── EnvironmentManager.gd
│ ├── PerformanceController.gd # New
│ ├── WindController.gd # New
│ ├── CloudDriver.gd # New
│ ├── WeatherTransition.gd # New
│ ├── WeatherForecast.gd # New
│ ├── QualityPreset.gd # New
│ ├── PrecipitationResource.gd
│ ├── SeasonResource.gd
│ ├── SkyColourResource.gd
│ ├── WeatherController.gd
│ ├── WeatherOccurrenceResource.gd
│ └── WeatherResource.gd
├── seasons/
│ ├── summer.tres
│ └── winter.tres
├── shaders/
│ ├── tca_water_shader.gdshader
│ └── weather_system_sky.gdshader
├── textures/
├── weather/
│ ├── clouded.tres
│ ├── fine.tres
│ ├── heavy_rain.tres
│ ├── heavy_snow.tres
│ ├── rain.tres
│ └── snow.tres
└── weather_controller.tscn
```

---

Changelog

Version 1.1.0

English

· Added Performance Controller with 4 quality levels and auto-adjust
· Added Wind Controller with gust, turbulence, and smoothing
· Added Cloud Driver for wind-driven cloud movement
· Added Weather Transition with custom curves and callbacks
· Added Weather Forecast with probability-based prediction
· Added Quality Preset resource system
· Added low/medium/high quality preset files
· Updated main scene with all new modules
· Performance optimized for mobile devices

中文

· 新增性能控制器,支持 4 级画质和自动调节
· 新增风场控制器,支持阵风、湍流和平滑过渡
· 新增云层驱动器,云层随风移动
· 新增天气过渡系统,支持自定义曲线
· 新增天气预报系统,基于概率预测天气
· 新增画质预设资源系统
· 新增低/中/高画质预设文件
· 更新主场景,集成所有新模块
· 移动端性能优化

Version 1.0.0

English

· Initial release
· 3-layer Gerstner wave system
· 4-layer procedural normal generation
· Real-time caustics with sun direction rotation
· Foam system with crest, breaking, and shoreline foam
· God rays with surface and underwater rendering
· Spectral highlights for rainbow dispersion
· Underwater effects
· Sky shader with atmospheric scattering and 3-layer clouds
· Environment manager with wind, weather, season, and time control
· 10+ weather presets
· Rain and snow particle systems
· Mobile-optimized, zero external textures

中文

· 首次发布
· 3 层 Gerstner 波系统
· 4 层程序化法线生成
· 实时焦散
· 泡沫系统
· 光柱效果
· 光谱高光
· 水下效果
· 天空着色器
· 环境管理器
· 10+ 种天气预设
· 雨和雪粒子系统
· 移动端优化,零外部纹理

---

License

MIT License - Free for personal and commercial use.
Category Shaders
License MIT
Repository Provider GitHub
Repository Url https://github.com/kS222138/TCA_Weather_System/
Issues Url https://github.com/kS222138/TCA_Weather_System/issues
Godot version Godot 4.6
Version String 1.4.0 1.1.0
Download Commit 42e9d4f5d56c1103a75071cf5e83dadf414fd4a8 589ffa6cea76b5798bdfaff26821f6100849ad1e
Download Url (Computed) https://github.com/kS222138/TCA_Weather_System/archive/42e9d4f5d56c1103a75071cf5e83dadf414fd4a8.zip https://github.com/kS222138/TCA_Weather_System/archive/589ffa6cea76b5798bdfaff26821f6100849ad1e.zip
Icon Url https://raw.githubusercontent.com/kS222138/1/main/icon(1).png