Unity Feel插件快速入门

What is Feel?
Feel是一个即用型解决方案,让你的Unity项目提高游戏体验,增强玩家获得的反馈感,例如相机震动,屏幕闪烁,淡入淡出,等等几十种效果。这是一个模块化、用户友好、易于扩展的系统。
本文旨在让你快速入门,从全局快速了解这个插件,以及基本用法.
官方文档:Feel Documentation | Feel Documentation
How to install Feel?
首先将插件导入项目,本文基于Feel 4.3,要求Unity版本高于22.3.23f1.本插件更新着实有点快,目前最新的版本已经达到5.0要求Unity版本高于Unity6000.0.23f1
https://feel.moremountains.com/feel-releases,可查看版本对照表.
要求你的项目添加这几个库(这不是必须的,但是有些部分依赖这些库,且Demo中大多使用了这些部分,所以不引入可能会导致报错):Post Processing,Cinemachine,TextMesh Pro等.显然你不能对这些依赖一点都不了解.
Post Processing:查看这个视频
[Unity 活动]-社区直播 Post Processing 后处理的介绍和使用_哔哩哔哩_bilibili
Cinemachine:可以阅读这篇文章
【游戏开发教程】Unity Cinemachine快速上手,详细案例讲解(虚拟相机系统 | 新发出品 | 良心教程)_cinemachine教程-CSDN博客


这里一键导入全部依赖,需要你等待几分钟,我推荐使用这个操作.
然后打开Demo:MMFPlayerDemo(Feel/MMFeedbacks/Demos/MMFeedbacksDemo),查看效果.
这个场景展示了大部分效果.
URP and HDRP
Feel支持所有渲染管线,但是Demo都是基于内置渲染管线制作的,要注意的是如果是非内置渲染管线项目那么无需导入Post Processing,它们有自己的后处理系统.然后正常导入就行了.
虽然多数Demo都是内置渲染管线,但是官方也为我们制作了URP和HDRP的Demo,位置在:

FaIconHDRP和StrikeURP两个场景.
Contents of the asset

资产包括6部分,下面按顺序使用0-5代称
0: 一个包含许多演示的文件夹,每个演示都包含在自己的文件夹和子文件夹中。这些演示展示了Feel的各种功能。可以在Demos | Feel Documentation了解更多信息
1: 包含特定于高清晰度渲染管道的演示。需要将Feel导入HDRP项目中才能运行它们。
2: 包含特定于通用渲染管道的演示。需要在URP项目中导入Feel来运行它们。
3: 资产的主要部分。它包含反馈系统(Feedbacks system)、全部的反馈组件(feedback)和演示场景。如果你想使用反馈( Feedback),这是唯一必须保留的文件夹。可以安全地删除其中的Demos文件夹。
4: 有各种工具
5: 为iOS或Android游戏添加触觉反馈的最佳方式。您可以在其专用网站Nice Vibrations, the best way to add vibrations to your Unity game, for iOS, Android, gamepad rumble, by More Mountains上了解更多信息。
你也发现了资产中有很多Demo,理论上所有Demo目录都可以删除,但是没什么必要,你非要删除的话查看官方说的这部分:

Demo介绍
官方做的很好:Demos | Feel Documentation
重点介绍FeelGettingStartedTutorial场景,了解了这个场景你就能快速上手基本用法(这确实很简单).
FeelGettingStartedTutorial
搜索该场景并打开,你应该会看到

运行起来只有一个简单的操作:按空格或者鼠标左键点击任一地方,然后你会发现了这Amazing的效果.
你可以简单查看Hero上的GettingStartedTutorialHeroReference脚本,这个脚本其实不是重点.

![]()
这才是重点,这个脚本只是在按空格的时候给到一个向上的力,然后调用了这个方法,这个方法被调用那么会触发了所有的FeedBack(反馈).调用这个方法是我们关心的.

MMFPlayer脚本(它是MMFeedbacks的子类)就是一个容器,下面承载了所有的反馈,目前这个JumpFeedback的MMFPlayer脚本只承载了Rotation和Sound两个反馈,你可以在运行模式下点击绿色的Play按钮,这样所有的反馈都会被播放(相当于PlayFeedbacks方法被调用).
让我们展开看看Rotation反馈,简单的说这个反馈就是旋转某个Transform.

