




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于虚拟动画设计的角色建模与行为控制研究
金文玥摘
要:为提升虚拟场景中的逼真视觉体验效果,对三维虚拟动画设计中的角色进行建模与行为控制。在POSER软件内创建三维虚拟动画角色模型,在3D软件内创建三维虚拟动画角色骨骼并对骨骼进行蒙皮,实现动画角色建模。通过骨骼动画技术模拟角色运动行为,在3D软件中调整动作并驱动骨骼。通过3D软件中的运动信息、关键帧设置及足迹等为动画设计中所需角色模型的骨骼增添所需动作。采用ImplementGainabout()函数操控虚拟角色动作,实现角色模型的行为控制。将所研究方法应用于灭火救援三维虚拟动画仿真教学实验中,结果表明,此方法创建的消防员模型纹理数高、更清晰逼真、误差低、建模精准,且行为控制准确,模型运行顺畅,整体效果理想。Key:三维虚拟;动画设计;角色建模;行为控制;蒙皮操作;动画技术;运动行为:TN915.43?34;TP391.9
:A
:1004?373X(2020)17?0110?05Abstract:Thecharactersinthe3Dvirtualanimationdesignaresubjectedtomodelingandbehaviorcontroltoimprovetheeffectofrealisticvisualexperienceinthevirtualscene.The3DvirtualanimationcharactermodeliscreatedinthePOSERsoftware,andthe3Dvirtualanimationcharacterskeletoniscreatedinthe3Dsoftwareandtheskeletonissubjectedtoskinningtoachieveanimationcharactermodeling.Theskeletalanimationtechnologyisusedtosimulatetherolemotionbehavior,adjustactionanddriveskeletoninthe3Dsoftware.Themotioninformation,keyframesettingandfootprintinthe3Dsoftwareareusedtoaddrequiredactionfortheskeletonofrequiredrolemodelinthedesign.TheImplementGainabout()functionisadoptedtomanipulatevirtualcharactermovementtocontrolthebehaviorofrolemodels.Theproposedmethodisappliedtothe3Dvirtualanimationsimulationteachingexperimentoffirefightingandrescue.Theexperimentalresultsshowthatthefirefightermodelcreatedwiththismethodhasalargenumberoftextures,whichisclearerandmorerealistic.Themodelisoflowerror,accuratemodelingandexactbehaviorcontrol,smoothoperationandidealoveralleffect.Keywords:3Dvirtual;animationdesign;rolemodeling;behaviorcontrol;skinningoperation;animationtechnology;movementbehavior0
引
言虛拟动画技术随着网络技术与计算机图形技术的快速发展已然成为国内外学者研究的热点。虚拟动画技术属于一种体验虚拟空间的计算机模拟系统,通过结合仿真技术、计算机技术及微电子技术等为用户提供虚拟空间,提升用户的感官享受,体验身临其境的真实感受[1?2]。目前,此技术已应用于更多领域,如娱乐游戏、虚拟教学、影视媒体、医疗及旅游等各领域,逐渐成为人们生活与工作中不可缺少的一部分[3]。虚拟动画技术中的关键部分即实现虚拟场景中角色模型的漫游,而实现此目的首先应完成虚拟动画场景中的角色建模与行为控制[4]。其中用来模拟虚拟动画场景角色模型内部几何性质的抽象模型即为三维角色模型,此类模型以计算机通过特殊信息格式的方式保存;行为控制即以特定方式控制三维角色模型的动作行为,令三维虚拟动画场景运行更流畅[5?6]。本文通过三维角色建模对模型实行行为控制,提高三维虚拟动画的逼真流畅效果。1
三维虚拟动画设计中角色建模与行为控制方法1.1
角色建模创建骨骼系统三维模型是构建虚拟角色的首要步骤,作为三维虚拟动画设计平台中工作基础的三维角色建模工作,所创建的角色模型应同时符合平台实时阅览特性及逼真的呈现效果[7]。在三维虚拟动画设计中,需要用户对角色模型的创建过程及方式精准把控,为此造成角色建模的不易实现。为了降低角色建模的难度,将建模过程中较为繁琐的步骤适当省掉,可采用已有的人物模型通过修改创建需要的角色模型,并将修改后的角色模型导入三维虚拟动画场景内[8?9]。比如由弗朗科公司设计的POSER软件,是三维人物创建模型的常用工具,可提供多种类别的人物模型,如男孩、女孩、成年男女及木偶形态骨骼的多种模型,为用户创建角色模型提供帮助,且可通过软件内的工具栏将骨骼调整成用户所需的骨骼类型。三维虚拟动画设计平台内虚拟角色的建模步骤如下。1)在POSER软件内创建角色模型。三维虚拟动画设计平台的关键技术即为角色模型的创建,角色的形象特点与状态通过角色模型展现,在此选用POSER5.0版进行角色建模。从角色模型库内挑选与三维虚拟动画设计平台所需角色相符的角色身体、面部及头发等模型,对各模型实行拼接,并通过缩小尺寸、拼接及删除等工具修正模型原始状况。为获取所需角色模型,需在POSER软件中修正POSER模型库内有限的三维资源,为后续的角色模型蒙皮环节奠定基础。以3DMAX的格式导出调节好的角色模型,并將其导入3D软件内继续进行模型的调整,为使模型可于特殊场景内使用,应在3D软件内通过蒙皮工具插件创建的角色模型进行模型单位的调整。该模型后续将用于VT软件内实行缩小操作,因此,无需事先对该模型进行缩小调整。由于角色模型并非以贴图的格式向外导出,而是通过一种材质格式经蒙皮插件导出,所以在3D软件内无法直接以贴图的形式导出该模型,故设计时应使用2个角色模型,分别为拥有衣服与头发的人物模型、面部非常清楚的脸部模型,如图1所示。在3D软件内进行整体角色模型构建时,先删除其中一个人物模型的下半身,将其头部模型保留,然后附加到另外一个脸部模型上,实现角色模型的创建。创建后的模型如图2所示。2)3D软件内创建角色骨骼。通过3D软件中的CAT插件实现角色骨骼的创建,CAT插件在对人体的行为动作模仿时比3D软件自有的骨骼系统更准确。该软件在创建角色骨骼时可通过直接拖动的方式实现,并以删除或者复制功能实现角色骨骼数量的增减,获取所需角色骨骼模型。通过调节角色骨骼的大小,令其同已创建的角色模型对齐,为之后的角色骨骼动作设计和角色骨骼蒙皮做准备[10]。3)角色骨骼蒙皮。采用3D软件中的premiere编辑器对角色骨骼进行蒙皮操作。在工具面板上对角色骨骼的根节点进行选取,调整角色骨骼上的封套。其中封套调整时应将封套整体包进自身骨骼中,不可牵涉到其余骨骼,是整个角色骨骼蒙皮操作环节内最易出错的一环,若出现错误将导致角色模型在行走时产生粘连或蒙皮面破损的问题。由于蒙皮过程中出现差错的几率较高,因此,调节后为检测蒙皮效果,应为角色骨骼设定一个幅度较大的动作,检测是否会产生皮面破损等差错。如果出现差错,可通过3D软件内自有的修改器寻找到差错骨骼位置,细致调节蒙皮破损位置;若蒙皮破损位置过多,此修改器过于繁琐,应选择另一款修改器面板上的Bonm选项,全选角色骨骼进行整体调整。1.2
行为控制1.2.1
骨骼动画技术骨骼动画(SkeletalAnimation)技术是当下三维虚拟动画设计中应用范围最广泛的技术[11?12]。此技术在动画模拟人物与其余脊椎动物方面表现优越,属于一类计算机动画技术。所模拟的角色通常情况下表现为两部分,分别是层次化骨骼所构成的骨架与骨架上蒙皮的皮肤[13]。为实现模拟角色运动行为的目标,可采用以动画模拟骨架的方式,并以骨架对皮肤的形变进行操控与带动的方式实现目标。应用骨骼动画的基础模式为:所需动画通过动画生成软件提前制作完成,当动画运行时,程序需依据时间运算得出详细的显示,并遵循逻辑确定播放动画的顺序。通过在三维虚拟动画设计中使用运动捕捉技术,提高动画动作数据的便利性与逼真效果[14]。三维运动捕捉技术比较适用于模拟人类可完成的动作,对于人类无法完成的动作则应通过手动调整的方法实现。此外,为使动作的连接更顺畅、动作方式更多,可应用动画合成(AnimationBlending)技术实现。1.2.2
动作调整经过在3D软件中对角色骨骼的创建及蒙皮之后,为角色骨骼增添动作。通过软件中的运动信息、关键帧设置及足迹等为动画设计中角色模型的骨骼增添所需动作,完成角色模型的动作调整[15]。1.2.3
骨骼驱动在得到与3D格式规范相符的三维虚拟角色动画数据之后,便可采用C++语言调用3D库函数对具体应用程序进行开发。应用3D的三种方法为:1)采用直接调用的方法,通过DirectX或OpenGL完成场景的显示;2)在开源图形引擎OpenSceneGraph内应用通过3D封装后的osg插件;3)在Delt3D动画仿真引擎内应用通过3D封装后的ReplicaBody库。对三维虚拟动画设计综合考量后,在此选用第三种方法。3D的关键功能被Delt3D封装于dtChar命名空间。其中,有dtChar.h与character.h两个头文件,对character.h的调用包括在dtChar.h内,而关键核心类则包括在character.h内。库文件由dtChard.lib(Debug版)与dtChar.lib(Release版)构成。因此,在未使用3D功能时,需确定工程内包括dtChar.h,且将库文件dtChard.lib或dtChar.lib的连接引入,确保编译器的搜寻路径中包括这些文件。1.2.4
实现行为控制采用ImplementGainabout()函数完成对虚拟角色动作的实行与操控,.rbody配置文件内对动作称呼的定义由此函数的参数指导。在系统对ImplementGainabout()函数进行调用时,虚拟角色便会对其对应的动作数据进行调用,完成对应动作。在此为角色设定直立、行走及跑步三个动作,且三个动作之间的转换采用F4,F5,F6三个按键完成。关键核心代码为:mUnlockingkeyRegulator=newUnlockingkeyRegulator(m_role1.gain(),GainUnlockingkeyplate());BoerUnlockingkeyPressdown(constdCore::Unlockingkeyplate*unlockingkeyplate,intunlockingkey){BoerStatement(fake);Transformation(unlockingkey){exampleofcaseosgGA::GRAPHICALUSERINTERFACEIncidentTheAdaPter::UNLOCKINGKEY_F4:{m_role1—>ImplementGainabout(“STAGE”,fake,authentic);smash;}exampleofcaseosfGA::GRAPHICALUSERINTERFACEIncidentTheAdaPter::UNLOCKINGKEY_F5:{m_role1—>ImplementGainabout(“TAKEAWALK”,fake,authentic);m_role1—>SetupRotate(rotate);m_role1—>SetupSpeed(speed);smash;}exampleofcaseosgGA::GRAPHICALUSERINTERFACEIncidentTheAdaPter::UNLOCKINGKEY_F6:{m_role1—>ImplementGainabout(“FUNCTION”,fake,authentic);m_role1—>SetupRotate(rotate);m_role1—>SetupSpeed(speed);smash;}breakacontract:smash;}revertStatement;}通過以上操作,实现三维虚拟动画设计中的角色行为控制。2
仿真实验将本文方法用于某消防队的一次灭火救援三维虚拟动画仿真教学中,观察实际应用效果,并将本文方法与基于语义树的三维角色建模方法、基于3DSMAX三维角色建模方法进行对比,验证本文方法的建模效果、建模精准度及行为控制效果。2.1
实际应用效果依据消防员的服装与装备特征,通过本文方法所构建的角色模型效果图如图3所示。从图3中可看出,消防员所配备的消防头盔与灭火战斗服等可准确展现,且模型效果清晰逼真。采用本文方法实时控制消防员模型在灭火救援三维虚拟动画中的行为动作,实现教学场景动画的模拟,模拟效果如图4所示。在图4的实际应用教学场景动画模拟效果图中,通过本文方法可实现对消防员行为的有效控制,完成动画教学中消防员的行走、跑等场景漫游,消防员模型灵敏的反应及逼真的整体效果可提升视觉感受及教学质量。2.2
建模效果对比为进一步验证本文方法所构建的消防员模型效果,将本文方法与基于语义树的三维角色建模方法、基于3DSMAX三维角色建模方法进行对比,对比不同方法所创建的实验中各个消防员模型的帧速与纹理数,从3种方法所构建的消防员模型中各随机抽取5个模型进行对比,对比结果见表1。通过表1可看出,本文方法所创建的消防员模型的帧速与纹理数均高于其他两种方法,说明本文方法创建的模型运行时更顺畅,模型更加清晰逼真。2.3
精准度对比将3种不同方法所创建的消防员模型与真实消防员作对比,得出3种方法创建模型的误差值,结合3种方法所创建模型的特征点数量,分析3种方法的精准度,具体对比结果见表2。通过分析表2可得出,本文方法所构建消防员模型的误差值最低,且模型的特征点数量最多,说明本文方法建模精准度高。2.4
行为控制效果对比通过分析3种不同方法对消防员模型进行行为控制时的偏移量,对比出3种方法的不同控制效果,3种方法的行为控制偏移量情况如图5所示。通过图5能够看出,本文方法的行为控制偏移量远低于其他两种方法,足以说明采用本文方法对消防员模型进行行为控制时,控制准确性最高,控制效果更理想。3
结
论本文通过创建三维虚拟动画场景中的角色模型,对各模型进行特定行为控制,实现三维虚拟动画的有效设计。通过实验验证本文方法所建模型精准度高,行为控制流畅准确,应用于灭火救援虚拟仿真消防教学中,可提升观感及教学质量。文中仅对三维虚拟动画设计中的角色建模与行为控制展开研究,未来应继续研究三维虚拟动画设计中的场景构建,进一步提升整体动画场景的逼真体验。Reference[1]孔素然,殷均平.人体特殊动作三维动画建模与渲染方法改进研究[J].微电子学与计算机,2016,33(9):169?172.[2]叶凤华,叶欢.基于Flash和3D动画渲染技术的育苗机器人设计[J].农机化研究,2018,40(3):189?192.[3]周渝果.浅析茶叶包装折叠纸盒上的三维动画设计[J].福建茶叶,2016,38(11):189?190.[4]胡志刚,黄拼搏,周振宇,等.二维影像技术和三维可视化技术辅助ALPPS治疗肝癌效
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产企业档案管理制度
- 生产员工计件管理制度
- 下班巡检管理制度
- 专项预算管理制度
- 业务内控管理制度
- 业务统计管理制度
- 业务饮料管理制度
- 东莞屏风管理制度
- 两措计划管理制度
- 中国反垄断执法年度报告2024
- 【MOOC】跨文化思想交流英语-南京理工大学 中国大学慕课MOOC答案
- 中国心力衰竭诊断和治疗指南2024解读(完整版)
- 中药泡洗(课堂)课件
- 日周月安全检查记录表
- 2022年黑龙江省龙东地区中考地理试题及参考答案
- 混凝土模板支撑工程专项施工方案(140页)
- T∕CADERM 3041-2020 扩展的创伤重点超声评估规范
- 苏教版四年级数学下册试卷(全套)
- 五年级北师大版英语下学期语法填空易错专项练习题
- 100道结构力学弯矩图
- 机械连接扭矩检查记录
评论
0/150
提交评论