Unity TextMesh Pro入门
概述
TextMesh Pro是Unity提供的一组工具,用于创建2D和3D文本。与Unity的UI文本和Text Mesh系统相比,TextMesh Pro提供了更好的文本格式控制和布局管理功能。
本文介绍了TMP_Text组件和Tmp字体资产(如何创建字体资产和如何解决缺字问题),还有一些高级功能可能在以后的时候完善.
参考文章:Unity TextMeshPro的字体消失的问题_unity 字体不显示-CSDN博客
主要优势
- 文本格式控制:包括字符、单词、行和段落的间距控制。
- 字距调整(Kerning)。
- 文本对齐:支持文本的对齐(包括两端对齐)。
- 超链接:支持文本中的链接。
- 丰富的文本标签:提供超过30种富文本标签。
- 多字体支持:可使用多个字体样式。
- 精灵支持:可以在文本中嵌入精灵。
- 自定义样式:支持创建和应用自定义文本样式。
- 高级文本渲染:通过自定义着色器实现更加精细的文本渲染。
开始使用
TextMesh Pro包已经包含在Unity编辑器中,因此无需单独安装。你可以通过Package窗口切换到不同版本的TextMesh Pro。
要开始使用TextMesh Pro,首先需要导入TMP Essential Resources包,这可以在后续步骤中完成。
导入所需资源
- 从Unity菜单选择 Window > TextMeshPro > Import TMP Essential Resources。
- 这会将必要的资源添加到项目的TextMesh Pro文件夹中。
导入示例和附加资源
TextMesh Pro还包括一些示例和附加资源,有助于学习其各种功能。
- 从Unity菜单选择 Window > TextMeshPro > Import TMP Examples & Extras。
- 这会将示例和附加资源添加到项目的 TextMesh Pro > Examples & Extras 文件夹中。
或者直接创建一个UI.

如果没有导入资源那么会弹出一个对话框.第一个按钮代表导入基本资源,导入后可以选择关闭该对话框,这是使用TextMesh Pro所必须得,第二个按钮是一些示例和素材,这不是必须的.

导入后一个目录会出现在Assets,如果点击了第二个按钮那么该目录还会额外多出一个示例目录.

老版本UI的Text跑到了这里

创建文本
在场景中创建文本,可以添加TextMesh Pro的GameObject。有两种类型的TextMesh Pro GameObject:
-
TextMesh Pro UI Text GameObject:使用Unity的UI系统,为Canvas上的文本设计。
-
TextMesh Pro 3D Text GameObject:像普通的3D GameObject一样在场景中显示。
TextMesh Pro UI Text GameObjects
TextMesh Pro UI文本对象使用Unity的UI系统,依赖Canvas。
创建TextMesh Pro UI Text GameObject:
-
从菜单中选择 GameObject > UI > TextMesh Pro - Text。
-
在TextMesh Pro (UGUI) Inspector面板中输入文本内容。
-
根据需要调整UI文本的属性。
TextMesh Pro 3D Text GameObjects
TextMesh Pro 3D文本对象与UI文本对象非常相似,但不像UI对象那样依赖于Canvas,而是作为普通的3D对象出现在场景中。
创建TextMesh Pro 3D Text GameObject:
-
从菜单中选择 GameObject > 3D GameObject > TextMesh Pro - Text。
-
在TextMesh Pro Inspector面板中输入文本内容。
-
根据需要调整3D文本的属性。
UI Text GameObjects
默认情况下,TextMesh Pro UI文本对象具有以下组件:
-
Rect Transform
控制GameObject在Canvas上的位置和大小。 -
Canvas Renderer
渲染GameObject在Canvas上的显示。 -
TextMesh Pro UGUI (脚本)
包含要显示的文本以及控制文本外观和行为的属性。以下是这些属性的详细说明: -
Material
一个Unity材质,使用TextMesh Pro着色器来进一步控制文本的外观。更多信息,请参阅Shaders部分。
重点看下组件本身

