分类:Unity、C#、VS2015

创建日期:2016-05-02

一、简介

Unity提供了两种布料组件:交互布料(Interactive Cloth)、蒙皮布料(Skinned Cloth)。为人形动画添加布料组件后,就可以利用布料渲染器将其渲染出来。

二、交互布料(Interactive Cloth)

交互布料组件(Interactive Cloth)可在一个网格上模拟类似布料的行为状态,如果希望在场景中使用布料,可以用这个组件来实现。

1、添加交互布料组件

添加交互布料组件的方法如下:【Component】->【Physics】->【Interactive Cloth】。

因为交互布料组件与布料渲染器组件存在依赖关系,所以当布料渲染组件存在于某个游戏对象上时,交互布料组件不能被移除。

2、属性

交互布料组件(Interactive Cloth)在检视器中显示的主要属性如下:

·Bending Stiffness:弯曲刚度。设置布料的抗弯曲程度,数值在0~1之间,值越大越不容易弯曲。

·Stretching Stiffness:拉伸刚度。设置布料的抗拉伸程度,数值在0~1之间,值越大越不容易拉伸。

·Damping:阻尼。该项用于没置布料运动的阻尼。

·Thickness:厚度。设置布料表面的厚度。

·Use Gravity:是否使用重力。勾选该项后,布料会受到重力的影晌。

·Self Collision:自身碰撞。勾选该项后,布料将开启自身碰撞检测,以防止布料发生自身穿插的现象。

·External Acceleration:外部加速度。应用到布料上的外部加速度。

·Random Acceleration:随机加速度。将一个随机数应用到布料上的外部加速度。

·Mesh:网格。指定用于模拟互动布料的网格,单击右侧圆圈按钮可在弹出的网格选择对话框中选择网格。

·Friction:摩擦力。设置布料的摩擦系数,取值在0~1之间。

·Densit:密度。设置布料的密度。

·Pressure:压力。设置布料内部的压力,仅用于封闭的布料。

·Collision Response:碰撞反应。没置与布料相碰撞的刚体施加力的大小。

·Attachment Tear Factor:附加撕裂因子。设置附加刚体的布料在撕裂前可以拉伸的程度。

·Attachment Response:附加反应。设置对于附加的刚体施加的力度。

·Tear Factor:撕裂因子。设置布料的顶点可拉伸的距离,大于此距离布料会被撕裂。

·Attached Colliders:附加的碰撞体。设置包含与布料绑定的所有碰撞体的数组。其中:

Size:碰撞体的个数。

Collider:附加的碰撞体。

Two Way Interaction:勾选该项则启用双向互动功能。

Tearable:勾选该项则布料可以被撕裂。

三、蒙皮布料(Skinned Cloth)

蒙皮布料组件(Skinned Cloth)与蒙皮网格渲染器一起用来模拟角色身上的衣服。如果角色动画使用了蒙皮网格渲染器,则可以为其添加一个蒙皮布料,使其看起来更加真实、生动。

1、添加蒙皮布料组件

添加蒙皮布料的办法为:选择—个有蒙皮网格渲染器组件的游戏对象,依次打开菜单栏中的【Comoonent】->【Physics】->【Skinned Cloth】。若该对象之前没有蒙皮网格渲染器,此时也会将其一并添加上。

当使用蒙皮布料组件时,它将从蒙皮网格渲染器中获取顶点并依次来模拟布料。

2、属性

蒙皮布料组件对每个顶点都有一些参数,这些参数模拟了布料相对于蒙皮移动的自由度。属性面板中有3个标签。

(1)顶点选择工具属性面板

在此模式下。可以在场景中选择顶点并在面板上设置其参数。按住Shift键或用鼠标框选可以一次性选择多个顶点并设置参数,当选择多个顶点时,属性面板上会显示这些顶点的平均值。若改变这个值,则所有的顶点都会被设为同样的值。如果将Scene视图切换到线框模式,可以看到并且选择背面的顶点,这在选择角色的整体时非常有用。

单击参数区旁的眼睛图标,编辑器会使这些参数在Scene视图中可视化:参数值最小的会显示为绿色的点,中间范围值的点为黄色,最高值的点为蓝色。

(2)顶点喷涂工具属性面板

与定点选择工具相似,顶点喷涂工具可帮助设置顶点参数,与顶点选择工具不同,在改变数值之前不需要选中顶点:在该模式下只需要键入想要没定的值,然后激活参数旁边的笔刷开关,再选中要设置的顶点即可,被笔刷选中的顶点的值就变成了刚才所设定的值。

(3)没置标签属性面板

此标签用于设置蒙皮布料的各种属性。

·Bending Stiffness:弯曲强度。没置布料的抗弯曲程度,数值在0~1之间,值越大越不容易弯曲。

·Stretching Stiffness:拉伸刚度。设置布料的抗拉伸程度,数值在0~1之间,值越大越不容易拉伸。

其他属性和交互布料的属性相似。除此之外,还有两个属性:

·World Velocity Scale:世界速度比例。该项数值决定了角色在世界空间的运动对于布料顶点的影响程度,数值越高的布料对角色在世界空间运动的反应就越剧烈,此参数也决定了蒙皮布料的空气阻力。

·World Acceleration Scale:世界加速度比例。该项数值决定了角色在世界空间的加速度对于布料顶点的影晌程度,数值越大的布料对角色在世界空间运动的反应就越剧烈。如果布料显得比较生硬,可以尝试增大此值,如果布料显得不稳定可以减小此值。

四、布料渲染器(Cloth Redderer)

布料渲染器(Cloth Redderer)属性面板中的相关属性如下。

·Cast Shadows:投射阴影。勾选此项,则布料将会投射阴影。

·Receive Shadows:接收阴影。勾选此项,则布料将会接收阴影。

·Materials材质。该项用于为布料选择材质。单击该项右侧的圆圈按钮,在弹出的对话框中可以为布料指定材质。

·Use Light Probes:使用光照探测。勾选此项,则光照探测将被激活。

·Light Probe Anchor:灯光探测锚点。若指定的话,灯光探测照明信息(Light Probe Lighting)使用物件的中点和探测器锚点之间的插值。

·Pause When Not Visible:不可见时暂停。勾选此项,则布料在摄像机视野之外的时候将不会计算模拟效果。

04-26 16:18