虚幻引擎入门笔记
【虚幻5】UE5新手入门尝试
虚幻引擎的基础设置
1.验证-当文件误删的时候,对其进行验证,可以恢复。
2.虚幻引擎极其强大,可以实现多种复合技能,所在创建项目页面可以看见不只是创建游戏的项目
3.更改虚幻引擎默认的缓存地址。有些电脑的c盘空间较小,系统默认的缓存可能影响,在文件管理器之中选择隐藏的项目,这时候可以查看到隐藏的项目。C:\Users\用户名\AppData\Local\UnrealEngine\Common\DerivedDataCache
创建一个虚幻引擎项目
- 启动引擎-游戏-空白-项目设置
- 蓝图-桌面-最大-初学者内容包(初步学习不考虑光线追踪)
认识虚幻引擎的界面
1.菜单栏下方第一行,依次是【保存】,【模式选择】,【添加资源】,【设置蓝图类】,【镜头设置】,【运行模块】,【平台打包】 ,【设置】
2.世界场景设置,设置-》世界场景设置,默认不显示,最好打开。
3.最左侧,大纲,横向对比(cocos的层级管理器),所有的actor都可以在大纲之中找到,并且在{细节}里面属性里面进行更多设置。
摄像窗口的移动
- 按住鼠标右键+ wsad 按键进行移动,qe进行上下。
- 在右上方的摄像机图标进行移动速度的修改。
- 左上方的三道杠,勾选显示fps,可显示帧率,用于判定当前对于设备的负载。
- 左上方三道杠旁边的是【透视】【光照】用于切换相机的状态,与显示的效果。
- 左上方最后一个,【显示】,在这里可以对场景进行进行设置,让其显示什么,比如不勾选云,那么就看不见云了。
- 左下角的三位坐标轴。
内容浏览器
Ctrl+空格 调出来内容浏览器,默认收起。
或者点击左下角【内容浏览器】
创建和移动物体
放置物体有两种方法
- 在页面栏左侧第三个,添加物体
- 在内容浏览器之中,添加物体。灵活使用筛选器。
让物体放置到地面
选中物体后,抬起来,之后按下end。
让物体旋转
快捷键E,也可以在右上方菜单栏第八个功能栏选取特定的目标
世界坐标轴与本地坐标轴
选中物体后,可以在右上方第七个来确定是坐标轴使用世界坐标轴还是本地坐标轴。
对齐表面
选中物体后,可以在右上方第六个来选择是否要对其表面。
比如说创建一个斜坡,让物体在其上,开启之后会形成一定角度在表面而不是直接进去了。
吸附到表面拓展:开启后,往场景里面拖动静态网格体时候会吸附到物体的表面。关闭状态下扔到场景里面可能会导致穿模等问题。也可以在吸附表面属性里面进行设置,比如离吸附面的高度
等比移动吸附
选中物体后,可以在右上方第五个来选择是否要移动时候吸附看不见的表格,开启后会等比例移动。
等比旋转吸附
选中物体后,可以在右上方第四个来确定每次最小旋转角度是多少。
快速聚焦物体
在大纲之中,选中物体,然后按下F,这样就会快速定位到物体。
在浏览模式下放大观看物体与缩小看
按住鼠标左键和C就能放大视口,z键是缩小
等比缩放吸附
中物体后,可以在右上方第3个来设置缩放的吸附比例。
最大化或恢复此窗口
在此处可以看见为渲染前,接近数据的视口,点后变成四个,先要恢复在左上方窗口再点击一次。
随着物体移动而移动镜头
按住shift加移动。镜头位置也会移动好像周围在动,物体静止。
查看碰撞体积
左上角第四个 show(显示)
collision 碰撞体积 (中文显示为碰撞)勾选
复制模型
1.按住alt加拖拽
2.ctrl+d(有一定的偏移)
选中多个物体
按住ctrl
更改选中多个物体时候的轴位置
按住鼠标中键拖动轴心
替换物体
选中物体后,在 细节 之中找到静态网格体,在内容浏览器之中,选中资源。在细节之中,点击静态网格体旁边的箭头。
更改物体的缩放
在默认情况下,物体的xyz等比例缩放,要想单独修改,可在 细节-》变换-》缩放,取消锁
让空项目出现别的游玩模式
- 在内容管理器之中-》添加-》添加功能及其内容包
- 世界场景设置->游戏模式重载-
书签
按下Ctrl+4~9在一个位置上设置书签,再次按下时候更新书签位置,使用时候按下数字键盘对应的数字即可。方便开发过程中标记关卡位置,无需费力查询
删除书签:左上角三条杠 bookmarks/clear bookmarks【选择要删除的书签】
游戏试视图
游戏视图。按键G。这时候显示的是游戏运行时候的视角,但和运行时候不一样,一些玩家不该看见的东西就不见了,比如光照在物体模式会看见小球
全屏显示
快捷键f11,再按一次退出
游戏引擎自带的截图
左上角三条杠 hight resolution xxx(高分辨率截图)
导入模型资产
1如果需要我们导入后仍然能确保正确的位置,需要保保证模型的轴心点为0.0.0
2.不是所有的模型都适合将轴向归到自身中心底部,要看具体的情况判断。比如地板
- 进阶吸附操作,按住v键,去拖动模型吸附点的轴向,这样可以针对一些模型的角点进行对齐,方便我们进行更精确的对齐操作。
blender模型导出与虚幻引擎运用
- blender左上角-》文件—》导出-》fbx格式
- 在导出之前,把模型合并好并放置到世界原点上方,保证0.0.0在模型的下面的中心位置。
- 虚幻引擎之中内容管理器-》导入,选中模型。
fbx格式是什么
Fbx格式是三维通用模型格式。
导入贴图文件
当导入贴图文件后,记得在内容浏览器之中点击 保存所有 按钮
在导入后,在内容浏览器双击进入详细信息,如果右侧的sRGB没有勾选记得勾选。
像是粗糙贴图,金属贴图,有的要进入设置让其不勾选这个sRGB。
Tga格式
可以理解为无损的png格式
为何内容浏览器与win系统文件名称不一致
在虚幻引擎的内容浏览器之中,content被虚幻内部的引擎显示为内容。
从虚幻引擎的商店之中添加资源
- 在虚幻引擎-》fab-》找到想要的模型
- 虚幻引擎-》库-》添加到工程
3.老版本在商品详细页面之中,点击添加到工程即可。
关于材质球
材质球 (Materials) 是贴图和模型之间的媒介,贴图需要通过着色器中原有的光照算法,将贴图中的数字信息和颜色信息转化为视觉效果并进行渲染。
材质编辑器
- 新建材质,在内容管理器之中,右键-》材质
- 双击材质进入编辑界面
- 每一个材质编辑界面都有一个 newmaterial,这相当于最终的结果,所有东西都要连接上面
- 在材质编辑器界面,按键1加左键 调出一个int 数值, 2调出一个xy二维数值,3调出一个三维数值
- 简单连线调整数值来让其发生变化,alt删除连线,ctrl更改连线位置。
- 在虚幻内容管理器之中,可以把之前的贴图直接拽到材质编辑器里面。
- 可以将属性右键转换为参数,这样当 创建材质实例 的时候,属性将会属性化暴露在设置栏之中。
- 创建材质实例没有父材质那么多的参数连线。
- 在材质编辑器之中,按下u键+鼠标左键,创建缩放节点。
- m键盘,调出乘法节点
- 将缩放节点连上乘法节点1,再次按键1加左键,调出int数值节点,连上乘法节点2,暴露数值节点,使其属性化,连接纹理节点,正常输出。在材质实例里面属性化修改缩放。
扩展补充
Metallic,灰度贴图,可以视为一个遮罩,表示金属成分的占比:1表示100%的存金属,0表示100%的非金属。在材质设计时,你可以通过这个材质是否 “导电” 来判断是否为它添加金属度,如果渲染木头等不导电的材质,那么金属度 (Metallic) 接近 0;如果渲染钢铁等可以导电的材质,那么金属度接近 1。
法线贴图是一种用于增强三维模型表面细节和真实感的图像,它通过在每个像素上存储法线信息的纹理贴图,使表面看起来更为复杂,而实际上模型的几何结构并没有改变。
连续四方贴图是一种在计算机图形学中用于纹理映射的技术,在平面设计中可用于生成无缝背景纹理
光照系统设置
如何添加一个光源
菜单栏-》第四个图标(快速添加到项目)-》光源
点光源
迷你太阳,可以这样类比点光源的光线
强度 属性 光源的亮度
衰减半径 属性 光的范围
源半径 属性 影响影子的虚实
聚光源
射灯,可以这样类比聚光源的光线
锥体外部角度 属性 调整锥体光源的开口
矩形光源
平面的射灯,可以这样类比聚光源的光线
挡光板角度 属性,调整光线边缘的柔和程度
挡光板长度 属性,调整光线的长短范围
环境光照
1.定向光源
2.天空光源
环境光混合器
菜单栏最上方-》窗口-》环境光照混合器
环境光源混合器(Environment Light Mixer)是一个编辑器窗口,你可以在其中创建和编辑关卡的天空、云、大气光源和天空光照的环境光照组件。
在这里可以
创建天空光照、创建大气光源、创建天空大气、创建体积云、创建高度雾。
而直接在快速添加到项目里面笼统的将上述内容统一为天空光照了
平行光,定向光源,太阳光,大气光源
移动太阳光角度
在 大纲之中,选中太阳光,按下e,移动角度
选中后按下ctrl+L,移动角度
Hdrl光源背景
编辑-》插件,HDRIxxxx
菜单栏-》第四个图标(快速添加到项目)-》光源-》hdrl背景
通常将高动态范围(HDR)图像作为背景,能在视觉丰富的情境下最有效地展示模型。把 HDR 图像用于产品可视化背景,优势在于设置相对较快、可自定义,且能获得精美的光照和反射效果。不过,仅把 HDR 图像当背景还不够。为达到合理效果,在 HDR 图像环境中,需用假的背景平面捕捉阴影,当物体被照亮时,阴影会投射到假平面上,从而在可视化放置物体和背景之间营造一致性。
后期盒
菜单栏-》第四个图标(快速添加到项目)-》视觉效果postpxxx
(开启碰撞体积显示后能看见后期盒的体积,默认看不见?存疑)
Post Process Volume 是 Unreal 提供给创作者的一个非常有用的功能,不仅可以进行颜色的调制,还能进行特效的混合、视频输出时的电影效果处理,以及输出单帧照片时镜头的焦距调节。它是一种特殊的体积,可以放置在场景中的任何位置。
后期盒对全局的效果
细节-》后期处理体积设置—》无限范围
眼部适应
人的眼睛从隧道等暗处出来,会自动调整眼部细胞,在虚幻引擎为了模拟这种光线变化,设置出了自动曝光这样的效果
在后期盒里调整参数
Min EV100和MAX EV100,将其数值调整为0
Lumen
Lumen 是虚幻5引擎中的全动态全局光照和反射系统,它高质量地解决了全局动态光的问题,包含全动态的色彩溢出以及像间接照明、间接阴影的效果,并且支持无限的漫反射。
关闭lumen
选中后期盒 全局光照属性 取消勾选
选中后期盒 反射属性 取消勾选
静态烘焙
静态烘焙是指将场景中的光照信息(如阴影、全局光照等)预先计算并存储为贴图或其他形式的数据,在游戏运行时直接使用这些预计算的数据进行渲染,从而减少实时计算的负担,提高游戏性能。
地形系统设置
文件-新建关卡-》Basic(基本)
删除初始地面
左上角-》选项模式->地形
左侧地形页面->默认属性创建
这时候观察右侧大纲之中,多了一个landscape,可以理解为被优化过的网格体
雕刻工具
按住shift挖洞,右键创建山峰
雕刻工具的笔刷,
地形模式下-》雕刻-》笔刷类型-》alpha笔刷,可以创造出来比较随机且自然的效果
抹除笔刷
让凹凸的地形变成平整
平滑
让地形边缘处自然一些,像是被砂纸打磨过了一样
平整工具
选中一处地点,按住鼠标左键向前推,前面的地形高度将会变成按住鼠标左键的地形高度
快速调整笔刷大小
除了在笔刷设置之中-》笔刷尺寸
还也可以用键盘上的【】来快速实现调整笔刷大小
斜坡工具
在地形上创建斜坡,宽度和衰减属性尝试调试
侵蚀工具
侵蚀相当于是特化的平滑笔刷,不会圆润的那么明显
水利侵蚀
也是相当于特化平滑笔刷,但是边缘处理的更好
噪点工具
相当于在笔刷位置随机生成高度差
地形材质的创建与使用
- 首先创建一个文件夹,用来存放材质
- 在这个文件夹内创建一个材质
- 在新手包里面有一些自带的纹理与材质,(在内容侧滑菜单,添加过滤器,筛选材质与纹理)选中后拖入材质编辑器。
- 将草地的基础色贴图和法线贴图一起拿出来,还有石块和土地的材质与法线
- 教程之中,欧酱老师的使用的是
T_Ground_Grass_D:地表草地基础贴图
T_Ground_Grass_N:地表草地法线贴图
T_Ground_Gravel_D:地表沙砾基础贴图
T_Ground_Gravel_N:地表沙砾法线贴图
T_Rock_Basalt_D:岩石玄武岩基础贴图
T_Rock_Basalt_N:岩石玄武岩法线贴图
- 在材质编辑器里面,右键,搜索makemate(会在材质属性->里面找到makematexxxx一堆的英文,直译过来色是创建材质属性。会发现创建材质属性与编辑器默认的输出接口节点差不多)。
- 创建三个makematexxxx节点,材质与法线的rgb输出口连接上makematexxx材质(basecolor)与法线(Normal)
- 在材质编辑器之中,右键在创建一个landscape layer blend。
(这个节点可以用作多个纹理,材质混合到一起,暂时叫他材质混合节点好了)
- 选中该节点后,在左侧调整属性图层哪里创建三个图层(图层-》引索-》图层名称)
- 点击材质编辑器最终的输出口,在左侧属,材质->找到使用材质属性,勾选
(这时候材质求球观测起来像是黑色一样)
- 在材质编辑器之中,按住u键,在此点击左键。(这里被我玩出bug了,要是失灵了,右键搜索texcoord)创建一个uv空间缩放,之前有用到过。
- 在材质编辑器之中,按下m键,创建一个乘法节点,之前有用到过。(或者右键multiply)
- 在材质编辑器之中,按下s键加上鼠标左键,创建一个一维节点。(或者右键scalarparameter)
- 将空间缩放连接到乘法节点A,一维常量节点连接到B,输出端口连接到各个材质与法线的uvs输入端。从这乘法接口飞出好多条线,去链接各个法线与材质的输入端口的(UVs)
- 之后点击上方菜单栏左上角第三个应用
- 返回地编,这时候会发现这个新建的材质表面有一个※号,我们点击一下内容浏览器的保存所有。
- 找到材质球,右键创建一个实例材质。(点击一下保存所有)
- 在 大纲面板 之中找到地形lan开头那个,细节面板 之中找到 地形材质,将实例材质拖入。
- 回到地形模式,地形模式 ->绘制 标签栏
- 目标层-》层-》从指定材质创建层
//这里研究了将近2小时作用,老版本直接出现层,不需要20步骤,新版本有一个问题,目前没有教程说过,因为虚幻五采用的是响应式的布局,当笔记本默认分辨率的时候,这个 从指定材质创建层是隐藏的,只有手动调整 地形 页面的宽度,这时候,才会出现,问题是,就算出现了,也不会有人联想到,因为目前的市面上绝大多数教程,虽然是虚幻5,但不是最新版本,大多数没有这一步,直接就会出现层了,要没有钻研精神,就到此为止了。
植被系统
在左上角模式里面切换到植被系统
一般把植被系统和地形系统统一称之为景观模块
找点植被资产 我找的的是虚幻引擎的Plants Pack
将植被模型拖入到植被类型里面。(左下方)
在植物模式的绘制工具下,勾选植被,然后像是之前学的地编一样绘画。
植被绘制密度
绘制-》笔刷选项-》绘制密度。调整区域笔刷的密度。密度越高植物越多。
绘制-》绘制-》密度—》也可以调整区域内的植物数量。
两者的关系是,单位区域的植被数量等于,在上方笔刷选项->笔刷尺寸和绘制密度乘以在绘制工具的绘制属性里面密度。
多植物绘制
绘制工具支持使用多个植物一起绘制,按住shifit或者ctrl选中植被。
植物的随机大小
绘制工具还支持绘制植物的随即大小。绘制->缩放x
对其法线植物
绘制工具还支持放置植物的朝向改变,默认开启对齐到法线,即植物沿着地表的法线摆放。
在绘制工具->放置->对其法线。即可关闭与开启。
关闭后植被将会直直的向上
一般情况下,植物,小草之类的会开启,大树之类的会关闭
其他工具
选择(选择)
选择单独的植被实例。你可以按住 Ctrl 键来选择多个植被网格体。
全部(全部)
选择所有植被实例。
取消选择(取消选择)
清除当前选中项。
无效(无效)
选择所有无效的植被实例。
套索(Lasso)
在使用笔刷绘制时,选中所有与当前所选植被类型相同的植被实例。
绘制(Paint)
绘制所选植被类型的实例。在绘制时按住 Shift 键来擦除所选植被类型的实例。
Lod技术
在选中模型后,双击进入虚幻自带的模型编辑器
在这里可以调整lod
Lod是一种优化机制,这会使远处的物体面数减少,用来优化游戏的。
在游戏开发,优化时,这很重要而且好用,而在用于制作CG美术片段等等时候就是负优化了。
LOD技术,即多细节层次,是一种根据物体模型在显示环境中的位置和重要度来决定渲染资源分配的技术。它通过降低非重要物体的面数和细节度,实现高效率的渲染运算。
调整lod
进入虚幻自带的模型编辑器后,右侧,lod设置属性,将默认的lod数量5,调整为0。应用改动。
Naite
Nanite是虚幻引擎5的虚拟化几何体系统,它采用全新的内部网格体格式和渲染技术来渲染像素级别的细节以及海量对象。它可以智能地仅处理你能够感受到的细节。另外,Nanite采用高度压缩的数据格式,并且支持具有自动细节级别的细粒度流送。
简单来说
他会自动优化自身模型面数,即便是数百面的扫描模型,也可以通过nanite做到近乎无损的样子
不需要像是传统去创建减面模型(lod)
开启方法
进入虚幻自带的模型编辑器,右侧属性。
Nanite设置,启用nanite支持,如果是树木等模型,最好同时开启 保留区域 属性
//树木模型,不开启保留区域,那么远处看起来就光秃秃的树枝。
记得点击 应用变更 按钮
导入nanite模型
导入资产的时候可以在网格体-》编译nanite【】勾选。
当确定我们要使用nanite模型时候,可以就在此时不勾选网格体-》生成光照贴图【】了。
这样可以节省一些资源,就不走牢一辈的烘焙流程了
快速开启nanite
在内容浏览器的时候,右键模型,nanite。
可以快速浏览是否开启了nanite。
快速关闭nanite
可在大纲 里面找到模型,在细节之中搜索nanite。
里面有一个不启用nanite
虚拟阴影贴图
虚拟阴影贴图(VSM)是一种全新的阴影贴图方法,可以提供稳定的高分辨率阴影。通过与虚幻引擎5的Nanite虚拟几何体、Lumen全局光照和反射以及世界分区功能结合使用,它能够实现电影级的品质效果,为大型开放场景提供光照。
开启VSM
左上角编辑-》项目设置-》渲染-》阴影-》阴影贴图方式-》虚拟阴影贴图
关于光线追踪和VSM的影响
如果在创建时候,勾选了光线追踪,那么在左上角编辑-》项目设置-》渲染-》haedwxxxx-》光线追踪xxx。会看见非常多斑点状的黑斑块。
贴花材质(岩石贴花)
可以在物体表面贴画,像是涂鸦一样,是一种特殊材质。
摄像机拓展
- 选择模式下左上方第四个,快速添加到项目。
- 过场动画-》电影摄像机
- 窗口-》视口-》视口2
- 在视口2里面点击左上的透视-》选择步骤2创建的摄像机
- 在 大纲 里面找到刚才创建的摄像机,在 细节 之中。
体积雾
1.高度雾(exponentialhaxxxx)里面,勾选体积雾-》体积雾。
2.调整灯光体积散射强度。
3.这样会营造出类似于丁达尔效应的效果
4.创建一个长方体,拉长,让长方体配置上随便一个植物材质效果,这样就会创建一个满是洞的长方体,配合灯光创造出一条一条的灯光效果。
相关文章:
虚幻引擎入门笔记
【虚幻5】UE5新手入门尝试 虚幻引擎的基础设置 1.验证-当文件误删的时候,对其进行验证,可以恢复。 2.虚幻引擎极其强大,可以实现多种复合技能,所在创建项目页面可以看见不只是创建游戏的项目 3.更改虚幻引擎默认的缓存地址。有些…...
Oracle 11g通过dg4odbc配置dblink连接神通数据库
1、安装unixodbc 2、安装神通数据库 3、 配置神通数据库odbc数据源,测试连通性 4、配置透明网关、监听文件以及对应编写的hsodbc的ora文件,我这里是initst.ora ##对应编写的hsodbc的ora文件 vim $ORACLE_HOME/hs/admin/initst.ora ##添加如下 HS_FDS_CO…...
2.2 矩阵
考点一:方阵的幂 1. 计算方法 (1) 找规律法 适用场景:低阶矩阵或具有周期性规律的矩阵。示例: 计算 A ( 0 1 1 0 ) n A \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}^n A(0110)n: 当 n n n 为奇…...
Linux《进程概念(下)》
在之前我们已经了解了进程基本的概念、知道了如何去创建子进程;还了解了进程状态、进程切换、进程O(1)调度算法等,那么接下来在本篇当中我们就来学习环境变量和程序地址空间的相关知识,相信通过本篇的学习你会有很大的所获,一起加…...
MySQL 比较运算符详解
(1)符号类型运算符 运算符名称作用示例等于运算符判断两个值、字符串或表达式是否相等SELECT * FROM users WHERE age 25SELECT name FROM products WHERE category Electronics<>安全等于运算符安全地判断两个值、字符串或表达式是否相等&…...
No qualifying bean of type ‘XXX‘ available
没有某类型的bean可供使用 问题一解决方案错误问题配置类YuApiClientConfig依赖导入测试方法 问题二解决方法问题现场问题解决 问题一 Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘com.transbit.yuapiclientsd…...
手搓一个 MCP Server 实现水质在线数据查询
随着人工智能技术的快速发展,如何将大语言模型(LLM)与实际业务场景结合,提供精准、可控的服务成为一个热门话题。MCP(Model Context Protocol)作为一种开放协议,为应用程序向 LLM 提供标准化的上下文接口,极大地简化了这一过程。本文将以构建一个水质在线查询 MCP 服务…...
neo4j初尝试
neo4j 下载并安装 这里以ubuntu 下载为例 打开neo4j官网,如下图所示,找到下载中心 选择 每个人可以根据自己的系统进行下载。然后解压tar -xf neo4j-community-2025.04.0-unix.tar.gz,如果不出意外的话,这里就可以直接输入命令启动了&#…...
数据分析业务拆解底层思维
业务拆解 分析前要有方法,从用户体验入手,将业务拆解,找到对象以及对象之间的关系。 电商平台卖的不是用户时间,不是流量,而是机会,而作为一个分析师就得分析机会在哪,帮助平台将机会更好的提…...
Linux运维——Vim技巧一
Vim技巧 一、优化重复操作1.1、 . 命令1.2、* 命令1.3、重复修改示例 二、删除单词(daw)三、对数字做算数运算四、操作符与动作五、插入模式5.1、插入模式下删除5.2、返回普通模式5.3、插入-普通模式5.4、不离开插入模式,粘贴寄存器中的文本5…...
第一节:OpenCV 基础入门-简介与环境搭建
一、OpenCV 是什么?为什么值得学习? OpenCV(Open Source Computer Vision Library) 是一个开源的计算机视觉和机器学习库,由英特尔实验室于1999年发起,现已成为全球计算机视觉领域最广泛使用的工具之一。它…...
前端面经-VUE3篇(二)--vue3组件知识(一)组件注册、props 与 emits、透传、插槽(Slot)
组件允许我们将 UI 划分为独立的、可重用的部分,并且可以对每个部分进行单独的思考。在实际应用中,组件常常被组织成一个层层嵌套的树状结构: 一、注册 Vue 组件本质上是一个可以复用的 自定义 HTML 元素,为了在其他组件中使用一…...
Python的简单练习
两数的最大公约数 def gcd(a, b):while b ! 0:a, b b, a % breturn a# 示例 a 36 b 60 print(f"{a} 和 {b} 的最大公约数是: {gcd(a, b)}") while b ! 0: while:是 Python 的 循环语句,意思是“当...的时候一直重复做某事”。 b ! 0&am…...
ipvsadm,是一个什么工具?
1. ipvsadm 是什么? ipvsadm(IP Virtual Server Administration)是 Linux 内核中 IPVS(IP Virtual Server) 模块的管理工具,用于配置和监控内核级的负载均衡规则。它是 Kubernetes 中 kube-proxy 在 IPVS …...
QT6 源(72):阅读与注释单选框这个类型的按钮 QRadioButton,及各种属性验证,
(1)按钮间的互斥: (2)源码来自于头文件 qradiobutton . h : #ifndef QRADIOBUTTON_H #define QRADIOBUTTON_H#include <QtWidgets/qtwidgetsglobal.h> #include <QtWidgets/qabstractbutton.h>…...
Qt 中实现观察者模式(Observer Pattern)
在 Qt 中实现**观察者模式(Observer Pattern)通常利用其内置的信号与槽(Signals & Slots)**机制,这是最符合 Qt 设计哲学的方式。以下是详细实现方法和关键点: —### 1. 观察者模式的核心思想- Subject(被观察者):维护一个观察者列表,在状态变化时通知观察者。- …...
Vue3源码学习5-不使用 `const enum` 的原因
文章目录 前言✅ 什么是 const enum❌ 为什么 Vue 3 不使用 const enum1. 📦 **影响构建工具兼容性**2. 🔁 **难以做模块间 tree-shaking**3. 🧪 **调试困难**4. 📦 **Vue 是库,不掌控用户配置** ✅ 官方推荐做法&…...
自己部署后端,浏览器显示久久未响应
CIDER地址写错了,应该要写成0.0.0.0/0 。。。。...
【RocketMQ NameServer】- NettyEventExecutor 处理 Netty 事件
文章目录 1. 前言2. NettyEventExecutor 线程3. NettyEvent 是怎么来的4. NettyEventExecutor 线程处理不同事件的逻辑4.1 IDLE\CLOSE\EXCEPTION - onChannelIdle4.2 CONNECT - onChannelConnect 5. 小结 本文章基于 RocketMQ 4.9.3 1. 前言 【RocketMQ】- 源码系列目录 上一…...
JAVA刷题记录: 递归,搜索与回溯
专题一 递归 面试题 08.06. 汉诺塔问题 - 力扣(LeetCode) class Solution {public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) {dfs(A, B, C, A.size());}public void dfs(List<Integer> a, List<In…...
【进阶】C# 委托(Delegate)知识点总结归纳
1. 委托的基本概念 定义:委托是一种类型安全的函数指针,用于封装方法(静态方法或实例方法)。 核心作用:允许将方法作为参数传递,实现回调机制和事件处理。 类型安全:委托在编译时会检查方法签…...
推理能力:五一模型大放送
--->更多内容,请移步“鲁班秘笈”!!<--- 近日人工智能领域迎来了一波密集的模型发布潮,多家科技巨头和研究机构相继推出了具有突破性特点的AI模型。这些新模型在参数规模、计算效率、多模态能力以及推理能力等方面都展现出…...
数据库=====
创建数据库 1.直接创建数据库 语法:CREATE DATABASE [IF NOT EXISTS] 数据库名 ——[]表示内部内容可省略 2.指定字符集和排序规则方式创建数据库 语法:CREATE DATABASE[IF NOT EXISTS] 数据库名 CHARACTER SET 字符集 COLLATE 排序规则 示例:…...
VITA STANDARDS LIST,VITA 标准清单下载
VITA STANDARDS LIST,VITA 标准清单下载 DesignationTitleAbstractStatusVMEbus Handbook, 4th EditionA users guide to the VME, VME64 and VME64x bus specifications - features over 70 product photos and over 160 circuit diagrams, tables and graphs. The…...
npm pnpm yarn 设置国内镜像
国内镜像 常用的国内镜像: 淘宝镜像 https://registry.npmmirror.com 腾讯云镜像 https://mirrors.cloud.tencent.com/npm/ 华为云镜像 https://repo.huaweicloud.com/repository/npm/ CNPM(阿里系) https://r.cnpmjs.org/ 清华…...
互联网大厂Java面试:从Spring到微服务的技术探讨
场景:互联网大厂Java求职者面试 在一家知名的互联网大厂面试中,面试官王严肃正在面试一位名叫谢飞机的程序员。谢飞机以其独特的幽默感而闻名,但在技术面前,他的能力能否得到认可呢? 第一轮提问:核心技术…...
[machine learning] Transformer - Attention (二)
本文介绍带训练参数的self-attention,即在transformer中使用的self-attention。 首先引入三个可训练的参数矩阵Wq, Wk, Wv,这三个矩阵用来将词向量投射(project)到query, key, value三个向量上。下面我们再定义几个变量: import torch inpu…...
Java多语言DApp质押挖矿盗U源码(前端UniApp纯源码+后端Java)
内容: 这款Java多语言DApp质押挖矿盗U源码提供了完整的前端与后端开发框架,适用于区块链应用开发。系统包括: 前端源码(UniApp):采用UniApp开发,跨平台支持iOS、Android及H5。界面简洁…...
如何解决 403 错误:请求被拒绝,无法连接到服务器
解决 403 错误:请求被拒绝,无法连接到服务器 当您在浏览网站或应用时,遇到 403 错误,通常会显示类似的消息: The request could not be satisfied. Request blocked. We can’t connect to the server for this app o…...
CGI(Common Gateway Interface)协议详解
CGI(通用网关接口)是一种标准化的协议,定义了 Web服务器 与 外部程序(如脚本或可执行文件)之间的数据交互方式。它允许服务器动态生成网页内容,而不仅仅是返回静态文件。 1. CGI 的核心作用 动态内容生成&a…...
HybridCLR 详解:Unity 全平台原生 C# 热更新方案
HybridCLR(原 Huatuo)是 Unity 平台革命性的热更新解决方案,它通过扩展 Unity 的 IL2CPP 运行时,实现了基于原生 C# 的完整热更新能力。下面从原理到实践全面解析这一技术。 一、核心原理剖析 1. 技术架构 原始 IL2CPP 流程&am…...
电脑RGB888P转换为JPEG方案 ,K230的RGB888P转换为JPEG方案
K230开发板本身具备将RGB888P转换为JPEG的能力,但需要正确调用硬件或软件接口。以下是具体分析及解决方案: 一、K230原生支持性分析 1. 硬件支持 K230的NPU(神经网络处理器)和图像处理单元(ISP)理论上支持…...
基于SpringBoot+Vue实现的电影推荐平台功能三
一、前言介绍: 1.1 项目摘要 2023年全球流媒体用户突破15亿,用户面临海量内容选择困难,传统推荐方式存在信息过载、推荐精准度低等问题。传统推荐系统存在响应延迟高(平均>2s)。随着互联网的快速发展,…...
NHANES指标推荐:triglyceride levels
文章题目:Association between triglyceride levels and rheumatoid arthritis prevalence in women: a cross-sectional study of NHANES (1999-2018) DOI:10.1186/s12905-025-03645-y 中文标题:女性甘油三酯水平与类风湿性关节炎患病率之间…...
打印Activity的调用者
有时候我们会发现自己应用中的某个Activity被陌名奇妙的打开了,但是不知道是哪里的代码打开的,此时可以打印Activity的调用堆栈,在Activity的onCreate函数中添加如下代码: Arrays.stream(Thread.currentThread().getStackTrace()…...
深入解析 SqlSugar 与泛型封装:实现通用数据访问层
在现代软件开发中,ORM(对象关系映射)框架的使用已经成为不可或缺的部分,SqlSugar 是一款非常流行且强大的 ORM框架。它不仅提供了简单易用的数据库操作,还具备了高效的性能和灵活的配置方式。为了进一步提升数据库操作…...
普通 html 项目引入 tailwindcss
项目根目录安装依赖 npm install -D tailwindcss3 postcss autoprefixer 初始化生成tailwind.config.js npx tailwindcss init 修改tailwind.config.js /** type {import(tailwindcss).Config} */ module.exports {content: ["./index.html"], //根据自己的项目…...
Go小技巧易错点100例(二十七)
本期分享: 1. Go语言中的Scan函数 2. debug.Stack()打印堆栈信息 3. Go条件编译 正文: Go语言中的Scan函数 在Go语言中,Scan函数是一个强大的工具,它主要用于从输入源(如标准输入、文件或网络连接)读取…...
单细胞测序数据分析流程的最佳实践
单细胞测试数据分析流程是整个论文数据分析过程中相对固定的部分,有一定的标准流程,以下整理了发表论文的相关内容供简要了解,详细内容可以参照2019年发表的综述:Luecken MD, Theis FJ. Current best practices in single-cell RN…...
Elasticsearch:RAG 和 grounding 的价值
作者:来自 Elastic Toms Mura 了解 RAG、grounding,以及如何通过将 LLM 连接到你的文档来减少幻觉。 更多阅读:Elasticsearch:在 Elastic 中玩转 DeepSeek R1 来实现 RAG 应用 想获得 Elastic 认证吗?查看下一期 Elast…...
经典算法 求解台阶问题
求解台阶问题 题目描述 实现一个算法求解台阶问题。介绍如下: 对于高度为 n 的台阶,从下往上走,每一步的阶数为 1、2 或 3 中的一个。问要走到顶部一共有多少种走法。 输入描述 输入一个数字 N: 1 ≤ N ≤ 35表示台阶的高度 …...
伊甸园之东: 农业革命与暴力的复杂性
农业革命的开始 农业革命是人类历史上的第一次重大经济和社会变革,标志着人们从狩猎采集转向农耕。 该变革虽然进展缓慢,却彻底改变了人类的生活方式和社会结构。狩猎采集社会的特征 狩猎采集者生活在小规模、低密度的部落中,依赖于不稳定的自…...
MCP多智能体消息传递机制(Message Passing Between Agents)
目录 🚀 MCP多智能体消息传递机制(Message Passing Between Agents) 🌟 为什么要引入消息传递机制? 🏗️ 核心设计:Agent间消息传递模型 🛠️ 1. 定义标准消息格式 Ὦ…...
Deformable DETR模型解读(附源码+论文)
Deformable DETR 论文链接:Deformable DETR: Deformable Transformers for End-to-End Object Detection 官方链接:Deformable-DETR(这个需要在linux上运行,所以我是用的是mmdetection里面的Deformable DERT,看了一下源码基本是…...
游戏引擎学习第255天:构建配置树
为今天的内容设定背景 今天的任务是构建性能分析(profiling)视图。 目前来看,展示性能分析图形本身并不复杂,大部分相关功能在昨天已经实现。图形显示部分应该相对直接,工作量不大。 真正需要解决的问题,是…...
JavaScript性能优化实战之调试与性能检测工具
在进行 JavaScript 性能优化时,了解和使用正确的调试与性能检测工具至关重要。它们能够帮助我们识别性能瓶颈,精确定位问题,并做出有针对性的优化措施。本文将介绍一些常见的调试和性能检测工具,帮助你更好地分析和优化你的 JavaScript 代码。 1️⃣ Chrome DevTools Chro…...
C#VisionMaster算子二次开发(非方案版)
前言 在网上VisionMaster的教程通常都是按照方案执行的形式,当然海康官方也是推荐使用整体方案的形式进行开发。但是由于我是做标准设备的,为了适配原有的软件框架和数据结构,就需要将特定需要使用的算子进行二次封装。最直接的好处是&#…...
计算机总线系统入门:理解数据传输的核心
一、总线系统简介:计算机内部的交通网络 在计算机系统中,总线是指连接各个组件的一组共享信号线或传输通道,用于在系统内不同的硬件模块之间传递数据、地址、控制信号等信息。它类似于交通系统中的道路,帮助计算机各个部件&#…...
【Linux】Petalinux驱动开发基础
基于Petalinux做Linux驱动开发。 部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。 专栏目录:记录自己的嵌入式学习之路-CSDN博客 目录 1 一个完整的Linux系统(针对Zynq) 1.1 PS部分 1.2 PL部分(若…...
提升办公效率的PDF转图片实用工具
软件介绍 这款专注于PDF文档处理的工具功能单一但实用,能够将PDF文件内容智能提取并自动拼接成长图,为用户提供便捷的图片化文档处理方案,无需复杂设置即可轻松上手。 简洁直观的用户界面 软件界面设计简洁清爽,没有任何多余…...