主要设置属性与功能
| 属性 | 功能 |
|---|---|
| A. Text | 输入要显示的文本,以及任何富文本标记。 |
| B. Font | 指定使用的字体,以及基本字体属性(如字体大小、样式等)。 |
| C. Color | 定义文本的基础颜色或颜色渐变。 |
| D. Spacing | 控制字符、单词、行和段落之间的间距。 |
| E. Alignment | 控制文本的水平和垂直对齐方式。 |
| F. Wrapping and Overflow | 控制单词换行,并定义当文本超出显示区域时的处理方式。 |
| G. UV Mapping | 控制如何将纹理映射到文本的面和轮廓上。 |
| H. Extra Settings | 提供额外的选项来控制文本的外观和行为。 |
文本部分

文本部分是输入要显示的文本,并可选择使用富文本标记进行自定义。
属性与功能
-
Text
输入要显示的文本。 -
Enable RTL Editor
启用此选项以使文本从右至左显示,而不是从左至右。启用后,Inspector面板会显示一个额外的输入字段,您可以查看并直接编辑反向文本。
文本会在显示或渲染之前被反转。
主要设置

包含定义文本基本外观所需的属性。通过更改或编辑材质进一步自定义文本的外观。
字体设置面板是选择文本字体并自定义字体样式的地方。
字体属性与功能
| 属性 | 功能 | |
|---|---|---|
| Font Asset | 选择TextMesh Pro GameObject使用的字体资产。TextMesh Pro随附多个字体资产,您也可以从标准字体文件(如TrueType字体,ttf)创建其他字体。注:您可以在TextMesh Pro设置中为新文本对象设置默认字体资产。 | |
| Material Preset | 选择字体的材质。每个字体资产都有一个默认材质,但您也可以为其创建自定义材质。此预设列表包括所有名称中包含字体资产名称并使用相应字体图集纹理的材质。 | |
| Font Style | 启用标准文本样式选项。这些选项可以任意组合使用,除了大小写选项(小写、大写和小型大写),它们是互斥的。 | |
| B (Bold) | 加粗文本。加粗文本的外观由字体资产属性定义。 | |
| I (Italic) | 斜体文本。斜体文本的外观由字体资产属性定义。 | |
| U (Underline) | 为文本添加下划线。这会在基线下方渲染一条额外的线。 | |
| S (Strikethrough) | 为文本添加删除线。这会在基线上方渲染一条额外的线。 | |
| ab (Lowercase) | 在渲染之前将文本转换为小写。这不会更改文本字段中的文本大小写。 | |
| AB (Uppercase) | 在渲染之前将文本转换为大写。这不会更改文本字段中的文本大小写。 | |
| SC (Small Caps) | 使用小型大写字母。文本显示为全大写字母,但您实际输入的大写字母会更大。 | |
| Font Size | 指定文本显示的大小(单位:磅)。 | |
| Auto Size | 启用此选项以自动设置字体大小,基于自动调整选项。启用后,TextMesh Pro会多次布局文本以找到合适的大小。这个过程资源密集,因此避免频繁变化的动态文本使用自动调整。提示:对于静态文本,您可以启用自动调整,记下计算出的字体大小(在字体大小字段中显示),然后禁用自动调整并手动应用计算出的大小。 | |
| Auto Size Options | 定义自动调整文本大小的基本规则。 | |
| Min | 指定可接受的最小字体大小(单位:磅)。 | |
| Max | 指定可接受的最大字体大小(单位:磅)。 | |
| WD% | 指定调整文本大小时可接受的最大字符宽度减少量。TextMesh Pro会压缩字符以使它们更高,这通常仅适用于数字。 | |
| Line | 调整行高。这对于将较大字体适应到给定空间非常有用。 |
颜色属性与功能

