虚幻引擎入门笔记

【虚幻5】UE5新手入门尝试

虚幻引擎的基础设置

1.验证-当文件误删的时候,对其进行验证,可以恢复。

2.虚幻引擎极其强大,可以实现多种复合技能,所在创建项目页面可以看见不只是创建游戏的项目

3.更改虚幻引擎默认的缓存地址。有些电脑的c盘空间较小,系统默认的缓存可能影响,在文件管理器之中选择隐藏的项目,这时候可以查看到隐藏的项目。C:\Users\用户名\AppData\Local\UnrealEngine\Common\DerivedDataCache

创建一个虚幻引擎项目

  1. 启动引擎-游戏-空白-项目设置
    1. 蓝图-桌面-最大-初学者内容包(初步学习不考虑光线追踪)

认识虚幻引擎的界面

1.菜单栏下方第一行,依次是【保存】,【模式选择】,【添加资源】,【设置蓝图类】,【镜头设置】,【运行模块】,【平台打包】 ,【设置】

2.世界场景设置,设置-》世界场景设置,默认不显示,最好打开。

3.最左侧,大纲,横向对比(cocos的层级管理器),所有的actor都可以在大纲之中找到,并且在{细节}里面属性里面进行更多设置。

摄像窗口的移动

  1. 按住鼠标右键+  wsad 按键进行移动,qe进行上下。
  2. 在右上方的摄像机图标进行移动速度的修改。
  3. 左上方的三道杠,勾选显示fps,可显示帧率,用于判定当前对于设备的负载。
  4. 左上方三道杠旁边的是【透视】【光照】用于切换相机的状态,与显示的效果。
  5. 左上方最后一个,【显示】,在这里可以对场景进行进行设置,让其显示什么,比如不勾选云,那么就看不见云了。
  6. 左下角的三位坐标轴。

内容浏览器

Ctrl+空格 调出来内容浏览器,默认收起。

或者点击左下角【内容浏览器】

创建和移动物体

放置物体有两种方法

  1. 在页面栏左侧第三个,添加物体
  2. 在内容浏览器之中,添加物体。灵活使用筛选器。

让物体放置到地面

选中物体后,抬起来,之后按下end。

让物体旋转

快捷键E,也可以在右上方菜单栏第八个功能栏选取特定的目标

世界坐标轴与本地坐标轴

选中物体后,可以在右上方第七个来确定是坐标轴使用世界坐标轴还是本地坐标轴。

对齐表面

选中物体后,可以在右上方第六个来选择是否要对其表面。

比如说创建一个斜坡,让物体在其上,开启之后会形成一定角度在表面而不是直接进去了。

吸附到表面拓展:开启后,往场景里面拖动静态网格体时候会吸附到物体的表面。关闭状态下扔到场景里面可能会导致穿模等问题。也可以在吸附表面属性里面进行设置,比如离吸附面的高度

等比移动吸附

选中物体后,可以在右上方第五个来选择是否要移动时候吸附看不见的表格,开启后会等比例移动。

等比旋转吸附

选中物体后,可以在右上方第四个来确定每次最小旋转角度是多少。

快速聚焦物体

在大纲之中,选中物体,然后按下F,这样就会快速定位到物体。

在浏览模式下放大观看物体与缩小看

按住鼠标左键和C就能放大视口,z键是缩小

等比缩放吸附

中物体后,可以在右上方第3个来设置缩放的吸附比例。

最大化或恢复此窗口

在此处可以看见为渲染前,接近数据的视口,点后变成四个,先要恢复在左上方窗口再点击一次。

随着物体移动而移动镜头

按住shift加移动。镜头位置也会移动好像周围在动,物体静止。

查看碰撞体积

左上角第四个 show(显示)    

collision 碰撞体积 (中文显示为碰撞)勾选

复制模型

1.按住alt加拖拽

2.ctrl+d(有一定的偏移)

选中多个物体

按住ctrl

