遇到问题

我们项目分两个Unity的工程,Art(美术资源工程),Client(代码工程)

在Art工程中的TextMeshProUGUI Text中使用Emoji,打包成AB之后,在Client运行时,spriteAsset的图集是从Resource目录读取出来的

软件环境

Unity3D 5.3.7p4

TextMesh Pro 1.0.555.0b11(Jul 06.2017)

KSFramework:https://github.com/mr-kelly/KSFramework

从Resource读取SpriteAsset

TextMesh Pro的Resource目录设置文件TMPSettings.asset  用于设置默认属性,比如默认的字体,图集

在Editor中运行,如果使用了Sprite标签,它会从默认图集中加载(Resource\xxspriteAsset.asset),比如我的设置文件

原理分析

当Text中使用了Sprite标签时,在运行时,TextPro会生成两个Gameobject:一个Text(渲染文字),SubMesh(渲染图片)

从Assetbundle加载spriteAsset

分析实现原理之后,我们知道,运行时,SubMesh的SpriteAsset默认是从Resource加载出来的,所以我们要做的就是替换掉SubMesh中 SpriteAsset的图片。

TextMeshPro的Text提供了一个接口方便我们替换掉这张图片

Lua实现的伪代码:

AssetFileLoader.Load("ui/spriteassets/emojidata.asset", function(isoK, result)
if not isoK or result:IsNull() then
return
end
for i, tmpText in ipairs(tmpTexts) do
tmpText.spriteAsset = result
local child = tmpText:GetComponentsInChildren(typeof(CS.TMPro.TMP_SubMeshUI),true)
if child then
child.spriteAsset = result
end
end
end)

替换SpriteAsset后:

注意查看 SpriteAsset的值,变成从ab中加载了。

文档资料

TextMesh Pro的资料,可以参考我之前的博客:http://www.cnblogs.com/zhaoqingqing/p/7471499.html

参考资料http://digitalnativestudios.com/forum/index.php?topic=1018.msg8140#msg8140

最新文章

  1. 4.6 .net core依赖注入的封装
  2. OpenCV学习笔记(二)——OpenCV环境变量配置
  3. jQuery性能优化
  4. WAMP 403 Forbidden禁止访问 的解决办法
  5. Oracle之ROW_NUMBER() OVER函数
  6. [zz]Java中的instanceof关键字
  7. IOS&swift开发常用的网站
  8. Java阻塞中断和LockSupport
  9. Unix Shell 通配符、转义字符、元字符、特殊字符
  10. MySQL的表分区(转载)
  11. Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
  12. General Structure of Quartz.NET and How To Implement It
  13. 【故障】当Eclipse打不开的时候
  14. mvc前端样式自定义
  15. 1.1 mysql安装
  16. 自己写的书《深入理解Android虚拟机内存管理》,不出版只是写着玩
  17. poj 2271HTML
  18. 命令行登陆mysql提示'mysql' 不是内部或外部命令
  19. Servlet中的过滤器Filter
  20. GitHub Desktop 代码库管理工具

热门文章

  1. 重构手法之Extrct Method(提炼函数)
  2. jstree 获取选中节点的所有子子点
  3. Javaweb学习(一):tomcat服务器配置与启动
  4. 记PHP面向对象编程
  5. 转: .Net 4.0 ExpandoObject 使用
  6. 1)C语言简介(C自考学习)
  7. Python 日志处理(一) 按Nginx log_format 分割日志记录
  8. webpack 3.X学习之基本配置
  9. Less注释语法
  10. 简易RPC框架-熔断降级机制