Unreal 5 Lyra初学者游戏包概览笔记

news2024/10/7 7:29:28

Lyra初学者游戏包相关的官方视频有两个:

  1. Lyra初学者游戏包概览 https://www.bilibili.com/video/BV16B4y197Zy/
  2. Lyra跨平台UI开发 https://www.bilibili.com/video/BV1mT4y167Fm/

这个笔记主要记录的是Lyra初学者包概览笔记的相关内容。里面介绍了如何创建关卡、输入、武器和技能。
这个笔记只记录一些对我有用的信息,如果需要查看完整内容,还请查看官方视频。
项目可以直接在官方引擎找到免费下载,比其它教程只有视频没有项目好多了

在这里插入图片描述
基础的元素:

  • 角色和Pawn是在游戏中控制的游戏对象
  • Controller 控制,代表着如何控制pawn 客户端向服务器发送请求的通道
  • 玩家状态 储存着其它玩家需要知道的关于你的信息 比如玩家的得分情况,血量
  • 游戏状态 用来存储游戏的综合信息 比如游戏阶段和剩余时间

这些类很容易产生结构性问题,造成耦合问题,自此引出模块化。
在这里插入图片描述

项目里面包含五种案例:

  1. UI
  2. 淘汰模式
  3. 抢据点模式
  4. 炸弹人模式
  5. 默认

在这里插入图片描述
Lyra还提供了联网功能,

  • 快速游戏可以寻找到当前已经建立的房间,如果没有则自己创建一个
  • 创建一个游戏 本地或者联网的 真人或者机器人的
  • 寻找别人创建的房间

然后接下来讲解了一下每种游戏的玩法

资源管理

在Lyra中,资产管理都是在GameFeatureData中管理,游戏逻辑可以在运行时动态管理他们是否激活,而不是必须需要预先设置。在Lyra中由Experience相关的类去控制,这个下面会讲。
这个类还列出了激活前需要的操作,就是Actions列表的相关操作。它们会在状态切换成激活的时候执行。
并且可以扩展资产管理器Asset Manager,这个会单独出一篇文章。
在这里插入图片描述
Actions是实现模块化设计的一个重要组成部分。它能够包含在GameFeatures和Experiences中,将负责在启用或禁用时预先加载必要的资产和运行代码。
说的就是上面那个操作的列表,常见的有,Add Abilities 添加技能 Add Components 添加组件 Add Widgets 添加ui控件
在这里插入图片描述
添加技能是给pawn对象添加新的能力
添加组件可以给不同类型的actor增加新的逻辑
添加控件是在屏幕上添加新的用户界面

模块化

如果要彻底弄懂这一块,需要去查看c++源码,我这里只对视频里面涉及到的东西做一下总结。
模块化结构首先要有一个设置游戏功能插件的入口,在Lyra游戏中,一张地图的主入口就是在Lyra User Facing Experience Definition 类里面描述,在这个文件中,指定了一个玩法还有地图等所有的内容。Lyra User Facing Experience 的文件会在ui地图列表中加载,ui拿着相应的数据,生成在前端显示的内容,如果点击了相应的地图,也会根据里面数据去加载关卡内容。
它实现了将玩法和地图相结合。
在这里插入图片描述
Map ID :需要加载的地图,通过点击ui进入游玩的地图场景
Experience ID :当前地图玩法相关的内容
Extra Args :作为URL选项传递给游戏的额外参数
Tile Title :在ui上面显示的主标题
Tile Sub Tile :在ui显示的副标题
TIle Description :在ui显示的地图描述
Tile Icon :在ui上显示的图标
Is Default Experience :是否是默认玩法,如果设置为true,此地图可以快速匹配,并在ui排列中靠前显示
Show In Front End :设置为true,此地图将在地图ui列表中展示
Record Replay :记录回放,设置为true,将记录比赛的回放记录。
Max Player Count :最大玩家数
Loading Screen Widget:场景加载时的ui设置
在这里插入图片描述
上图就是设置以后在ui里面的显示效果。

里面的Experience ID 定义玩法和规则,参数是一个蓝图类,Lyra Experience Definition,这个蓝图内设置了四种内容,玩法,玩家或者机器人控制的pawn
在这里插入图片描述
下面的这个是俯视角炸弹人玩家的蓝图类
在这里插入图片描述

