适用于少数民族的Unity3d 虚拟仿真系统关键技术研究

2023-12-01 07:27赵一江
现代电子技术 2023年23期
关键词:维文维语字符

赵一江,余 超,于 清

(1.新疆大学 软件学院,新疆 乌鲁木齐 830000;2.新疆大学 信息科学与工程学院 多语种信息处理实验室,新疆 乌鲁木齐 830000)

0 引 言

虚拟现实(VR)是一种将计算机图形技术与相关设备相结合,可为人们创造具有沉浸感、互动性和想象力的良好虚拟环境的仿真技术[1]。Unity3d 是一款流行的、免费的3D 游戏引擎,用于设计和构建虚拟环境。与其他3D 设计应用程序相比,这在很大程度上归功于一个友好的用户界面,用于设计内容,以及一个强大的工具集,用于处理3D 环境的常见元素,如地形、物理、粒子效果、声音、模型和动画角色[2]。然而在使用过程中发现,Unity3d 在语言字体方面还存在一些问题,其可以显示常用的汉语、英语等字体,但是在少数民族语言上存在明显的缺陷,如维语字体,它不支持维语字体的正确显示,不利于维吾尔族同胞在教育、医疗等VR 活跃的行业受益。

在Unity3d 的研究中,文献[3]探讨国内外虚拟现实技术用于语言教学的现状与发展。文献[4]对虚拟现实英语演讲课堂的原理进行分析,认为虚拟现实技术能够训练学生的应激反应能力。文献[5]从认知的角度探讨了虚拟人与学生间的关系,表示学生能够通过虚拟人实现自身认知。文献[6]利用虚拟现实技术的沉浸性,让学生沉浸在语言学习环境中,与母语学习者进行实时交流,为学生提供了传统课堂无法提供的语言学习环境。文献[7]利用虚拟现实技术还原真实口译场景,消除学生译员对口译现场的陌生感,达到学生口误次数下降、口译综合能力提升等效果。文献[8]创建了虚拟现实语言学习生态模型,宏观上强调语境对外语学习的重要性。文献[9]介绍了生态、对话和分布式虚拟现实理论模型。

在国外,文献[10]使用Unity3d 实现两种印度语的开发,即印地语和泰卢固语,帮助初学者使用虚拟物品标识的方式来学习印度语词汇。文献[11]进行了印度手语的开发,使用Unity3d 设置动画显示所有不同手势的动作数据,帮助有障碍人群和正常人群的实时交流。

在字体研究方面,现在所使用的以阿拉伯字母为基础的维吾尔文(简称传统维文)由8 个原音、24 个辅音字母组成,自右向左书写[12]。文献[13]介绍了传统维文与西里尔维文编码字符之间的对应关系与规则,提出了转换的规则;文献[14]中介绍了在Office 环境下不同传统维文与Unicode 编码字符之间的转换;文献[15]中介绍了传统维文在搜索引擎系统中的转换方法。

在字体库方面,微软提供了可正确显示阿拉伯语的字体库,会存在字符割裂的情况。对此问题Unity3d 资源库中提供了字体资源包,可以解决字符割裂问题,但是在部分字符上会存在随意替代的问题。因此,虽然有很多研究围绕着这个问题展开,但是几乎没有一项完美解决维语在Unity3d 中正确显示的问题,本文研究解决这个问题,从而帮助少数民族用户尤其是维族用户获得虚拟现实方面的愉快体验。

1 方 法

本文提出了在Unity3d 中维语的正常显示方面的研究。首先需要了解Unity3d 中语言文字的显示方式以及维语的构成方式。项目在现实UI 界面时,默认调用Unity3d 提供的Arial 字体,Unity3d 支持ttf、otf 格式的字体,字体文件放到Assets 文件夹下不论什么位置,Untiy3d 会主动为其生成材质和贴图,并且字体可以进行属性方面的设置,如粗细、呈现模式等,在打包部署时,可以将字体包一起打包安装到用户机器上。

使用Unity3d 默认的字体在维语显示上会出现显示乱码的情况,并且显示顺序也完全不同,有些字母还会被其他字母替代,导致单词拼写出错。本文尝试使用Unity3d 资源库中的字体库,以及在Visual Studio 中可以正常显示的字体库,但是都没有完全解决问题。