更改选中多个物体时候的轴位置

按住鼠标中键拖动轴心

替换物体

选中物体后,在 细节 之中找到静态网格体,在内容浏览器之中,选中资源。在细节之中,点击静态网格体旁边的箭头。

更改物体的缩放

在默认情况下,物体的xyz等比例缩放,要想单独修改,可在 细节-》变换-》缩放,取消锁

让空项目出现别的游玩模式

  1. 在内容管理器之中-》添加-》添加功能及其内容包
  2. 世界场景设置->游戏模式重载-

书签

按下Ctrl+4~9在一个位置上设置书签,再次按下时候更新书签位置,使用时候按下数字键盘对应的数字即可。方便开发过程中标记关卡位置,无需费力查询

删除书签:左上角三条杠 bookmarks/clear bookmarks【选择要删除的书签】

游戏试视图

游戏视图。按键G。这时候显示的是游戏运行时候的视角,但和运行时候不一样,一些玩家不该看见的东西就不见了,比如光照在物体模式会看见小球

全屏显示

快捷键f11,再按一次退出

游戏引擎自带的截图

左上角三条杠 hight resolution xxx(高分辨率截图)

导入模型资产

1如果需要我们导入后仍然能确保正确的位置,需要保保证模型的轴心点为0.0.0

2.不是所有的模型都适合将轴向归到自身中心底部,要看具体的情况判断。比如地板

  1. 进阶吸附操作,按住v键,去拖动模型吸附点的轴向,这样可以针对一些模型的角点进行对齐,方便我们进行更精确的对齐操作。

blender模型导出与虚幻引擎运用

  1. blender左上角-》文件—》导出-》fbx格式
  2. 在导出之前,把模型合并好并放置到世界原点上方,保证0.0.0在模型的下面的中心位置。
  3. 虚幻引擎之中内容管理器-》导入,选中模型。

fbx格式是什么

Fbx格式是三维通用模型格式。

导入贴图文件

当导入贴图文件后,记得在内容浏览器之中点击 保存所有 按钮

在导入后,在内容浏览器双击进入详细信息,如果右侧的sRGB没有勾选记得勾选。

像是粗糙贴图,金属贴图,有的要进入设置让其不勾选这个sRGB。

Tga格式

可以理解为无损的png格式

为何内容浏览器与win系统文件名称不一致

在虚幻引擎的内容浏览器之中,content被虚幻内部的引擎显示为内容。

从虚幻引擎的商店之中添加资源

  1. 在虚幻引擎-》fab-》找到想要的模型
  2. 虚幻引擎-》库-》添加到工程

3.老版本在商品详细页面之中,点击添加到工程即可。

关于材质球

材质球 (Materials) 是贴图和模型之间的媒介,贴图需要通过着色器中原有的光照算法,将贴图中的数字信息和颜色信息转化为视觉效果并进行渲染。

材质编辑器

  1. 新建材质,在内容管理器之中,右键-》材质
  2. 双击材质进入编辑界面
  3. 每一个材质编辑界面都有一个 newmaterial,这相当于最终的结果,所有东西都要连接上面
  4. 在材质编辑器界面,按键1加左键 调出一个int 数值, 2调出一个xy二维数值,3调出一个三维数值
  5. 简单连线调整数值来让其发生变化,alt删除连线,ctrl更改连线位置。
  6. 在虚幻内容管理器之中,可以把之前的贴图直接拽到材质编辑器里面。
  7. 可以将属性右键转换为参数,这样当 创建材质实例 的时候,属性将会属性化暴露在设置栏之中。
  8. 创建材质实例没有父材质那么多的参数连线。
  9. 在材质编辑器之中,按下u键+鼠标左键,创建缩放节点。
  10. m键盘,调出乘法节点
  11. 将缩放节点连上乘法节点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笔刷,可以创造出来比较随机且自然的效果

抹除笔刷

让凹凸的地形变成平整