Pawn的数据

Pawn的数据类型是LyraPawnData
在这里插入图片描述
Pawn Class 实例化可以操控的角色的类
Abilities 赋予玩家的初始技能集
TagRelationship Mapping 技能关系映射输入配置
Input 角色操控配置,主要就是什么按键会触发
Default Camera Mode 使用的相机模式

技能集

技能集的数据类型是 LyraAbilitySet,里面包含技能游戏玩法效果(gameplay effects,简称GE,是Abilities改变自己或别人的Attributes 和GameplayTags的途径 )
在这里插入图片描述
技能集可以通过英雄数据赋予、通过experiences或游戏中的actions提供,也可以通过装备提供。
技能可以让角色执行新的主动技能或被动技能
主动技能包括跳跃、扔雷等。
被动技能是指可以自动触发的技能,比如死亡后自动复活
玩家身上的属性是以数值的形式公开给技能系统的,比如血量,炸弹数量

角色相关

新的测试模型Manny Quinn它们是用MetaHuman骨骼创建出来的,包含丰富的动画设置,增加了新的重定向,可以将动画定向到任意骨骼网格体上面。
(Linked Animation)链接动画层允许动画蓝图以模块化的方式构建具有高级运动系统的角色,还能让游戏实现更好的内存管理,因为大量的动画层可能不会同时加载
Distance matching(距离匹配是通过移动输入的实际位移驱动动画播放位置,表现出速度与动画播放位置相对于的现象,以解决起步或停步时的滑步问题) 和 stride warping(步幅适配是动态调整角色的动画步幅来匹配胶囊体移动速度的一种姿势扭曲节点。)相结合可以让动画适应不同的玩家移动速度
Orientation warping(方向适配是为了用4方向移动实现360度无死角移动的技术。是Paragon用于解决混合空间的融合不可靠的问题提出的)是为了让动画适应不同的运动角度
Turn in place (原地转身)是可以让原地转身的并且没有移动的玩家呈现自然的原地转身动画,在转动幅度过大时播放重新定位动画。
Foot placement via control rig (脚步放置系统)会尝试在动画循环中在角色接触地面的时候,让角色双脚平稳的落在不同的表面,不会穿透地面。

使用自定义角色

Simple Cosmetics System (简单的换装系统)实现了显示角色的替换功能,将actor添加到骨骼上面,下图是通过调用AddCharacterPart方法,选择机器人设置显示。
在这里插入图片描述
并且在偏好向这里,你还可以直接替换模型进行测试
在这里插入图片描述
如果实现使用角色修改,我们首先需要模型,直接从metahuman创建的模型
在这里插入图片描述
然后再偏好向那里,可以直接设置,这属于调试的方式
在这里插入图片描述
蓝图有了,但是metahuman不自带动画的,我们需要使用制作一个动画蓝图,动画蓝图内也没什么内容,就是从网格体重定向姿势,姿势在Lyra的网格体上面去获取,IK重定向器资产直接选择metahuman带的RTG_metahuman,关于ik重定向我的其它文章已经讲过这里就不再多说。
在这里插入图片描述

再次进入游戏,发现,所有的角色都替换成了你设置的角色样子,并且还无法区分队伍
在这里插入图片描述

修改队伍颜色

Team Color System(队伍颜色系统)支持你修改队伍的材质和Niagara系统,实时切换,修改完数据直接查看修改效果。
要实现角色根据队伍颜色变动,需要先找到角色身上的材质
在这里插入图片描述
在材质上面找到影响颜色的属性
在这里插入图片描述
这里有两种方式实现颜色修改:

  1. 在主材质里面将颜色属性名称修改成队伍资产里面的名称(不推荐)
  2. 将名称增加到队伍资产

队伍资产数据路径在:
在这里插入图片描述
一般用到的就是蓝和红,在红色和蓝色队伍配置里面分别增加一项颜色配置
在这里插入图片描述
在这里插入图片描述
接着,再重新运行游戏,你会发现角色身上只要颜色配置是这个名称的材质属性值都会变更掉。
在这里插入图片描述
实现原理,在类B_Hero_ShooterMannequin中
在这里插入图片描述
在事件开始运行时,会监听队伍变动
在这里插入图片描述
这个事件会去获取队伍id和队伍数据,并调用切换事件
在这里插入图片描述
如果角色的部件切换,也会触发相关事件
在这里插入图片描述
在On Team or Cosmetics Changed函数中,处理了两部分,第一部分是后处理,设置描边颜色,更新队伍的模板测试(渲染效果)
在这里插入图片描述
另一部分就是调用C++写的函数,用来修改当前使用角色身上的材质
在这里插入图片描述

