基于Unity3D的针灸手法教学仿真系统研究

2019-12-13 07:18阚红星高勇牛淑萍胡继礼金力谭红春
无线互联科技 2019年19期
关键词:针灸教学

阚红星 高勇 牛淑萍 胡继礼 金力 谭红春

摘   要:针对现在针灸手法教学或训练中的不足,文章利用建模软件对人体、银针模型进行建模,同时利用Unity3D软件建立3D场景,通过C#语言编写脚步代码,开发出针灸手法教学仿真系统。该系统弥补了当前针灸手法教学的不足,极大地提高了针灸教学的效率。

关键词:针灸;教学;Unity3D;虚拟交互

针灸教学在中医学中占有很重要的地位,一直以来都为中华民族的健康和发展作出了极大的贡献。促进针灸学的使用、推广和发展,是中医针灸造福全人类的关键突破口[1]。随着中医针灸的不断进步,针灸医疗师的需求也在不断地增加。现在的针灸教学及研究主要通过人体经络腧穴模型、现代仿铸针灸铜人、临床或真实人体操作。通过人体针灸模型可以很好地进行针灸的取穴训练,但是不能体现出用针的深度、力度、针刺效果等其他结果。通过临床或真实人体操作会有视觉上的约束性,而且穴位的误取或不准确的针灸手法会导致疼痛、内出血或其他不好的结果,有一定的危险性。

随着科学技术的发展,本项目开发的系统为针灸教学提供了新的教学思路和方式,直观、形象的教学模式大大提高了教学效率,同时提升了学生们的积极性和训练效果。

1    针灸手法教学仿真系统概述

1.1  系统结构设计

本项目采用现在比较流行的开发模式,首先,在3Ds Max建模软件中建立比较完整的人体和银针模型。3Ds Max是一个基于PC系统的三维动画渲染和制作软件,通过FBX插件,将建立好的模型导入多平台综合型游戏开发工具Unity3D中。在Unity3D平台中,通过C#语言编写脚本代码,实现相关的功能。

系统主要是实现3D人体的自由旋转观察、银针的自由移动、角度的旋转、UI界面显示取穴名称、用针深度、角度等功能,如图1所示。

1.2  系统流程

当使用者在操作本系统时,针对不同病症和穴位,选择不同的针型和针刺方法,系统会对使用者的操作进行判断和考核,当操作出现错误时,系统会立即做出一些回应,以提醒使用者及时订正。使用者完成整个操作时,系统将做出正确的反馈,根据使用者操作的穴位数和准确度给出相应的成绩,以充分发挥人机的交互功能。

2    系统关键技术

2.1  导入使用的素材模型

在本系统中,只需要导入两个模型,一个是人体3D模型,另一个是银针模型,直接将模型文件拖入之前在Unity3D软件中设置好的文件夹中,即可完成模型的导入工作。

Main Camera组件是主摄像机组件,为场景提供摄像机视角,也就是在页面中观察的视野范围。

Directional Light组件是方向光组件,为整个场景提供灯光照明,也可以渲染具体场景,常见的有太阳的光线照射、阴影、氛围的渲染等。

以上两个组件是场景的默认组件,且缺一不可,少了摄像机组件,运行程序无法显示场景;少了灯光组件,场景就会变得黑暗,模糊不清。

2.2  系统脚步代码设计

在Unit3D软件中,通过编写脚本代码来控制物体模型,用以完成相关的动作控制。Unity3D支持的编程语言除了C#之外,还有Boo和JavaScript,这3种程序语言都有不同的优点,且都能达到同样的目的。C#语言更能体现Unity3D软件的编程思想,因此,本系统采用C#语言来编写脚本代码。

整个系统中需要脚本代码控制的功能有:3D人体模型的360°上下左右的全方位查看、银针的自由移动控制、角度的自由转动、针灸穴位的定位等,及取穴的深度、角度、穴位的名称等具体信息的UI界面显示。

针对本系统所要实现的功能,建立了3个脚本程序:GUI Show,Camera Control和Needle Control,其中,GUI Show脚本负责取穴的深度、角度、穴位的名称等具体信息的UI界面显示;Camera Control脚本负责3D人体模型的360°上下左右的全方位查看;Needle Control脚本负责银针的自由移动控制、角度的自由转动、针灸穴位的定位等。

2.2.1  交互界面设计

GUI Show脚本文件负责取穴的深度、角度和穴位的名称等具体信息的UI界面显示。交互界面是使用者和本系统进行信息交换的通道,使用者可以进行穴位信息的查看等操作,系统则提供用户所需要的信息。本系统的交互界面只是简单展示一些信息和模型等,对界面设计没有过高的要求,所以直接采用Unity3D自带的GUI组件即可满足预定目标要求[2]。

