APP下载

油田应急培训系统中角色模型及动画制作方法研究

2019-04-04石杨刘贤梅赵娅

微型电脑应用 2019年3期
关键词:安全帽骨骼应急

石杨, 刘贤梅, 赵娅

(东北石油大学 计算机与信息技术学院, 大庆 163318)

0 引言

石油作业处于危险的环境,加强工人应急培训,保障石油的安全生产,其重要性不容忽视[1]。为了解决这一问题,在工人上岗前需要对工人展开相应的应急培训操作。通过调查发现,传统的“教科书”式培训不能让工人理解正确的应急操作流程,也不能够让工人随时、重复、直观的学习。基于这一弊端引入虚拟培训的手段,虚拟培训是指利用虚拟现实技术生成创建具有三维信息的虚拟环境的培训体制,在油田应急培训系统中,学员通过观看演示动画、作答选择题以及工具选择等方式熟悉真实作业环境,了解各种突发事故的应急处理预案。虚拟角色利用三维可视化数字技术对真实人物进行模拟,并借助3D显示设备模拟真实环境、操作和流程,使受训的人员能够获得和真实世界中相同或者相近的体验。因此,应急培训系统中虚拟角色的出现可以让受训人员在虚拟环境中获取和真实场景无异的操作体验,还可以实现随时随地可重复的操作培训,在重复中不断增强训练效果,更重要的是这种虚拟环境使他们脱离了现实环境培训中的风险,并能从这种培训中获得感性知识和实际经验。本文主要研究油田应急培训系统中的角色模型与角色动画的制作。利用3DS Max软件设计制作虚拟角色几何模型,构建虚拟角色蒙皮,利用关键帧技术制作骨骼动画,最后利用Unity3D实现动画效果的演示。

1 角色模型的设计与制作

1.1 虚拟角色设计

虚拟角色的形象设计应满足应急培训项目的要求,对真实工人的操作环境、操作背景有一定的了解,最终创建出和实际工人相似度最大的虚拟角色模型。系统中虚拟角色的设计主要包括3个方面:即安全帽、角色五官以及工服的设计。

1.安全帽的设计

安全帽的正中间是一个中国石油的LOGO,帽檐部分较宽,防止石油工人在作业时上方重物脱落砸伤。从帽檐到帽顶采用红色渐变,使安全帽整体看起来比较有光泽。

具体效果如图1所示。

图1 安全帽的设计效果图

2.五官的设计

经过对人体五官比例的研究学习,五官的比例大致如下:眉毛约在整个人物面部的1/3处,眼睛约在整个人物面部的1/2处,鼻子的长度约占整个面部的1/3,嘴巴距离发际线的具体约为面部的7/9,发际线到比底的距离约占整个面部的2/3。人物面部的宽度约为5个鼻子的宽度[2]。具体效果如图2所示。

图2 五官样式及比例设计图

3.工服的设计

基于石油工人的工作性质,对其工服采取了以红色为主打色的设计方案, 红色是比较鲜艳、明显、热烈的颜色,红色的工服能够突出石油工人所在的位置。工服的设计包括胸口的石油徽标、两侧的荧光条、可以插放物品的小口袋等[3]。具体效果如图3所示。

图3 衣服平面设计图

1.2 虚拟角色三维模型制作

虚拟角色模型的制作采取“自顶向下”的方式,即安全帽、头部、身体的顺序构造模型。

(1)安全帽:以“球体”为原型,减少它的分段数,达到优化的效果,调整安全帽的形状,依次“挤出”帽子顶端还有两侧凸出部分,最后制作出帽檐的部分。具体效果如图4所示。

图4 安全帽制作图

(2)头部:主要是采取 “边缘拖动复制”、“顶点焊接”、“挤出倒角”等操作,将五官按照比例连接在一起,制作出一半的角色头部模型。由于虚拟角色的脸部是相互对称的,所以将一半的角色头部进行“实例化”操作,实例出完全相同的另一半脸部模型,在更改原模型的同时,实例出的模型也会随之改变,最后将原模型和实例化的模型焊接在一起。采用“网格平滑”操作,将有棱有角的面片转换为平滑的网格,以此来实现整个头部模型的光滑度。具体效果如图5所示。

