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.mzph.cn/news/730065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙开发-UI-动画-页面内动画

鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 鸿蒙开发-UI-页面路由 鸿蒙开发-UI-组件导航-Navigation 鸿蒙开发-UI-组件导航-Tabs 鸿蒙开发-UI-图形-图片 鸿蒙开发-UI-图形-绘制几何图形 鸿蒙开发-UI-图形-绘制自定义图形 文章目录 前言 一、概述 二、页面内…

新一代信息技术下,AI如何重塑售前工作

近期,“新质生产力”一词犹如一颗璀璨的新星,频繁地在各大媒体平台上抢占热点位置,引发了大家的关注。关于“新质生产力”官方的解释是科技创新驱动经济高质量发展的必然产物,它代表着新一轮科技革命和产业变革的重要方向。 在今…

finishConnect(..) failed: Connection refused,服务本地正常服务器网关报400,nacos服务实例不能下线

①application里固定ip # Spring spring:cloud:inetutils:preferred-networks: 127.0.0.1 ②找到nacos服务下的protocol,删除下面所有,/nacos-server/data/protocol,删了不会有问题,而且这东西越用越大,删了好爽 ③重…

const XX=void0

在阅读源码中,经常会看到 const XXvoid0这里的 void 0其实就是 undefined,void 运算符总会返回一个 undefined 的结果。 那么,为什么要用 void 0 代替 undefined 呢? 总结: undefined 是一个「全局对象(…

iOS——【自动引用计数】ARC规则及实现

1.3.3所有权修饰符 所有权修饰符一共有四种: __strong 修饰符__weak 修饰符__undafe_unretained 修饰符__autoreleasing 修饰符 __strong修饰符 _strong修饰符表示对对象的强引用,持有强引用的变量在超出其作用域的时候会被废弃,随着强引…

数组连续和 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 给定一个含有N个正整数的数组,求出有多少连续区间(包括单个正整数),它们的和大于等于 x。 输入描述 第一行为两个…

Xcode升级到Xcode15.1或15.2之后,无法新建Category和Extension文件,如何解决?

项目场景: Xcode升级到15.1或15.2之后,无法新建Category和Extension文件,并且Xcode不报任何错误 问题描述 Xcode升级到15.1或15.2之后,无法新建Category和Extension文件,并且Xcode不报任何错误。 具体的操作步骤如下…

redis-集群 原生部署和工具自动部署

什么redis集群? redis集群是一个提供在多个redis节点之间共享数据的程序集。它并不像redis主从复制模式那样仅提供一个master节点来提供写服务,而是会提供多个master节点来提供写服务,每个master节点中存储的数据都不一样,这些数据…

【保姆级爬虫】微博关键词搜索并获取博文和评论内容(python+selenium+chorme)

微博爬虫记录 写这个主要是为了防止自己忘记以及之后的组内工作交接,至于代码美不美观,写的好不好,统统不考虑,我只能说,能跑就不错了,上学压根没学过python好吧,基本上是crtlc&ctrlv丝滑小…

开启AI绘画新纪元:让创意在指尖绽放

文章目录 一、了解AI绘画的基本原理二、选择合适的AI绘画工具三、掌握AI绘画的基本技巧四、借鉴与创新:从模仿到创作五、参与社区交流,共同成长《AI绘画教程:Midjourney使用方法与技巧从入门到精通》亮点推荐内容简介作者简介目录 在科技日新…

Linux centos 常用的网络负载和网速查看工具和命令

在 CentOS 上查看网络速度和网络负载,可以使用多种工具,以下是一些常用的命令行工具: iftop - 用于实时监视网络带宽使用情况。 安装命令: sudo yum install iftop 使用命令: sudo iftop nload - 一个简单的控制…

Doris-数据分区

数据分区:即将大表划分为小表,数据分区主要有两个级别:Partition和Bucket(Tablet)。 Partition:逻辑分区,按照一定规则将表按照行进行划分,每个部分就是一个Partition。 Bucket&…

flink重温笔记(十):Flink 高级 API 开发——flink 四大基石之 State(涉及Checkpoint)

Flink学习笔记 前言:今天是学习 flink 的第 10 天啦!学习了 flink 四大基石之 State (状态),主要是解决大数据领域增量计算的效果,能够保存已经计算过的结果数据状态!重点学习了 state 的类型划…

相对于 Linux,Windows Server 存在的意义是什么?

相对于 Linux,Windows Server 存在的意义是什么? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Linux 的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给…

新版AndroidStudio的Gradle窗口显示task list not built 问题解决

在使用新版AndroidStudio时,会出现,Task List not built 的问题。如果你记得task的名字,当然可以 直接通过命令 gradle taskname 或者 ./gradlew taskName直接执行即可,但是若是记不住,还是把这个任务构建处理比较好用…

借助工具优化开发流程,提升开发体验

背景 最近在做一个demo,只有一个html页面,需要开启一个https web server,以此来实现在浏览器中访问。 改造前 改造前,每次修改文件保存后都要刷新一下浏览器。 如果只是短时间,每次修改后手动刷新浏览器也还行。主要…

C++:Stack和Queue的模拟实现

创作不易,感谢三连! 一、容器适配器 适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另外一个接口。 就如同是电源适配器将不适用的交流电…

day04-Maven

一、初识 Maven Maven 是 Apache 旗下的一个开源项目,是一款用于管理和构建 java 项目的工具。 官网:https://maven.apache.org/ Maven的作用 依赖管理(方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题)统一项目…

想开发苹果群控软件?先了解这些代码!

随着智能设备的普及,群控软件的需求日益增加,特别是针对苹果设备的群控软件,因其出色的性能和广泛的用户基础,受到了开发者们的青睐。 然而,开发一款功能强大的苹果群控软件并非易事,需要深入了解苹果的开…

获取C语言语句对应的汇编码和机器指令

借助IDE的调试功能 以CodeBlocks为例,先设置断点,然后点击红色三角形调试。 然后选择Debug➡ Debugging Windows➡Disassembly 就可以看到了 使用命令行 在工程文件中,一般可以找到一个.o文件。如果没有,可以先在program.c的目录下…