| 属性 | 功能 | |
|---|---|---|
| Vertex Color | 选择文本的主颜色。在TextMesh Pro GameObject或其材质中定义的任何颜色和纹理将与此颜色相乘。 | |
| Color Gradient | 启用此选项为每个字符的精灵应用颜色渐变。然后可以设置渐变类型和颜色,或者应用颜色渐变预设。渐变颜色会与主颜色相乘。如果主颜色为白色,则仅显示渐变颜色;如果为黑色,则完全看不见渐变颜色。 | |
| Color Preset | 选择颜色渐变预设。应用预设后,其颜色模式和颜色将替换Inspector中的文本局部属性。编辑这些属性会修改预设,从而影响所有使用该预设的TextMesh Pro GameObject。设置此属性为None可以恢复为文本的局部渐变属性。 | |
| Color Mode | 选择应用的颜色渐变类型。TextMesh Pro会单独为每个字符应用渐变。 | |
| Single | 均匀颜色,修改基础的Vertex Color。 | |
| Horizontal Gradient | 两种颜色的渐变,颜色从字符的一侧发散。 | |
| Vertical Gradient | 两种颜色的渐变,一种颜色从字符的顶部发散,另一种从底部发散。 | |
| Four Corners Gradient | 四种颜色的渐变,每种颜色从字符的一个角落发散。 | |
| Colors | 选择每个渐变颜色。根据渐变类型,提供的颜色数量会有所不同,颜色字段会按渐变中的颜色位置排列(左右、上下或四角)。可以通过以下方式设置颜色:1. 色板:点击打开颜色选择器。2. 吸管工具:点击从屏幕的任何部分选择颜色。3. 十六进制值:直接输入RGBA的十六进制值。 | |
| Override Tags | 启用此选项以忽略任何更改文本颜色的富文本标签。 |
间距设置与功能
![]()
控制字符、单词、行和段落之间的间距,可以微调单个TextMesh Pro GameObjects的文本.
| 属性 | 功能 |
|---|---|
| Character | 设置此TextMesh Pro GameObject中文本字符之间的间距。 |
| Word | 设置此TextMesh Pro GameObject中文本单词之间的间距。 |
| Line | 设置此TextMesh Pro GameObject中文本行之间的间距。 |
| Paragraph | 设置此TextMesh Pro GameObject中文本段落之间的间距。段落通过显式换行符定义。 |
对齐设置与功能

对齐设置
| 一级选项 | 子选项 | 功能 |
|---|---|---|
| Horizontal Alignment | ||
| Left, Center, Right | 将文本水平放置在显示区域内,不改变文本本身。 | |
| Justified, Flush | 将文本拉伸以填充显示区域的宽度,通过增加单词和字符之间的距离。 Wrap Mix选项控制单词和字符间距之间的平衡。 Justified模式不会拉伸段落的最后一行,而Flush模式会。 | |
| Geometry Center | 根据网格而非文本度量来居中显示文本。在某些情况下,这种模式的效果可能比常规居中对齐效果更好。 | |
| Vertical Alignment | ||
| Top, Middle, Bottom | 将文本垂直放置在显示区域内,不改变文本本身。 | |
| Baseline | 将文本的基线对齐到显示区域的中间。这在处理单行文本时非常有用。 | |
| Midline | 使用文本网格边界来决定垂直位置,而不是行度量。对于紧凑空间特别有用,避免字符的上升和下降部分超出。 | |
| Capline | 将文本的第一行中线与显示区域中间对齐。 | |
| Wrap Mix (W <-> C) | 当水平对齐设置为Justified或Flush时,调整额外的单词间距和字符间距之间的平衡。 |
换行与溢出设置与功能