增强输入

增强输入我之前写过相关的文章,也是之前看这个视频了解到的,可以直接将一整套的输入事件修改掉。
链接地址:https://blog.csdn.net/qq_30100043/article/details/130925890
这里再多嘴一句,在增强输入中,Actions相当于是事件触发的事件,而输入上下文是将键位事件和Actions绑定的媒介,你可以制作多个输入上下文,比如,制作控制角色的上下文,控制车辆的上下文,并且还可以在控制车辆时,在里面设置相应的让角色做出某些动作的action事件触发。有多个上下文以后,你可以通过当前的状态直接切换上下文来实现不同的操作。

Lyra场景搭建

新建一个基础关卡
在这里插入图片描述
在Tools文件夹下面,会发现Lyra搭建好的程序化建模蓝图
在这里插入图片描述
使用Panel蓝图创建地面
在这里插入图片描述
拖入场景中,选中Handle,可以拖成理想的大小
在这里插入图片描述
右侧细节的数值也会相应的变动
在这里插入图片描述
在生成栏目,设置路径名称,开启Nanite,并点击Generate New Static Mesh 生成静态网格体
在这里插入图片描述
在物体上面右键,在脚本化Actor行为下面有个转换为静态网格体,我们就可以使用此静态物体去拼接场景了
在这里插入图片描述
如果发现这个静态网格体不行,想修改我们还可以再将静态网格体转换回来
在这里插入图片描述
这个网格体每个长宽10米也就是1000厘米(虚幻里面的单位是厘米),我们可以摆出自己需要的样子
在这里插入图片描述
学会了这种方法,你可以根据自己的需求去搭建出来理想的关卡,关于那些武器血量包等拾取的蓝图在ShooterCore内容中的Blueprint文件夹中,如果没有可以在右边设置显示插件内容即可。你需要将场景存储到他们一样的文件夹内,我放到内容文件夹,貌似无法将这些蓝图添加进入,放到Plugin目录下面就没问题了。
在这里插入图片描述
地图制作完成以后,需要设置地图游戏玩法,在Default Gameplay Experience设置为B_ShooterGame_Elimination,这个是淘汰模式使用的玩法
在这里插入图片描述
然后就是设置玩家出生点,点击场景添加物体按钮,搜索Lyra,会找到所有Lyra相关的类,然后选择LyraPlayerStart
在这里插入图片描述
出生点添加完成,还不能让机器人移动,那么需要添加导航网格体体积
在这里插入图片描述
调整尺寸,让导航网格体体积包围整个场景,按p可以查看导航网格体体积生成的可移动区域。
在这里插入图片描述
就是在偏好设置里面,找到Lyra Bots,第一个是设置生成数量,不勾选就是所有的出生点都会生成,Allow Player Bots to Attack 机器人是否可以攻击
在这里插入图片描述
直接点击运行游戏,就可以实现玩法。

Lyra角色创建逻辑

在制作地图时,我们添加了GamePlay Experience 游戏玩法体验来确定地图的玩法,这个文件在之前简单介绍过,就是确定场景的规则,以及玩家控制角色规则
在这里插入图片描述
比如在Actions这里,添加了场景相应的技能 组件和ui,AbilitySet_Elimination里面有两个技能,一个是解算面板,另外一个就是复活,将它们设置为了技能。组件这里就是给游戏状态添加组件或者给控制器添加,比如给控制器添加了随机生成Character的控件,ui这里则是添加了淘汰模式上面独有的计分的ui。
在这里插入图片描述
在pawn数据这里,有默认的pawn的类,以及pawn所有的技能集输入配置以及映射,还有相机模式
在这里插入图片描述
技能集里面罗列出来了pawn所拥有的技能,技能的蓝图实现,技能等级,触发的tag
在这里插入图片描述
比如技能就是直接用蓝图实现的
在这里插入图片描述
而这个tag,在输入里面会有相对应的增强输入的tag对应,没有输入对应,你有技能也无法触发。
在这里插入图片描述
然后,pawn数据里面的Tag Relationship Mapping 则是标记关系映射,比如当前tag会锁定其它的tag无法触发,触发的会直接取消等等,里面就是描述的tag之间的关系。相当于输入触发pawn去调用tag事件,tag事件判断关系,能够触发会去触发相应的蓝图去实现逻辑这么一个流程的蓝图。
在这里插入图片描述
最后附上它们之间的关系图,输入映射将键位对应InputAction,InputConfig将InputAction对应InputTag,而InputTag对应一个技能,层层递进的感觉。
在这里插入图片描述