最后选择自行开发矫正字体。首先针对存在的问题进行分析,发现现有的代码对维语字母从基本区到扩展的映射不全,根据维语Unicode 编码方式补全了维语从基本区到扩展区的映射,具体方法是将基本区和扩展区的Unicode 编码表存入在映射中,在输入字符后将其逐个映射,之后对维语做了格式上的矫正,对输入的维语按字母进行切分,然后重排序,将其矫正成从右到左的显示格式。之后导入维语.ttf 字体包,使其可以正常显示。通过此方法将场景中涉及到的单词语句都进行了维语的矫正,使其在Unity3d 中正确显示出来。

2 实验论证

Unity3d 虚拟仿真引擎跨平台开发功能强大,开发的项目支持多种平台发布,包括PC 机、Android、iOS、Oculus 设备等。本系统采用开发硬件为PC 机,开发完成后设置分辨率、画面比、图标等进行自定义发布,将项目打包加载到Oculus Quest2 虚拟设备。

2.1 文字验证

所有维语显示的方法结果对比如图1 所示。

图1 展示了词语“维语”的维语写法以及各种方法的显示结果,初始字体显示存在字符乱序、字母割裂的问题,如图1a)中方框圈出了乱码,横线画出了割裂字母,箭头指示出字母顺序的错误、正确写法是从右到左;微软字体存在顺序错误、字母割裂的问题,如图1b)中箭头指示顺序错误的方向是从左到右,正确方向是从右到左,横线画出了割裂的字母;Unity3d 资源库中字体存在字符割裂和部分字符替换的问题,如图1c)中方框画出了替换的字母,横线画出了割裂字母;本文方法彻底解决了这些问题,使维语在Unity3d 中可以正常显示,如图1d)所示。

2.2 系统验证

本文为进一步验证以上方法的有效性,设计开发虚拟超市购物系统。用户首先在家庭场景中选择任务难度,接受随机任务,记忆购买的物品,然后到超市场景中购买物品,返回交付任务,经过测试,所有内容完成显示正确,系统流程图如图2 所示。

图2 虚拟超市购物系统流程图

用户戴上VR 设备之后,以第一人称视角进入虚拟家庭环境。选择语言,可选项有中文和维语,选择结束后进行难度选择,分为简单、中等、困难。简单任务为购买3 种放置在同一区域的水果蔬菜;中等任务为购买分布在不同区域的日常用品;困难任务为购买分布在不同区域的日常用品并在结账时自行计算出账目金额。如图3 所示为维语选择难度的界面。

图3 维语难度选择界面

在选择完难度后,系统根据难度的不同随机生成不同的物品,如图4 所示,用户记忆后前往超市场景购买。

图4 系统自动生成维语待购买清单

在超市场景,按照实际情况设置了多个分区,并在选择维语后,用维语显示分区,如图5 所示。

图5 超市场景维语显示分区

3 结 语

本文基于虚拟现实技术,使用Unity3d 虚拟仿真引擎构建高度逼真的仿真模型,对少数民族用户语言文字和语音功能进行探索性研究,成功显示了维语文字,搭建了多语种的Unity3d 仿真系统,具有支持少数民族用户进行用户虚拟漫游、康复训练、教学时间、评估考核等功能。增强了新的体验感,对虚拟现实技术在少数民族领域的发展具有重要意义。

本文目前只设计了两个场景,以及一些场景中用到的词语和语句,后期可以增设场景,支持多场景训练,增加词汇和语言的表达,可以再添加其他少数民族语言。

注:本文通讯作者为于清。

猜你喜欢
维文维语字符
对比语言学视野下的维吾尔语与朝鲜语音义相近词比较初探
寻找更强的字符映射管理器
浅析维语口语技能的影响因素和提升路径
石维文
字符代表几
一种USB接口字符液晶控制器设计
消失的殖民村庄和神秘字符
互联网上的维语多文转换机制的设计与实现
试析否定词缀在汉维语中的不同表现
察合台维文文献《伊米德史》研究概况