因为工作需要,使用类似美术字的效果
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.