站外推广免费网站自己做网站用什么软件下载
web/
2025/9/27 21:22:26/
文章来源:
站外推广免费网站,自己做网站用什么软件下载,青岛海西建设集团官方网站,wordpress 备份还原前言#xff1a;使用Unity开发的游戏需要支持泰语本地化#xff0c;以及解决显示泰语时Unity的bug 目录 1、Text组件显示泰语2、TextMeshPro组件显示泰语 现在很多游戏都需要显示泰语#xff0c;下面将介绍Unity如何显示泰语#xff0c;#xff08;仅介绍Unity字体方面的设… 前言使用Unity开发的游戏需要支持泰语本地化以及解决显示泰语时Unity的bug 目录 1、Text组件显示泰语2、TextMeshPro组件显示泰语 现在很多游戏都需要显示泰语下面将介绍Unity如何显示泰语仅介绍Unity字体方面的设置步骤以及Unity在显示泰语时的bug和解决方案具体游戏里面如何切换语言不做过多介绍
Unity里面显示文本的组件主要有下面几个 Text组件TextMesh组件不介绍TextMeshPro组件 TextMesh组件的解决方案和Text组件类似所以不做介绍。本文章中所有提到的资源文件在文末的链接下载。
1、Text组件显示泰语
首先需要找到一套能支持泰语的字体这里推荐Tahoma.ttf字体当我们拿到这套字体之后在Unity里面试试效果。
额。。。看起来很完美文字都是正常显示的。但是这个音标和泰语的字符中间怎么有这么大的间隙呢那是因为Unity字体渲染器缺乏对 GPOS 和 GSUB 的支持。因为泰语字体很大程度上依赖于这些功能所以如果没有它们渲染的图像看起来很难看。而且对于泰国人来说这样的文字不方便阅读。 我们将文字复制到其他软件中看看效果 可以看到在其他软件中泰语的音标和字符之间没有任何间隙这样看起来就舒服多了。接下来介绍如何在Unity里面实现类似效果。
对于Text组件显示泰语需要用ThaiFontUtility.Adjust接口在复制之前进行转换一下。在执行一下代码之后泰语音标就正常了。 private void Update(){text.text ThaiFontUtility.Adjust(กิจกรรมเช็กอินฤดูใบไม้ร่วงสิ้นสุดแล้ว ระบบตรวจพบว่าคุณมีรางวัลล็อกอินที่ยังไม่ได้รับและได้ส่งทางจดหมายแล้ว กรุณาตรวจรับ);}调用这个接口的时机也可以放到Text组件里面给text赋值的时候 注意 ThaiFontAdjuster 只能处理特殊字体。这种字体需要具备从 UF700 到 UF71A 的扩展字形从而提供泰语字符的各种位置。这也就是为什么之前推荐使用Tahoma.ttf字体了。
原理 其实原理就是将原本的字符替换为其他字符被替换的字符含义不变只是相对位置变了而已。替换规则如下 // EXTENDED CHARACTER TABLE // F700: uni0E10.descless (base.descless)// F701~04: uni0E34~37.left (upper.left)// F705~09: uni0E48~4C.lowleft (top.lowleft)// F70A~0E: uni0E48~4C.low (top.low)// F70F: uni0E0D.descless (base.descless)// F710~12: uni0E31,4D,47.left (upper.left)// F713~17: uni0E48~4C.left (top.left)// F718~1A: uni0E38~3A.low (lower.low)// // [base] [top] - [base] [top.low]// [base] [lower] [top] - [base] [lower] [top.low]// [base.asc] [top] - [base.asc] [top.lowleft]// [base.asc] [lower] [top] - [base.asc] [lower] [top.lowleft]2、TextMeshPro组件显示泰语
第一步需要创建一套泰语的SDF字体这里使用AlibabaSansThaiMedium.ttf字体任意字体均可无硬性要求右键该字体 -Create-TextMeshPro-FontAsset。 然后选中改字体点击【Update Atlas Texture】 按照下面的示意图进行设置 其中蓝色方框内的内容填入下面这个
③CНฉ์3v≧ü#fрฬVаผ以FРฌ6y฿iуฯYгฟ【I…ฏⅡ 9|Бโ)lา\□•ย Lฒ④Ⅴ⑥ข❦,oี_йล“O⑤ต?м่/한ุb¥ГศRธB어Мзจ๋ωuя≦ếeใหUปEПซ5x¡%hтฮXвพH《2ฎⅠู8{แ(kñั[еá—KฑⅣ。;~กไrnิиäฤNด◆ค็.qыืaлçวQ×ท①สAЛง๊1t·≥!dюо”Tบ》Dชํ4wД$gсíอWฝGСญ7zเjะZภ】J②ฐⅢ、:}*mệóำ] ร
MЧณฃๆ-pึк’
Pมถฆ้0s≤ ‘cнéษSน这一套操作下来就可以发现现在TextMeshPro组件现在就可以显示泰语字体了。 但是是不是发现了这个位置有点不正常这里有两个字符重叠了可以对照上面的Text组件的显示效果。下面来解决TMP组件显示泰语音标重叠的问题。 解决这个问题也简单使用AdjustWannayuk工具设置一下音标表的偏移值就行。 右键SDF的字体文件选择AdjustWannayuk命令然后就设置好了。这个时候就正常了而且不需要调用ThaiFontUtility.Adjust接口音标的位置也是正确的。 工具以及字体资源的下载地址 https://github.com/momohola/Unity-Thai-Adjust
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82973.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!