平滑

让地形边缘处自然一些,像是被砂纸打磨过了一样

平整工具

选中一处地点,按住鼠标左键向前推,前面的地形高度将会变成按住鼠标左键的地形高度

快速调整笔刷大小

除了在笔刷设置之中-》笔刷尺寸

还也可以用键盘上的【】来快速实现调整笔刷大小

斜坡工具

在地形上创建斜坡,宽度和衰减属性尝试调试

侵蚀工具

侵蚀相当于是特化的平滑笔刷,不会圆润的那么明显

水利侵蚀

也是相当于特化平滑笔刷,但是边缘处理的更好

噪点工具

相当于在笔刷位置随机生成高度差

地形材质的创建与使用

  1. 首先创建一个文件夹,用来存放材质
  2. 在这个文件夹内创建一个材质
  3. 在新手包里面有一些自带的纹理与材质,(在内容侧滑菜单,添加过滤器,筛选材质与纹理)选中后拖入材质编辑器。
  4. 将草地的基础色贴图和法线贴图一起拿出来,还有石块和土地的材质与法线
  5. 教程之中,欧酱老师的使用的是

T_Ground_Grass_D:地表草地基础贴图

T_Ground_Grass_N:地表草地法线贴图

T_Ground_Gravel_D:地表沙砾基础贴图

T_Ground_Gravel_N:地表沙砾法线贴图

T_Rock_Basalt_D:岩石玄武岩基础贴图

T_Rock_Basalt_N:岩石玄武岩法线贴图

  1. 在材质编辑器里面,右键,搜索makemate(会在材质属性->里面找到makematexxxx一堆的英文,直译过来色是创建材质属性。会发现创建材质属性与编辑器默认的输出接口节点差不多)。
  2. 创建三个makematexxxx节点,材质与法线的rgb输出口连接上makematexxx材质(basecolor)与法线(Normal)
  3. 在材质编辑器之中,右键在创建一个landscape layer blend。

这个节点可以用作多个纹理,材质混合到一起,暂时叫他材质混合节点好了)

  1. 选中该节点后,在左侧调整属性图层哪里创建三个图层(图层-》引索-》图层名称)
  2. 点击材质编辑器最终的输出口,在左侧属,材质->找到使用材质属性,勾选

(这时候材质求球观测起来像是黑色一样)

  1. 在材质编辑器之中,按住u键,在此点击左键。(这里被我玩出bug了,要是失灵了,右键搜索texcoord)创建一个uv空间缩放,之前有用到过。
  2. 在材质编辑器之中,按下m键,创建一个乘法节点,之前有用到过。(或者右键multiply)
  3. 在材质编辑器之中,按下s键加上鼠标左键,创建一个一维节点。(或者右键scalarparameter)
  4. 将空间缩放连接到乘法节点A,一维常量节点连接到B,输出端口连接到各个材质与法线的uvs输入端。从这乘法接口飞出好多条线,去链接各个法线与材质的输入端口的(UVs)
  5. 之后点击上方菜单栏左上角第三个应用
  6. 返回地编,这时候会发现这个新建的材质表面有一个※号,我们点击一下内容浏览器的保存所有
  7. 找到材质球,右键创建一个实例材质。(点击一下保存所有)
  8. 在 大纲面板 之中找到地形lan开头那个,细节面板 之中找到 地形材质,将实例材质拖入。
  9. 回到地形模式,地形模式 ->绘制 标签栏
  10. 目标层-》层-》从指定材质创建层

//这里研究了将近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。会看见非常多斑点状的黑斑块。

贴花材质(岩石贴花)

可以在物体表面贴画,像是涂鸦一样,是一种特殊材质。

摄像机拓展

  1. 选择模式下左上方第四个,快速添加到项目。
  2. 过场动画-》电影摄像机
  3. 窗口-》视口-》视口2
  4. 在视口2里面点击左上的透视-》选择步骤2创建的摄像机
  5. 在 大纲 里面找到刚才创建的摄像机,在 细节 之中。