换行与溢出设置
| 属性 | 功能 | |
|---|---|---|
| Wrapping | 启用或禁用单词换行。 | |
| Overflow | Overflow | 文本超出显示区域,仍然进行换行(如果启用了换行)。 |
| Ellipsis | 截断文本并插入省略号(…),表示有部分文本被省略。 | |
| Masking | 类似于Overflow,但着色器隐藏超出显示区域的所有内容。 | |
| Truncate | 当文本不适应显示区域时,直接截断文本,不显示超出部分。 | |
| Scroll Rect | 传统模式,类似于Masking。仅用于与旧版TextMesh Pro项目的兼容性,建议新项目使用Masking模式。 | |
| Page | 将文本分为多页,每页适应显示区域。你可以选择显示的页面,并通过富文本插入页面换行。 | |
| Linked | 将文本扩展到另一个TextMesh Pro GameObject,适用于创建多列文本。 |
UV Mapping

一些 TextMesh Pro 着色器允许你将一个或多个图像纹理应用于文本。这些选项控制这些纹理如何拉伸以适应文本。
还可以在着色器本身中编辑特定于着色器的纹理选项。可用的选项取决于使用的着色器。
在给文本添加纹理时,请确保您的纹理资产的 Wrap Mode 设置为 Repeat。否则,纹理在应用到文本时可能会发生严重的失真。
| 属性 | 详细说明 | |
|---|---|---|
| Horizontal Mapping | 指定在使用支持纹理的着色器时,纹理如何水平映射到文本上。 | |
| Character | 将纹理水平拉伸到每个字符的精灵上。 | |
| Line | 将纹理水平拉伸到每行的整个宽度。 | |
| Paragraph | 将纹理水平拉伸到整个文本上。 | |
| Match Aspect | 水平缩放纹理,使其保持其长宽比,并且不变形。 当使用此水平映射模式时,垂直映射设置决定纹理如何映射到文本,并且必须设置为不同于 Match Aspect。 | |
| Vertical Mapping | 指定在使用支持纹理的着色器时,纹理如何垂直映射到文本上。 | |
| Character | 将纹理垂直拉伸到每个字符的精灵上。 | |
| Line | 将纹理垂直拉伸到每行的整个宽度。 | |
| Paragraph | 将纹理垂直拉伸到整个文本上。 | |
| Match Aspect | 垂直缩放纹理,保持其纵横比,不被变形。 当使用此垂直映射模式时,水平映射设置决定纹理如何映射到文本,并且必须设置为不同于 Match Aspect。 | |
| Line Offset | 当水平映射设置为 Line、Paragraph 或 Match Aspect 时,设置此值以为每一行添加水平纹理偏移。 此值将添加到您在着色器中指定的 Offset X 值。 |
额外设置
进一步控制文本外观和行为的选项。

