首先呢,它是一款强大的动态昼夜天气系统,能够以较快的帧速率创建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 Key | UniStorm菜单键,启用菜单后才能打开,在播放时按下配置的按键才能打开菜单 |
类型 | 翻译 | 类型 | 翻译 | 类型 | 翻译 |
---|---|---|---|---|---|
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 | 大雪 |
Snow | 雪 | Light 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 | 云穹三角计数Y | Force 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 Height | Skybox雾高度 |
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)