2.2.2  3D人体模型的全方位的查看实现

在本系统设计中,脚本代码执行后可以完成对人体模型的控制,实现对模型的全方位查看。Camera Control脚本文件需要挂载在Main Camera组件上才能控制摄像机组件,具体操作是使用鼠标的右键拖动场景进行上下左右旋转,通过鼠标的滚轮实现放大和缩小场景的功能。因为模拟的穴位模型很小,所以整个人体模型就需要放大,导致整个屏幕无法显示完全。为解决这个问题,应使用组合键Q+鼠标左键,选择摄像机显示的中心点,以满足设计要求。同时,设置摄像机显示的最小和最大显示距离、鼠标控制的灵敏度等,提高使用者对人体模型查看时的舒适度。

2.2.3  银针功能控制的實现

Needle Control脚本文件负责银针的自由移动控制、角度的自由转动、针灸穴位的定位等。项目要求银针能随着鼠标的移动而改变位置,针刺的角度是指进针时针身与穴位所在表面的夹角。常见的针刺角度:平、直、斜刺[3]。针刺深度是以针本身刺入腧穴皮肤的深浅来作为量度,针刺的角度、深度都是在这个脚本代码中控制和计算的,由于篇幅的原因,不再展示具体的代码。

3    系統测试评估

为了测试本系统每个模块的功能,专门请来两位针灸老师和20位学生进行系统的测试,在测试的过程中发现,轻轻左右移动鼠标时,人体模型旋转的角度过大,不利于对穴位的精确查找定位。在银针的移动及旋转的模块中也发现了类似问题,所以在脚本代码程序中增加灵敏度参数,从而调整对人体模型、银针模型的控制。在进针的角度和深度计算中,涉及角度值Sin和Cos值的切换,利用Unity3D内置的脚本API即可完成角度的计算[4]。系统进行完善后测试的结果良好,基本实现了所设计的所有功能,但是系统还存在一些不足,有待进一步测试与研究。

4    结语

本系统基于针灸医学知识,结合先进的计算机技术,具有很大的实用性,可用于针灸教学。本系统可以让同学们在更为逼真的虚拟环境中对腧穴进行更直观的认识及操作训练,使同学们体验清晰的针刺操作,进而提高学生的动手和探索能力,弥补了当前针灸手法教学的不足,极大地提高了针灸教学的效率。目前系统所实现的功能还比较有限,使用者在使用的过程中,交互界面稍显简单,还需要进一步完善。在以后的改进中可以尝试和VR硬件设备相结合,增强系统的真实性和沉浸感[5],为更多的老师、学生、广大医务人员和针灸爱好者等提供服务。

[参考文献]

[1]喻艳艳,许军峰.浅谈现代医学对针灸学的影响[J].内蒙古中医药,2018(8):100-101.

[2]李兵川.基于Unity 3D游戏开发流程分析[J].山东工业技术,2018(7):148.

[3]蔡晓雯,黄泳,曲姗姗,等.虚拟现实技术在中医针灸教学中的运用[J].河北中医,2017(11):1758-1760.

[4]程世冲,欧阳猛,肖茗耀,等.基于Unity3D的针灸教学演示系统设计与开发[J].信息与电脑(理论版),2015(14):89-90.

[5]何玲玲,陈采益,林栋,等.基于VR技术的经络腧穴学教学应用初探[J].中医教育,2018(3):38-40,46.

Abstract:In view of the deficiencies in the teaching or training of acupuncture manipulation, this paper uses the modeling software to model the human body and the silver needle model, and uses Unity3D software to establish the 3D scene, and develops the simulation system of acupuncture manipulation teaching by C# language. The system makes up for the deficiency of the current teaching of acupuncture techniques, and greatly improves the efficiency of acupuncture teaching.

Key words:acupuncture; teaching; Unity3D; virtual interaction

猜你喜欢
针灸教学
Las nueve agujas de Fuxi Cómo surgieron estos implementos para practicar la acupuntura
飞蚊症 不妨一试针灸
爱眼有道系列之三十三 为什么治疗眼病也需要针灸
Efficacy of acupuncture on treating obesity and adipose-incurred illnesses
Acupuncture as a potential approach to improving the health of women with obesity
“自我诊断表”在高中数学教学中的应用
对外汉语教学中“想”和“要”的比较
跨越式跳高的教学绝招
初中50米迎面接力跑教学心得