TextMeshPro源码移植-替换掉PackageManager

news2024/11/17 21:55:29

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

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.

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

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

相关文章

Pandas使用手册

Pandas是一款快速&#xff0c;强大&#xff0c;灵活且易于使用的开源数据分析和操作工具&#xff0c; 建立在Python编程语言之上。 Pandas 前言Pandas是一款快速&#xff0c;强大&#xff0c;灵活且易于使用的开源数据分析和操作工具&#xff0c;建立在Python编程语言之上。 一…

[附源码]JAVA毕业设计食品销售网站(系统+LW)

[附源码]JAVA毕业设计食品销售网站&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&…

Pig4Cloud之登陆验证(一)客户端认证处理

前端登陆 handleLogin() {this.$refs.loginForm.validate(valid > {if (valid) {this.$store.dispatch("LoginByUsername", this.loginForm).then(() > {this.$router.push({path: this.tagWel.value});}).catch(() > {this.refreshCode();});}});}看一下L…

HTML制作一个汽车介绍网站【大学生网页制作期末作业】

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

Big Faceless:PDF Viewer for JAVA Crack

PDF Viewer是一个可以显示PDF文档的Swing组件。针对不需要完整 API 的客户&#xff0c;Viewer 可以作为 Applet、应用程序或通过 Java Web Start 安装&#xff0c;或嵌入到 Swing 应用程序中。 Big Faceless PDF Library 是一个用于创建、编辑、显示和打印 Acrobat PDF 文档的…

TI Lab_SRR学习_2 天线布局和系统设计

AWR1642具有2个发射天线和4个接收天线。天线布局如下图所示。两根发射天线Tx1和Tx2间距为2lamda,接收天线之间的间距为lamda/2。 下面以TI SRR这个案例为例,讲解根据上述的天线布局如何进行设计。 SRR既要看得远又要分辨率高,设计上采用了多模式雷达的设计思想,具有两种工…

文献阅读(194)Multi-packet Bypassing

文章目录题目&#xff1a;Stay in your Lane: A NoC with Low-overhead Multi-packet Bypassing时间&#xff1a;2022会议&#xff1a;HPCA研究机构&#xff1a;乔治华盛顿大学、GIT 本篇论文的主要贡献&#xff1a; 新的流控制算法FastFlow&#xff0c;用于在非重叠路径上无…

UNIAPP实战项目笔记49 支付成功页面的布局

UNIAPP实战项目笔记49 支付成功页面的布局 实际案例图片 显示确认支付成功页面布局 具体内容图片自己替换哈&#xff0c;随便找了个图片的做示例 具体位置见目录结构 完善布局页面和样式 代码 payment-success.vue部分 <template><view class"payment-success&…

Docker的安装 与 环境配置 及 阿里云镜像仓库配置、常用命令等

目录 一、Docker简介 Docker的应用场景 Docker 的优点 1、简化程序 2、避免选择恐惧症 3、节省开支 Docker的架构 Docker 和虚拟机的区别 下图是虚拟机的体系结构&#xff1a; 下图是Docker的体系结构&#xff1a; 二、Centos7安装Docker 【安装】 安装条件&#x…

实用于单片机的C++字符串切割匹配算法

前几天写GPS模块串口程序的时候遇到了一点小问题&#xff0c;GPS模组上传的数据量大且结构复杂&#xff0c;单片机中又没有上位机中的字符切割函数&#xff0c;琢磨了半天自己写了个切割函数。 本算法中兼具匹配和切割的功能&#xff0c;可以匹配指定的标志并按照指定分隔符将指…

Springboot 使用 Mybatis 启动失败排查定位

收获 当遇到项目启动失败&#xff0c;却没有错误日志打印出来的时候&#xff0c;试试在 run 方法上加个 try-catch&#xff0c;即可捕获到异常 Mybatis 的别名扫描路径不要指定的太宽泛&#xff0c;有可能会出现 Bean 名冲突&#xff0c;导致初始化失败 联想到之前碰到的问题…

