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.2.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.2.0 adds dynamic terrain wetness and vegetation interaction, on top of performance optimization, wind system, weather transition, forecast, and production-grade water & sky shaders. All features are zero-texture, procedurally generated, and fully optimized for mobile devices.

中文
TCA Weather System 是适用于 Godot 4.6+ 的完整环境系统,为游戏提供电影级天气效果。1.2.0 版本在原有画质优化、风场、天气过渡、天气预报、专业水/天空着色器基础上,新增动态地形湿润效果与植被交互系统。所有功能均为程序化生成、无外部纹理,并针对移动端深度优化。

 

What's New in v1.2.0

Dynamic Terrain Wetness System

- Automatic wetness texture blending based on rain intensity
- Wetness drying over time after rain stops
- Support for custom terrain/ground materials
- Mobile-friendly performance profile

Vegetation Interaction System

- Grass & foliage wind sway
- Branch and leaf animation synced with global wind
- Rain impact reaction on vegetation
- Vertex animation only (low performance cost)

Further Optimizations

- Reduced shader instruction count for mobile
- Optimized wetness rendering for Adreno 610+
- Improved vegetation culling & LOD support
- Stability fixes for low-end devices

 

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.
- Dynamic Normals: 4-layer procedural normals + wave normals blending.
- Caustics: Real-time procedural caustics with sun direction rotation.
- Foam System: Crest foam + breaking foam + shoreline foam.
- God Rays: Volumetric light shafts with dynamic density.
- Spectral Highlights: Rainbow-colored dispersion.
- Underwater Effects: Fog + distortion + caustics + god rays.
- Reflection: Screen Space Reflection + Fresnel effect.
- Rain Ripples: Procedural raindrop ripples.

中文

- Gerstner 波:3 层物理波浪,支持波峰卷曲
- 动态法线:4 层程序化法线混合
- 焦散:实时程序化焦散
- 泡沫系统:波峰、破碎、岸边泡沫
- 光柱:体积光效果
- 光谱高光:彩虹色散
- 水下效果:雾效 + 扭曲 + 焦散
- 反射:屏幕空间反射 + 菲涅尔效应
- 雨滴涟漪:水面雨滴波纹

Sky and Atmosphere System

English

- Atmospheric Scattering: Rayleigh + Mie scattering.
- Cloud System: 3-layer dynamic clouds with wind movement.
- Stars and Moon: Procedural stars with twinkling.
- Weather Integration: Rain/snow/fog affects sky color.

中文

- 大气散射:瑞利 + 米氏散射
- 云层系统:3 层动态云层,随风移动
- 星星与月亮:程序化闪烁星星
- 天气集成:雨雪雾强度影响天空色调

Environment Management System

English

- Wind Controller: Global wind with gust & turbulence.
- Weather Controller: 10+ weather presets.
- Season Controller: Four seasons transition.
- Time Controller: Day/night cycle.
- Reflection System: Automatic cubemap update.
- Performance Controller: Auto quality by FPS.
- Weather Transition: Smooth blending.
- Weather Forecast: Probability-based prediction.
- Terrain Wetness: Dynamic wet/dry system (NEW in 1.2.0)
- Vegetation Interaction: Wind-sway foliage (NEW in 1.2.0)

中文

- 风控制器:全局风场
- 天气控制器:10+ 预设
- 季节控制器:四季切换
- 时间控制器:日夜循环
- 反射系统:自动立方贴图
- 性能控制器:帧率自适应画质
- 天气过渡:平滑切换
- 天气预报:概率预测
- 地形湿润:动态干湿效果(1.2.0 新增)
- 植被交互:草木随风摆动(1.2.0 新增)

Particle Systems

English

- Rain Particles
- Snow Particles
- Rain Ripples

中文

- 雨粒子
- 雪粒子
- 雨滴涟漪

 

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 或资源库下载
2. 将  addons/TCA_Weather_System  复制到项目  addons/ 
3. 编辑器 -> 项目 -> 项目设置 -> 插件
4. 启用「TCA Weather System」
5. 重启编辑器

 