先简单对照一下两个反馈,可以看到都有一个Settings和Randomness,可以看出这应该是继承下来的,所有反馈都有的共性.

我们来关注特性,将需要旋转的Transform拖到Target字段,同时下面三个AnimateX,Y,Z是对应三个旋转轴,显然YZ被禁用了,所有只会绕X轴旋转

然后是这个Curve属性,这将设置一个曲线同时关注Remap Curve Zero和Remap Curve One,三者组合起来意味着一秒内从0旋转到90度.
这只是一个最基础的反馈,是一种反馈直接操控某个物体的情况.下面的就要复杂一些了,关注LandingFeedback的Lens Distorion反馈

这就需要一些简单的配置了,这实际上是对后处理Lens Distortion效果的封装

查看PostProcessingVolume物体的后处理组件(显然场景里必须有该物体)

确保已经激活了Lens Distortion,同时关注MMLensDistortionShaker,这个Shaker可以理解为消息监听者,与刚才旋转的反馈直接操控某个物体不同,Lens Distorion反馈实际上只是发出来一个消息,Shaker会接收这个消息并处理.这个Shaker的概念在Feel中使用很广泛.
同时你也看到了,想使用这个反馈必须要有依赖包(后处理包),同时要进行相应的配置.有相当一部分反馈都是如此.
这里又要引出一个Channel(管道)概念

消息是通过管道传输的,管道有两个类型int和MM Channel,这里使用了int,值为0

查看后处理物体的Shaker,也能发现两者是对应的,都是int为0,这样就能接受到消息.
这两种是反馈的两种主要形式.
你可能看到了旋转的球和四个与大Cube同步的小Cube,查看上面的脚本.还有左下角的一个Text UI,这也是,这可以展示帧率和控制帧率.这些功能都属于MMTools模块,这些和反馈没有直接联系,算是作者开发的小玩意,感兴趣可以自行查看.
MMF_PlayerDemo

然后让我们来看下MMF_PlayerDemo场景,搜索并打开后,左侧有很多按钮,这些按钮每个都对应一个MMF_Player,播放上面的反馈实现了很多不错的效果,并且分了类.

都在这里,可以自行查看并实验.
Core concepts
显然我们主要会使用的是MMF_Player 组件,将其作为一个容器承载所有的反馈.
1.Shakers:
刚才提到的接收反馈传递的消息并处理的监听者,反馈只负责发布一个消息,相同管道的Shaker会接收这个消息.
2.Channel:
消息管道,刚才提到了一个int类型,这里再说下另一种类型MMChannel ,实际就是一个scriptable object asset配置,(Create > More Mountains > MMChannel创建).这样专门声明一个配置可以进一步细化和管理管道.

3.Pauses:
暂停,有两种暂停反馈.
Pause

默认所有的反馈都是同时触发的,如何暂停呢?将Pause加入队列后再Play,那么前五个加上Pause将同时触发,后两个将在0.5s后触发,因为Pause被设为0.5s.
Holding Pause

Holding Pause不同于Pause,在这个例子中前五个会同时触发,在五个中最长的完成后(显然是2s),然后再暂停0.25s,然后后面的两个才会触发.
使用脚本暂停
调用PauseFeedbacks()暂停,使用ResumeFeedbacks()恢复暂停.

例子在这里.
4.Loops:
循环反馈

查看这个例子,Play后前三个同时触发,Pause暂停0.5s,然后是后三个,然后是Looper,这个Looper会等待0.25s,然后再同时触发Pause和Looper中间的三个,然后是Looper(再等待0.25s),然后再重复触发一下中间三个.

因为循环次数为2.
另一个例子

先同时触发三个,Pause会等待到3s,然后触发Postion,然后Looper Start会延迟3s,然后中间两个会同时触发,然后Looper延迟3s,然后再同时触发中间两个(LooperStart不会再延迟),然后重复.
例子在