| 属性 | 详细说明 | |
|---|---|---|
| Margins | 设置正值以增加文本与文本容器边界之间的距离。 您可以分别设置左、上、右、下边距。负值会使文本超出文本容器的边界。您还可以通过在场景视图中拖动文本容器控件(黄色矩形)的手柄来调整边距。 | |
| Geometry Sorting | 每个字符包含在一个四边形中。几何排序控制 TextMesh Pro 如何排序这些四边形。 这决定了当两个四边形重叠时,哪个字符会显示在上面。 | |
| Normal | TextMesh Pro 按照网格中出现的顺序绘制四边形。当两个四边形重叠时,“较晚”的四边形会显示在“较早”四边形之上。 | |
| Reverse | TextMesh Pro 反向顺序绘制四边形。当两个四边形重叠时,“较早”的四边形会显示在“较晚”四边形之上。 | |
| Rich Text | 禁用此选项以关闭 TextMesh Pro GameObject 的富文本支持。当禁用富文本支持时,标签不会被解析并且会作为常规文本进行渲染。 | |
| Raycast Target | 启用此选项以使此 TextMesh Pro GameObject 成为射线检测目标。禁用此选项会使 UI 在确定光标与哪个对象交互时忽略此 TextMesh Pro GameObject。 | |
| Parse Escape Characters | 启用此选项以使 TextMesh Pro 将反斜杠转义字符解析为特殊字符。例如,\n 被解析为换行符,\t 作为制表符等。注:此选项仅适用于渲染文本,代码中转义字符已由编译器解析。 | |
| Visible Descender | 使用脚本逐步显示文本时使用此选项。启用它可以先显示文本的底部,然后随着新行的显示向上移动;禁用它则按从上到下的顺序显示文本。要设置这种类型的文本显示,必须将垂直对齐方式设置为底部。 | |
| Sprite Asset | ||
| Kerning | 启用此选项以为此 TextMesh Pro GameObject 切换字距调整。字距调整在 GameObject 的字体资产中定义。如果新对象使用没有字距调整数据的字体,启用此设置不会产生任何效果。 | |
| Extra Padding | 启用此选项以为字符精灵添加额外的填充。TextMesh Pro 创建精灵以适应可见文本,但结果并不总是完美的。此设置可以减少字符在其精灵边界处被裁剪的几率。 |
字体资产
概述
要在 TextMesh Pro 中使用不同的字体,需要创建字体资产。可以从 Unity 字体资产创建 TextMesh Pro 字体资产。这是两个概念,可以利用前者生成后者,你理解前者是不同的风格(比如可以是宋体,或者是微软雅黑),后者是TMP_Text组件需要引用的资源.
这是前者,可以从网上下载一些开源资产
![]()
是一个 .otf类型的文件
![]()
这是后者,我利用前者生成了它.
![]()
每个 TextMesh Pro 字体资产都有两个子资产:
- 字体图集:一个黑白或灰度纹理文件,包含字体资产中包含的所有字符。
- 字体材质:一个材质,用于控制 TextMesh Pro 文本的外观,使用的是 TextMesh Pro 的其中一个着色器。

字体资产必须位于特定的文件夹中,以便 TextMesh Pro 能够找到它们并将其包含在构建中。要更改字体资产的默认文件夹,进入 TextMesh Pro 设置并设置 Default Font Asset > Path 选项。

创建字体资产
要创建一个 TextMesh Pro 字体资产,可以使用 TextMesh Pro 字体资产创建器。


也可以从 Unity 主菜单创建一个空的 TextMesh Pro 字体资产。空字体资产默认不包含任何字符,必须稍后添加它们。要创建空的 TextMesh Pro 字体资产,请选择一个 Unity 字体资产,然后从菜单中选择 Asset > Create > TextMeshPro > Font Asset。

使用创建器和直接右键Unity字体资产创建的TMP字体资产是有区别的,正好借此讲一下TMP字体资产的原理.
比如我选择直接右键创建,那么

注意这里生成的TMP字体资产是动态的.
如果不明白这个动态是什么意思的话,展开那个箭头(Project窗口设置为两行展示才能展开箭头)。
这个黑色的贴图是把你字体第一次挂在Text上生成的,它是一个画布,下一步你就知道这有什么用了。

我将该资产给到UI使用

注意画布不存在"张三李四王五"字眼,

我在输入框输入张三李四王五,这些字眼原本不存在"黑布"上,因为我的输入,他们被记录到黑布上了
这就是动态的意思,它会动态存储自身不存在的字符.然后在需要的时候拿出来使用.
解决缺字问题
那么问题来了,不妨设想一下,这个图满了会怎么样?
比如这个TMP被用来展示一些动态读取的网络资源的文字,那么就可能被填满,那么会

左边缺少的字就是因为那是画布上不存在的字,却有没有地方把它印上去了.
我们可以扩大画布

比如将1024乘1024增大为2048乘2048.
同时编辑器调试的时候可能会将一些脏数据添加到"黑布",使用Clear 选项在打包的时候清除脏数据

或者使用静态,结合动态一起使用
下面使用创建器生成Tmp字体资产,只需要将Unity字体资产拖过去,同时从网上查找常用字资源(这是一个txt文件).