图5 角色头部制作效果图

(3)身体:在创建身体模型时,秉持衣服和身体一体化的原则,减少角色模型的面数,为后期的优化提供了保障。具体效果如图6所示。

图6 角色身体制作效果图

1.3 虚拟角色贴图

为虚拟角色贴图不仅可以增加石油工人的真实感,还可以减少模型的面数。人物眼睛完全利用贴图来实现,大大减少了眼球以及睫毛模型的面数,当模型应用到油田应急培训系统中时,运行速度会有所提升。

虚拟角色贴图采用“UVW展开”的方式对角色进行材质赋予,即将模型展开成一张二维的图片,针对图片的不同位置赋予相应的颜色。角色贴图的实现方法如下:

(1)对角色安全帽和虚拟角色进行“ UVW展开”操作。将角色的头部和身体剖开,具体效果如图7所示。

图7 角色UVW展开图

(2)利用Photoshop工具对上述的UVW展开图进行颜色的绘制,控制不同部分的材质颜色。具体效果如图8所示。

图8 角色UVW贴图

(3)在材质编辑器中选取“多维子对象”作为虚拟角色模型的贴图方式,设置安全帽和人物身体的ID,分别赋予材质。利用“材质编辑器”为虚拟角色赋上材质,贴图后的虚拟角色效果如图9所示。

图9 最终贴图效果

1.4 虚拟角色与骨骼的匹配

基于H-Anim人体建模标准,采用树形结构创建角色骨骼模型。

1.骨骼构造

角色模型的运动主要通过骨骼的各关节点来控制,骨骼模型由关节点按一定层次连接成树的结构。角色骨骼大致分为19个部分,和虚拟角色模型各个部分相匹配。[4]具体如图10所示。

图10 角色骨骼组成

2.骨骼运动

对于骨骼运动的研究,我们建立空间直角坐标系方便计算与定位,直角坐标系以O为原点,创建x轴(横轴)、y轴(重轴)、z轴(竖轴)三条坐标轴。基于关节的虚拟角色骨骼模型在运动时存在关节活动范围极限值, 即

R(x,y,z)min≤R(x,y,z)=α≤R(x,y,z)max

(1)

式中,R(x,y,z)min和R(x,y,z)max为关节绕x,y和z轴允许旋转的最小和最大角度。

根据 GB10000—88《中国成年人人体尺寸》中的数据, 成年人肢体各关节活动范围如表1所示。

表1 成年人肢体部分关节的主要活动范围

对虚拟角色骨骼模型进行运动编辑时, 各关节的运动要符合关节约束关系,否则运动不自然。[5]

以颈部为例,人体骨骼运动范围如图11所示。

图11 人体骨骼颈部活动范围图

虚拟角色骨骼运动是由关节的运动触发的,父节点的平移、旋转会带动子节点运动[6]。具体如图12所示。

图12 骨骼关节运动

3.骨骼绑定

(1)调整Biped系统中每一个骨骼的大小比例,让模型能够完全包含骨骼。为了方便骨骼和模型的的对位,设置模型视图穿透效果,使角色透明,这样能够清楚的看到骨骼和模型匹配程度。具体效果如图13所示。

图13 模型中的骨骼效果

(2)角色模型是由各种形状的面片组成,面片数的多少对于模型和骨骼的匹配会有一定的影响,面片数越多,细致程度越高,绑定的效果越好。但是基于项目的模型面片数应该尽量减少,所以本系统中的模型面片数适中,能够正常展示系统所需动画动作即可。

(3)把模型绑定到骨骼上的技术叫做蒙皮,蒙皮是通过添加“physique 修改编辑器”来实现的。而其中关键步骤就是调节每节骨骼的影响区域和力的衰减程度,这个过程简称 Envelope 封套。控制骨骼对模型的作用域,红色框内为完全控制;紫色框为控制衰减区;棕色框以外完全不受控制,各个部分的权重分配不尽相同。通过调节红色和棕色的范围框的控制点来调节它们各自的作用范围。具体效果如图14所示。

图14 Envelope 封套

(4)骨骼模型匹配完成,以手部模型为例,旋转骨骼,测试蒙皮效果。具体效果如图15所示。

