当前位置: 首页 > news >正文

Unity插件之天气系统UniStorm

首先呢,它是一款强大的动态昼夜天气系统,能够以较快的帧速率创建AAA级动态生成的天气、照明和天空,并且具有300多个可定制的组件,允许用户创建任何可以想象的环境。

第一步:他需要两个物体Camera摄像机、Player播放器

摄像机场景自带的也可以
Player需要创建一个空对象

第二步引用UniStorm

1、

安装后、窗口里面就能找到UniStorm选项;不同的版本创建名称不一样,我的是Create UniStorm(Desktop)桌面版等
有的是Create Weather System;无所谓啦

2、

点击生成的对象UniStorm System会看到下面配置、可以根据标签或者名称配置对应的摄像机和播放器
在这里插入图片描述

3、介绍UniStorm工具栏

3.1 Player & Camera

上面描述了

其他配置配置介绍
Use Runtime Delay使用运行时延迟:控制UniStorm是否等待初始化,直到创建并找到运行时播放器。注意:初始化后,将有一个简短的生成过程,大约需要0.2秒。
Use UniStorm Menu使用UniStorm菜单:
UniStorm Menu KeyUniStorm菜单键,启用菜单后才能打开,在播放时按下配置的按键才能打开菜单

在这里插入图片描述

类型翻译类型翻译类型翻译
Clear万里无云Mostly Clear晴时多云Mostly Cloudy大部多云
Partly Cloudy局部多云;少云Cloudy阴天的Lightning Bugs萤火虫
Blowing Pollen吹花粉Blowing Leaves吹树叶Blowing Pine Needles吹松针
Blowing Snow高吹雪,飞雪Foggy有雾的Overcast阴天的
Hail下冰雹Heavy Rain大暴雨Rain
Light Rain小雨Drizzle下毛毛雨Heavy Snow大雪
SnowLight Snow小雪Thunderstorm雷雨
Thunder Snow雷阵雨Dust Storm尘暴Fire Rain火雨
Fire Storm大火
3.2 Time Management

时间管理允许你控制各种与时间有关的设置,如开始时间,时间流等。

3.2.1 Time Settings
时间设置中文解释
Hour
Minute
Time Flow
Use Real-worid Time使用实时
Day Length日长度
Night Length夜长度
3.2.2 Date setting
日期设置中文解释
Month
Day
Year
3.2.3 Time of Day Sounds Settings

一天中的时间声音设置

每天声音设置中文解释每天声音设置中文解释
Play During Precipitation降水期间播放Time of Day Sounds Min触发一天中某个时间的声音所需的最短秒数
Time of Day Sounds Max触发一天中某个时间的声音所需的最长秒数Time of Day Sounds Volume声音音量
Morning Sounds早晨的声音Day Sounds白天的声音
Evening Sounds晚上的声音Night Sounds夜的声音
3.2.4 Time of Day Music Settings

一天中的时间音乐设置 和上面类似

3.3 Weather Management

天气管理允许你调整与天气有关的各种设置,比如天气类型、云雾颜色和闪电设置等等。

3.3.1 Cloud Settings

云设置

云设置中文解释云设置中文解释
Cloud Shadows云阴影Cloud Shadow Resolution云阴影分辨率
Cloud Speed云速度Cloud Turbulence云湍流
Cloud Quality云质量Cloud Render Type云渲染类型
Cloud Type云类型Cloud Dome Tris Count X云穹三角计数X
Cloud Dome Tris Count Y云穹三角计数YForce Low Clouds强制低云
Low Cloud Height低云高Cloud Color云颜色
Stormy Cloud Color风暴云颜色Cloud Light Color云灯光颜色
Stormy Cloud Light Color风暴云灯光颜色
3.3.2 Fog Settings

雾设置

