Unity: TextMeshPro生成中文字体(附3.5k,7k,2w常用字集)

免费常用3千5,7千字,2万字中文字体包

1.选择Window/TextMeshPro/Font Asset Creator

注:准备字体:从字体库或其他来源获取中文字体文件,通常为.ttf、.otf或.ttc格式。最简单的方式是从Windows系统文件的Font文件夹里拖一个.ttc文件(C盘 > Windows文件夹 > Fonts 文件夹)。ttf和otf格式好像不支持。需要将字体文件和字库文件复制到Unity项目的Assets文件夹或其子文件夹中。
在这里插入图片描述

2.Font Asset Creator设置界面,设置完成后点击Generate Font Atlas

在这里插入图片描述

属性讲解

Source Font File(源字体文件):选择用于生成 Text Mesh Pro 字体资源的字体。

Sampling Point Size:设置用于生成字体纹理的字体大小(以磅为单位)。Auto Sizing(默认):使用尽可能大的磅值,同时仍然适合纹理上的所有字符。        Custom Size:使用自定义磅值,在文本框中输入所需的大小,使用此设置可实现对仅位图字体的像素精确控制。

Padding:指定字体纹理中字符之间的间距(以像素为单位)。填充越大,过渡越平滑,从而允许更高质量的渲染和更大的效果,如粗轮廓。对于512x512 纹理,5 的填充通常很好。

Packing Method:指定如何使字符适合字体纹理。Optimum:查找仍然适合纹理中所有字符的最大可能自动字体大小。(最后打包的时候用)Fast(默认):更快地计算字符打包,但可能使用比优化模式更小的字体大小。(测试时使用)Atlas Resolution:设置字体纹理的大小宽度和高度,以像素为单位,512 x 512 的分辨率对于大多数字体来说都很好,只要您只包含 ASCII 字符即可。使用 SDF字体时,更高的分辨率会产生更精细的渐变,从而产生更高质量的文本。

Character Set:选择预定义的字符集:你创建的字体的 字符范围,也就是说你要创建的TextMeshPro字体中,要包含的所有字符。在我们这里就是所有的中文字符。一般来说常见中文字+英文单词+符号即可。
下拉选择Characters from File,然后选择包含所有所需字符的txt文件(需要先导入Unity)。下载地址见文章开头

            ASCII(默认):包括 ASCII 字符集中的可见字符。Extended ASCII:包括扩展 ASCII 字符集中的可见字符。ASCII Lowercase:仅包含 ASCII 字符集中可见的小写字符。ASCII Uppercase:仅包含 ASCII 字符集中可见的大写字符Numbers+Sysbols:仅包括来自 ASCII 字符集的可见数字和符号。Custom Range:输入一系列十进制值或值范围,以指定要包括的字符。Unicode Range(Hex):输入一系列 unicode 十六进制值或值范围,以指定要包含的字符。Custom Characters:输入字符序列以指定要包含的字符。Characters from File:包括小伙伴们指定的文本资源中的所有字符。

Render Mode:指定输出字体图集时要使用的渲染模式。

            SMOOTH:将图集渲染为抗锯齿位图。RASTER:将图集渲染为非抗锯齿位图。SMOOTH_HINTED:将图集渲染为抗锯齿位图,并将字符像素与纹理像素对齐以获得更清晰的结果。RASTER_HINTED:将图集渲染为非抗锯齿位图,并将字符像素与纹理像素对齐以获得更清晰的结果。SDF:使用较慢但更准确的 SDF 生成模式渲染图集,并且没有过采样。SDFAA:使用更快但不太准确的 SDF 生成模式渲染图集,它生成的字体图集足以满足大多数情况。SDFAA_HINTED:使用更快但不太准确的 SDF 生成模式渲染图集,并将字符像素与纹理像素对齐以获得更清晰的结果,它生成的字体图集足以满足大多数情况。SDF8:使用较慢但更准确的 SDF 生成模式和 8 倍过采样渲染图集。SDF16:使用更慢但更准确的 SDF 生成模式和 16 倍过采样渲染图集。SDF32:使用较慢但更准确的 SDF 生成模式和 32 倍过采样渲染图集。将此设置用于具有复杂或小字符的字体。

Get Kerning Pairs:启用此选项可从字体复制字距调整数据。

Generate Font Atlas:生成字体图集纹理。

3.生成后,如下图

点击Save保存
注:如果Missing characters的数量过多,可更换字体进行尝试
在这里插入图片描述

Bug解决

