软件工程毕业设计--蒙皮与权重在骨骼中的制作.doc_第1页
软件工程毕业设计--蒙皮与权重在骨骼中的制作.doc_第2页
软件工程毕业设计--蒙皮与权重在骨骼中的制作.doc_第3页
软件工程毕业设计--蒙皮与权重在骨骼中的制作.doc_第4页
软件工程毕业设计--蒙皮与权重在骨骼中的制作.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中北大学2014届毕业生毕业设计说明书毕业设计说明书蒙皮与权重在骨骼中的制作1021010639软件学院 学生姓名: 学号: 软件工程学 院: 专 业: 指导教师: 2014年 6月 蒙皮与权重在骨骼中的制作摘要:在当今的社会里,由于计算机技术的飞速发展,注重电脑软件发挥的三维动画已经逐步取代了传统纯手工的二维动画。而且,伴随着时代的发展,三维技术的应用范围越来越广,除了三维角色动画,各种特效电影、广告等也越来越多地用上了三维方面的技术。 在三维动画的方面,骨骼是作为连接模型和动画的桥梁,在三维模块里面是至关重要的。一个角色模型的骨骼如果做不好,那再好的模型也会失去灵魂,再优秀的动画师也无法做出顺畅的动画。三维动画技术越来越成熟软件越来越多,而Maya在3D动画软件中起到很重要的地位。在角色设定中为动画所作的准备工作里的最后一道工序就是对骨骼进行蒙皮,蒙皮直接影响到后面调动作。Maya中蒙皮分为平滑绑定与刚性绑定两种方式,两种绑定方式基于不同的控制原理蒙皮的几种方法都是其他软件不能及的,蒙皮后对关节刷权重,不让关节间互相影响。Maya做出来的动画片很逼真。Maya三维动画软件作为最新的影像制作工具,而蒙皮又是Maya中软件中强大功能之一,最终使动画影像增加无穷艺术魅力。 关键词:骨骼 蒙皮 权重making skin and weight in the boneAbstract:In todays society, due to the rapid development of computer technology,focusing on three-dimensional computer animation software play has gradually replaced the traditional two-dimensional animation purely manual.Moreover, with the development of the times, the scope of application of three-dimensional technology more widely, in addition to 3D character animation,a variety of special effects movies, advertising spend more and more three-dimensional aspects of the technology.In terms of three-dimensional animation,bones as a bridge to connect models and animations in 3D module which is crucial. Bones a role model if you do not,then even the best model will lose its soul,then good animator can not make a smooth animation.Three-dimensional animation techniques become more sophisticated software more and more, while Maya plays a very important role in the 3D animation software. Role in setting the preparations made for the animation in the final steps of the bones is the skin, the skin directly affect the mobilization for the back. Maya into the skin smooth and rigid binding bound in two ways, several methods based on different ways to bind the two control principle skin are other software can not and,after skinning weights on the joints brush,not let mutual influence between the joints.Maya made out of very realistic animation.Maya 3D animation software as the newest video production tools,and the skin is one of the powerful features in Maya software,animated images eventually increase infinite artistic charm.Keywords: bone skin weights中北大学2014届毕业设计说明书 目 录1.引言12.骨骼的创建12.1 了解骨骼12.2 创建修改骨骼23.ik解算器对骨骼和蒙皮的影响43.1 了解ik解算器43.2 ik解算器的运用64.属相之间的关联84.1 常用约束84.2 自定义属相之间的关联114.2.1 创建和设置自定义属相114.2.2 驱动关键帧125.蒙皮与权重135.1 蒙皮与权重的简单制作135.1.1 蒙皮135.1.2 双重变换145.1.3 编辑柔性蒙皮145.1.4 镜像权重165.1.5 影响物体195.1.6 刚性蒙皮195.2 蒙皮与权重的修改与应用205.2.1 添加屈肌205.2.2 编辑和复制屈肌215.2.3 保持权重的情况下修改模型215.2.4 Bind.Pose节点225.3 融合变形器对蒙皮的影响225.3.1 融合变形器22第I页 共II页第II页 共II页5.3.2 修改物体的变形顺序235.3.3 添加融合变形235.3.4 修改融合变形权重255.4 其他变形器255.4.1 簇变形器255.4.2 抖动变形器275.4.3 晶格变形器276.结论28参考文献:29致谢301.引言近几年来三维动画软件是越来越多,市场竞争很大,各软件公司都在不断开发和更新,仅相关软件会越来越人性化,而 maya 在三维动画中是主流的动画软件。能够创造出有骨、有肉、有神的数字角色是每个 CG 艺术家的梦想。数字角色是否具有神韵,考验的是动画制作者对生活、对生命的理解。数字角色要具备骨和肉则要求制作者对于角色的形体和运动机能有着充分的把握。如果把三维动画比作现实生活中的木偶动画,那么木偶动画中的玩偶就相当于Maya中的建模,木偶表演者就相当于Maya 动画师,而木偶身体中的钢丝关节就是骨骼系统。骨骼在动画中并不会被最终渲染,它的作用仅相当于一个支架,可以模拟真人的骨骼设置,对主要关节进行移动、旋转等操作。当骨骼被设定后,我们将模型绑定到骨骼上,这一步就像给机器人装挂各种外部零件一样,然后通过各种设置,对骨骼添加关键帧动画,再由骨骼驱动被绑定到相应关节上的模型。这样,在最终的动画中,就可以看到僵硬静止的模型具有生命力了。从骨骼绑定的整个过程来看,可能比不上关键帧动画制作来得繁琐,但是骨骼绑定却是整部三维动画的核心、灵魂。除此之外,角色是否有真实感,关键在于皮肤的设计与制作,也就是对动画软件中蒙皮技术的熟练而有创造性的掌握是至关重要的。 蒙皮是动画准备工作中的最后一道工序,这道工序后,就可以做动作设计了,如果蒙皮工作没做好,以后动画就麻烦,所以蒙皮很重要。2.骨骼的创建2.1 了解骨骼骨骼的功能与现实中的骨骼功能相近,主要是带动模型的运动。在maya中还可以给铁链或绳子等物体创建骨骼,来实现它们摆动的效果。我们先选择animation模块,在skeleton菜单下选择joint tool创建骨骼,也可以在maya默认的animation工具架上找到。通常为了使用方便,我们会自定义一个自己的工具架,把常用的命令都集成到这个工具架中,在选择命令时点击ctrl+shift可以添加快捷工具图标。骨骼绘制一定要在正交视图中完成。如果是一个人体模型,通常骨骼脊椎的部分应该是弧线形,我们可以参考一些实际的人体结构资料,用shift键也可以对骨骼进行直线的绘制。创建骨骼时我们要注意在多个视角观察骨骼位置是否张确。创建好骨骼后,我们需要把各个部位与对应的骨骼关节进行父子关系的创建。如果我们还需要查看骨骼,可以在shading中选择x-ray,这样可以使模型透明化,我们就可以看到里面的骨骼了,也可以使用x-ray joints不使模型透明化。在绘制骨骼时肘关节和膝关节一定要有一些弧度,为以后做ik的时候提供方便。骨骼创建完成后我们可以调整骨骼的显示大小,在display菜单下animation中选择joint size来调整。为了方便控制骨骼,我们可以将骨骼的控制手柄移动出来,ctrl+a打开骨骼的属性编辑器,在display下勾选display handle并在selection handle中输入移动的数值。2.2 创建修改骨骼在创建骨骼时一定要尽量避免骨骼的旋转,因为在以后我们绑定时这些旋转的数值会给我们带来很多的不便。在骨骼属性编辑器中joint菜单下,draw style骨骼绘制的形状,radius骨骼的大小。degrees of freedom自由旋转的方向,去掉勾选后在该轴不可旋转。stiffness设置旋转的阻力,preferred angle主要设置加入ik手柄之后骨骼的角度。joint orient控制骨骼的旋转,我们可以在此设置骨骼的旋转,并不影响通道栏中骨骼属性的旋转值,换句话说,使用joint orient可以改变骨骼的方向而不改变骨骼的旋转属性。如果想要单独调整父物体的位置而不使子物体发生改变,我们可以按insert键进入中心点的模式单独调整某个骨骼。图2-1 骨骼的参数设置 当我们要把左边的骨骼复制的右边时,可以使用镜像骨骼,在skeleton菜单下选择mirror joint的参数设置。mirror across是镜像要通过的坐标平面。mirror function有属相behavior和orientation。behavior指行为复制,使用此方式镜像出的骨骼的行为(移动旋转等)也是镜像的,而orientation则不是。所以我们一般使用behavior。search for与replace with可以快速命名,好的命名习惯可以在骨骼镜像后快速的进行重命名。search for被替换的字段,replace with替换后的字段。镜像骨骼时一定要选择根关节,如果选择跟关节的子物体镜像,新的骨骼也会是原有根骨骼的子物体。另外在复制ik时需选中加有ik的骨骼才可以进行复制。图2-2 镜像骨骼图2-3 骨骼制作骨骼的方向是定义骨骼旋转的轴向。选择骨骼按f8键进入组件选问号,可以看到骨骼上小的坐标轴,这就是骨骼的旋转轴。通过改变骨骼的旋转轴就可以改变骨骼的方向。在改变前一定要确认旋转工具是否使用local,这样有利于轴向的修改。如果要统一修改骨骼的轴向,可以使用骨骼轴向改变工具,在skeleton菜单下选择orient joint,它的参数有orient joint to world,是统一为世界坐标。primary axis指把x轴替换为哪个轴,secondary axis指把y轴替换为哪个轴,secondary axis world orientation指骨骼第二方向轴在世界坐标中的方向。图2-4 修改骨骼方向3.ik解算器对骨骼和蒙皮的影响3.1 了解ik解算器ik是反向动力学,fk是正向动力学的意思。ik就是用骨骼末关节来控制副关节的运动。用ik解算器给手臂等做动画可以达到一个很好的效果。在skeleton菜单下打开ik handle tool的参数设置。在current solver解算器中我们一般使用ikrpsolver旋转平面解算器。autopriority以末关节为第一个ik进行计算,之后以此类推。solver enable打开解算器,snap enable使末端效应器与骨骼对齐,sticky保持ik手柄的位置,priority是ik手柄计算的优先级,weight是ik手柄对骨骼影响的程度,poweight是ik和末端效应器之间的强度关系。我们可以尝试在手臂模型上添加一个ik手柄,拖动ik手柄我们可以看到一个非常好的手臂运动效果。ik与fk各有优缺点,ik操作简单快速,但对于圆弧操作会显得不自然,像摆手这种动作,fk则相反。图3-1 ik参数设置在通道栏中我们可以查看ik手柄的属性。pole vector是ik手柄的及向量,它是用来定义所控制骨骼的方向的,可以控制ik手柄的旋转,但是旋转幅度不大,通常我们都是用约束的方式来更好的控制ik手柄的及向量。offset、roll在线性ik中才有效果。twist也是控制ik手柄的旋转但不改变及向量。ik blend可以控制ik到fk的转换,有时我们会做一个动作,前半部分会使用ik,而后半部分要使用fk,我们就可以直接把ik blend属性切换到0,就可以使用fk了。在属相编辑器ctrl+a中,还有ik手柄的其他属性。ik handle attributes中stickiness默认为off,它是用来锁定ik手柄的位置的。在ik solver attributes中,ik blend使与fk进行融合,勾选ik fk control则ik fk都能使用。ik solver为ik解算器类型。图3-2 ik的属相ikSCsolver指单链ik解算器,它的运算速度比较快,但是通常实用旋转平面结算器较多,因为旋转平面解算器比sc解算器的可控性强。弹簧解算器在maya中是隐藏解算器,需要使用命令来调用,输入mel命令ikspringsolver,在解算器类型中就可以看到弹簧解算器了。在制作多节的物体类如制作昆虫的腿时,可以使用弹簧ik来控制。3.2 ik解算器的运用在设置fk时要将ik解算器属性设置中ik fk control勾选并保证ikhandle属性设置中stickiness是关闭的。使用样条ik制作脊椎或铁链有更好的效果。在ik skeleton菜单下选择ik spline handle tool打开属性设置。root on curve使根关节锁定在曲线上, auto create root axis默认不可选中,当root on curve不勾选时auto create root axis才可勾选,可以使ik的起始关节前加一个控制器控制整条的ik。 auto parent curve使骨骼成为曲线的子物体,一般不使用这个。snap curve to root使曲线吸附到根关节上面,auto create curte自动生成曲线来对骨骼进行控制, auto simplify curve自动简化曲线,number of spans为简化曲线的段数,有1、2、3、4四个选项,分别对应曲线上4、5、6、7个点数。root twist mode 可以把曲线约束到根关节上。twist type旋转的方式。不使用自动生成曲线创建时我们可以使用v键点吸附来绘制骨骼上的曲线,然后给曲线和骨骼进行匹配,选择所骨骼的根节点末节点和曲线进行创建ik,创建完成后调整曲线上点可以看到骨骼随之运动。我们可以用它来创建角色的尾巴、脊椎等,像迪斯尼的一些动画它的角色的腰部会非常柔软,它可以达到一种不符合人体常理的动作。图3-3 骨骼创建ik当我们选择到样条ik手柄时会出现提示,样条ik无法在3d空间移动。它的属性里twist可以使整个骨骼进行旋转,roll有同样的效果。offset使骨骼在根关节处发生位移,但是创建样条ik时没勾选root on curve的话,0ffset属性无法使用。通常控制样条ik的方法是使用簇的变形器来控制的。选择曲线在空格键菜单中选择edit curves,打开selection中cluster curve,我们发现曲线上出现多个c的字样,这就是簇变形器。当我们给骨骼创建了ik后,就需要添加控制器。添加控制器时我们要注意三点。第一,控制器要便于选择,能清楚的表示它的作用。第二,控制器的功能越多越好,可以用一个控制器来控制多个属性,可以使场景简洁明了。第三,控制器属性要干净清晰,把属相值冻结归0,把不必要的属性隐藏掉。图3-4 添加控制器4.属相之间的关联4.1 常用约束模型多而杂乱时我们就需要创建组,组就像一个容器,它可以放入场景中的所有物体,使用组可以规划和组织场景,可以使大纲视图更清晰明了。要注意新创建的组的中心始终在原点。我们来了解以下几种常用约束。图4-2 点约束设置图4-1 约束 点约束指一个物体的移动属性可以控制另一个物体的移动属性。在constrain菜单下选择point的参数设置。maintain offset保持偏移,offset为偏移的值,不勾选maintain offset会使两个物体中心点重合。constraint axes是约束的轴向。weight权重指约束对物体的影响力,默认为1,也就是完全影响。通道栏中的属性,白色表示属相被控制,蓝色表示属相被约束。改变中心点的位置,同时也就改变了约束的位置。旋转约束是使用一个物体的选择属性来控制另一个物体的旋转属相。它的参数设置与点约束基本相同。进行约束时如果要保留被约束物体的变换属性,那么一定要勾选保持偏移。对于一个手臂模型,我们就可以在手腕处创建一个控制器,用它来约束ik手柄的移动和手腕骨骼的旋转属性。父子约束可以同时控制物体的移动和旋转两个属性。在制作抓取物体动画时,可以使用父子约束,通过瞬间改变它的权重值实现。注意一个物体的同一个属性一定不要被多个物体约束。及向量约束主要就是给ik做约束的。我们可以创建一个及向量的目标物体create菜单下选择locator,把它作为膝关节的控制器对腿部的ik手柄进行及向量约束,我们就可以通过locator控制膝盖的方向了。图4-3 及向量约束目标约束是使用一个物体的移动属性来控制另一个物体的旋转属性,一般是用来给角色眼睛做约束来使用。打开constrain菜单下aim参数设置,maintain offset保持偏移,通常是要勾选的。aim vector目标轴,up vector向上轴,world up type世界向上的方式,world up vector世界向上的向量。constraint axes受控制的轴。weight权重值。制作目标约束时要先选择目标物体再选择要进行控制的眼睛。图4-4 目标约束设置4.2 自定义属相之间的关联4.2.1 创建和设置自定义属相为了增强控制器的功能,可以对控制器增加属性来控制其他物体,我们常会用到自定义属相的添加。选择控制器,然后在modify菜单下打开add attribute,我们先了解一下它的参数。long name自定义属相的命名,override nice name勾选后我们可以起一个更短小精悍的名字,一般不用。make attribute定义属相是否可以被key关键帧。data type创建属相的类型,有vector矢量、integer整数、string字符串、float浮点、boolean布尔、enum列举。下面我们还可以设置最大值maximum、最小值minimum和默认值default。创建后需要关联对应的属性才有意义。打开超图,windows菜单下hypergraph:hierarchy选择input and output connections。在控制器节点右下角点右键选择创建的属性,连接到对应节点的属相。返回三维视图可以看到被关联的属性变为黄色。通常属性变为黄色,表示属性被直接关联。关联成功后,改变自定义属相的值就会有效果了。也可以使用关联编辑器对属性进行关联。windows菜单下general editors打开component editor。我们先把控制器与被关联物体都导入进来,然后选择对应的属性即可。图4-5 创建自定义属相图4-6 关联属相图4-7 关联后的属相 4.2.2 驱动关键帧驱动关键帧可以使一个物体的属相来完全控制另一个物体的属性。例如创建控制手指弯曲的属性,首先在控制器上自定义属相finger,设置为浮点型并设置最大最小值。然后设置驱动,在animate菜单下选择set driven key打开set.。导入驱动者控制器和被驱动者这个手指的各个关节,我们可以用控制器的finger属性驱动这几个关节在z轴的旋转,我们先在对应数值为最小值时key帧,再在最大值时key帧,这样就可以控制手指骨骼的弯曲了。这里我们要注意,驱动的属性只可以有一个,而被驱动的属相可以是多个。图4-8 驱动关键帧设置5.蒙皮与权重5.1 蒙皮与权重的简单制作5.1.1 蒙皮当我们给角色调好骨骼控制器这些后,就要进行蒙皮了。一般蒙皮的种类有两种,一种为柔性蒙皮,一种为刚性蒙皮。柔性蒙皮一般用于动画或电影,而刚性蒙皮一般用于游戏中。什么叫做蒙皮呢,其实就是使模型上的每一个点都匹配到骨骼上面,从而骨骼进行运动的话,模型也会随之运动。它就可以使骨骼与我们现实中的骨骼具有一样的功用。首先我们了解一下柔性蒙皮,在animation视图下打开skin菜单bind skin然后选择smooth bind的参数设置。首先第一个是bind to 默认值为joint hierarchy 指对全身的骨骼进行蒙皮,也可以对指定选择的骨骼进行蒙皮selected joints,下一个object hierarchy可以对指定选择的骨骼的每一个父子集进行绑定。bind method为绑定方式,max influence 指模型上一点最多同时受几个关节的影响,dropoff rate指关节对蒙皮影响的衰减率。 removed unused influenses 指移除不必要的骨骼,如果有些骨骼离蒙皮或模型过远,就会自动排出不进行计算。colorize skeleton对骨骼施加一些颜色,它的点和骨骼都是以同样的颜色存在的,这样我们可以很清楚的看到哪些点是受哪些骨骼影响的。蒙皮时需要同时选中骨骼和模型进行制作,创建蒙皮后试移动ik手柄,发现模型会随着骨骼一起移动,说明蒙皮绑定成功,但模型有些地方会发生变形,这是由于权重值的影响。进行完蒙皮的模型,属性会被自动锁定,我们无法再控制模型,只是由于系统为了防止出现双重变换而使蒙皮失效,默认为锁定。图5-1 骨骼蒙皮5.1.2 双重变换在绑定过程中一个模型同时被一个骨骼多次控制,就会出现双重变换。双重变换是一个很大的错误,它会使模型出现很大的偏差。例如一个人物模型的眼球,它本身与骨骼建立了父子关系,如果再把它进行蒙皮就会出错。在绑定时我们要尽量避免双重变换。一般出现双重变换,我们可以删除它的蒙皮skin菜单下detach skin,只使它成为骨骼的子物体就可以了。5.1.3 编辑柔性蒙皮我们可以通过属性编辑器和权重绘制工具来整理柔性蒙皮的权重。当我们给骨骼进行蒙皮后,通常情况下权重是自动分配的,移动模型时会发现模型有些地方会发生拉伸,我们可以通过属性编辑器来调整蒙皮上的点的权重,我们可以在windows菜单下找到属性的编辑器,windows-general 选择editors打开component editor,选择模型上变形的点可以看到这些点对应的属性和编辑,在smooth skins可以看到多个骨骼对同一点的权重影响,我们可以通过数值来调整,不过总权重total固定为1。如果还是有不平整的地方,我们还可以通过绘制权重的方法来修改蒙皮的权重。在skin菜单下找到edit smooth skin打开绘制权重paint skin weights tool,打开之后我们会发现模型变为黑和白两种颜色,白色代表完全受权重影响的,黑色代表完全不受权重影响的,灰色为中间的过渡值,权重的绘制应该在模型的点上而不是面上,参数里有paint operation表示绘制权重的几种方法,replase减去,某一点权重过高可以用此方式来减少权重,add则相反,scale表示相乘,smooth表示光滑,使相邻点的权重分配的更均衡,通常我们使用的就是replace,add和smooth。图5-2 查看权重图5-3 绘制权重(2)图5-3 绘制权重(1) 图5-3 绘制权重(4)图5-3 绘制权重(3)图5-4 绘制权重后(1)图5-4 绘制权重后(2)图5-4 绘制权重后(3)图5-4 绘制权重后(4)5.1.4 镜像权重对于一个对称的模型,我们可以把已画好的权重镜像到未画权重的一边,在skin菜单下选择edit smooth skin-mirror skin weight查看参数设置,第一行mirror across表示对称镜像的中间平面,direction指镜像是否为正向的,从+x到-x。surface association是镜像的算法,closest point on surface为点对点的一种算法,直接镜像点的权重。ray cast是通过创建一种光线,然后进行计算在复制。closest component复制的权重没有任何的衰减和过渡。通常我们使用的都是第一个点对点的算法。influence association为权重镜像的一个路径,默认参数closest joint离最近的一个关节进行匹配镜像。还有参数one to one一对一,如果要镜像两边的骨骼设置完全一样的话可以使用这个。第三个选项label,如果骨骼上已经注好了标签,就可以使用此方式进行复制。通常我们使用的是one to one。设置好后,我们选择要镜像的蒙皮,然后点击mirror,权重就计算好了。对于对称的模型都可以通过权重镜像的方法可以省去我们第二次绘制权重的过程。如果绘制或者复制权重后出现异常,可以选择模型,执行Skin-EditSmoothSkin-ResetWeights to Default(重置默认权重)。图5-5 镜像权重设置5.1.5 影响物体通过影响物体可以模拟肌肉的效果。比如手臂弯曲时肱二头肌会鼓涨,我们可以在肌肉部分添加驱动关键帧,使胳膊弯曲时有个箭头会随着向前推进。我们把箭头作为一个影响物体,让它来影响模型。绑定前一定要注意先把模型回到绑定初始位置。接下来打开skin菜单下edit smooth skin,选择add influence的参数设置。geometry使影响物体和模型尽量在添加完之后没有穿插,通常采用默认值勾选。dropoff衰减率,之前已经说过。polygon smoothness可以调整值是模型上点与影响物体运动匹配。nurbs samples与polygon smoothness相同,它是指向nurbs物体的。weight locking锁定权重,添加影响物体后我们可以输入指定的权重值,通常我们勾选并使值为0,以便于我们手动调整权重值。调整完影响物体的权重后,我们就可以看到肌肉运动的效果了。5.1.6 刚性蒙皮我们先了解刚性蒙皮与柔性蒙皮的区别。柔性蒙皮是把权重从0到1平均分配给模型的每一分点上,而刚性蒙皮对模型的每个点的权重分配只有0或1两种数值,计算速度要比柔性蒙皮快。通常刚性蒙皮适用于游戏角色比较多,因为刚性蒙皮的运算速度较快。在skin菜单下bind skin打开rigid bind的属性。bind to有三个选项。complete skeleton把所有的骨骼全部进行刚性蒙皮,selected joints把选中的骨骼进行刚性蒙皮,force all选中以外的骨骼进行刚性蒙皮。color joints可以使我们更清楚的看到模型上的点受那些骨骼的影响。blind method蒙皮完后会创建每一个的分割区。现在我们在大纲视图里选择所有的骨骼和蒙皮进行绑定,用ik手柄测试发现穿插还是较大。我们在属性编辑器里查看蒙皮上点的属性。在属性编辑器里打开rigid skins我们可以清楚的看到所有的数值全都是1,没有像柔性蒙皮中小数数值的存在。刚性蒙皮的权重只能通过属性编辑器来修改,不能进行权重绘制。我们打开windows菜单下hypergraph:hierarchy找到input and output connections打开后看到所有的骨骼上面都有一个cluster也就是指簇的变形,它跟整个骨骼和模型有一个连接,这是跟柔性蒙皮不一样的地方。图5-6 查看刚性蒙皮权重DetachSkin(分离皮肤):用来分离蒙皮后的物体和骨骼。开启设置选项,默认History:Delete history是将物体与骨骼分离后,删除蒙皮历史,并返回模型绑定前的形态。而Keep history则在保留蒙皮历史的情况下分离物体骨骼,并返回模型绑定前的形态,常用于给蒙皮后的骨骼增加关节;当再次进行物体蒙皮,可保持之前的权重。Bake history(烘焙历史):分离物体骨骼,并删除簇权重的历史记录,但保持模型当前形态。常用于静帧摆Pose。Coloring(着色):仅针对刚直蒙皮的骨骼着色,定义是否在分离骨骼后移除绑定时设定的骨骼颜色。默认为移除。5.2 蒙皮与权重的修改与应用5.2.1 添加屈肌如何给刚性蒙皮添加柔性蒙皮的效果呢?使用刚性蒙皮后,在关节的地方穿插较大,使用屈肌系统将这个部分平滑。在skin菜单下选择edit rigid skin找到create flexor打开,flexor type屈肌类型有三种,晶格lattice,雕刻sculpt,骨骼簇joint cluster。我们可以选择添加屈肌的位置,默认在选择的的骨骼上at selected joint,或者在所有骨骼上at all joint。我们先了解sculpt屈肌类型,max displacement雕刻球影响蒙皮上点的距离。dropoff distance衰减率,dropoff type调整变形形式,mode调整模型形式,inside mode调整点的分布。现在进行雕刻球创建,创建屈肌后要调整,在缩放时一定要选择屈肌来缩放,不要选中骨骼缩放。骨骼簇类型屈肌没有独有属性,直接创建。晶格类型可以设置分段数,position the flexor 是否确定变形器的位置,如果不勾选,变形器不可修改,修改会使模型改变。勾选则不同,但也只能在模型运动前进行修改。图5-7 添加屈肌5.2.2 编辑和复制屈肌选择晶格屈肌,可以通过修改参数值来调整屈肌。在skin菜单下edit rigid skin选择copy flexor可以来复制屈肌。复制屈肌只对晶格屈肌有效,雕刻和骨骼簇屈肌不能复制。删除屈肌直接delete,删除后想恢复应该重做。注意在绑定时尽量不要使用undo的命令,在使用屈肌时也一样。5.2.3 保持权重的情况下修改模型骨骼绑定后模型属性值会锁定,怎么在保持权重的同时修改模型呢?skin菜单下edit rigid skin选择preserve skin group中detach skeleton可以使骨骼和蒙皮进行分离,分离后就可以对模型进行修改了。detach selected skeleton使指定的骨骼和蒙皮进行分离。rettach skeleton使模型重新关联到蒙皮。分离修改完模型后重新关联就可以了。在使用打断刚性蒙皮连接的工具时,骨骼一定要在绑定的初始状态。图5-8 骨骼与蒙皮的分离和关联5.2.4 Bind.Pose节点skin菜单下go to bind pose(回到绑定时姿势):选择骨骼或蒙皮模型,执行此功能将返回绑定时的模型姿势。在激活stickiness的状态下是无法回到绑定状态下的。当对骨骼进行IK和约束操作,容易引起此功能失效。遇到这种情况,进入Modify-EvaluateNodes,将IKSolvers,Constraints,Expressions的勾去掉,再执行Go to Bind Pose即可;不过建议是在调动作之前,给控制器设置一个初始关键帧以便随时返回。如果无法使骨骼或模型回到绑定状态,可以尝试暂时关掉所有节点,modify菜单下evaluate nodes选择ignore all,然后再尝试回到绑定状态。5.3 融合变形器对蒙皮的影响5.3.1 融合变形器融合变形器可以是一个物体的变形添加到另一个物体上。通常融合变形使用在表情动画上,通过它的特性我们可以做出多种多样的表情。在create deformers菜单下打开blend shape的参数设置。blendshape node定义一个名称。envelope相当于这个blend shape的权重值,默认为1。origin有local和world两个选项,选择world会使做完的模型回到世界中心。blend shape有三种形式,第一个为in-between,把多个变形的物体融合到一个模型的属性上面,从而我们可以通过一个变形的属性来控制多个变形的属性。第二个check topology检查拓扑结构,检查与原模型对应的拓扑结构发生了怎样的变化,把这些变化运用到原模型。第三个delete targets删除目标物体,勾选后变形的物体会被删除掉。选择变形物体和原模型进行create。之后我们在原模型inputs属性会有一个我们命名的变形器标签,打开后选择psphere2,中键拖动使之在0到1之间变化,发现原物体会随之变化,这个过程就叫做融合变形。知道这种特性后,我们就可以应用到表情的制作上面。我们可以复制人物的头部模型并修改出一个表情,将两个模型创建融合变形器,中键拖动psphere2属性就可以看到人物做表情的过程了。我们也可以从windows菜单下animation editors打开blend shape,通过拖动滑竿来看表情,不过一定要给每个表情都添加好标签来方便查看。5.3.2 修改物体的变形顺序如果在做融合变形之前进行了蒙皮的操作,融合变形就会出现错误。在inputs属性里我们可以看到blend shape的位置在蒙皮之前,会导致在blend shape的状态下模型运动出错。我们要想办法修改,选择模型右键属性inputs选择all inputs,可以看到通道栏里面显示的几个节点,我们可以拖动中键改变位置,使蒙皮处于列表最上层,在再重新选择模型发现修改生效,再运动模型就不会出错。我们还可以在edit deformers菜单下blend shape选择remove直接把blend shape进行删除,参数设置里可以输入blend shape的名称,还有要删除的选项名称,选项名称一定要与通道栏里inputs中blend shape的选项一致。我们还有另一种方法。我们打开windows菜单下hypergraph:hierarchy找到input and output connections,在超图中也可以直接选择blend shape节点进行删除。其实我们应该在创建之初就要处理好输入列表。在create deformers菜单下打开blend shape的参数设置选择advanced高级。这个选项可以确定blend shape在通道栏inputs列表中的位置。选择顺序front of chain就可以放在列表蒙皮之下了。5.3.3 添加融合变形如果我们要给一个人物添加两个或多个表情,可以创建两个带表情的模型,并对原模型创建blend shape,但是我们会发现使用一个blend shape节点的时候就会关闭另一个,这种情况也许在特殊的情景下会有用,但是一般需要的不是这种效果。我们可以用另一种方法,同样将第一个表情blend shape,然后选择第二个或其它的模型,再选择原模型在edit deformers菜单下blend shape选择add参数设置,可以把这个表情作为一个属性添加到已有的blend shape上。在使用blend shape时模型的拓扑结构要保持一致。图5-9 添加表情图5-10 blend shape5.3.4 修改融合变形权重如果我们想调整blend shape对模型的影响范围,就需要修改它的权重。首先,我们可以通过属性编辑器的方式来调整它的权重,在windows菜单下general editors打开属性编辑器component editors,选择blendshape deformers可以看到各个点对应blend shape权重的值都为1。如果改为0,这些点就会回到模型原始的位置上。blend shape的权重也可以使用权重绘制工具来修改,在edit deformers菜单下找到paint blend shapeweights tool。它的属性跟我们绘制骨骼权重时的熟悉基本一致。值得注意的是clamp属性的两个参数lower和upper。无论如何绘制都不会低于lower的值或高于upper值。通过blend shape的权重修改,我们可以制作出新的表情。5.4 其他变形器5.4.1 簇变形器如何使用一个簇变形器来给一个模型做动画。首先我们需要使用绘画笔的工具来选择需要的一些点,然后在create deformers菜单下选择cluster,一定要勾选relative,这样就不会出现双重变换的属性。创建后我们就会看到一个簇的变形器。可以通过控制这个簇变形器来控制这些点,我们还需要调整簇的权重。调整簇的权重有两种方法,一种是通过属性编辑器,打开属性编辑器component editor里的weighted deformer界面,调整这些点对应簇的权重。还有一种是使用权重绘制工具来修改,在edit deformers菜单下选择paint cluster weight tool,绘制方式与其它权重相同。图5-11 绘制簇变形器的权重图5-12 绘制簇变形器的权重后5.4.2 抖动变形器一个物体从运动状态到瞬间的静止状态会产生抖动,要做出这个效果,我们就需要抖动变形器。在create deformers菜单地下找到jiggle deformer,打开参数设置stiffness表示抖动的硬度大小,damping表示抖动阻尼的大小,weight是它的权重。jiggle only when object stops指只有在物体停止运动时才开始抖动,ignore transform指忽略变换。创建抖动变形器后,我们可以在通道栏中改变阻尼和抖

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论