分类: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:不可见时暂停。勾选此项,则布料在摄像机视野之外的时候将不会计算模拟效果。

【Unity】11.7 布料的更多相关文章

  1. 介绍用C#和VS2015开发基于Unity架构的2D、3D游戏的技术

    [Unity]13.3 Realtime GI示例 摘要: 分类:Unity.C#.VS2015 创建日期:2016-04-19 一.简介 使用简单示例而不是使用实际示例的好处是能让你快速理解光照贴图 ...

  2. JSBinding + SharpKit / 实战:转换 Survival Shooter

    从 asset store 下载 Survival Shooter (商店里有2个版本,一种是给Unity5用的,一个是给Unity4.6用的,我们这个实验用的是后者,版本是2.2.如果) 1 删除多 ...

  3. Aop介绍及几种实现方式

    Aop介绍      我们先看一下wiki百科的介绍     Traditional software development focuses on decomposing systems into ...

  4. 地区sql

    /*Navicat MySQL Data Transfer Source Server : localhostSource Server Version : 50136Source Host : lo ...

  5. Ubuntu 11.10 安装GMONE3,卸载 UNITY和UNITY 2D

    Ubuntu 11.10安装GNOME3: 1)sudo apt-get install gnome-shell    sudo apt-get install gnome-themes*   (或者 ...

  6. 【Unity】2.11 了解游戏有哪些分类对你开阔思路有好处

    分类:Unity.C#.VS2015 创建日期:2016-03-31 一.简介 对游戏类型的划分有助于游戏的市场定位,以便吸引具有同一爱好的玩家群体.此外,制作游戏策划方案时,也通常会依据不同的游戏类 ...

  7. 关于Unity中蒙皮网格和布料的使用

    所以物体的要绘制出来就必须要有网格组件+材质属性,如果还需要其他特效或丰富内容的话,还可以再加组件. 蒙皮网格和布料 1: 例如要模拟衣服,随风摆动,模拟布料需要用到蒙皮网格和布料;2: 蒙皮网格可以 ...

  8. Unity Shader入门精要学习笔记 - 第11章 让画面动起来

    转自 冯乐乐的 <Unity Shader入门精要> Unity Shader 中的内置变量 动画效果往往都是把时间添加到一些变量的计算中,以便在时间变化时画面也可以随之变化.Unity ...

  9. Unity应用架构设计(11)——一个网络层的构建

    对于客户端应用程序,免不了和远程服务打交道.设计一个良好的『服务层』能帮我们规范和分离业务代码,提高生产效率.服务层最核心的模块一定是怎样发送请求,虽然Mono提供了很多C#网络请求类,诸如WebCl ...

随机推荐

  1. 〖Android〗简单隐藏Android虚拟键盘的方法

    在Android使用 input 输入文本时,不期望出现虚拟键盘: 一般情况下,大家会把键盘给卸载,不过也有简单的方法: 就是下载一个 com.wparam.nullkeyboard (NullKey ...

  2. Jenkins执行批处理文件失败

    今天搭建Jenkins持续集成环境,编译环境是.net,在.net下没有比较好的代码覆盖率测试插件,所以用了开源的OpenCover,计算代码覆盖率,然后用ReportGenerator导出hmtl格 ...

  3. Ubuntu16.04 释放/boot目录空间

    查看当前系统内核 $ uname -a Linux linuxidc --generic #-Ubuntu SMP Mon Feb :: UTC x86_64 x86_64 x86_64 GNU/Li ...

  4. Android 代码画角标 offcutView

      效果如下:          代码: <com.andye.OffcutView android:layout_width="30dp" android:layout_h ...

  5. ajax请求格式

    ajax请求格式........... var rowsData = $('#receiptPrintList').datagrid('getSelections'); $.ajax({ type: ...

  6. Java获取函数参数名称

    原理 编译之后的class文件默认是不带有参数名称信息的,使用 IDE 时,反编译jar包得到的源代码函数参数名称是 arg0,arg1......这种形式,这是因为编译 jar 包的时候没有把符号表 ...

  7. Android开发环境——SDK相关内容汇总

     Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ...

  8. 【转】25.windbg-!gle、g(错误码、g系列)

    !gle !gle 扩展显示当前线程的最后一个错误码.这个太好记了,getlasterror取首字母: <span style=:> !gle LastErrorValue: (Win32 ...

  9. ANDROID开机动画分析

    开机动画文件:bootanimation.zip在system\media文件夹下动画是由系列图片连续刷屏实现的..bootanimation.zip文件是zip压缩文件,压缩方式要求是存储压缩,包含 ...

  10. k近邻算法-java实现

    最近在看<机器学习实战>这本书,因为自己本身很想深入的了解机器学习算法,加之想学python,就在朋友的推荐之下选择了这本书进行学习. 一 . K-近邻算法(KNN)概述 最简单最初级的分 ...