雾设置中文解释雾设置中文解释
Fog Type雾类型Skybox Fog HeightSkybox雾高度
Use Radial Distance使用径向距离Use Dithering使用抖动
Fog Mode雾模式Fog Color雾颜色
Stormy Fog Color风暴雾颜色Fog Light Color雾灯颜色
Stormy Fog Light Color风暴雾灯光颜色
3.3.3 Weather Settings

天气设置

云设置中文解释云设置中文解释
Weather Generation天气生成Weather Generation Type天气生成类型
Precipiation Odds沉淀赔率
Weather Sounds Volume天气声音音量Temperature Type温度类型
Temperature Curve温度曲线Temperature Fluctuation温度波动
Starting Weather Type起始天气类型All Weather Types所有天气类型
3.3.4 Lightning Settings

闪电设置

闪电设置中文解释闪电设置中文解释
Lightning Light Color闪电灯颜色Lightning Shadow Type雷电阴影类型
Lightning Shadow Strength雷电阴影强度Lightning Shadow Resoultion雷电阴影解析
Min Lightning Seconds最小闪电秒数Max Lightning Seconds最大闪电秒数
Min Lightning Intensity最小雷电强度Max Lightning Intensity最大雷电强度

Lightning Bolts & Strikes
避雷针和撞针

避雷针和撞针设置中文解释避雷针和撞针设置中文解释
Lightning Bolt Color闪电颜色Generation Distance生成距离
Detection Distance检测距离Lightning Strike Layers雷击层
Lightning Fire Tags闪电火灾标签Ground Strike Odds地面打击几率
Lightning Strike Effect雷击效果Lightning Strike Fire雷击火灾

Lightning Flash Patterns 闪电闪光模式
Thunder Sounds 雷声

3.4 Celestial Settings

天体设置

3.4.1 Sun Settings

太阳设置

太阳设置中文解释太阳设置中文解释
Sun Object Color太阳对象颜色Sun Shadow Type太阳阴影类型
Sun Shadow Strength太阳阴影强度Sun Shadow Resoultion太阳阴影解析
Sun Shafts Effect太阳轴效应里面的配置下面单独说
Sun Color太阳颜色Stormy Sun Color暴风雨般的太阳颜色
Use Celestial Light Update使用天光更新Sun Tilt Angle太阳倾斜角度
Sun Revolution太阳革命Sun Intensity Curve太阳强度曲线
Sun Attenuation Curve太阳衰减曲线Sun Size Curve太阳大小曲线

Sun Shafts Effect 太阳轴效应

太阳轴设置中文解释太阳轴设置中文解释
Sun Shafts Intensity太阳轴强度Sun Shafts Color太阳轴颜色
Sun Shafts Blur Size太阳轴模糊大小Sun Shafts Blur lterations太阳轴模糊过滤
3.4.2 Moon Settings

月设置

月设置中文解释月设置中文解释
Moon Shadow Type月影类型Moon Shadow Strength月影强度
Moon Shadow Resoultion月影解析Moon Shafts Effect球轴效应
Moonlight Color月光颜色Moonlight Attenuation Color月光衰减颜色
Moon Tilt Angle月亮倾斜角度Moon intensity Curve月球强度曲线
Moon Size Curve月亮大小曲线
Moon Phase Texture月相纹理Light Intensity灯光强度

Current Moon Phase 当前月相
Moon Phase Color 当前月相颜色
Moon Phase Brightness 当前月相亮度

3.4.3 Atmosphere Settings

大气设置

大气设置中文解释大气设置中文解释
Hemisphere半球Ambient Intensity环境强度
Environment Reflections环境反射Atmosphere Thickness大气厚度
Ambient Sky Color环境天空颜色Stormy Ambient Sky Color风暴环境天空颜色
Ambient Equator Color环境赤道颜色Stormy Ambient Equator Color风暴环境赤道
Ambient Ground Color环境地面颜色Stormy Ambient Ground Color暴风雨环境地面颜色
Sky Color天空颜色Sky Tint Color天空色调
Sky Tint Color天空色调Constellation Type星座类型
Starlight Color星光颜色Star Speed星星速度

3.5 Settings