每个字符都有一层白色半透明底纹,这是因为TextMeshPro 使用有向距离场的方式渲染。
解决方案:将Text(TMP)材质的Shader属性设置为Bitmap。

警告1:Unable to add the requested character to font asset [msyhbd SDF]'s atlas texture. Please make the texture [msyhbd SDF Atlas] readable.
解决方案1:在项目面板中选择字体中包含的图集纹理,然后将检查器更改为调试(Debug)模式,勾选Is Readable。
解决方案2:在该字体文件目录下用记事本打开.asset文件,找到m_Isreadable:0,将其修改为1并保存,原理同解决方案1一样
警告2:The character used for Underline is not available in font asset [msyhbd SDF].
解决方案1:在项目面板中找到TextMeshPro文件,选择Resources > TMP Settings,在检视面板勾选Disable warnings,即关掉警告。
解决方案2:警告翻译为:“用于下划线的字符在字体资产 [msyhbd SDF] 中不可用”,即无法使用下划线样式,针对此警告,只需在字符集加上下划线字符,重复以上步骤即可。

警告3:“The character with Unicode value \u3002 was not found in the [msyhbd SDF] font asset or any potential fallbacks. It was replaced by Unicode character \u25A1 in text object [Text (TMP)].”
解决方案:警告翻译为:“在 [msyhbd SDF] 字体资源或任何潜在的回退中找不到具有Unicode 值 \u3002 的字符。它在文本对象 [Text (TMP)] 中被 Unicode 字符 \u25A1 取代。”即我们输入了字库文本中没有的字符,解决方案可同警告2解决方案1一样,关掉警告,这样即便我们输入了字库文本中没有的字符,只有Scene界面会出现Unicode 字符 \u25A1 ,而不会出现警告,便于项目调试。

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

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

相关文章

应用层自定义协议与序列化

个人主页:Lei宝啊 愿所有美好如期而遇 协议 简单来说,就是通信双方约定好的结构化的数据。 序列化与反序列化 我们通过一个问题引入这个概念,假如我们要实现一个网络版的计算器,那么现在有两种方案,第一种&#x…

C语言超市管理系统UI界面

以下是部分代码。需要源码的私信 #include<easyx.h> #include<stdio.h> #include<stdlib.h>#define width 1280 #define height 840 #define font_w 35 //字体宽度 #define font_h 90 //字体高度typedef struct node {char name[100];//名字char number[1…

Modbus转Ethernet/IP网关模块与汇川PLC通讯案例

Modbus转Ethernet/IP网关模块&#xff08;XD-MDEP100&#xff09;是一种用于将Modbus协议转换为Ethernet/IP协议的设备。它可以将Modbus RTU和Modbus TCP两种不同格式的Modbus数据包转换为Ethernet/IP协议的数据包&#xff0c;实现不同厂家的设备之间的数据交换和共享。在汇川P…

软件测试----概念篇(笔试相关,一般考察开发模型和测试模型的特点及适用场景)