Lyra的武器物品的结构

Lyra内置的武器类在Plugins文件夹下面Weapon文件夹和Weapons文件夹中,里面包含了游戏中使用了手枪,霰弹枪和手雷
在这里插入图片描述
拿手枪举例,此定义了拾取手枪以后所需要的数据,图标,武器模型,状态动画等。
在这里插入图片描述
第一个片段是可以装备的武器的定义,后面主要就是详细说它
在这里插入图片描述
第二个则是武器的图标和子弹的图标
在这里插入图片描述
第三个片段定义了武器的弹夹容量,当前弹夹剩余子弹,以及备用子弹数量,如果你是回血包,还可以在这里设置回血量什么的。
在这里插入图片描述
第四个片段是武器生成器显示的图标和底座颜色
在这里插入图片描述
第五个片段则是ui,显示的准星样式,和准星旁边的弹夹样式
在这里插入图片描述
手枪会默认给角色创建,视频也没说怎么默认添加到角色身上的。
接下来看一下上面第一个片段装备武器的定义WID_Pistol,这是一个纯数据蓝图
在这里插入图片描述
Actors to Spawn 则是装备武器时创建的相关配置,它是一个数组,意味着我们后面可以一次性装备多个武器左右一个有手一个
Actor to Spawn 武器拿在手上时的骨骼网格体蓝图类
Attach Socket 将武器添加到的骨骼命名
Attach Transform 添加到骨骼上时的相对位置变换
InstanceType 定义这是一件物品,这里定义了它是一把手枪其它可以定义见下图
在这里插入图片描述
在B_WeaponInstance_Pistol类中,它设置了子弹的行走路线,伤害,一次射击多少子弹,射程等。
在这里插入图片描述
Bullets Per Cartridge 每次射击的子弹数量,手枪一次是一发,但是霰弹枪一次会生成多个子弹
Max Damage Range 最大可以造成伤害的距离
Bullet Trace Sweep Radius 生成的子弹的碰撞体的半径,用于检测子弹与目标的碰撞检测使用
Distance Damage Falloff 距离衰减曲线
Material Damage Multiplier 经过测试是爆头的伤害倍率
在这里插入图片描述
Equip 为装备武器蒙太奇动画
Unequip 为收回武器蒙太奇动画
Melee 为使用武器敲击敌人的蒙太奇动画
在这里插入图片描述
射击的配置 Fire Params 配置项设置采用了过热了,准确率就会下降
Spread Exponent 扩散指数,射击时准星的准确率会扩散,指数约高,后坐力影响就越低。
Heat to Spread Curve 扩散曲线,x轴的值设置武器最小到最大的扩散范围,y轴用来定义最小到最大的扩展角度
Heat to Heat Per Shot Curve 每一枪增加的扩散范围,正常情况是一条曲线,如果只有一个值代表每一枪都会增加
Hea to Cool Down Per Second Curve 每秒恢复扩散范围值
Spread Recovery Cooldown Delay 扩散范围恢复延迟时间
Allow First Shot Accuracy 是否可以允许第一枪准确率完美朝着准星

WID_Pistol 属性 Ability Sets to Grant 持有当前武器会赋予角色的技能集,当玩家装备此武器时,会使用技能集覆盖当前的持有的技能,这个里面有射击,换弹和自动换弹三个技能,里面也包含了对应的蓝图实现。Experience中的技能集是在运行时创建的,这意味着我们也能够重载它们。
在这里插入图片描述
GA_Weapon_Fire_Pistol是一个纯数据蓝图,里面配置射击时的一些数据
在这里插入图片描述
GE Damage 是游戏伤害效果
Character Fire Montage是角色使用此武器射击时播放的动画
Fire Delay Time Secs 是射击时的时间间隔
Auto Rate 为开火速率