Quick Start

gdscript

# Add weather_controller.tscn to your scene

var env = $EnvironmentManager

# Weather
env.set_weather("rain")
env.set_weather("clear")

# Wind
env.set_wind(Vector2(1, 0), 0.6)

# Time
env.set_time(14.5)
env.auto_time = true

# Season
env.set_season("autumn")

# Performance
var perf = $PerformanceController
perf.apply_quality(PerformanceController.Quality.LOW)
perf.auto_adjust = true

# Wind
var wind = $WindController
wind.set_wind(Vector2(1, 0), 8.0)

# Forecast
var forecast = $WeatherForecast
forecast.auto_change = true
forecast.change_interval = 300.0

# Transition
var transition = $WeatherTransition
transition.start_transition("clear", "rain", 3.0)

# ——— NEW in v1.2.0 ———
# Terrain Wetness
var wetness = $TerrainWetness
wetness.enable_auto_wetness = true
wetness.set_terrain_material($Terrain.material_override)

# Vegetation Interaction
var vegetation = $VegetationInteraction
vegetation.add_grass_node($Grass)
vegetation.wind_sway_strength = 1.2
 

 

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
Wetness Effects Off Low Full Full
Vegetation Sway Off Simple Full Full
Particle Count 30% 60% 100% 100%
Shadow Quality Off Low Medium High
Anti-Aliasing Off FXAA FXAA MSAA 2x

Mobile Devices (Low)

- 1-layer waves
- No god rays
- No spectral highlights
- 30% particles
- No wetness/vegetation effects

Desktop (Ultra)

- Full 3-layer water
- God rays & spectral highlights
- Full wetness & vegetation
- 100% particles

 

File Structure (v1.2.0 Updated)

plaintext

TCA_Weather_System/
├── materials/
├── nodes/
├── particles/
├── precipitation/
├── presets/
├── scripts/
│ ├── EnvironmentManager.gd
│ ├── PerformanceController.gd
│ ├── WindController.gd
│ ├── CloudDriver.gd
│ ├── WeatherTransition.gd
│ ├── WeatherForecast.gd
│ ├── QualityPreset.gd
│ ├── TerrainWetness.gd # NEW 1.2.0
│ ├── VegetationInteraction.gd # NEW 1.2.0
│ └── ...
├── seasons/
├── shaders/
├── textures/
├── weather/
└── weather_controller.tscn
 

 

Changelog

Version 1.2.0

English

- Added Dynamic Terrain Wetness system
- Added Vegetation Interaction with wind sway
- Optimized shaders for low-end mobile GPUs
- Stability and bug fixes
- Updated example scene with new modules

中文

- 新增动态地形湿润系统
- 新增植被交互、草木随风摆动
- 针对低端手机 GPU 进一步优化着色器
- 修复稳定性问题
- 更新示例场景

Version 1.1.0

English

- Added Performance Controller with 4 quality levels
- Added Wind Controller & Cloud Driver
- Added Weather Transition & Forecast
- Added quality preset system
- Mobile performance optimization

中文

- 新增性能控制器与4档画质
- 新增风场与云层驱动
- 新增天气过渡与天气预报
- 新增画质预设系统
- 移动端性能优化

Version 1.0.0

English

- Initial release
- Full water & sky shader system
- 10+ weather presets
- Rain & snow particles
- Mobile-optimized, zero-texture

中文

- 初始版本
- 完整水与天空着色器
- 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.2.0
Download Commit 42e9d4f5d56c1103a75071cf5e83dadf414fd4a8 2592fb5b667d0acbd2978b592d7c0f1c8b81e35e
Download Url (Computed) https://github.com/kS222138/TCA_Weather_System/archive/42e9d4f5d56c1103a75071cf5e83dadf414fd4a8.zip https://github.com/kS222138/TCA_Weather_System/archive/2592fb5b667d0acbd2978b592d7c0f1c8b81e35e.zip
Icon Url https://raw.githubusercontent.com/kS222138/1/main/icon(1).png