5.Chance:

就是发生的概率,100代表一定发生,0就是永不发生,每个反馈都有该属性.
6.Timing:
每个反馈的与时间相关的属性.

1. TimeScale Mode
-
Scaled 或 Unscaled:这决定了反馈的执行是否基于游戏的时间缩放(Time.timeScale)。
Scaled会随着时间缩放变化,Unscaled则无视时间缩放,用真实时间进行播放。这个设置在某些反馈中可能非常重要,尤其是当你需要反馈在暂停或时间缩放时继续运行时。
2. Initial Delay
-
初始延迟:设置反馈在执行之前的延迟时间(单位:秒)。例如,如果你希望某个效果在触发后延迟几秒钟再开始,这个选项很有用。
3. Cooldown Duration
-
冷却时间:设置一个时间间隔,在这个时间内该反馈无法被再次触发。这个选项适用于防止用户重复触发反馈,特别是防止连续播放的情况。
4. ExcludeFromHoldingPauses
-
忽略暂停时的等待:如果启用了此选项,那么即使游戏在“暂停”状态下,反馈依然会启动。适用于一些长时间的反馈(比如动画或特效),当你希望它开始时,但不影响其他暂停期间的操作。
5. ContributeToTotalDuration
-
是否计入总持续时间:决定该反馈是否会计入父级 MMF_Player 的总持续时间。如果选择不计入,则父级的时间计算不会包括这个反馈的持续时间。
6. Number of Repeats
-
重复次数:设置该反馈需要重复的次数(默认值为0,表示只播放一次)。
7. Repeat Forever
-
永远重复:如果启用了此选项,反馈将一直重复播放,直到你明确停止它。
8. Delay Between Repeats
-
重复之间的延迟:设置重复反馈之间的时间间隔。适用于需要重复播放的反馈,并且希望它们之间有一定的间隔。
9. Play Direction
-
播放方向:该选项允许你定义反馈在播放时的方向。一般情况下,反馈按从上到下的顺序播放,但你也可以设置它反向播放(从下到上)。
10. MMFeedbacks Direction Condition
-
方向条件:设置反馈是否仅在 MMF_Player 播放方向为正向或反向时才触发。默认情况下,反馈总是会播放,但如果设置了条件,则只有在特定方向时才会播放。
11. Constant Intensity
-
恒定强度:如果勾选此选项,反馈将忽略全局强度的调整,并保持其固定的强度。这意味着它不受 MMF_Player 中全局强度的影响。
12. Use Intensity Interval
-
使用强度区间:设置反馈的强度范围。只有在强度值处于指定区间内时,反馈才会触发。比如,你可以设置强度在0到50之间时触发某种效果,在50到100之间触发另一个效果。这对于根据角色的状态(如受伤程度)触发不同反馈非常有用。
13. Sequence
-
使用的序列:设置一个 Sequence,用于控制反馈的播放顺序。如果你想要某些反馈按特定顺序或时间安排播放,可以使用 Sequence。
14. Track ID
-
序列轨道ID:定义该反馈在序列中的轨道 ID。用于在一个序列中指定反馈的具体位置或顺序。
15. Quantized
-
量化模式:如果启用量化模式,反馈将在固定的时间点播放。量化模式通常用于音乐、节奏类游戏或需要精确时间控制的场景中,确保反馈在正确的时刻触发。
也可以在运行时使用方法SetInitialDelay, SetDelayBetweenRepeats or SetSequence methods.改变Timing Values.
如何反向播放反馈?注意是在MMF_Player级别的设置下.

也可以代码更改该属性.参考代码如下.

7.Enable / Disable feedbacks:
如何禁用/激活反馈呢?
(1)全局禁用,MMFeedbacks.GlobalMMFeedbacksActive=false/true.
(2)MMF_Player级别,失活该组件或他所在的GameObject都可以.
(3)在反馈级别
![]()
player.FeedbacksList[0].Active,或者先找到对应的反馈然后设置Active属性.
7.Preventing a type of feedback from playing
如何阻止某个类型的所有反馈?
MMF_Scale.FeedbackTypeAuthorized = false;
这将阻止所有缩放类型的反馈.
MMFeedbacksAuthorizations组件更方便,其实这就是枚举了所有类型的上述代码.

