unity2019.1.5f1及更高版本不再存储UIText的完整vertex信息

最近在做聊天emoji支持,用的版本是unity 2019.1.8f1

参考了网上多个例子,均出现排版怪异的问题,排查原因后发现是unity新版中不再存储UIText的空格,换行等完整vertex信息,因此,所有通过OnPopulateMesh重新修改text的顶点信息来实现图文混排的算法全部失效.

在这篇帖子中,unity官方给了回复:

https://forum.unity.com/threads/possible-to-revert-to-2018-textgenerator-settings-in-2019.753686/

他们在收购了Text Mesh Pro 后,就推荐大家使用这个插件来做图文混排,而不是自己再造轮子,同时也没有把vertex信息重新加回来的计划(他们觉得存储这些多余的信息是个bug,应该被fix,无语),我测试了最新的Unity2019.2.9f1,确实没有加回来.

尴尬的是,虽然TMP做图文混排确实很方便,几句话搞定,但是并不适合做聊天,因为需要自定义字库,如果是纯英文的或者纯中文的聊天还好,如果是世界聊天,那这个字库就完全没法做了,因为字库只能放在一张2048*2048的图片上,不可能装下所有的世界语言.

因此我只好回退unity版本,经多次测试,确定2019.1.4f1是最后一个存储了完整vertex信息的版本,从2019.1.5f1及往上的版本开始就没有存储完整信息了.

最后我把unity版本降回unity2019.1.4f1解决聊天emoji图文混排的问题.(项目中最终使用了参考链接<1>的解决方案来进行的修改.)
在这里插入图片描述

参考链接:

  1. https://blog.csdn.net/lahmiley/article/details/83759753#comments
  2. https://blog.uwa4d.com/archives/Sparkle_UGUI.html
  3. http://www.unitybeginner.com/index.php/archives/454.html#respond
  4. https://github.com/xiaobin83/Unity3D.EmojiText
  5. https://github.com/coding2233/TextInlineSprite
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值