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

【Unity3D插件】Unity3D插件之天气系统/日夜系统插件-UniStorm

推荐阅读

  • CSDN主页
  • GitHub开源地址
  • Unity3D插件分享
  • QQ群:398291828
  • 小红书
  • 小破站

一、前言

1.01365=37.8,1.02365=1377.4,每天进步一点点,一年后就差了几十倍的差距,加油吧少年。

UniStorm是一款强大的动态昼夜天气系统,能够以较快的帧速率创建AAA级动态生成的天气、照明和天空,并且具有300多个可定制的组件,允许用户创建任何可以想象的环境。
在这里插入图片描述
并且UniStorm还兼容通用渲染管线(URP)高清渲染管线(HDRP),URP开发者狂喜。

UniStorm 4.0 带来一个完全重新设计的云系统,能够创建 AAA 的程序化、自我投影、PBR、体积云,其帧率优异且仅使用一个绘制调用!UniStorm 的云使用的是最新的渲染以及性能技术,例如时间性重投和 LODUniStorm 的云包含 4 个质量设置以及一个体积和 2D 选项,并都可以在运行时或在 UniStorm 编辑器中进行更改。这使其能够支持众多设备和电脑。简单易用的 API 让添加游戏内的质量控制变得简单无阻。

模块化天气能让用户创建自定义天气类型。沙尘暴、极光、冰雹风暴、雷暴等都可以实现。对于多少天气类型 UniStorm 是没有任何限制的,而且最好的是它能让用户对每个天气类型自定义特效、设置和音效。UniStorm 带来 31 种天气类型!

其中包括:极光、吹起的叶子、吹起的雪、吹起的草、萤火虫、晴朗、大致晴朗、部分多云、大致多云、多云、阴天、多雾、细雨、小雨、雨、大雨、冰雹、雷暴、小雪、雪、大雪、雷雪、火雨、尘暴以及更多!

UniStorm 的体积云的特色是时间性重投和 LOD,都具有 4 个质量设置(低、中、高和超级),经过估算其效率远比以前的设置更高。这使 UniStorm 能够在几乎所有计算机上顺畅运行。多亏了 UniStorm 着色器,摄像头远裁平面距离没有最大限制,因此你可以使用任何距离。

UniStorm 的多合一功能也支持移动和 VR(目前仅是多通道)。里面甚至还有一个易用的选项可以自动将所有优化设置应用于指定平台,同时保持用户的自定义设置!

UniStorm 允许用户创建无限数目的天气类型。每次天气变换时, UniStorm 都会根据全局过渡速度进行无缝的转换。

每种天气类型都可以利用其云层、云风格、云高度、粒子特效、阳光强度、月光强度、云阴影强度、音效、风量以及其他各种设置进行自定义,从而实现了真正独特且高自定义性的天气。

UniStorm 的程序化闪电系统允许对象能被雷击中。用户可以规定闪电击中地面和物体的概率。当雷击中时,用户可以自定义其产生的特效。利用适合的标签甚至是火特效都可以做到。

白天/夜晚循环和颜色控制。

UniStorm 具有内置时间和日期系统,可帮助你追踪玩家的游戏时间。UniStorm 的日历是精确的,甚至可以使用当前的时间和日期。

UniStorm 的内置事件可以在游戏内的每小时、每天、每月、每年甚至在天气转变过程中被调用,让用户轻松创建游戏功能。

UniStorm 允许你调整每天不同时候的环境和天空的所有颜色,例如日、月颜色、环境光色、阴影和云阴影强度、雾色、天空颜色、环境反射强度等等!每种颜色都具有自己的个体颜色选项来供降水天气类型使用。

OK,可以看出来UniStorm插件确实是非常强大,那么接下来,我们就来看一下效果如何吧。

二、效果图及资源包下载

效果图

在这里插入图片描述
下雪的效果

在这里插入图片描述
雷击着火的效果

插件下载

CSDN地址:https://download.csdn.net/download/q764424567/90818855

官方资源地址:https://assetstore.unity.com/packages/tools/particles-effects/unistorm-volumetric-clouds-sky-modular-weather-and-cloud-shadows-2714

三、快速开始

导入插件

首先,我们将下载的插件导入:
在这里插入图片描述
插件的主体在UniStorm Weather System这个文件夹,其他都是一些插件带的地形和Post插件。

打开示例场景

找到Project视图的Assets→UniStorm Weather System→Scenes文件夹:
在这里插入图片描述
这里面都是示例场景,让我们打开Change Weather Event Example场景,这个是角色站到石板上自动切换到体积云的一个Demo:
在这里插入图片描述

