Blender游戏角色绑定 Rigging for Realistic Movement.docx
- 文档编号:5404086
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:48
- 大小:11.09MB
Blender游戏角色绑定 Rigging for Realistic Movement.docx
《Blender游戏角色绑定 Rigging for Realistic Movement.docx》由会员分享,可在线阅读,更多相关《Blender游戏角色绑定 Rigging for Realistic Movement.docx(48页珍藏版)》请在冰豆网上搜索。
Blender游戏角色绑定RiggingforRealisticMovement
RiggingforRealisticMovement绑定角色动画
Yourzombieislookinggreat,butifyouweretoputitintoUnitynow,youwouldnotbeabletoanimateit.Animationisthelaststepincreatingabelievablecharacteraswellasoneofthemostcomplexpartsofthe3Dartprocess.Toanimateyourzombie,youwillneedtorigitwithanarmature.Inthischapter,youwillexploretheriggingprocessbybuildingyourownrig,linkingittothezombie,andweight-paintingthezombiesoitmovesproperly.
你的僵尸看起来很好,但现在还不能够导入到Unity,它还没有动作。
动画是3D软件创建角色的最后最复杂的一步。
要制作僵尸的动画,你将需要使用一个骨架来绑定它。
在本章,你将研究绑定的过程来建立你自己的绑定装置连接到僵尸,然后绘制权重使它们它更适合动画。
Thischaptercoversthefollowingtopics:
本章包含以下内容:
■■Understandingrigging了解绑定
■■Creatingasimplearmature创建一个简单的骨架
■■Finishingthearmaturewithconstraints使用约束完成骨架
■■Linkingthearmatureandzombie连接骨架和僵尸
UnderstandingRigging了解绑定
Nowthatyou’vecreatedyourcolormapinadigitalpaintingprogram,youcanreturntoBlenderandbegintorigyourzombie.Riggingistheprocessofbuildinganarmatureandlinkingittoamesh.Anarmatureactsmuchlikethewireskeletonsofclaymationcharacters—theaudienceseestheclayoutside,buttheanimatorisactuallymovingandposingametalarmatureinsidetheclay.Workingwitharmaturesisanintegralpartofturningacharactermeshintoaninteractivegameasset,becauseitallowscharacterstomoveandposerealistically(Figure 7.1).
现在你已经在绘画软件创建了你的颜色贴图,你可以返回到Blender开始绑定你的僵尸。
绑定是创建一个骨架然后连接到网格的过程。
骨架的作用很像观众在外面看到的粘土动画的角色的金属支架,粘土动画实际上是移动和改变粘土里面的金属支架的姿势。
使用骨架工作是将一个角色的网格转换成交互的游戏角色,因为它允许角色移动和摆出真实的姿势。
Figure 7.1Riggingallowsyoutoposecharactersinanywayyouwish.
WhereasChapter5,“SculptingforNormalMaps,”andChapter6,“DigitalPaintingColorMaps,”dealtwithworksimilartomoretraditionalart,thischapteronceagainenterstherealmoftechnicalart.Indeed,creatingarigisperhapsoneofthemosttechnicalpartsofthe3Dassetcreationprocess.
而第5章“雕刻的法线贴图”和第6章,“颜色贴图的数字绘制”处理类似比较传统的艺术作品,本章再次进入技术的境界。
事实上,创建一个绑定也许是创建3D资源过程最有技术的部分。
Riggingisnotjustaprocessofmakingamodelmovable;itinvolvespreciselynamingandorganizingtherelationshipsbetweenpartsoftherig,calledbones.Bonescanbesettointeractwithspecificverticesinameshsothatwhentherigisposed,themeshfollows.Bonescanalsobegivenconstraintsinhowtheymoveandinteractwithoneanother.Theseconstraintsgivebonesspecificbehaviorsthatallowforavarietyofanimationpossibilities.Inthisway,understandingproperriggingtechniqueswillputyouonthepathtocreatingamyriadofvisuallycompellinganimations.
绑定不仅仅是一个制作模型可动的过程;它包括了正确的命名和组织绑定各部分之间的关系,叫骨骼。
Bones能够设置为和一个网格的某部分的顶点交互,使得网格跟随绑定的运动。
骨骼也可给出它们如何移动,并彼此相互作用的约束。
这些限制使骨骼的特定行为,使其适用于各种动画的可能性。
通过这种方式,了解正确的绑定技术将会使你踏上创造无数的引人入胜的动画道路。
Likethedifferencesbetweenmodelingforanimationsandgames,however,differencesexistbetweenmodelsbuiltforanimationsandthosebuiltforrealtime–renderedenvironments.
像动画和游戏建模之间的差异,然而,为动画创建的模型绑定和这些为实时渲染环境建造的绑定之间是存在差异。
AnimationRigsvs.GameRigs动画绑定对决游戏绑定
Likemodels,rigshavetheirownsetsoflimitationswhenbeingusedforgamesinsteadoftraditionalanimation.Likeanimationmodels,animationrigscanbecomplexandfeaturemorepartsthantheirvideogamecounterparts.TheRigifyadd-onintroducedinBlender2.5isanexampleofsucharig(Figure 7.2).
像模型,绑定有它们自己的限制被用于游戏而不是传统的动画时。
像动画的模型,动画绑定可以很复杂,比起它们的游戏绑定有更多的功能。
Blender2.5引入的插件Rigify就是重要的一个如此复杂的例子(图7.2)。
Figure 7.2OurzombieriggedwithRigify
Figure 7.2showswhatthezombielookslikeriggedwiththeRigifyarmature.Thisfullyfeaturedrighashundredsofbonesandiscapableofcreatingsomeexcellentanimationswithsimplecommands.Itisalsoprebuilt,soanimatorsdonothavetogothroughthehassleofcreatingtheirowncustomrig.However,thereisadefinitedrawbacktousingthisarmatureforgamecharacters.
图7.2显示的僵尸看起来像是用Rigify骨架绑定的。
这个全功能的绑定有数百根骨头和能够使用简单的命令创建优秀的动画。
这也是预先建立的,所以动画师不必通过创建自己的绑定。
然而,它不适合使用于游戏角色。
Figure 7.3showsthezombieinaUnitytestfile.Intheupper-rightcornerofthescreen,thegame’sframerateisdisplayed.Framerateisthespeedatwhichthegameplaysbackonscreenastheuserinteractswithit.Manygamesrunatbetween30framespersecond(fps)to60fps.Inthisparticularimage,theframerateisshownat7.5fpswithfourzombies(includingtheonepeekingthroughthewall)onscreenatonce.
图7.3显示了僵尸在Unity的测试文件。
在屏幕的右上角显示了游戏的帧速率。
帧速率是游戏播放屏幕与用户交互的速度。
许多游戏是在每秒30帧到60帧之间运行。
在这个图像四个僵尸(包含一个通道)屏幕显示的帧速率是7.5fps。
Figure 7.3TheRigify-animatedzombieinUnity
ComparethisframeratetotheoneinFigure 7.4,wheretheframeraterisesto16fpswhilehavinghundredsofunriggedmodelsonscreen.
和图7.4的帧速率比较,图7.4有数百个未绑定的模型的帧速率提高到16fps。
Figure 7.4Unitygamescreenshotwithunriggedzombies
Whatbenchmarktestsliketheseshowisthatcomplicatedanimationrigscandrasticallyreducetheframerateofvideogamesmuchmorequicklythanpolygoncountscan.Thisiswhyforgamesmuchsimplerrigsareused.
这些基准测试表明复杂的动画比起多边形数可以更快的大幅降低视频游戏的帧速率。
这就是为什么游戏要使用简单的绑定。
BoneAnatomyandRelationships骨骼解剖和关系
Partofthereasonthatarmaturestakeupsomuchmemoryistheinformationtheyhold.Notonlydotheytellthemodelingenvironmentandgameenginehowameshshoulddeform,buttheyalsocontaininformationontheirrelationshipswithoneanother.
骨架消耗如此多的内存的部分原因它们保存了信息。
它们不仅仅告诉模型、环境和游戏引擎网格怎么变形,也包含了它们之间的相互关系的信息。
AllbonesinBlenderhavethreeparts:
thehead(alsocalledtheroot),thebody,andthetail(alsocalledthetip),asshowninFigure 7.5.Thehead/rootandtail/tiparebothselectable,whichwillcomeinhandylaterinthischapter.
Blender所有的骨骼包含三个部分:
头部(也叫根部),主体,尾端(也叫尖端),如图7.5所示。
头部/根部,尾端/尖端都是可选的,这将在本章稍后派上用场。
Figure 7.5Imageofasinglebone.Thehead/rootisthesphereatthethickendandthetail/tipislocatedatthethinend.
InBlender,bonescanbeextrudedfromoneanotherthrougheitherthetail/tiporhead/rootofpreviouslycreatedbones.Whenanewboneisextrudedfromthetail/tipofanother,itisthechildobjectofthefirstbone,whichisitsparent.Parentsandchildrenin3Dprogramsarelinkedinsuchawaythatchildobjectsfollowthetransform(position,rotation,scale)andotherattributesoftheparent.Theparent/childrelationshipwillbeveryimportantinChapter9,“UnityEngineBasics,”whenyoumovetotheUnityengine.
在Blender,也可以再以前创建的骨骼的头部/根部或尾端/尖端挤出新的骨骼。
当一个新的骨骼是从另一个的尾端/尖端挤出的,它是第一根骨骼的子对象,第一根骨骼是父对象。
父对象和子对象是以这样的一种方式来连接的:
子对象跟随父对象的变换(位置,旋转,缩放)和其它的属性。
在第九章“Unity引擎基础”父子关系是非常重要的。
Fornow,understandthatbonesalsohaveaparent/childrelationshipinthatchildboneswillfollowtherotationoftheirparent.Forexample,laterinthischapteryouwillcreateanupperarmbonebyextrudingfromthetopofthespine.Whenthespineboneisrotatedalongthez-axis,theupperarmwillfollowtocreatearealisticshouldermovement(Figure 7.6).
现在,明白了骨骼的子骨骼将跟随它们父骨骼的旋转而旋转的父子关系。
例如,在本章后面你会被从脊柱的顶端挤出创建上臂骨头。
当脊柱骨沿z轴旋转,上臂将跟随旋转创建逼真的肩部运动(图7.6)。
Figure 7.6Rotatinganarmature’sspine(theparent)forcesitschildren(thearmsandheadbones)tofollow.
Beyondtheirdefaultrelationships,bonescanalsobesetuptohaveconstraintsinthewaytheymove.Theseconstraintsopenupawidevarietyofpossibilitiesforposingandanimation,suchashavingbonesfolloworpointtooneanother.Oneofthemostimportantconstraintsisinversekinematics(IK).IKallowstheboneattheendofachainofbonestocontroltheentirechain(Figure 7.7).
除了它们的默认关系,骨头也可以设置约束这样的方式来限制它们的移动。
这些约束开拓了创建种类繁多的姿势和动画方法,如有一些骨骼跟随另一根骨骼的指向。
Figure 7.7AchainofboneswithIK.OnlytheorangeIKboneisbeingmoved;therestfollow.
Forexample,whenposinganarmgrabbinganobject,theanimatorwouldhavetoposetheindividualpartsofthearmsastheyreachoutfortheobject;thisisoftenreferredtoasforwardkinematics(FK).WithIK,however,theanimatorneedstosimplygrabthehandbone,orwhicheverboneissetastheIKbone,andbringittotheobject.Therestofthearmwillfollow.
例如,当要摆出一个手臂抓取一个物体的动作,动画师必须单独分别摆动手臂各部分取抓取物体的动作,这常常是正向动力学的做法。
对于反向动力学,动画师只需简单的移动手部的骨头或任何一根设置为IK的骨头,到物体。
结果是整个手臂都会跟随着运动。
Nowthatyouunderstandhowbonesrelatetoandinteractwithoneanother,it’stimeforyoutolearnabouthowtobuildanappropriatearmatureforgamecharacters.
现在你了解骨骼关系及相互作用,是时候学习如何为游戏角色建立合适的骨架。
AnatomyofanArmature骨架解剖
Unitycangiveanideaofhowanacceptablegamerigisbuilt.Likeotherengines,Unityemploysragdollphysicswhencreating“dead”versionsofcharactermodels.Ragdollsarerigswithloosejointsthatcrumpleinaccordancewiththeengine’sphysicssystem(Figure 7.8).
Unity能够给出如何建立一个可以接受的游戏绑定的想法。
像其它的引擎,Unity使用布娃娃物理系统创建一个角色的“死亡”版本。
布娃娃系统是根据引擎的物理系统使角色关节倒下的同时松弛关节装置(图7.8)。
Figure 7.8Aragdollcharacter
Tocreateragdolls,Unityasksforspecificbonecallouts/names.Thelistisausefulguideforcreatingyourownrigs,asyoucancreatebonesthatwillcorrespondwithUnity’sownarmature-relatedsystems(Figure 7.9).
要建立布娃娃,Unity要求特定骨骼的标注/名字。
这个列表指导你创建你自己的绑定是很有用,你能够创建符合Unity自己的骨骼系统的骨骼(图7.9)。
Figure 7.9Unity’sragdollbonelist
WhilecreatingyourarmatureaccordingtoUnity’slistmayseemverysoftwarespecific,theoutcomewillbeagoodbasicarmaturethatcanbeusedinmultipleengines.Furthermore,creatingyourarmatureaccordingtoUnity’slistwillallowyourmodeltoworkasefficientlyaspossible.Thelistshowsyouthatarmaturesshouldbebuiltaccordingtorealbodyparts—there’snoneedtoreinventthewheelwhentryingtogetrealisticanimations.
虽然你的骨架符合Unity列表也许看起来是为非常特定的软件创建的,但结果是有一个很好的可以在多个引擎很好用的基础骨架。
此外,创建你的骨架符合Unity列表可以让你的模型尽可能高效的工作。
这个列表显示了你的骨架应该符合真实的身体部分—当你试图获得逼真的动画时不用推倒现实存在的东西重来。
AccordingtotheUnitylist,yourarmaturewillneedarootbone,thebonethatact
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Blender游戏角色绑定 Rigging for Realistic Movement Blender 游戏 角色 绑定