无影云电脑——云上安全办公

文章目录无影云桌面介绍安装新手体验特点区别改变无影云桌面 介绍 阿里云无影云桌面&#xff08; Elastic Desktop Service&#xff09;的原产品名为弹性云桌面&#xff0c;融合了无影产品技术后更名升级。它可以为您提供易用、安全、高效的云上桌面服务&#xff0c;帮助您快速…

微信小程序的生命周期概览

IntersectionObserver 用于监听元素是否进入视口&#xff08;与视口是否存在相交&#xff09;&#xff0c;在图片懒加载等场景中被广泛应用&#xff0c;不过除了这个基础的用法&#xff0c;他还有更强大的能力。 使用场景 目前已知的 IntersectionObserver 常用使用场景包括&…

Jenkins-pipeline语法

Pipeline概念 Pipeline是将一个命令/程序/进程的输出发送到另一个命令/程序/进程&#xff0c;进行进一步处理 Pipeline的代码定义了整个构建过程 基本的Pipeline语法格式 声明式的pipeline语法格式 所有的声明都必须包含在pipeline{}中 块只能有节段&#xff0c;指令&#x…

AFT Impulse动态工具,AFT脉冲适用于工作

AFT Impulse动态工具,AFT脉冲适用于工作 AFT脉冲产品是一种强大的动态工具&#xff0c;用于计算低功率管道系统中的压力流量。设计用于液体系统&#xff0c;包括&#xff1a; 水 石油和产品被切割。 化学制品 冷冻剂 科洛尔。。。 AFT脉冲适用于工作&#xff1a; 珊瑚礁的大小和…

jdbc环境配置及操作步骤

文章目录jdbc环境配置jdbc 操作步骤jdbc 环境配置 jdbc开发&#xff0c;需要提前先准备驱动包(下载一个mysql驱动包&#xff09;及配置&#xff08;项目配置引入这个驱动包) 下载链接&#xff1a;mysql驱动包 注意&#xff1a;jar包的版本要和自己本地mysql版本一致 1.创建项…

使用宏基因组的方法快速鉴定新冠病毒SARS-CoV2

使用宏基因组的方法快速鉴定新冠病毒SARS-CoV2 一、如果不考虑成本&#xff0c;可以使用宏基因组测序的方法来快速鉴定新冠病毒SARS-CoV2&#xff0c;这种方法无需扩增、分析简单、准确度高。原理是直接将测序得到的序列数据与分类物种数据库比对&#xff0c;从而得到鉴定结果…

编程参考 - 如何计算字符串的哈希值

字符串的哈希值是什么&#xff1f; 在C&#xff0c;Java等编程语言中&#xff0c;有一种hashmap的数据结构&#xff0c;存储一对key / value&#xff0c;分别是两种对象。 为了加快存取的速度&#xff0c;键值key对象会被转换成一个hash值&#xff0c;一个整数。一般来讲&…

【权限提升】 Windows10 本地提权漏洞复现及详细分析(CVE-2021-1732)

文章目录声明一、漏洞前言二、漏洞描述三、漏洞原理四、漏洞以及EXP分析五、本地复现六、修复补丁声明 本篇文章仅用于技术研究和漏洞复现&#xff0c;切勿将文中涉及操作手法用于非授权下的渗透攻击行为&#xff0c;出现后果与本作者无关&#xff0c;切记&#xff01;&#x…

Excel 中使用线性回归进行预测公司销售季节性与增长

本文将提供有关如何使用线性回归模型在 Microsoft Excel 中执行简单而强大的预测的分步教程。 我们将探索模型的三种变体,并比较特定单变量数据集的结果——产品在 5 年内的月销售额。三个模型变体将是; 原始线性回归 (LR) 模型。具有季节性的 LR 模型——确定特定月份的销售…