在Lyra中创建一把自定义的武器

先创建一个物品定义的类,命名为ID_SMG
在这里插入图片描述
然后先设置名称,添加片段,第一个先添加一个可装备的物品,装备的内容后面再创建
在这里插入图片描述
第二个片段就是装备后武器的icon的配置,这些内容会去修改ui上面的图标和名称
在这里插入图片描述
第三个片段就是设置弹药的数量
在这里插入图片描述
第四个片段就是添加武器的准星
在这里插入图片描述
第五个片段增加拾取拾取武器的样式,这里修改了颜色和名称
在这里插入图片描述

这个类定义完了,还有一项没有设置,那就是拾取物品的定义,先创建一个类继承至LyraEquipmentDefinition,命名为WID_SMG,这个类里面需要定义物品类型,拾取后赋予玩家的技能集,以及装备时显示的模型设置
在这里插入图片描述
生成的pawn这里还是按照手枪的设置
在这里插入图片描述
技能集这里,赋予玩家的技能,我们需要重新创建一个类
在这里插入图片描述
创建一个数据资产
在这里插入图片描述
数据资产实例的类选择LyraAbilitySet,命名AbilitySet_SMG
在这里插入图片描述
打开需要在里面添加三个技能,装备武器,收回武器,以及自动换弹
第一个设置tag为自动射击
在这里插入图片描述
第二个设置tag为reload,换弹
在这里插入图片描述
第三个设置为自动换弹,不需要tag触发,所以直接设置类,它会自动检测是否还有弹药,是否还有备用弹药,弹夹是否空了
在这里插入图片描述
接下来就是实现开火和换弹的逻辑,先实现开火,创建一个开火的类基础至GA_Weapon_Fire,命名GA_Weapon_Fire_SMG
在这里插入图片描述
在类里面修改默认值,先修改开火动画,自动速率,以及触发射击的tag
在这里插入图片描述
在消耗哪里,还需要设置当前武器的弹夹数量减少
在这里插入图片描述
设置完成编译然后设置到AbilitySet_SMG里面。
在这里插入图片描述

接下里制作换弹逻辑,换弹逻辑直接基于手枪的类作为父类创建,命名GA_Weapon_Reload_SMG
在这里插入图片描述
里面只将换弹的播放速率提高了,加快了换弹速度
在这里插入图片描述
然后设置到ABilitySet上面
在这里插入图片描述
武器实例那里还没有重新设置,创建一个基于手枪的武器实例,命名B_WeaponInstance_SMG
在这里插入图片描述
里面修改一下手枪的扩散速率,修改曲线,上面debug显示的数值也会跟着变动。
在这里插入图片描述
冷却速率从手枪的10改为3,延迟冷却从0.2改为0.5
在这里插入图片描述
在WID_SMG里面设置实例类型为刚才创建的smg
在这里插入图片描述
最后,如果要添加到武器生成底座上面,还需要制作一个生成的数据基于LyraWeaponPickupDefinition,命名WeaponPickupData_SMG
在这里插入图片描述
然后定义里面的数据,武器再生事件,如果为0,则不会再生,设置生成器上面显示的武器,以及物品栏物品定义为创建的ID_SMG
在这里插入图片描述
拖入场景中一个实例
在这里插入图片描述
设置相应的配置项,也可以修改颜色等。
在这里插入图片描述

在Lyra中创建一个新的技能

