虚拟医学手术室三维场景构建与交互设计*
2018-12-23杜丽媛
杜丽媛,张 琦
(广东药科大学 医药信息工程学院,广东 广州 510006)
虚拟医学手术室三维场景构建与交互设计*
杜丽媛,张 琦
(广东药科大学 医药信息工程学院,广东 广州 510006)
通过Maya与ZBrush相结合的方式构建了一间三维虚拟医学手术室,包括常用医学仪器与器械、人体、器官、肌肉、组织等三维模型,并为模型完成了UV贴图等工作,最后导入Untiy3D中实现手术室漫游交互功能。打破了空间与资源的限制,使学习者可以在虚拟的手术室内自由游走及操作仪器,是开发虚拟手术训练系统的一次基础尝试。
漫游交互;Maya;虚拟医学手术室;Unity3D
虚拟现实技术是利用计算机生成逼真的三维虚拟环境,并通过传感设备与之交互的技术,特别是医学虚拟仿真系统,可以对仿真人体器官、实验动物或标本进行模拟操作,使用户获得身临其境的学习体验,具有多感知性、沉浸感、交互性和构想性等特点,特别是对医学实验教学方面产生了很大影响。目前,虚拟实验室主要包括虚拟解剖系统、虚拟诊断学、虚拟切片系统、虚拟胚胎学教学与虚拟手术教学系统等,它具有明显的低成本、高效率、功能全等优点,足以弥补真实实验室的不足,因而广受高校和研究机构推崇[1]。本文主要围绕虚拟手术教学系统中虚拟医学手术室这一部分进行重点研究与实现。
1 相关技术
1.1 Maya与ZBrush
目前,三维建模类型的软件有很多,例如Maya、3DsMax、Blender等,每个软件都各具优势与特色,而Maya是其中包含功能最为强大的一个,也是市场上主流使用的软件。在文献[2]中,对比了3DsMax与Maya 2种软件,得出Maya更为适合构建医学虚拟模型,并开发了人体肌系统模型,但肌肉细节效果并不明显。本文为了构建更高级别且更加逼真的三维模型,将Maya与ZBrush相结合,由ZBrush软件负责雕刻出模型的细节,降低Maya加载复杂模型的内存消耗,同时提升视觉效果。
1.2 Unity3D
Unity3D是一款专业的3D游戏引擎,具备跨平台发布、高性价比、画面渲染效果真实等特点,特别是Unity3D属于轻量级的开发引擎,在开发虚拟现实方面易于操作,且开发成本低,适合开发虚拟现实教育类的产品[3]。
2 构建三维模型
在创建三维模型时,实际上是将二维平面图转为三维模型的一个过程。在收集了大量参考图的基础上开始建模工作,这里将全部模型分为2大类:①手术室场景中的相关仪器。由于现实中的手术室器械繁多,因此本项目以基本外科手术器械为基础,主要包括手术刀、手术剪、止血钳、敷料镊等,以及常用手术大型设备模型,包括手术台、无影灯、麻醉机、呼吸机、心电图机、多参数监护仪、超声多普勒、B超机、手术器械车等。②真实人体结构的展示,包括各大器官模型,比如心脏、肺、胃、肝、胆、胰、脾、肾脏、小肠、大肠,人体肌肉模型,比如胸大肌、上腹肌、三角肌、肱二头肌、三头肌等,以及人体骨架模型。
2.1 建模关键技术
以制作普通三维动画来说,一般建模的基本要求是按照实物比例1∶1大小,形态细节准确。此外,还应尽可能以最低的面数达到高精度的视觉效果。由于本项目需要后期导入Untiy3D中,而Unity3D不具备自动平滑效果,因此对于低精度模型的显示会很生硬,严重影响视觉效果。所以要求在Maya中创建的模型都是中高精度的。
2.1.1 布线原则
简单来说,建模的布线原则为尽可能地均匀,尽量以四边面为主,一定不能出现多于四边面的面。具体到本项目,还要求对第一大类的模型进行倒角,以缓解硬边的视觉效果。图1~图6为部分医疗器械的模型截图。
2.1.2 高精度人模
这里采用Maya与ZBrush相结合的方式来创建高精度人体模型。首先在Maya里制作低模,然后将其导入ZBrush中进行细节雕刻,完成后导出法线贴图、置换贴图、漫射贴图等,最后将这些贴图导回到Maya中,给低模赋予材质贴图,从而达到低模有高模的视觉效果,并且节省了计算机的内存消耗。图7~图9为部分雕刻的器官高模。
图1 无影灯
图2 手术台
图3 B超机
图4 麻醉机
图5 呼吸机
图6 超声多普勒诊断系统
图7 肩胛骨
图8 头骨
图9 腹肌
2.2 UV与贴图
本项目不需要使用Maya内置渲染器进行渲染,因此只需要进行划分UV与绘制颜色贴图即可。模型UV要尽可能平整,不要太离散。如图10为人体UV,图11和12分别为人体肌肉和骨架的贴图效果,图13为人体内部器官。
3 交互功能的实现
3.1 漫游交互的实现
当建模工作结束后,删除模型历史,为模型各部分进行命名与打组,整合完毕后才将文件导出FBX格式,这是Unity3D可以识别的格式。在Unity3D中,依次加载手术室场景模型、医疗设备与仪器模型及人体模型等,按照先前设计的摆放位置,将模型定好位。通过调用Unity3D中的内置函数,实现通过鼠标控制视角来进行全方位游走。图14为手术室内的一角。
图10人体UV
图11 肌肉
图12 骨架贴图效果
图13 内部器官贴图效果
图14 手术室内一角
3.2 交互展示功能
当用户在手术室里漫游时,每当触碰到物体,在右下角会显示当前物体的名称。特别是实现了人体各部分器官的悬浮独立显示功能,用户点击某一个器官,该器官则自动上升,通过对话框确定用户的下一步操作,如果需要单独展示,则室内其他模型被锁定,用户可以360°随意旋转来观察该器官,如图15所示。此外,便于日后继续开发虚拟手术训练系统,目前还完成了若干手术刀、手术剪、止血钳等模型,用户可以点击拾取它们,如图16所示。
图15 器官悬浮展示
图16 手术刀及手术剪展示
4 结束语
本文完成了一个小型虚拟三维手术室场景的构建及漫游交互功能,其中包括三维建模、贴图,以及代码实现等工作。对于开发虚拟仿真的医学类实验系统,利用Maya与Unity3D结合进行开发是个不错的途径,未来也会越来越受欢迎。鉴于真实手术中情况复杂,如何在虚拟仿真系统中逼真地呈现出来,使用户交互体验更加真实,则有待进一步研究尝试。
[1]石新丽,唐飞羽,孙梦雯,等.虚拟实验室在医学实验教学中的应用研究[J].实验技术与管理,2014,213(6):114-116.
[2]刘文苗,杨雪,王丽,等.基于Maya技术的医学虚拟实验模型构建[J].实验技术与管理,2011,28(4):76-79.
[3]汪腾浪,田元.基于Unity3D的教育产品开发研究[J].软件导刊·教育技术,2017,16(5):83-85.
TP317;G642.4
A
10.15913/j.cnki.kjycx.2018.01.121
2095-6835(2018)01-0121-03
广东省大学生创新创业训练项目(项目编号:201610573042)
杜丽媛(1994—),女,广东人,本科生,专业方向为数字媒体技术,曾获得2015年中国大学生动漫游戏创意设计大赛三等奖。
〔编辑:刘晓芳〕