文章目录 前言一、需求二、开发模型1.什么是“模型”2.软件的生命周期3.常见开发模型瀑布模型螺旋模型增量模型、迭代模型敏捷模型 三、测试模型V模型W模型(双V模型&#xff09; 前言 在当今软件行业飞速发展的时代&#xff0c;软件测试已成为软件质量保障的重要环节。它贯穿于…

WhisperX

文章目录 一、关于 WhisperX新闻 &#x1f6a8; 二、设置⚙️1、创建Python3.10环境2、安装PyTorch&#xff0c;例如Linux和Windows CUDA11.8&#xff1a;3、安装此repo4、Speaker Diarization 三、使用&#x1f4ac;&#xff08;命令行&#xff09;1、English2、他语言例如德语…

Cyber Weekly #16

赛博新闻 1、OpenAI 发布 GPT-4o mini OpenAI 本周官宣推出 GPT-4o mini&#xff0c;这是 GPT-4o 更小参数量的简化版本。ChatGPT 的免费用户、Plus 用户和 Team 用户能使用 GPT-4o mini 而并非 GPT-3.5 Turbo&#xff0c;企业用户在下周也将获得 GPT-4o mini 的权限。GPT-4o…

少儿编程启蒙宝典:Scratch动画游戏108变

一、编程教育的时代价值与意义 随着数字时代的深入发展&#xff0c;社会对人才的需求正发生深刻变革&#xff0c;计算思维与编程能力已成为衡量个人竞争力的重要指标。在此背景下&#xff0c;培养孩子们运用计算思维解决实际问题的能力&#xff0c;成为教育领域的重要任务。编…

UE4-获得角色控制权的两种方法

方法一&#xff1a; 方法二&#xff1a; 注意此方法不能有多个玩家出生点&#xff0c;如果有多个玩家出生点&#xff0c;会随机的选择一个玩家出生点进行生成。

IP5306移动电源DIY

最近制作一款移动电源&#xff0c;芯片采用的是IP5306

UDP详细总结

UDP协议特点 UDP是无连接的传输层协议&#xff1b; UDP使用尽最大努力交付&#xff0c;不保证可靠交付&#xff1b; UDP是面向报文的&#xff0c;对应用层交下来的报文&#xff0c;不合并&#xff0c;不拆分&#xff0c;保留原报文的边界&#xff1b; UDP没有拥塞控制&#…

python实现图像对比度增强算法

python实现直方图均衡化、自适应直方图均衡化、连接组件标记算法 1.直方图均衡化算法详解算法步骤公式Python 实现详细解释优缺点 2.自适应直方图均衡化算法详解算法步骤公式Python 实现详细解释优缺点 3.连接组件标记算法详解算法步骤8连通与4连通公式Python 实现详细解释优缺…

微服务实现全链路灰度发布

一、实现步骤 再请求 Header 中打上标签&#xff0c;例如再 Header 中添加 "gray-tag: true" &#xff0c;其表示要进行灰度测试&#xff08;访问灰度服务&#xff09;&#xff0c;而其他则访问正式服务。在负载均衡器 Spring Cloud LoadBalancer 中&#xff0c;拿到…

Deepin系统,中盛科技温湿度模块读温度纯c程序(备份)

#include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <termios.h>int main() {int fd;struct termios options;// 打开串口设备fd open("/dev/ttyMP0", O_RDWR | O_NOCTTY|O_NDELAY); //O_NDELAY:打开设备不阻塞//O_NOCTT…

Qt Creator配置以及使用Valgrind - 检测内存泄露

Qt Creator配置以及使用Valgrind - 检测内存泄露 引言一、下载安装1.1 下载源码1.2 安装 二、配置使用2.1 Qt Creator配置2.2 使用2.3 更多详细信息可参考官方文档&#xff1a; 三、参考链接 引言 Valgrind是一个在Linux平台下广泛使用的开源动态分析工具&#xff0c;它提供了一…

任务2:python+InternStudio 关卡

任务地址 https://github.com/InternLM/Tutorial/blob/camp3/docs/L0/Python/task.md 文档 https://github.com/InternLM/Tutorial/tree/camp3/docs/L0/Python 任务 Python实现wordcount import re import collectionstext """ Got this panda plush to…

【机器学习】智能驱动未来:机器学习在能源效率提升与环境管理中的创新应用

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀目录 &#x1f50d;1. 引言&#x1f4d2;2. 机器学习能源环境领域的应用潜力&#x1f304;能源效率提升&#x1f3de;️环境管理⛰️具体案例…

Linux之旅:常用的指令,热键和权限管理

目录 前言 1. Linux指令 &#xff08;1&#xff09; ls &#xff08;2&#xff09; pwd 和 cd &#xff08;3&#xff09;touch 和 mkdir &#xff08;4&#xff09; rmdir 和 rm &#xff08;5&#xff09;cp &#xff08;6&#xff09;mv &#xff08;7&#xff09;…

开发工具推荐:await-to-js

目录 前言&#xff1a; 1. .then().catch() 2. async await 3. await-to-js 前言&#xff1a; 今天给大家推荐一块我觉得用着还不错的工具&#xff0c;await-to-js&#xff1b; await-to-js - npm GitHub - scopsy/await-to-js: Async await wrapper for easy error ha…

HTML+CSS+JS精美气泡提示框

源代码在效果图后面 点赞❤️关注&#x1f49b;收藏⭐️ 主要实现&#xff1a;提示框出现和消失两种丝滑动画 弹出气泡提示框后延迟2秒自动消失 效果图 错误框 正确 警告 提示 源代码 <!DOCTYPE html> <html lang"en"> <head><meta cha…

PHP场地预约共享茶室棋牌室小程序系统源码

&#x1f375;&#x1f3b2;【聚会新宠】场地预约神器&#xff0c;共享茶室棋牌室小程序大揭秘&#xff01;&#x1f389; &#x1f3e1;【开篇&#xff1a;告别繁琐&#xff0c;聚会新选择】&#x1f3e1; 还在为找不到合适的聚会场地而烦恼吗&#xff1f;想要一个既私密又舒…