图15 虚拟角色手部绑定

2 骨骼动画制作

2.1 利用关键帧技术制作骨骼动画

帧,动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。在动画软件的时间轴上帧表现为一格或一个标记。关键帧动画是指在不同时间里,记录虚拟角色不同的运动状态,最后把这一系列运动状态连起来播放形成的动画。从原理上讲,关键帧插值问题可归结为参数插值问题,制作关键帧动画要在时间轴上的不同位置改变骨骼的运动形态,中间状态自动转换形成连续的动画效果。根据动画时间的长短设置关键帧的帧数、速度、方向、播放方式以及开始时间,依据运动学原理设计并制作动画,可以实现良好的动画的演示效果。具体效果如图16所示。

图16 关键帧设置

在系统中,清罐工在清理油罐时,会有从罐顶掉落的危险,高空坠落这一动画展示的是清罐工从罐顶掉落的这一过程。在运动过程中骨骼模型会随着骨骼的运动而运动,运动过程中不会出现骨骼出现在模型外面的情况,则骨骼和模型绑定的良好。具体效果如图17所示。

图17 高空坠落效果图

除此之外,油田应急培训系统中还涉及触电、心肺复苏、佩戴呼吸机、灭火动画等动画。具体效果如图18所示。

图18 动画效果图

2.2 应急培训系统中的虚拟角色应用

应急培训系统主要包含8个应急模块:原油泄漏、高空坠落、中毒窒息、人员触电、机械伤害、锅炉爆炸、锅炉缺水、恐怖袭击。PC端用户使用Oracle数据库存储培训考核信息。移动端用户使用SQLite数据库存储培训考核信息。控制层包括业务数据接口、逻辑控制层和数据网络服务,本系统中的虚拟角色作为真实人物的“替身”贯穿于各个模块。如图19所示。

将模型动画转成FBX格式,利用Unity3D实现动画效果的播放演示。导出模型动画实际上是从编辑器中导出蒙皮顶点,将骨骼相对于模型坐标系的矩阵的逆导出,通过动作插值实现每帧更新,递归计算每个骨骼的权重,父子节点变换,提交渲染子类给渲染管理器队列实现的。

油田应急培训系统中采用有限状态机对角色行为进行建模,状态机中的状态对应角色的行为,每个状态有一个与之相关的动作,并在机器处于该状态时播放,这样就使动画设计器能够定义角色动作和动画的播放顺序。对状态机添加不同状态,给每个状态添加模型动画,设置状态转换条件,点击动画与动画之间的连线可以自由切割动画状态,设置转换缓冲,利用状态之间的连线实现不同角色动画间的转换实现不同的动画效果。具体效果如图20所示。

图19 系统框架图

图20 状态机输入与输出关系与状态转换图

在应急培训系统中,虚拟角色出现在自动播放题以及工具选择题中。自动播放题中受训人员是以答题的形式观看动画演示,工具选择题中工人需要选择的正确的工具,点击使用工具的角色进行碰撞体检测,工具选择正确则播放演示动画,反之则不播放该动画。是否播放动画以及何时播放动画都是利用Unity代码实现的,具体效果如图21所示。

3 总结

对于油田仿真培训系统中的角色模型与角色动画的制作,首先是使用3DS Max软件制作虚拟角色模型,然后基于H-Anim人体建模标准创建Biped骨骼系统,调节每节骨骼的影响区域和力的衰减程度,实现模型和骨骼的完美匹配。使用关键帧技术制作骨骼动画,最后利用状态机输入与输出的关系实现动画之间的转换。本系统中各个角色按照预案的规定对突发事件进行处置,为现实情况中突发事件的各类情况提供了一个模拟真实环境的实训平台,使油田作业者能够熟练掌握整个应急处置流程,提升了油田作业者在突发事件发生时的应急处置能力和效果。

猜你喜欢

安全帽骨骼应急
做家务的女性骨骼更强壮
三减三健全民行动——健康骨骼
爆笑四格
情景构建在应急管理中的应用
应急救援要诀“少 快 短”
应急管理部6个“怎么看”
危险
应急预案的编制
骨骼是如何生长的
神奇的骨骼