创建一个新的文件夹 命名为ForceField
在这里插入图片描述
创建一个技能类,命名为GA_ForceField
在这里插入图片描述
里面有两个事件,分别是激活技能事件和结束技能事件
在这里插入图片描述
将类的默认值Replication Policy 修改为Replicate,这个技能将会复制给每一个实例,相当于每个角色都可以释放
在这里插入图片描述
创建节点 Get Lyra Character from Actor Info,它可以输出拥有这个技能角色
在这里插入图片描述
获取到角色周围一定范围内的所有的pawn
在这里插入图片描述
如果获取到了内容,将进行循环处理
在这里插入图片描述
接下来,要获取队伍子系统,这个子系统提供很多关于队伍相关的函数
在这里插入图片描述
比较自身和比对的角色是否同一个队伍,如果不同,将触发后续逻辑造成伤害
在这里插入图片描述
获取到角色技能组件
在这里插入图片描述
调用给目标造成伤害的节点
在这里插入图片描述
在队伍不同时,将获取目标的技能组件,并对技能组件造成伤害,遍历完成结束事件。
在这里插入图片描述
施加的伤害的类还没有设置,这里我们可以自己创建一个新的
在这里插入图片描述
或者直接使用伤害基础类GE_Damage_Basic_Instant,创建子类GE_ForceField
在这里插入图片描述
在类的默认值这里,伤害类型选择瞬间,还有无限持续,还有持续一定量级的
在这里插入图片描述
然后修改了造成的伤害
在这里插入图片描述
编译后,将类设置上去。
在这里插入图片描述
接下来,将实现按键触发,将Emote触发的跳舞事件修改掉,原来的是这样的
在这里插入图片描述
在场景中找到设置的玩法数据
在这里插入图片描述
在里面找到生成默认pawn的数据
在这里插入图片描述
再进入基础技能
在这里插入图片描述
看到设置的emote的配置,设置的是这样的,Emote的tag是和B键绑定的
在这里插入图片描述
把技能改成自定义的技能
在这里插入图片描述
进入场景然后再敌人旁边按B键,三下击败,完美实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/726871.html

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

相关文章

网络部署的思路

网络部署的思路——网络搭建的步骤 1.拓扑设计——IP地址的规划(子网划分,子网汇总) 2.实施 2.1 搭建拓扑 2.2 底层——给所有需要配置IP地址的网络节点,配置一个合法的IP地址 2.3 路由——全网可达 2.4 优化 策略——安全方面的…

【Linux初阶】基础IO - FILE结构体中的缓冲区

🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【Linux初阶】 ✒️✒️本篇内容:库函数和系统函数的刷新差异,缓冲区的意义、刷新策略、存在位置、文件写入的逻辑,缓冲…

Unity与iOS交互(1)——需要了解的IOS相关知识

【前言】 以下只是简要介绍,详细的内容需要自己去看链接 【Objective-C基础知识】 .h .m .mm .cpp文件区别 .h是头文件扩展名。头文件包含类,类型,函数和常数的声明,这里的定义一般是Public的 .m是实现文件扩展名。其包含源代…

云环境利用工具-----cf

简介 CF 是一个云环境利用框架,适用于在红队场景中对云上内网进行横向、SRC 场景中对 Access Key 即访问凭证的影响程度进行判定、企业场景中对自己的云上资产进行自检等等。 项目地址:https://github.com/teamssix/cf 使用手册:https://wi…

Java POI excel单元格背景色(填充)、字体颜色(对齐)、边框(颜色)、行高、列宽设置

文章目录 1、Excel Cell单元格背景色颜色名称对照关系2、Excel Cell单元格背景填充样式颜色填充对照关系3、Excel Cell字体样式设置对照图4、Excel 行高、列宽设置5、Excel单元格边框设置边框类型图片对比附一:一些问题1、关于列宽使用磅*20的计算方式2、关于行高使…

常用数据预处理与特征选择方法总结记录

在很多机器学习或者是深度学习建模之前,对于数据的处理尤为重要,选择合适的数据预处理方法和特征构建算法对于后续模型的结果有着很大的影响作用,这里的主要目的就是想记录总结汇总常用到的处理方法,学习备忘! 数据清洗…

Docker集群部署-MySQL主从复制

实验目的 利用Docker实现MySQL主从复制架构的部署,实现1主1从集群配置。 实验准备 要求实验主机能够连接外网,已经正确安装Docker,并关闭防火墙和selinux。 【实验步骤】 新建主服务器容器实例3307 # docker run -p 3307:3306 --name my…

mysql —案例复杂查询+索引使用+DBeaver中创建索引

前言 接上章 我们 对一个简单的选课功能进行 设计分析 实际上在工作中 拿到一个需求,也是这样的一个分析过程 一个份 需求文档原型 出来,只要是你负责这个模块,就需要你自己建表建库,设计接口文档,也许现在有的公司…

AIGC|FineTune工程之LoRa高效参数微调

徐辉 | 后端开发工程师 一、引言 随着深度学习和自然语言处理技术的快速发展,大型预训练语言模型(如GPT、Vicuna、Alpaca、Llama、ChatGLM等)在各种应用场景中取得了显著的成果。然而,从零开始训练这些模型需要大量的计算资源和…

