TextMeshPro源码移植-替换掉PackageManager

Posted avi9111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.

以上是关于TextMeshPro源码移植-替换掉PackageManager的主要内容,如果未能解决你的问题,请参考以下文章

如何移植freertos

uboot源码分析

unity中使用了textmeshpro插件后 怎么动态更改textmeshpro中的文

使用Android Studio调试系统应用之TvSettings:移植

STM32 UCGUI 移植完后 如何做成库 帮帮在下

骚操作 | 不重启 JVM,替换掉已经加载的类,偷天换日?