当前位置: 首页 > news >正文

TextMeshPro源码移植-替换掉PackageManager

因为工作需要,使用类似美术字的效果

TextMeshPro支持各种效果,效能也可以(到底这个可以到底是多可以,效率有多高,反正都是传说,哥也不知道),唯一缺点就是不支持多语言

只要你的项目不需要多语言,果断使用TextMeshPro

也可以放心把源码搬到项目中,只要在PackageManager把官方包 REmove 即可

 碰到个资源|图标问题,Warning,使用了小哥的方法,

//TMP_EditorUtility
        private static string GetPackageRelativePath()
        {
            //这里直接return就好了(TODO 改成引用关联)
            return "Assets/ThirdMeshPro/TextMeshPro306";
            // Check for potential UPM package

发现一个有意思的事情,如下:

所以推断 TextMeshPro 这个包是用 mac book 开发而最终的成品pack各平台通用,所以可能会有字符不相符的问题,类似于全角和半角的冲突 

另外,总是弹出

 

//同理,改返回path:TMP_PackageResourceImporter.cs
        static string GetPackageFullPath()
        {
            //这里直接return就好了(TODO 改成引用关联)
            return "Assets/ThirdMeshPro/TextMeshPro306";
            // Check for potential UPM package
            string packagePath = Path.GetFullPath("Packages/com.unity.textmeshpro");
            if (Directory.Exists(packagePath))
            {
                return packagePath;
            }

很多时候是我们对自己太苛刻了,

其实无论国内外

也无论是否官方

更无论团队大小,大小厂

还是可能写了很多”多余“代码的。。。。

用了非官方包,直接用代码,总是弹出原因:

//TMP_ResourceManager.cs
   internal static TMP_Settings GetTextSettings()
        {
            if (s_TextSettings == null)
            {
                // Try loading the TMP Settings from a Resources folder in the user project.
                s_TextSettings = Resources.Load<TMP_Settings>("TextSettings"); // ?? ScriptableObject.CreateInstance<TMP_Settings>();

                #if UNITY_EDITOR
                if (s_TextSettings == null)
                {
                    // Open TMP Resources Importer to enable the user to import the TMP Essential Resources and option TMP Examples & Extras
                    TMP_PackageResourceImporterWindow.ShowPackageImporterWindow();
                }
                #endif
            }

            return s_TextSettings;
        }

//TMP_Settings 在这个目录 

删掉.asmdef(哥删了4个,请自行承担风险,c#从来都有namespace ,不知道这个.asmdef有什么用,除了负作用,namespace副作用还不够多吗)

TextMeshPro3.0.6出现一堆错误

 从无幻 大神,那找到答案:

Unity TextMesh Pro 文本组件之字体图集生成工具(2018 修改)_无幻的博客-CSDN博客_unity 字体图集

TextMeshPro源码修复,下载链接:

就不放出了。。。

其他Unity艺术字效果,开源参考:

GitHub - n-yoda/unity-vertex-effects: Beautiful text outline for Unity UI.

相关文章:

  • 【校招VIP】[推电影项目]产品的规划和商业化分析
  • chatGPT与世界杯的故事:人工智能的双重面对
  • 信号相角位移量的计算与信号位移计算-附Matlab代码
  • 小红书店铺需不需要开?在小红书开店需要注意什么
  • 通过图卷积网络从单词语义学习到句子句法,用于基于方面的情感分析
  • Springboot你写我评小说同好交流网站hp7zh计算机毕业设计-课程设计-期末作业-毕设程序代做
  • GitHub上架即巅峰!《Spring Cloud微服务架构实战》标星已超30k
  • ADI的DSP开发软件:CCES软件的使用说明(很早期写的一点心得)
  • Webpack完整打包流程分析
  • ubuntu 20.04 设置DNS
  • 小型扫雪机结构设计
  • Day17 | 每天五道题
  • 无人机边缘计算中的计算卸载——Stackelberg博弈方法论文复现附matlab代码
  • 【明天截稿】Wiley出版社,传感器网络与电路类SCI,仅2-3个月左右录用
  • Matplotlib学习笔记(第一章)
  • 做一个公司网站大概要多少钱?
  • MySQL 数据库主从复制
  • 分布式文件存储系统FastDFS[1]-介绍以及安装
  • 如何使用 Excel拆分文本单元格,基于LEFT、RIGHT、MID、SUBSTITUTE、FIND、SEARCH
  • Java 泛型方法总结
  • myBaits Target Capture Kits;myBaits 靶向捕获试剂盒,快速捕获富集目标序列
  • 【表格单元格可编辑】vue-elementul简单实现table表格点击单元格可编辑,点击单元格变成输入框修改数据
  • ES7-ES13 新特性
  • 【C++】打开C++的大门
  • 【深度学习】U-Net和FCN具体分析
  • Linux下 git 上传与删除 的基本指令
  • Swift 新 async/await 同步机制小技巧:消除“多余”的 await 关键字
  • Github如何使用详细介绍(保姆级教学)
  • 【ardunio+sx1268】与【esp32+sx1268】实现不同主控单片机lora通讯
  • Linux常用命令——pvscan命令
  • 旅游管理专业学什么 难就业吗
  • 2022海南高考体育专业考试时间 什么时候考试
  • 云南楚雄高考时间2021具体时间:6月7日
  • 高考什么特长可以加分 政策有哪些
  • 2022年贵州高考218分能报什么大学 218分能上哪些院校
  • 2022大专石油化工专业毕业后待遇 工资高吗
  • 中国科学院大学2021年各省录取分数线及专业分数线
  • 学英语用点读笔好不好 有效果吗
  • 2021河南职业技术学院学费多少 各专业收费标准
  • 2022广西外语口试成绩查询时间公布 什么时候查分