切换天气

点击键盘的Exc键,可以查看到左上角有进度条和改变天气的按钮:
在这里插入图片描述
可以拖动进度条,查看日夜变化的效果。
点击Change Weather按钮,切换天气。

好的,效果查看的差不多了,接下来就进入到插件的详解了。

四、使用插件

4-1、插件面板介绍

(1)Player&Camera

介绍:

该设置允许你选择Unistorm的玩家和播放器对象,并且选项会根据你的选择有所调整,该天气系统必须选择PlayerCamera对象,它将根据PlayerCamera对象的位置确定生成天气的范围

PlayerCamera为必要物体,如果该插件无法找到它们,将会在运行的时候报错,也无法看到天气效果。

参数:
在这里插入图片描述

  • Get Player at Runtime:是否可以在运行期间获得你的Player,可以通过名字或则标签。
  • Get Player Method:获取Player的模式,默认是通过Tag获取。
  • Player Tag:Player 的Tag。
  • Camera Tag:Camera的Tag。
  • Use Runtime Delay:是否会一直等待进行初始化,直到Player被创建并找到。
  • Use UniStorm Menu:是否使用UniStorm菜单,该菜单可在运行中通过ESC键触发,功能是选择不同的天气类型。
    • Use UniStorm Key:使用哪个快捷键。

(2)Time
介绍:
时间管理允许你控制各种与时间有关的设置,如开始时间,时间流等。
参数:
在这里插入图片描述

  • Time Settings:一天的时间设置,小时、分钟、时间流逝、是否使用本地时间、一天的时长等。
  • Date Settings:日期设置,设置为某年某月某日。
  • Time of Day Sounds Settings:一天中的声音设置,一天分多少个时间段,每个时间段的声音等。

(3)Weather
介绍:
天气管理允许你调整与天气有关的各种设置,比如天气类型、云雾颜色和闪电设置等等。
参数:
在这里插入图片描述

  • Cloud Settings:体积云设置,是否启用,体积云的聚集速度等。
  • Weather Settings:天气设置,是否产生天气,如果Disable的话,UniStorm将一直保持一种天气类型,除非使用代码控制其改变。

(4)Celestial
介绍:
该设置用于控制太阳、月亮、星星和大气的颜色。
参数:
在这里插入图片描述

  • Sun Settings:太阳颜色等各类属性设置。
  • Moon Settings:月亮颜色等各类属性设置。

(5)Settings
介绍:
这个Settings控制各种系统相关的设置,比如说要打包到什么平台。个人资料管理器用于导入或导出UniStorm个人资料,以覆盖或导出当前设置。
参数:
在这里插入图片描述

  • Platform Controller:平台管理,此设置能让UniStorm自动为移动设备或桌面设备设定最佳参数。
  • Profile Management:个人资料管理,用于导入或导出UniStorm个人资料,以覆盖或导出当前设置。

4-2、使用插件

(1)创建空对象Player
在这里插入图片描述
重命名为Player,位置改为(0,0,0):
在这里插入图片描述

(2)设置MainCamera参数
调整位置:
在这里插入图片描述

(3)创建UniStorm System
在这里插入图片描述

(4)设置UniStorm System的Player和MainCamera
将Get Player at Runtime改为Disabled,并将其分别赋值给PlayerTransform和PlayerCamera字段:
在这里插入图片描述
(5)运行程序
在这里插入图片描述
运行按下Esc 在菜单中选择多云天气进行切换你可以看到,天气变换。
从下拉框选择了一种天气之后,鼠标点击下面的按钮“Change Weather”,之后需要等待一小会,天气才会过渡到新的天气效果来。

/* 插件天气对照表 */
0 Clear //清除 万里无云
1 Mostly Clear //晴时多云
2 Mostly Cloudy //大部多云
3 Partly Cloudy //局部多云;少云
4 Cloudy //阴天的
5 Lightning Bugs //萤火虫
6 Blowing Pollen //吹花粉
7 Blowing Leaves //吹树叶
8 Blowing Pine Needles //吹松针
9 Blowing Snow //高吹雪,飞雪
10 Foggy //有雾的
11 Overcast //阴天的
12 Hail //下冰雹
13 Heavy Rain //大暴雨
14 Rain //雨
15 Light Rain //小雨
16 Drizzle //下毛毛雨
17 Heavy Snow //大雪
18 Snow //雪
19 Light Snow //小雪
20 Thunderstorm //雷雨
21 Thunder Snow //雷阵雨
22 Dust Storm //尘暴
23 Fire Rain //火雨
24 Fire Storm //大火