What is MMF_Player?

MMF_Player作为一个我们最常用的组件.
使用Add new feedback下拉框添加你需要的反馈,右侧的copy all可以复制所有的反馈(这是推荐的方法,不要使用Unity的组件复制).还可以按住某个反馈最左边的图标调整反馈顺序,打开最右边的图标进行复制粘贴移除重置本反馈等.
初始化,播放,停止,跳过,还原,还原,重置,还原:调用该MMF_Player上的相应方法,仅用于测试目的。其中大多数仅在运行时可用。
Keep Playmode Changes:在运行时按此操作,然后在退出播放时间时,对此MMF播放器的更改将不会丢失.
1. Initialization(初始化设置)
-
Initialization Mode: 定义初始化方式。默认情况下,
MMF_Player会在Awake或Start时初始化。你也可以选择手动初始化,通过调用Initialization()方法并传入一个“所有者”。 -
Auto Play on Start: 如果为 true,则
MMF_Player会在场景开始时自动播放反馈。 -
Auto Play on Enable: 如果为 true,当该对象启用时,
MMF_Player会自动播放反馈。 -
Auto Initialization: 如果为 true,系统会在合适的时机自动初始化这个播放器并准备播放。
2. Direction(播放顺序设置)
-
Direction: 定义反馈的播放顺序。默认情况下,反馈按“从上到下”的顺序播放。你可以选择将其反向,即按“从下到上”的顺序播放。
-
Auto Change Direction on End: 如果为 true,当所有反馈播放完成时,
MMF_Player会自动将播放顺序反向。
3. Intensity(强度设置)
-
Feedbacks Intensity: 控制播放反馈的强度。例如,
1是正常强度,0.5是半强度,0则是无效果。不同的反馈可能会根据这个值调节它们的幅度。 -
Force TimeScale Mode: 强制所有反馈使用缩放(scaled)或非缩放(unscaled)时间模式。
-
Duration Multiplier: 用于调整所有反馈的持续时间(包括初始延迟、总持续时间和重复间隔)。例如,设置为
2会让所有反馈持续时间加倍。 -
Randomize Duration: 在反馈的持续时间上应用随机化,使其持续时间在某个范围内随机波动。
-
Display Full Duration Details: 如果启用,会显示更多的编辑器信息,帮助你查看每个反馈的详细时间信息。
4. Cooldown & Delay(冷却和延迟)
-
Cooldown Duration: 这是一个冷却时间(秒),在一次播放后,这个
MMF_Player在冷却期间不会再次被触发。冷却时间对于防止某些反馈被过度触发很有用。 -
Initial Delay: 延迟开始播放的时间,通常在你希望给场景或其他动画留一些缓冲时间时使用。
-
Chance to play: 这个百分比值决定了
MMF_Player播放的几率。例如,50%意味着每次触发时有 50% 的概率播放反馈。
5. Range(范围设置)
-
Only Play If Within Range: 如果为 true,这意味着该
MMF_Player只有在特定范围内时才会播放反馈。 -
RangeCenter: 用于计算范围的参考点,通常是玩家角色或主摄像机。
-
RangeDistance: 距离值(单位为游戏中的单位),表示距离中心点的最大有效范围。
-
UseRangeFalloff: 如果启用,反馈的强度会随着距离的增加而减少。你可以使用曲线来控制反馈强度的衰减。
-
Ignore Range Events: 是否忽略通过
MMSetFeedbackRangeCenterEvent触发的范围事件。
6. Play Settings(播放设置)
-
CanPlay: 如果为 false,这个
MMF_Player就无法播放其包含的反馈。 -
CanPlayWhileAlreadyPlaying: 如果为 false,
MMF_Player不会在其内部任何反馈仍在播放时再次播放。这有助于避免反馈被重复触发,防止叠加播放。 -
Performance Mode: 启用后,会优化
MMF_Player的编辑器渲染,减少性能消耗,但对游戏的实际性能没有影响。 -
Force Stop Feedbacks On Disable: 如果为 true,当该
MMF_Player被禁用时,所有反馈会自动停止。
7. Events(事件设置)
-
Trigger MMFeedbacks Events: 是否触发
MMFeedbacksEvents,这是一种可以监听的事件类型,适合用于通知或管理其他脚本。 -
Trigger Unity Events: 是否触发常规的 Unity 事件(通过 Inspector 中绑定的事件槽进行)。
-
OnPlay: 在每次
MMF_Player被播放时触发。 -
OnPause: 在每次
MMF_Player被暂停时触发。 -
OnResume: 在每次
MMF_Player被恢复时触发。 -
OnRevert: 在每次
MMF_Player被反转时触发(通常在播放结束后,若启用了AutoChangeDirectionOnEnd,或者手动调用Revert()方法)。 -
OnComplete: 在播放所有反馈(最后一个反馈)完成时触发。
-
End
相关文章:
Unity Feel插件快速入门
What is Feel? Feel是一个即用型解决方案,让你的Unity项目提高游戏体验,增强玩家获得的反馈感,例如相机震动,屏幕闪烁,淡入淡出,等等几十种效果。这是一个模块化、用户友好、易于扩展的系统。 本文旨在让你快速入门,从全局快速了解这个插件,以及基本用…...
数据链路层(四)---PPP协议的工作状态
1 PPP链路的初始化 通过前面几章的学习,我们学了了PPP协议帧的格式以及组成,那么对于使用PPP协议的链路是怎么初始化的呢? 当用户拨号上网接入到ISP后,就建立起了一条个人用户到ISP的物理链路。这时,用户向ISP发送一…...
【C++】入门【六】
本节目标 一、继承的概念及定义 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、复杂的菱形继承及菱形虚拟继承 八、继承的总结和反思 九、笔试面试题 一、继承的概念及定义 1.继承的概念 继承是面向对象…...
UE5 C++ 不规则按钮识别,复选框不规则识别 UPIrregularWidgets
插件名称:UPIrregularWidgets 插件包含以下功能 你可以点击任何图片,而不仅限于矩形图片。 UPButton、UPCheckbox 基于原始的 Button、Checkbox 扩展。 复选框增加了不规则图像识别功能,复选框增加了悬停事件。 欢迎来到我的博客 记录学习过…...
Elasticsearch Serverless 现已正式发布
作者:来自 Elastic Yaru Lin 基于全新无状态(stateless)架构的 Elasticsearch Serverless 现已正式发布。它采用完全托管方式,因此你可以快速启动项目而无需操作或升级,并且可以使用最新的向量搜索和生成式 AI 功能。 …...
如何使用apache部署若依前后端分离项目
本章教程介绍,如何在apache上部署若依前后端分离项目 一、教程说明 本章教程,不介绍如何启动后端以及安装数据库等步骤,着重介绍apache的反向代理如何配置。 参考此教程,默认你已经完成了若依后端服务的启动步骤。 前端打包命令使用以下命令进行打包之后会生成一个dist目录…...
openEuler安装UKUI桌面
# 升级更新 sudo yum -y update # 安装UKUI界面 dnf install ukui # 设置图形启动 systemctl set-default graphical.target # 重启 # 查看当前系统启动模式 systemctl get-default # 修改默认启动模式为 命令行界面模式 systemctl set-default multi-user.target 在UK…...
深入理解Oracle DB的锁和闩
1. 引言 本文深入介绍Oracle DB的锁和闩。 2. Oracle DB 锁的基本概念 2.1 定义与作用 锁是 Oracle 数据库用于控制并发访问的一种机制。它用于防止多个事务同时对同一数据进行不一致的操作,确保数据的完整性和一致性。例如,当一个事务正在更新一行数…...
jenkins+github+springboot自动部署
背景: 最近看流水线有点意思,就说自己也搞一套。 预期效果: idea提交代码后,GitHub接收,jenkins自动部署。【后续加个自动部署时的代码检查、单元测试、安全测试、sonarqube】 思路分析: idea上的spring代码push到gi…...
HTML5系列(10)-- 地理位置服务指南
前端技术探索系列:HTML5 地理位置服务指南 🌍 致读者:探索位置服务的魅力 👋 前端开发者们, 今天我们将深入探讨 HTML5 的地理位置服务(Geolocation API),这项强大的功能让我们能…...
【MySQL 进阶之路】SQL 优化
6.SQL 性能分析笔记 在现代数据库的高并发环境下,SQL 查询优化成为提升系统性能和响应速度的关键。本文将总结常见的 SQL 优化策略,包括插入优化、主键设计、排序优化、GROUP BY 优化等,帮助你在面对大规模数据时,做到高效查询和…...
Web3的技术栈详解:解读区块链、智能合约与分布式存储
随着数字时代的不断发展,Web3作为下一代互联网的核心理念逐渐走进了大众视野。它承载着去中心化、用户主权以及更高效、更安全的网络环境的期望。Web3不再是由少数中心化机构主导的网络,而是通过一系列核心技术的支撑,给每个用户赋予了更多的…...
[在线实验]-在docker中运行clickhouse
镜像下载 docker的clickhouse镜像资源-CSDN文库 加载镜像 首先,需要获取ClickHouse的Docker镜像。如果已经有镜像文件(如clickhouse.tar),可以使用docker load命令来加载它: docker load --input clickhouse.tar …...
Rust常用命令总结
安装Rust 检查并更新Ubuntu的软件包 $ sudo apt update $ sudo apt upgrade安装相关依赖:安装GCC、G、MAKE、curl $ sudo apt install build-essential $ sudo apt install curl安装Rust $ curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh执行命令…...
Ant-Design X,AI组件库
前端的小伙伴们都知道有一个前端组件库超级火,可以说是 Top1 级别的,那就是 Ant-Design 而就在最近,他们又推出了一款新的组件库,Ant-Design X,这是专门用来做 AI 产品 的组件库,可能大家还很疑惑…...
Matplotlib 内置的170种颜色映射(colormap)
Matplotlib 提供了许多内置的颜色映射(colormap)选项,可以将数值数据映射到色彩范围——热力图、温度图、地图等可视化经常会用到。 # colormap 有两种引用形式plt.imshow(data, cmapBlues)plt.imshow(data, cmapcm.Blues) 颜色映射可以分为…...
在linux虚拟机安装VMware tools
安装UKUI桌面后,在火狐浏览器输入下载VMware tool地址: https://gitcode.com/open-source-toolkit/395d3/blob/5faa176939c7ac1f614a8b6f07f14cc31433ff95/VMwareTools-10.3.21-14772444.tar.gz 解压下载的软件包,进入目录:vmwa…...
初识EasyFramework
一、获取EF Git地址:https://github.com/HiWenHao/EFrameworkGitee地址:https://gitee.com/wang_xiaoheiiii/EFramework视频合集:EasyFramework介绍_哔哩哔哩_bilibiliQQ群: 711540505 二、 下载并初步了解 1. 下载完成后,可以看…...
OpenStack-Glance组件
Glance Glance使用磁盘格式和容器格式基础配置镜像转换 Glance 是 OpenStack 的镜像服务,负责存储、发现和管理虚拟机镜像。它允许用户创建和共享镜像,用于启动虚拟机实例。 Glance 的主要功能 (1)虚拟机镜像的管理 支持镜像的上…...
SPC三种判定准则的算法
1.连续6个点递增或递减 //传入数据列表 //返回连续X个及以上递增或递减的数组下标int n = array.Length; int X = X_in; List<int> regions_start = new List<int>(); List<int> regions_end = new List<int>();if(Open){for (int i = 0; i < n - (…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...
pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决
问题: pgsql数据库通过备份数据库文件进行还原时,如果表中有自增序列,还原后可能会出现重复的序列,此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”,…...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
k8s从入门到放弃之Pod的容器探针检测
k8s从入门到放弃之Pod的容器探针检测 在Kubernetes(简称K8s)中,容器探测是指kubelet对容器执行定期诊断的过程,以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...

