基于Unity3D的三维模拟针刺训练系统的设计与开发
2016-07-28张淑苗
张 伟,张淑苗
(1.甘肃中医药大学信息工程学院,甘肃 兰州 730000;2.甘肃农业大学,甘肃 兰州 730070)
基于Unity3D的三维模拟针刺训练系统的设计与开发
张伟1,张淑苗2
(1.甘肃中医药大学信息工程学院,甘肃 兰州 730000;2.甘肃农业大学,甘肃 兰州 730070)
借助虚拟现实技术,在Unity3D开发环境中,在虚拟人体上标注穴位、经络等信息,并通过操作实现虚拟针刺训练,帮助中医院校学生及中医爱好者掌握穴位、经络等中医基础知识。系统发布在Windows和Android平台,方便使用者根据实际需要选择相应版本。
Unity3D;三维模拟;针刺;虚拟现实
随着人们生活水平的提高,养生保健、治未病等中医观念逐渐深入人心[1]。中医作为祖国传统文化的重要组成部分,在中华民族的繁衍生息中发挥了至关重要的作用。其中针灸作为中医最重要的治疗和保健手段,不但在国内广泛使用,在国外也得到了越来越多的重视[2]。然而,培养一名合格的针灸师并不是一件容易的事情,作为一门实践性很强的学科,需要大量的临床实践才能熟练掌握各种针灸技艺,尤其对经络和穴位的准确识别定位,是实施针灸治疗的前提和基础。古代智慧的中国人为了认识、测试经络穴位的准确位置,曾经浇铸过闻名于世的针灸铜人,为培养针灸师做出了很大贡献[3]。但是针灸铜人功能单一,制作成本高,搬动不便,现在已很少使用。而非中医人士尤其是外国人学习和识记穴位、经络等中医知识更是困难重重。
为此,各大医疗公司开发了许多针对经络、穴位的实训模型,一定程度上缓解了上述问题。但是模型大都是针对医学生训练所用,成本高昂,携带不便,易磨损,维修成本不菲,且功能单一,可标注的信息量非常有限。随着虚拟现实技术的飞速发展,利用现代信息技术实现针灸技术的可视化学习,或可以解决上述问题。
1需求分析
全面细致的功能分析,是顺利开发完成一款实用信息系统软件的前提和基础。根据教学、训练场景需要,通过问卷调查和走访等获得用户需求信息,大致归纳为以下几点:(1)建立一个标准的虚拟人体模型;(2)能够从任意角度观测到虚拟人体的各个部位;(3)能够放大缩小虚拟人体,以便从宏观和微观两方面进行观测;(4)常见穴位能够明显标注在人体表面,并且保证部位的准确性;(5)能够显示穴位的功能、作用、主治、所属经络及经典取穴方法;(6)用穴位串联起来的12条经络能够明显显示出来;(7)能够完成学习测试。
2关键技术
2.1人体建模
精确的虚拟人体模型是实现穴位、经络等信息定位的基础。经搜索对比网络上现成的一些虚拟人体模型,大多是为游戏角色设计的,很多都比例失调,无法在医学信息系统中使用。为此,项目组根据人体比例,使用3DSMAX软件重新进行人体建模,为求精确逼真,使用了多种建模手段和技术[4]。此外,在人体选择上采用男性人体,这与现实中使用的普通实训人体模型一致。
2.2穴位及经络建模
项目组选择的穴位主要是人体300余处“正穴”,之所以没有选择“经外奇穴”,是因为在现代中医理论里,这些穴位的治疗和保健效果还存在一些争议。
古代文献记载“穴位大小如米粒”。在虚拟人体上精确定位这些穴位并不容易,为力求本系统穴位信息准确无误,项目组聘请了甘肃中医药大学针灸推拿系几名教授,全程指导参与中医相关信息的录入工作,在穴位、经络功能里删除了一些存在争议的内容,知识点参照中国中医药出版社2008年版《针灸腧穴学》教科书内容。
为求直观形象,项目组在3DSMAX中使用小球体作为穴位模型,精确镶嵌在虚拟人体体表相关部位。为了使学习者能够观察到精确的穴位点,穴位及经络模型不完全镶嵌入人体,即有一部分是裸露于体表的,并用相应颜色标示。根据系统功能,在测试模式下穴位和经络模型处于隐藏状态,当学习者针刺位置正确后,系统会提示正确,否则会提示错误并显示正确的穴位模型。在学习模式下,可根据穴位名称或者穴位点选择,并显示穴位的功能与用途等信息。
2.3操控场景
该系统中人体的精确操控是项目开发成败的关键。经对比,项目组选取了一款当前流行的易用3D游戏开发引擎Unity3D,这是一个开发者可以轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台综合型游戏开发工具,是一个全面整合的专业游戏引擎[5]。该引擎可一次开发后将最终结果发布到PC、IOS、XBOX、Android等平台,是目前主流的3D可视化开发平台。
在人体操控上,我们根据用户的使用习惯,使用鼠标右键实现旋转人体,改变观测角度,使用鼠标中键放大或缩小视距,使用鼠标左键实现穴位的选择以及菜单等信息的点选。场景及系统运行见图1。
2.4信息存储
穴位、经络名称及功能主治等信息对于学习者至关重要。原计划将穴位和经络信息存储在本地数据库,后来发现此举没有必要:其一,不做成联机版就没有并发数据访问的压力;其二,穴位等信息一旦录入后,增、删、改的机会很少。另外使用数据库后,将来部署和发布会有很大不便,尤其是在移动端。
鉴于此,项目组将穴位信息以文本格式存储在文件里,并与场景中的穴位信息予以关联,存储格式如表1所示,系统在运行时根据需要加载相应的信息。经测试,速度和显示结果都比较令人满意。
编号 功能与用途用于和模型相关联穴位穴位名称 古文献中记载的方法取穴方法录入相关文字归经所属经络
图1 系统运行图
2.5发布及部署
使用Unity3D系统发布应用非常容易和便捷,只要将需要的各种文件打包在程序内,然后选择相应的平台予以发布即可。课题组根据目前实际情况,将本系统发布为Windows版和Android版,其中Windows版为绿色版,无需安装,解压后即可使用。
3测试使用
系统开发完成后,项目组成立了测试小组,对该版本两个平台的应用进行了详细的内部测试。之后项目组又组织甘肃中医药大学相关专业学生集中上机测试和试用,获得了较为详细的测试资料,对一些严重的漏洞进行了修复,目前的版本已比较稳定。
4结论与展望
该系统的设计和开发,是运用虚拟现实技术解决医学教学和实践中问题的案例。项目组设计开发的三维模拟针刺训练系统使用目前流行的Unity3D技术平台,在针灸推拿系多位教师的参与和指导下历时两年完成。该系统计划在甘肃中医药大学课程改革中予以推行使用,移动版将在校内非医学专业推广使用,并将继续修改和升级,在合适的时间发布到公共平台供全省乃至全国中医爱好者使用,为祖国医学的普及和推广做出贡献。
[1]尹红博,吴富东.古代针灸养生保健文献整理述略[J].山东中医药大学学报,2013(3):234-235.
[2]李秀明,姚峥嵘,张洪雷.中医药文化传播之于国家软实力建设的思考[J].医学与社会,2011(10):15-17.
[3]秦红.乾隆针灸铜人始末[J].中医药文化,2012(6):43-45.
[4]张岩,高海侠.浅谈3DSMax多种建模方法的应用[J].科技创新导报,2008(33):26-27.
[5]宣雨松.Unity3D游戏开发[M].北京:人民邮电出版社,2012.
表1 穴位信息格式
G434
B
1671-1246(2016)13-0028-02
注:本文系甘肃省青年科技基金(1208RJYA062);甘肃省教育厅科研基金(0906-01);甘肃中医药大学教改项目(230514520225)