4-3、代码动态调整日夜和天气

这里的时间是自动变化的,我们可以设置为程序控制。
然后天气也可以用代码控制。

参考代码:

using System.Collections;
using System.Collections.Generic;
using UniStorm;
using UnityEngine;
using UnityEngine.UI;public class Demo : MonoBehaviour
{public Button BtnChangeWeather;public Slider m_Slider;void Start(){// 点击按钮,控制天气BtnChangeWeather.onClick.AddListener(BtnChangeWeatherEvent);m_Slider.onValueChanged.AddListener(SliderValueChangedEvent);}void BtnChangeWeatherEvent(){UniStormSystem.Instance.ChangeWeather(UniStormSystem.Instance.AllWeatherTypes[18]);}void SliderValueChangedEvent(float value){UniStormSystem.Instance.m_TimeFloat=value;}
}

所有的天气预设资源:
在这里插入图片描述
UI设置:

在这里插入图片描述

五、后记

如果觉得本篇文章有用别忘了点个关注,关注不迷路,持续分享更多Unity干货文章。


你的点赞就是对博主的支持,有问题记得留言:

博主主页有联系方式。

博主还有跟多宝藏文章等待你的发掘哦:

专栏方向简介
Unity3D开发小游戏小游戏开发教程分享一些使用Unity3D引擎开发的小游戏,分享一些制作小游戏的教程。
Unity3D从入门到进阶入门从自学Unity中获取灵感,总结从零开始学习Unity的路线,有C#和Unity的知识。
Unity3D之UGUIUGUIUnity的UI系统UGUI全解析,从UGUI的基础控件开始讲起,然后将UGUI的原理,UGUI的使用全面教学。
Unity3D之读取数据文件读取使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。
Unity3D之数据集合数据集合数组集合:数组、List、字典、堆栈、链表等数据集合知识分享。
Unity3D之VR/AR(虚拟仿真)开发虚拟仿真总结博主工作常见的虚拟仿真需求进行案例讲解。
Unity3D之插件插件主要分享在Unity开发中用到的一些插件使用方法,插件介绍等
Unity3D之日常开发日常记录主要是博主日常开发中用到的,用到的方法技巧,开发思路,代码分享等
Unity3D之日常BUG日常记录记录在使用Unity3D编辑器开发项目过程中,遇到的BUG和坑,让后来人可以有些参考。

相关文章:

  • 如何有效追踪需求的实现情况
  • 计算机中常见的计量单位总结(bit、byte、KB、MB、Gbps 区别详解)
  • (leetcode) 力扣100 10.和为K的子数组(前缀和+哈希)
  • matlab simulink双边反激式变压器锂离子电池均衡系统,双目标均衡策略,仿真模型,提高均衡速度38%
  • er图的概念
  • 基于 Spring Boot 瑞吉外卖系统开发(十二)
  • Android学习总结之线程池篇
  • 使用SSH协议克隆详细步骤
  • stm32之BKP备份寄存器和RTC时钟
  • TCPIP详解 卷1协议 八 ICMPv4和ICMPv6 Internet控制报文协议
  • 深入掌握CSS定位:构建精密布局的核心技术
  • 第二章、物理层
  • 开发环境(Development Environment)
  • 【SSM-Mybatis(一)】java持久层框架-Mybatis!本文涵盖介绍Mybatis和基本使用,分析Mybatis核心配置文件
  • 豆瓣电影Top250数据工程实践:从爬虫到智能存储的技术演进(含完整代码)
  • 【Ansible】之inventory主机清单
  • 麒麟 v10 cgroup v1 切换 cgroup v2
  • 上海海关特展:二维码讲解“外来入侵物种”的危害!
  • 小智AI客户端使用测试(Python)
  • 让 - 艾里克・德布尔与斯普林格出版公司:科技变革下的出版业探索
  • 习近平出席中国-拉美和加勒比国家共同体论坛第四届部长级会议开幕式
  • 新华时评:中美经贸会谈为全球经济纾压增信
  • 长沙通报一出租房疑存非法代孕:查封涉事场所,相关人员被控制
  • 中美日内瓦经贸会谈联合声明
  • 让胖东来“自闭”的玉石生意,究竟水有多深?
  • “不为一时一事所惑,不为风高浪急所扰”——习近平主席对俄罗斯进行国事访问并出席纪念苏联伟大卫国战争胜利80周年庆典纪实