Cristiano Linux学习小结

一、linux基础 1.1 基本概述 1、Linux组成:内核 Shell 文件系统 应用程序 2、内核(Kernel),即核心程序。实现操作系统的基本功能(进程管理、内存管理、进程间通信、虚拟文件系统和网络接口),决定着系统的性能和稳定性。…

递归典型例题:汉诺塔问题

文章目录 1. 什么是汉诺塔2. 汉诺塔的解题步骤3. 代码实现汉诺塔 1. 什么是汉诺塔 1. 汉诺塔的来源 一位法国数学家曾编写过一个印度的古老传说:在世界中心拿勒斯的圣庙里边,有一块黄铜板,上边插着三根宝柱。印度教的主神梵天在创造世界的时…

div绑定键盘点击事件

为箭头绑定绑定键盘方向键 <div class"toggle-nav"><spanv-if"leftToggleSt"click"toggleGoods(1)"keyup.left"toggleGoods(1)"class"toggle-left"><a-icon type"left" class"icon" /&…

Linux系统设置

Linux的系统设置 01 选择“Install CentOS7” 02 选择安装界面的语言 03 选择时区&#xff0c;这里选择上海 04 选择安装类型&#xff0c;选择最小安装即可&#xff0c;不需要图形界面与其他的组件 05 选择安装位置&#xff0c;自定义分区 06 我要配置分区&#xff0c;进行…

ARS408毫米波雷达使用记录

参考&#xff1a;ARS_408毫米波雷达数据解析学习记录 感谢博主的分享&#xff08;https://blog.csdn.net/weixin_49401384&#xff09; 雷达can消息解析&#xff08;通用can解析思路&#xff09; socketcan学习can总线 毫米波雷达can协议解读RadarCfgRadarState 代码基本是关于…

Python接口自动化核心模块 - 数据库操作和日志

进行接口测试时&#xff0c;我们需要连接到数据库中&#xff0c;对数据源进行备份、还原、验证等操作。 Python连接数据库常见模块 MysqlDB python2时代最火的驱动库。基于C开发&#xff0c;对windows平台不友好。现在已经进入python3时代&#xff0c;基本不再使用 MysqlCl…

干农活太累了,尤其是对一位22女孩来说

干农活太累了&#xff0c;尤其是对一位22女孩来说。要是能够通过电商来销售农产品可以大大减轻干农活的负担。在重庆荣昌的一个小村庄里&#xff0c;一个名叫杨儿杨的00后女孩&#xff0c;正通过抖音电商&#xff0c;书写着她自己的故事。杨儿杨的生活并不容易。5岁前&#xff…

数据库 --- mysql(01)

MYSQL 1、数据库简介 数据&#xff1a;描述事物的符号记录&#xff0c; 可以是数字、 文字、图形、图像、声音、语言等&#xff0c;数据有多种形式&#xff0c;它们都可以经过数字化后存入计算机。 数据库&#xff1a;存储数据的仓库&#xff0c;是长期存放在计算机内、有组…

武大+上交提出 BatGPT:创新性采用双向自回归架构,可预测前后token

进NLP群—>加入NLP交流群 本论文介绍了一种名为BATGPT的大规模语言模型&#xff0c;由武汉大学和上海交通大学联合开发和训练。 该模型采用双向自回归架构&#xff0c;通过创新的参数扩展方法和强化学习方法来提高模型的对齐性能&#xff0c;从而更有效地捕捉自然语言的复杂…

Seata 分布式事务的中间件Seata设计和实现方案

文章目录 分布式事务的中间件SeataSeata AT 模式-默认模式前提整体机制写隔离读隔离 Seata XA 模式前提整体机制工作机制 Seata TCC 模式Seata Saga 模式概述缺点&#xff1a; Saga的实现外传 分布式事务的中间件Seata Seata 是一款开源的分布式事务解决方案&#xff0c;致力于…

element ui组件的自定义类名样式不生效

element ui中&#xff0c;类似描述列表这种组件 会提供自定义类名属性 需要注意&#xff0c;样式不能写在<style scoped>标签中&#xff0c;会被vue自动加上data-v属性&#xff0c;导致样式失效。 必须写在<style>标签里