设置
Platform Controller:平台控制器
Platform Type:平台类型
Profile Management:配置文件管理
UniStorm Profile:UniStorm配置文件
Import Profile:导入资料
Export Profile:导出配置文件

4、脚本开发懒得写了直接看吧

4.1 如果您想包含 UniStorm 命名空间

using UniStorm;

4.2 接口

天气
通过过渡改变天气
无论条件如何,都可以通过天气类型参数的转换速度来更改 UniStorm 的天气。

UniStorm.UniStormManager.Instance.ChangeWeatherWithTransition(UniStorm.WeatherType weatherType);

立即改变天气
无论条件如何,立即将 UniStorm 的天气更改为天气类型参数。

UniStorm.UniStormManager.Instance.ChangeWeatherInstantly(WeatherType weatherType);

随机天气
无论条件如何,从 UniStorm 的所有天气类型列表中生成随机天气类型

UniStorm.UniStormManager.Instance.RandomWeather();

当前天气类型
获取当前天气类型的名称

string CurrentWeatherTypeName = UniStorm.UniStormSystem.Instance.CurrentWeatherType.WeatherTypeName;

获取天气预报名称
获取预报天气类型的名称

string WeatherForecastName = UniStorm.UniStormManager.Instance.GetWeatherForecastName();

获取天气预报时间
获取预报天气发生变化的时间

int WeatherForecastHour = UniStorm.UniStormManager.Instance.GetWeatherForecastHour();

更改天气效果状态
根据 ActiveState 布尔值禁用或启用所有 UniStorm 粒子效果,但不影响其发射量。

UniStorm.UniStormManager.Instance.ChangeWeatherEffectsState(bool ActiveState);

更改天气声音状态
根据 ActiveState 布尔值禁用或启用所有 UniStorm 天气声音,但不影响其当前音量。

UniStorm.UniStormManager.Instance.ChangeWeatherSoundsState(bool ActiveState);

温度
获取当前 UniStorm 温度

int CurrentTemperature = UniStorm.UniStormSystem.Instance.Temperature;

时间
分钟
获取当前 UniStorm 分钟

int CurrentMinute = UniStorm.UniStormSystem.Instance.Minute;

小时
获取当前的 UniStorm 时间

int CurrentHour = UniStorm.UniStormSystem.Instance.Hour;

日期
设置 UniStorm 的日期

UniStorm.UniStormManager.Instance.SetDate(int Year, int Month, int Day);

时间
设置 UniStorm 的时间

UniStorm.UniStormManager.Instance.SetTime (int Hour, int Minute);

当前时间状态
获取当前时间状态

UniStorm.UniStormSystem.CurrentTimeOfDayEnum CurrentTimeOfDayState = UniStorm.UniStormSystem.Instance.CurrentTimeOfDay;

设置日长
设置 UniStorm 一天的长度(以分钟为单位)

UniStorm.UniStormManager.Instance.SetDayLength(int MinuteLength);

设置夜间长度
设置 UniStorm 夜晚的长度(以分钟为单位)

UniStorm.UniStormManager.Instance.SetNightLength(int MinuteLength);

当前星期几
获取当前 UniStorm 一周中的某一天,例如星期一、星期二、星期三等。

System.DayOfWeek CurrentDayOfWeek =  UniStorm.UniStormManager.Instance.GetDate().DayOfWeek;

当前日期
获取当前 UniStorm 日期

System.Date CurrentDate =  UniStorm.UniStormManager.Instance.GetDate().Date;

大小
设置音乐音量
使用 0(完全静音)到 1(全音量)之间的值设置 UniStorm 的音乐音量。

UniStorm.UniStormManager.Instance.SetMusicVolume(float Volume);

设置环境音量
使用 0(完全静音)到 1(全音量)之间的值设置 UniStorm 的环境音量。

UniStorm.UniStormManager.Instance.SetAmbienceVolume(float Volume);

设置天气音量
使用 0(完全静音)到 1(全音量)之间的值设置 UniStorm 的天气音量。

