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 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)
相关文章:
Unity插件之天气系统UniStorm
首先呢,它是一款强大的动态昼夜天气系统,能够以较快的帧速率创建AAA级动态生成的天气、照明和天空,并且具有300多个可定制的组件,允许用户创建任何可以想象的环境。 第一步:他需要两个物体Camera摄像机、Player播放器…...
Java使用xlsx-streamer和EasyExcel解决读取超大excel文件数据处理方法
前言 最近有个项目在生产环境做数据导入时,发现开始执行导入任务会出现cpu狂飙的情况。几番定位查找发现是在读取excel的时候导致此问题的发生,因此在通常使用的为POI的普通读取,在遇到大数据量excel,50MB大小或数五十万行的级别的…...
智能驾驶规划控制理论学习04-基于车辆运动学的规划方法
目录 一、线性二自由度汽车模型(自行车模型) 1、二自由度模型概述 2、不同参考点下的状态空间方程 3、前向仿真 二、运动基元生成方法 1、杜宾斯曲线(Dubins Curve) 2、Reeds Shepp Curve 三、多项式曲线(Poly…...
一键查看:大厂网站都用了啥技术栈,有图有真相。
本次我们采用Wappalyzer插件来看下国内大厂的网站都采用了什么技术架构,文章最后由Wappalyzer的安装方法。 今日头条网站 淘宝网站 哔哩哔哩 京东商城 花瓣网 CSDN 国务院 网易 58同城 腾讯网 如何安装Wappalyzer 用Edge浏览器即可...
C语言-指针(下)
文章目录 前言 文章目录 前言 一、指针运算 1.指针-整数 2.指针-指针 3.指针关系运算 二、野指针 1.概念 2.野指针的成因 1.未初始化 2.指针越界访问 3.指针指向的空间释放 3.避免野指针 1.指针初始化 2.小心指针越界 3. 指针变量不再使用时,及时置NULL 总结 …...
尚硅谷JavaScript高级学习笔记
01 准备 JavaScript中函数是对象。我们后续描述构造函数的内存模型时,会将构造函数称为构造函数对象。 02 数据类型 typeof 运算符来查看值的类型,它返回的是类型的字符串值 会做数据转换 03 相关问题 04数据_变量_内存 05相关问题1 06相关问题2 …...
六、长短时记忆网络语言模型(LSTM)
为了解决深度神经网络中的梯度消失问题,提出了一种特殊的RNN模型——长短期记忆网络(Long Short-Term Memory networks, LSTM),能够有效的传递和表达长时间序列中的信息并且不会导致长时间前的有用信息被忽略。 长短时记忆网络原理…...
Filter过滤器+JWT令牌实现登陆验证
一、背景 我们需要在客户端访问服务器的时候给定用户一定的操作权限,比如没有登陆时就不能进行其他操作。如果他需要进行其他操作,而在这之前他没有登陆过,服务端则需要将该请求拦截下来,这就需要用到过滤器,过滤器可以…...
SQL学习十八~十九
...
2024 AI 辅助研发的新纪年
随着人工智能技术的持续发展与突破,2024年AI辅助研发正成为科技界和工业界瞩目的焦点。从医药研发到汽车设计,从软件开发到材料科学,AI正逐渐渗透到研发的各个环节,变革着传统的研发模式。在这一背景下,AI辅助研发不仅…...
【牛客】HJ87 密码强度等级 CM62 井字棋
题目一:密码强度等级 题目链接:密码强度等级_牛客题霸_牛客网 (nowcoder.com) 本题主要考察C语言中逻辑分支语句,基本语句以及对各种特殊字符 ,ASCII值以及条件表达中的逻辑运算符关系运算符各自功能的理解,以及基本使用&#x…...
【论文速读】 | DeGPT:通过大语言模型优化反编译器输出
本次分享论文为:DeGPT: Optimizing Decompiler Output with LLM 基本信息 原文作者:Peiwei Hu, Ruigang Liang, Kai Chen 作者单位:中国科学院信息工程研究所;中国科学院大学网络空间安全学院 关键词:反向工程&…...
【DP】蓝桥杯第十三届-费用报销
#include<iostream> #include<algorithm> #include<cstring> #include<set> #include<queue> using namespace std; const int N1010; int dp[N][5010];//dp[i][j]:选到第i个物品是否能取到价值j; int month[13]{0,31,28,31,30,31,30…...
15. C++泛型与符号重载
【泛型编程】 若多组类型不同的数据需要使用相同的代码处理,在C语言中需要编写多组代码分别处理,这样做显然太过繁琐,C增加了虚拟类型,使用虚拟类型可以实现一组代码处理多种类型的数据。 虚拟类型是暂时不确定的数据类型&#…...
老司机都懂的!【打赏】完美运营的最新视频打赏系统
完美运营的最新视频打赏系统优于市面上95%的打赏系统,与其他打赏系统相比,功能更加强大,完美运营且无bug。支付会调、短链接生成、代理后台、价格设置和试看功能等均没有问题。 以上为原简介,经测试验证。成功搭建并可以正常进入…...
JavaWeb笔记 --- 二、Maven
二、Maven Maven概述 所有的IDE创建的Maven项目都可以使用 Maven简介 Maven模型 Maven常用命令 Maven生命周期 Maven坐标 依赖管理 dpendencies:依赖 依赖范围...
【C++】C++11---右值引用和移动语义
目录 1、什么是左值引用和右值引用2、左值引用与右值引用比较3、右值引用使用场景和意义4、右值引用引用左值的分析5、完美转发 1、什么是左值引用和右值引用 传统的C语法中就有引用的语法,而C11中新增了的右值引用语法特性,所以从现在开始我们之前学习…...
消息队列-kafka-消息发送流程(源码跟踪) 与消息可靠性
官方网址 源码:https://kafka.apache.org/downloads 快速开始:https://kafka.apache.org/documentation/#gettingStarted springcloud整合 发送消息流程 主线程:主线程只负责组织消息,如果是同步发送会阻塞,如果是异…...
机器学习笔记 计算机视觉中的测距任务常见技术路线
一、计算机视觉中的测距任务 测距是计算机视觉中的一项关键任务,涉及测量物体和相机之间的距离。这些信息可用于多种应用,包括机器人、自动驾驶汽车和增强现实。测距技术有很多种,包括主动式和被动式,每种技术都有自己的优点和局限性。主动测距技术,例如飞行时间、结构光和…...
云计算 3月8号 (wordpress的搭建)
项目wordpress 实验目的: 熟悉yum和编译安装操作 锻炼关联性思维,便于以后做项目 nginx 编译安装 1、安装源码包 [rootlinux-server ~]# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel [rootlinux-server ~]# wget http://nginx.…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