然后点击生成按钮,这实际上就是提前将很多字填到动态资产,然后转为静态(应该是这样).
使用该方式遇到了无法正确生成Tmp资产的情况,生成一个错误资产(未知原因,只能删除重试)

这样默认就是静态的.有一个点也要注意:同样是使用合适尺寸的"黑布",确保能容纳大量字符.

这样静态资产给那些不变的UI使用,动态的给不确定的UI使用.
还有一个问题:我上面使用一个txt生成的字体,万一还是有缺失的字怎么办呢?(静态不像动态那样,创建的时候如果没有这个字就是不会显示这个字)

点击这个按钮

搜索你缺失的那个字的unicode编码补充进去,然后重新生成一下并保存.
当然,应该也可以将静态的设为动态,然后将缺的字录入,然后再转回静态(未做尝试).
最后要注意的是:动态相对静态要更耗费性能,同时动态Tmp资产依赖的Unity字体资产不能删除,静态则可以.
相关文章:
Unity TextMesh Pro入门
概述 TextMesh Pro是Unity提供的一组工具,用于创建2D和3D文本。与Unity的UI文本和Text Mesh系统相比,TextMesh Pro提供了更好的文本格式控制和布局管理功能。 本文介绍了TMP_Text组件和Tmp字体资产(如何创建字体资产和如何解决缺字问题),还有一些高级功…...
[论文阅读] (35)TIFS24 MEGR-APT:基于攻击表示学习的高效内存APT猎杀系统
《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期…...
12 USART串口通讯
1 串口物理层 两个设备的“DB9接口”之间通过串口信号建立连接,串口信号线中使用“RS232标准”传输数据信号。由于RS232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过“电平转换芯片”转换成控制器能识别的“TTL校准”的电平信号ÿ…...
CF 368A.Sereja and Coat Rack(Java实现)
问题分析 简而言之,小明要邀请m个绅士到家,家里有n个挂衣钩,一个挂衣钩要支付i元,如果挂衣钩不够了就要给每个绅士赔d元 思路分析 所以思路就很清楚了,获取n,d,m的值,并用数组存放每…...
清华大学、字节跳动等单位联合发布最新视觉语言动作模型RoboVLMs
近年来,视觉语言基础模型(Vision Language Models, VLMs)大放异彩,在多模态理解和推理上展现出了超强能力。现在,更加酷炫的视觉语言动作模型(Vision-Language-Action Models, VLAs)来了&#x…...
网络安全、Web安全、渗透测试之笔经面经总结
本篇文章涉及的知识点有如下几方面: 1.什么是WebShell? 2.什么是网络钓鱼? 3.你获取网络安全知识途径有哪些? 4.什么是CC攻击? 5.Web服务器被入侵后,怎样进行排查? 6.dll文件是什么意思,有什么…...
.NET Core NPOI 导出图片到Excel指定单元格并自适应宽度
NPOI:支持xlsx,.xls,版本>2.5.3 XLS:HSSFWorkbook,主要前缀HSS, XLSX:XSSFWorkbook,主要前缀XSS,using NPOI.XSSF.UserModel; 1、导出Excel添加图片效果࿰…...
python bs4 selenium 查找a href=javascript:();的实际点击事件和url
在使用 BeautifulSoup 和 Selenium 时,处理 href"javascript:;" 的链接需要一些额外的步骤,因为这些链接不直接指向一个 URL,而是通过 JavaScript 代码来执行某些操作。这可能包括导航到另一个页面、触发模态窗口、显示/隐藏内容等…...
三 BH1750 光感驱动调试1
一 扫描设备 查看手册 BH1750 光感模块 寄存器地址为 0x23 官方手册 : http://rohmfs.rohm.com/en/products/databook/datasheet/ic/sensor/light/bh1750fvi-e.pdf su 然后用 i2cdetect 扫描设备: 拨,插 对比, 探测设备挂载在 /dev/i2c-5 上, 从设备地址为 0x23 二 …...
UE材质节点Fresnel
Fresnel节点 ExponentIn 控制边缘透明度 BaseReflectFractionIn 控制中心透明度...
linux的大内核锁与顺序锁
大内核锁 Linux大内核锁(Big Kernel Lock,BKL)是Linux内核中的一种锁机制,用于保护内核资源,以下是关于它的详细介绍: 概念与作用 大内核锁是一种全局的互斥锁,在同一时刻只允许一个进程访问…...
用户注册模块用户校验(头条项目-05)
1 用户注册后端逻辑 1.1 接收参数 username request.POST.get(username) password request.POST.get(password) phone request.POST.get(phone) 1.2 校验参数 前端校验过的后端也要校验,后端的校验和前端的校验是⼀致的 # 判断参数是否⻬全 # 判断⽤户名是否…...
面向对象的基本概念
本篇,来介绍面向对象的基本概念。 1 面向过程与面向对象 面向过程与面向对象,是两种不同的编程思想。 1.1 面向过程 面向过程的思路,是按照问题的解决步骤,将程序分解为一个个具体的函数或过程,然后依次调用这些函数来实现程序的功能。 面向对象的程序设计,程序的执行…...
深度学习每周学习总结R4(LSTM-实现糖尿病探索与预测)
🍨 本文为🔗365天深度学习训练营 中的学习记录博客R6中的内容,为了便于自己整理总结起名为R4🍖 原作者:K同学啊 | 接辅导、项目定制 目录 0. 总结1. LSTM介绍LSTM的基本组成部分如何理解与应用LSTM 2. 数据预处理3. 数…...
如何使用 PHP 操作亚马逊 S3 对象云存储
以下是使用PHP与亚马逊S3对象云存储(也有其他支持S3协议的云存储服务,原理类似)进行交互的常见文档接口使用示例,涵盖了基本的操作如上传文件、下载文件、删除文件、列举文件等内容。 ### 前提条件 1. 首先,你需要获取…...
26_Redis RDB持久化
从这个模块开始带领大家来学习Redis分布式缓存的相关内容,主要学习目标见下: 数据丢失问题:实现Redis数据持久化(RDB和AOF)并发能力问题:搭建Redis主从集群,实现读写分离故障恢复问题:利用Redis哨兵模式,实现健康检测和自动恢复存储能力问题:搭建Redis分片集群,利用…...
标准Android开发jdk和gradle和gradle AGP和AndroidStudio对应版本
还在为用什么gradle版本烦恼吗?编译不过IDE不开始下载第三方库吗?是时候匹配下你的gradle编译版本了: 1.Gradle 各版本支持的 JDK 版本范围如下: Gradle 版本最低支持 JDK最高支持 JDK7.0 - 7.6JDK 8JDK 178.0 - 8.2JDK 11JDK 1…...
太速科技-628-基于VU3P的双路100G光纤加速计算卡
基于VU3P的双路100G光纤加速计算卡 一、板卡概述 基于Xilinx UltraScale16 nm VU3P芯片方案基础上研发的一款双口100 G FPGA光纤以太网PCI-Express v3.0 x16智能加速计算卡,该智能卡拥有高吞吐量、低延时的网络处理能力以及辅助CPU进行网络功能卸载的能力…...
潜力巨大但道路曲折的量子计算
近一年来,由于工作的原因参观访问了一些量子产业园,接触了量子加密计算机、量子云计算等非常炫酷的概念性产品,这与自己一直认为的“量子技术仍然处于实验室研究阶段”的基本判断与认知产生了强烈的冲突,一刹那间,心中…...
LabVIEW驱动电机实现样品自动搜索
利用LabVIEW控制电机驱动相机在XY平面上进行扫描,以检测样品位置。样品最初可能位于相机视野范围之外,需要实现自动搜索样品位置并完成精确定位扫描的功能。该系统需具有以下特点: 高效搜索:能够快速确定样品位置,缩短…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