UniStorm.UniStormManager.Instance.SetWeatherVolume(float Volume);

季节
当前季节
获取当前季节

UniStorm.UniStormSystem.CurrentSeasonEnum currentSeason = UniStorm.UniStormSystem.Instance.CurrentSeason;

系统
更改相机源
更改 UniStorm 使用的玩家相机和玩家变换。如果您需要更改或更新播放器的相机,这非常有用。

UniStorm.UniStormManager.Instance.ChangeCameraSource(Transform PlayerTransform, Camera CameraSource);

活动
建议在启动时分配事件,而不是在更新函数中使用事件。

时间更改事件
为 OnHourChangeEvent 设置一个事件,该事件可以每小时调用函数。

UniStorm.UniStormSystem.Instance.OnHourChangeEvent.AddListener(() => YourFunctionEvent());

OnDayChange事件
为 OnDayChangeEvent 设置一个可以每天调用函数的事件。

UniStorm.UniStormSystem.Instance.OnDayChangeEvent.AddListener(() => YourFunctionEvent());

当月变化事件
为 OnMonthChangeEvent 设置一个可以每月调用函数的事件

UniStorm.UniStormSystem.Instance.OnMonthChangeEvent.AddListener(() => YourFunctionEvent());

OnYearChange事件
为 OnYearChangeEvent 设置一个事件,可以每年调用函数

UniStorm.UniStormSystem.Instance.OnYearChangeEvent.AddListener(() => YourFunctionEvent());

天气变化事件
为OnWeatherChangeEvent设置一个事件,可以在每次天气变化时调用函数

UniStorm.UniStormSystem.Instance.OnWeatherChangeEvent.AddListener(() => YourFunctionEvent());

其他
改变月相颜色
更改 UniStorm 的月相颜色。更新后的颜色将在中午 UniStorm 的月亮更新时应用。

UniStorm.UniStormManager.Instance.ChangeMoonPhaseColor(Color MoonPhaseColor)
http://www.lryc.cn/news/313873.html

相关文章:

  • Java使用xlsx-streamer和EasyExcel解决读取超大excel文件数据处理方法
  • 智能驾驶规划控制理论学习04-基于车辆运动学的规划方法
  • 一键查看:大厂网站都用了啥技术栈,有图有真相。
  • C语言-指针(下)
  • 尚硅谷JavaScript高级学习笔记
  • 六、长短时记忆网络语言模型(LSTM)
  • Filter过滤器+JWT令牌实现登陆验证
  • SQL学习十八~十九
  • 2024 AI 辅助研发的新纪年
  • 【牛客】HJ87 密码强度等级 CM62 井字棋
  • 【论文速读】 | DeGPT:通过大语言模型优化反编译器输出
  • 【DP】蓝桥杯第十三届-费用报销
  • 15. C++泛型与符号重载
  • 老司机都懂的!【打赏】完美运营的最新视频打赏系统
  • JavaWeb笔记 --- 二、Maven
  • 【C++】C++11---右值引用和移动语义
  • 消息队列-kafka-消息发送流程(源码跟踪) 与消息可靠性
  • 机器学习笔记 计算机视觉中的测距任务常见技术路线
  • 云计算 3月8号 (wordpress的搭建)
  • 【CSS】(浮动定位)易忘知识点汇总
  • Vitual Box虚拟机打开后,键盘鼠标失效
  • 宠物空气净化器值得入手吗?选购宠物空气净化器关注哪些方面?
  • 前端发起请求,后端模型需处理很久,怎样设置前端直接完成请求响应,后端计算完在返回结果给前端?
  • DDD领域驱动设计
  • 网络编程第1天
  • Springboot--整合Logback 日志框架(Maven)
  • 【考研数学】李林《880》vs 李永乐《660》完美使用搭配
  • Java面试之消息中间件
  • 网工学习 DHCP配置-接口模式
  • 【GO】语言特点 | Go和Java的对比