Unity插件之天气系统UniStorm

news2024/11/15 12:51:09

首先呢,它是一款强大的动态昼夜天气系统,能够以较快的帧速率创建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.coloradmin.cn/o/1500182.html

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

相关文章

用于回归的概率模型

机器学习中的回归方法: 机器学习中的概率模型 机器学习|总结了11种非线性回归模型(理论代码可视化) 高斯过程回归: Gaussian Processes for Machine Learning GPML——Datasets and Code Gaussian Processes 学…

淘宝商品详情数据丨商品搬家丨商品采集丨商城建站

淘宝商品详情数据、商品搬家、商品采集以及商城建站都是电子商务领域的重要环节,它们共同构成了一个完整的在线销售体系。下面我将分别对这几个概念进行详细的解释。 请求示例,API接口接入Anzexi58 一、淘宝商品详情数据 淘宝商品详情数据指的是在淘宝…

react native封装ScrollView,实现(滑到底部)和(滑到顶部+手指继续向下滑)时拉取新数据

里面的tw是在react native中使用tailwind的第三方库 只求读者把样式看个大概,主要还是功能的实现 ScrollView的官方文档如下 https://reactnative.cn/docs/scrollview import tw from twrnc import { View, Text, ScrollView, RefreshControl } from react-native …

LED显示控制芯片SM5166PF:可消除LED显示屏拖影

在数字化时代的浪潮下,LED显示屏作为信息传播的重要媒介,其显示质量和效果日益受到人们的关注。尤其在商业广告、体育赛事、公共信息发布等领域,高清、流畅、稳定的显示效果显得尤为重要。然而,传统的LED显示屏在刷新率和显示效果…

金智维售前总监屈文浩,将出席“ISIG-RPA超级自动化产业发展峰会”

3月16日,第四届「ISIG中国产业智能大会」将在上海中庚聚龙酒店拉开序幕。本届大会由苏州市金融科技协会指导,企智未来科技(RPA中国、AIGC开放社区、LowCode低码时代)主办。大会旨在聚合每一位产业成员的力量,深入探索R…

在Linux以命令行方式(静默方式/非图形化方式)安装MATLAB(正版)

1.根据教程,下载windows版本matlab,打开图形化界面,选择linux版本的只下载不安装 2.获取安装文件夹 3.获取许可证 4.安装 (1)跳过引用文章的2.2章节 (2)本文的安装文件夹代替引用文章的解压IS…

使用Julia语言及R语言进行格拉布斯检验

在日常的计量检测工作中经常会处理各种数据,在处理数据之前会提前使用格拉布斯准则查看数据中是否存在异常值,如果存在异常值的话应该重新进行计量检测,没有异常值则对数据进行下一步操作。判断异常值常用的格拉布斯方法基于数据来自正态分布…

【leetcode热题】环形链表 II

难度: 中等通过率: 30.1%题目链接:. - 力扣(LeetCode) 题目描述 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数…

SqlServer 默认值约束示例

创建表,创建时指定 money 字段默认值为0.00; create table t_24 ( account varchar(19) not null, id_card char(18) not null, name varchar(20) not null, money decimal(16,2) default 0.00 not null ); 录入2条记录,money字…

Windows Docker 部署 MySQL

部署 MySQL 打开 Docker Desktop,切换到 Linux 容器。然后在 PowerShell 执行下面命令,即可启动一个 MySQL 服务。这里安装的是 8.3.0 Tag版本,如果需要安装其他或者最新版本,可以到 Docker Hub 进行查找。 docker run -itd --n…

在微信小程序里的ecahrts图表,tooltip中内容有黑色阴影的问题

tooltip并没有设置文字阴影相关配置,但是实际真机测试出来有黑色阴影(本地编译器没有阴影), 经过研究发现,需要在tooltip中加上以下配置就OK了 tooltip: {// .....textStyle:{textShadowColor:transparent,//文字块背景…

go|一道算法题引发的思考|slice底层剖析

文章目录 引发思考的一道算法题slicemake初始化切片扩容原理切片截取原理切片复制原理算法题的正解 补充string和[]byte互转string 与[]byte相互转换 引发思考的一道算法题 链接:组合 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 大致…

处理error: remote origin already exists.及其Gitee文件上传保姆级教程

解决error: remote origin already exists.: 删除远程 Git 仓库 git remote rm origin 再添加远程 Git 仓库 git remote add origin (HTTPS) 比如这样: 然后再push过去就ok了 好多人可能还是不熟悉怎么将文件上传 Gitee:我…

Unity零基础到进阶 | Unity中 屏蔽指定UI点击事件 的多种方法整理

Unity零基础到进阶 | Unity中 屏蔽指定UI点击事件 的多种方法整理一、Unity中 屏蔽透明区域的点击事件1.1 使用Image组件自带的参数检测1.2 根据点击的坐标计算该点的像素值是否满足阈值 二、Unity中屏蔽 不规则图片按钮点击的事件 总结 🎬 博客主页:htt…

LInux-多线程基础概念

文章目录 前言预备页表详解缺页中断页表的映射 一、多线程是什么?轻量级进程 二、Pthread库pthread_create 前言 从本章的多线程开始,我们开始进入Linux系统的尾声,所以,在学习多线程的过程中,我们也会逐步对之前的内…

Spring基础——Spring配置Mybatis连接数据库

目录 Spring配置MyBatis流程1. 添加Mybatis依赖2. 配置MySQL数据库连接池2.1 首先创建jdbc配置文件2.2 配置数据库DataSource 3. 配置MyBatis3.1 配置SqlSessionFactoryBean3.2 配置mybatis Mapper Bean 4. 创建MyBatis Mapper接口6. 测试数据输出 数据库类型:MySQL…

centos7虚拟机启动并配置java环境(vmware启动+安装jdk+安装maven)

VMware下载 推荐很详细的一个教程Centos7.7安装及配置教程 - 掘金 VMware下载链接:https://pan.baidu.com/s/1jnUBawBPOtAD0gicZj-qTA?pwdm959 提取码:m959 centos7镜像(文件较大,建议使用迅雷,更好支持暂停后继续下…

(MATLAB)应用实例13-时域信号的频谱分析

采用傅里叶变换来计算存在噪声的适于信号频谱。 假设数据采样频率为1000Hz,一个信号包含两个正弦波,频率50Hz、120Hz,振幅0.7、1,噪声为零平均值的随机噪声,采用FFT方法分析其频谱。 clearFs 1000; …

【C++】设计模式:观察者、策略、模板

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍设计模式:观察者、策略、模板。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&#xf…

最长上升子序列c++

题目 输入样例: 7 3 1 2 1 8 5 6输出样例: 4 思路 题目求最大长度,考虑使用DP来做。我们从状态表示和状态计算两方面进行分析。 假设用a数组来存序列,f数组来存以f[i]结尾的最长上升子序列。 1. 状态表示: 这一步…