体积雾

1.高度雾(exponentialhaxxxx)里面,勾选体积雾-》体积雾。

2.调整灯光体积散射强度。

3.这样会营造出类似于丁达尔效应的效果

4.创建一个长方体,拉长,让长方体配置上随便一个植物材质效果,这样就会创建一个满是洞的长方体,配合灯光创造出一条一条的灯光效果。

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

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

相关文章

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】1.1 数据库核心概念与PostgreSQL技术优势

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 深度解析PostgreSQL核心架构与技术优势:从数据库原理到实战场景1.1 数据库核心概念与PostgreSQL技术优势1.1.1 关系型数据库核心架构解析1.1.1.1 数据库系统的底…

详解SLAM中的李群和李代数(上)

1 概述 最近阅读高翔大神的《视觉SLAM十四讲》这本书,感觉整本书写的非常的平实,用非常接地气的语言毫无保留的介绍了视觉SLAM的相关知识,非常值得一读。不过,在第4章出现的李群和李代数的相关概念就有点令人难以费解了。其实这段…

libevent库详解:高性能异步IO的利器

目录 一、libevent 简介 主要特点: 二、事件模型原理 1. event_base 2. event 3. evconnlistener(TCP监听器) 4. bufferevent 简化流程如下: 三、libevent 使用示例 1. 创建事件主循环 2. 创建监听器(TCP&a…

从 “零” 做个开源音乐软件“SteadyBeat”吧!<1> 准备

换换脑子,做个音乐软件,根据调性、和弦走向(情感)、节拍、速度等需求,结合AI和一众工具,自动生成伴奏、Solo等,有点像库乐队!自己平时也用得着,暂时取名叫《SteadyBeat》…

npm error code CERT_HAS_EXPIRED

npm error code CERT_HAS_EXPIRED 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人 擅长.net、C、python开发, 如果遇到技术问题,即可私…

数字世界的“私人车道“:网络切片如何用Python搭建专属通信高速路?

数字世界的"私人车道":网络切片如何用Python搭建专属通信高速路? 2024年6月,中国移动宣布在浙江某智能工厂完成全球首个"5G工业网络切片"规模商用——这条为生产线定制的"数字专属车道",将设备控制…

VSCode Verilog编辑仿真环境搭建

VSCode Verilog环境搭建 下载Iverilog安装Iverilog验证安装VS Code安装插件 下载Iverilog 官网下载Iverilog 安装Iverilog 一定要勾选这两项 建议勾选这两项 验证安装 运行Windows PowerShell输入命令:iverilog输入命令:Get-Command gtkwave …

C++ - 数据容器之 list(创建与初始化、元素访问、容量判断、元素遍历、添加元素、删除元素)

一、创建与初始化 引入 <list> 并使用 std 命名空间 #include <list>using namespace std;创建一个空 list list<int> my_list;创建一个包含 5 个元素&#xff0c;每个元素初始化为 0 的 list list<int> my_list(5);创建一个包含 5 个元素&#xf…

自动化测试项目1 --- 唠嗑星球 [软件测试实战 Java 篇]

目录 项目介绍 项目源码库地址 项目功能测试 1.自动化实施步骤 1.1 编写测试用例 1.2 自动化测试脚本开发 1.2.1 配置相关环境, 添加相关依赖 1.2.2 相关代码编写 2. 自动化功能测试总结 2.1 弹窗的解决相关问题 2.2 断言的使用和说明 2.3 重新登录问题 项目性能…

Codeforces Round 1022 (Div. 2)(ABC)

A. Permutation Warm-Up 翻译&#xff1a; 对于长度为 n 的排列 p&#xff0c;我们定义函数&#xff1a; 给你一个数 n。你需要计算函数 f(p) 在考虑从 1 到 n 的所有可能的数字排列时&#xff0c;可以取多少个不同的值。 思路&#xff1a; 按序排列时和为0&…

数据结构------C语言经典题目(6)

1.数据结构都学了些什么&#xff1f; 1.基本数据类型 算数类型&#xff1a; char&#xff08;字符&#xff09;、int&#xff08;整数&#xff09;、float&#xff08;单精度浮点数&#xff09;、double&#xff08;双精度浮点数&#xff09;等。 枚举类型&#xff1a; enum…

如何封装一个线程安全、可复用的 HBase 查询模板

目录 一、前言&#xff1a;原生 HBase 查询的痛点 &#xff08;一&#xff09;连接管理混乱&#xff0c;容易造成资源泄露 &#xff08;二&#xff09;查询逻辑重复&#xff0c;缺乏统一的模板 &#xff08;三&#xff09;多线程/高并发下的线程安全性隐患 &#xff08;四…

【中间件】bthread_基础_TaskControl

TaskControl 1 Definition2 Introduce**核心职责** 3 成员解析**3.1 数据结构与线程管理****3.2 任务调度与负载均衡****3.3 线程停放与唤醒&#xff08;ParkingLot&#xff09;****3.4 统计与监控** 4 **工作流程**5 **设计亮点**6 **使用场景示例**7 **总结**8 学习过程中的疑…

win11 终端 安装ffmpeg 使用终端Scoop

1、安装scoop (Windows 包管理器) Set-ExecutionPolicy RemoteSigned -Scope CurrentUser iwr -useb get.scoop.sh | iex 2、使用scoop来安装ffmpeg scoop install ffmpeg 3、测试一下ffmpeg&#xff0c;将Mp3文件转为Wav文件 ffmpeg -i A.mp3 A.wav 然后我们就看到A.wav生成…

力扣838.推多米诺随笔

“生活就像海洋&#xff0c;只有意志坚强的人&#xff0c;才能到达彼岸。”—— 马克思 题目 n 张多米诺骨牌排成一行&#xff0c;将每张多米诺骨牌垂直竖立。在开始时&#xff0c;同时把一些多米诺骨牌向左或向右推。 每过一秒&#xff0c;倒向左边的多米诺骨牌会推动其左侧…

超级好用的​​参数化3D CAD 建模​​图形库 (CadQuery库介绍)

CadQuery 库详细介绍​​ ​​CadQuery​​ 是一个基于 ​​Python​​ 的 ​​参数化 3D CAD 建模​​ 库&#xff0c;允许用户通过编写代码&#xff08;而不是传统 GUI&#xff09;来创建精确的 ​​3D 模型​​。它特别适用于 ​​自动化设计、机械工程、3D 打印​​ 等场景…

HBM的哪些事

命令操作 这也许是DDR往HBM演进的一些奇淫技巧。 本篇内容属于杂谈&#xff0c;关于HBM的奇淫技巧&#xff0c;随后出专题介绍。

Python基于深度学习的网络舆情分析系统(附源码,部署)

大家好&#xff0c;我是Python徐师兄&#xff0c;一个有着7年大厂经验的程序员&#xff0c;也是一名热衷于分享干货的技术爱好者。平时我在 CSDN、掘金、华为云、阿里云和 InfoQ 等平台分享我的心得体会。 &#x1f345;文末获取源码联系&#x1f345; 2025年最全的计算机软件毕…

滑动窗口leetcode 209和76

一、leetcode 209. 长度最小的子数组 代码&#xff1a; class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {int n nums.size();int left 0;int sum 0;int res 100001;for(int right 0;right <n;right){sum nums[right];while(s…

node.js 实战——mongoDB 续一

mongoDB的基本指令 进入mongodb mongo显示当前的所有数据库 show dbs # 或者 show databases切换数据库/进入指定数据库 使用这个命令的时候&#xff0c;是不要求这个数据库是否创建 use 数据库名显示当前数据库 db显示数据库中所有集合 show collections数据库的CRUD的…