时间:2024-06-19
李曙光
在三维角色动画、次时代角色制作、虚拟现实、服装设计等项目中,虚拟服装被广泛地应用到各类角色中,如EA,Ubisoft等主流游戏工作室,制作电影“阿凡达”的维塔数码,以及制作“全面回忆”的Double Negative等动漫工作室都在广泛地使用.[1]传统的服装的制作流程中存在着褶皱不规则、层次复杂、需要借助动力学解算等问题,传统的建模技术只能利用多边形建模和雕刻技术来实现褶皱、折叠、镶边等效果,同时会花费大量的时间,而且品质方面也无法达到虚拟真实的效果.三维虚拟服装生产流程则是根据虚拟化身的模拟设定,在二维空间中板片进行匹配性的绘制与排列,设置符合物理逻辑的缝合线和面料,再由粒子与虚拟化身通过实时碰撞完成动力学的解算,最终生成符合自身物理属性和环境变量的仿真虚拟服装模型,服装的成功制作会让角色形象更加鲜活,同时制作效率也得到显著的提升.虚拟服装模型能够和3dsmax,maya等主流动画软件,以及Unity、Unreal Engine主流引擎进行数据交互,从而高效地实现三维项目中角色的服装模拟.
在三维软件中制作虚拟服装的基本生产流程是:首先导入角色身体模型,在2D界面上根据映射的角色比例,进行服装平面板片的绘制,然后设置好缝合线和虚拟化身的定位点,服装面料的物理属性及材质属性,在3D视窗中可以观察到解算的效果,在动力学解算的过程中,可以实时进行干预调整以得到最自然的物理形态,直到生成角色模型理想的虚拟服装,虚拟服装的生产流程见图1.
图1 虚拟服装的生产流程
为了实时地显示服装的人物上身效果,首先应设定虚拟化身,有不同种族、性别、年龄的虚拟化身可供选择,可以任意选择虚拟化身的发型、鞋,以及其他随身的饰品来改变风格.也可以根据服装的风格编辑虚拟模特的颜色,纹理图案和透明度.在做服装解算时,要设置合适的虚拟化身表面间距,即虚拟化身跟服装之间的距离,服装跟虚拟化身均是由网格组成的,假如虚拟化身表面间距低,虚拟化身跟服装之间的距离很近,粒子间距大时会出现服装穿透身体的解算错误.复杂的服装在解算时会出现错位或提前下落等情况,这时需要提高模拟化身与服装间的摩擦力来解决问题.
在2D板片窗口中可以根据设计图稿自由地使用基于矢量图形的方式创建方形、圆形、不规则形虚拟服装的板片,也可以使用内部多边形—线命令绘制内部的多边形、圆形等形状,不能使用服装板片折边来缝纫,只能用完成线来缝纫,所以要消除内部多边形的折边,使用内位线来缝纫.服装板片创建后,可以针对板片的锚点、线、面等次级元素进行位置、旋转、缩放等变换操作,也可以自由地把线条转化成曲线,直角转化为弧形,以精确地匹配到设计稿上的形状.
为了避免在缝合时产生不必要的褶皱,对应的服装板片的合成边的长度须保持一致,可以使用更改线的长度命令或在合成边线上增加锚点以更改线段的长度.当然有时要利用这个特点有意进行长短不一的匹配制作,如百褶裙的制作.针对对称的服装板片,左右翻转粘贴在内部图形上,点击Location提示的菜单,被复制的板片/内部图形会跟着鼠标走,点击2D板片窗或者板片内部放置即可.
缝纫板片的方法有以下几种:以单位线段为缝纫的“线缝纫”和无关于点线而自由指定领域缝纫的“自由缝纫”.[2]在2D视窗中为了方便用户观察编辑,两个缝纫边是分开显示的.同样位置同样缝纫的结果相同.两个缝纫边都由指定缝纫方向的“缝合线方向条”和“虚线”相连.从板片或内部图形中,选择被点分为线段的两条线条,设置为缝合线并连接,根据鼠标点击顺序的不同会出现不同方向的缝合线,不同方向的缝合线会造成反向缝合而形成折叠的缝合效果,效果见图2.缝合线可以是一对一,也可以是一对多或多对多.设置3D缝纫线的强度及厚度,可以表现出更加真实的服装效果.假缝功能可以应用在已着装的虚拟化角色上,任意选择局部区域实时查看调整效果是否适度.假缝针可以添加在2D版片上,并用编辑假缝针工具调整编辑.针对虚拟化身的假缝功能,可以临时把服装的一个区域固定到虚拟化身的另一个区域上以观看局部效果.
图2 不同缝合方向所形成的效果对比
传统的服装缝合边在制作卷边和折边效果时,要在模型的基础上通过局部挤压结构来实现,会使服装结构更加复杂,不利于服装后期制作的局部调整与控制,在三维服装模拟软件中把服装卷边和折边进行了参数化的设定,参数包含大小、强度、角度、粒子距离等,在不影响板片形态的基础上对卷边和折边的效果进行实时控制,而且后期仍然可以自由地改变缝合边的形态.
多重固定针可以在模拟过程中固定服装特定部分来表现装饰性,可以使用在整理服装上,如有衬领或翻领服装需要翻转板片时,可以使用多重固定针作为辅助手段.虚拟服装动力学解算或录制动画时,使用虚拟化身固定针功能,可以固定服装而防止掉落.制作服装局部的褶皱、开缝等复杂细节或者制作其他部分时,不想打乱已制作完的服装细节时,可以使用激活/反激活板片功能,临时固定住局部已解算好的服装形态,在多层服装圆滑着装上,模拟时反激活状态下的板片没有冲撞处理,如果要得到正确的冲撞效果,可以使用板片冻结功能,把板片固定成坚固的物体,见图3.例如先制作好内衣,冻结内衣后,再进行外套的制作解算,虚拟服装动力学解算就会保持稳定的状态 .[3]
图3 激活与冻结板片
虚拟服装的面料包括普通材质的属性,如纹理、色彩、高光、自发光、透明度等,也包括参与动力学计算的面料的物理属性,如面料的拉力经纬度、对角线张力、弯曲力经纬度、屈曲率、屈曲刚度、内部阻尼、密度、摩擦系数,预设的面料是以上属性的综合,可以准确地模拟如牛仔布、丝绸,皮等多样布料的物理属性,可以给面料设置不同的物理性质以调整服装的各个方向强度,面料的物理属性决定了最终解算的效果.[4]不同预设面料的物理属性见图1.
图1 不同预设面料的物理属性
在制作多层服装时,为了避免出现服装层次间的解算错误,可以在虚拟化身上添加指定点和套桶来提示身体的不同部位,以便可以快速高效地解算,从而得到符合物理学的结果.在视图中激活安排点,蓝色的安排点紧贴着绿色的套桶,可以在A-BV中通过添加的方式创建套桶,套桶可以使用坐标轴在视图中自由地移动,也可以用虚拟化身的骨骼两端的关节点来对应A-BV套桶,让套桶自动匹配虚拟化身的形状.安排点必须依附于A-BV套桶,否则无法显示,选择定位的衣服加选安排点,可以快捷地把衣服定位到安排点的位置以适合虚拟化身的外形.
图层可以把样板或服装重叠在一起的时候,设定里层和外层以便轻松模拟.例如将制作口袋、纽扣等本应该置于服装外部的模块错误地设置到服装内部时,使用此功能可以轻松地将口袋、纽扣等在服装外部拖拽出来,也可以使用在给连衣裙、衬衫等服装外层追加着装夹克、大衣等外套.基本图层数值显示成“0”意味着图层处于关闭状态.这时板片根据3D服装窗中的排列位置来决定顺序.
虚拟服装的细节主要是由粒子间距决定的,粒子间距指构成服装板片点之间的间距,也就是服装模型网格密度.粒子间距决定了服装精细程度和模拟速度.制作服装给虚拟化身着装过程中,基本使用较大的粒子间距以提高解算的速度.等服装设置完成之后把粒子间距调整为较小的参数,以提升服装最终解算的精细程度.
服装的制作由于褶皱随机变化丰富、层次复杂、不同物理属性会引起的较大的外形变化等原因,传统的多边形建模技术和雕刻技术难达到虚拟真实的效果.[5]三维虚拟技术提供了多种板片设计功能,以及根据虚拟化身进行安排点和固定针等设置,参数化的服装材质的物理和材质属性可以方便地表现面料的真实折叠和褶皱效果,通过粒子的动力学解算,生成的模型拓扑结构合理,网格间隔均匀,可以快速高效精确地制作三维角色的虚拟服装.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!