Check out our latest project ✨ OpenChapter.io: free ebooks the way its meant to be 📖

TCA_Weather_System

An asset by ks222
The page banner background of a mountain and forest
TCA_Weather_System hero image

Quick Information

0 ratings
TCA_Weather_System icon image
ks222
TCA_Weather_System

TCA Weather System v1.4.0 - Editor Integration and Performance UpdateTCA 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 / 天气音频信号系统EnglishExposes 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 SceneOr 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_materialsky.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 = $TerrainWetnesswetness.wetness_strength = 0.8wetness.dry_speed = 0.1---Fog Control / 雾控制var env = $WorldEnvironment.environmentenv.fog_height = 10.0env.fog_density = 0.15 * rain_intensity---Performance Tuning / 性能调优Setting Low Medium High UltraWave Layers 1 2 3 3Cloud Layers 1 2 3 3Volumetric Clouds Off Low Mid FullWetness Effects Off Low Full FullParticle Count 30% 60% 100% 100%Mobile Recommended: Low Quality---Changelog / 更新日志v1.4.0English- 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 mobilev1.2.0- Added dynamic terrain wetness system- Added vegetation interaction system- Improved performance controllerv1.1.0- Added performance optimization system- Added global wind system with gust and turbulence- Added weather transition and forecast systemv1.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: ks222Volumetric Clouds: Custom raymarching implementationSky Shader: Inspired by UE5 atmospheric scatteringWater Shader: Custom Gerstner wave implementation---License / 协议MIT License - Free for commercial and personal use.MIT 协议 - 免费用于商业和个人用途。

Supported Engine Version
4.6
Version String
1.4.0
License Version
MIT
Support Level
community
Modified Date
15 days ago
Git URL
Issue URL

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 协议 - 免费用于商业和个人用途。

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
TCA_Weather_System icon image
ks222
TCA_Weather_System

TCA Weather System v1.4.0 - Editor Integration and Performance UpdateTCA 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 / 天气音频信号系统EnglishExposes 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 SceneOr 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_materialsky.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 = $TerrainWetnesswetness.wetness_strength = 0.8wetness.dry_speed = 0.1---Fog Control / 雾控制var env = $WorldEnvironment.environmentenv.fog_height = 10.0env.fog_density = 0.15 * rain_intensity---Performance Tuning / 性能调优Setting Low Medium High UltraWave Layers 1 2 3 3Cloud Layers 1 2 3 3Volumetric Clouds Off Low Mid FullWetness Effects Off Low Full FullParticle Count 30% 60% 100% 100%Mobile Recommended: Low Quality---Changelog / 更新日志v1.4.0English- 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 mobilev1.2.0- Added dynamic terrain wetness system- Added vegetation interaction system- Improved performance controllerv1.1.0- Added performance optimization system- Added global wind system with gust and turbulence- Added weather transition and forecast systemv1.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: ks222Volumetric Clouds: Custom raymarching implementationSky Shader: Inspired by UE5 atmospheric scatteringWater Shader: Custom Gerstner wave implementation---License / 协议MIT License - Free for commercial and personal use.MIT 协议 - 免费用于商业和个人用途。

Supported Engine Version
4.6
Version String
1.4.0
License Version
MIT
Support Level
community
Modified Date
15 days ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers