首页 > 代码库 > 关于Unity中蒙皮网格和布料的使用

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

所以物体的要绘制出来就必须要有网格组件+材质属性,如果还需要其他特效或丰富内容的话,还可以再加组件。

 

蒙皮网格和布料

1: 例如要模拟衣服,随风摆动,模拟布料需要用到蒙皮网格和布料;
2: 蒙皮网格可以模拟出非常柔软的网格体,用于布料和角色的蒙皮功能;
3: 蒙皮网格 + 布料组件能模拟出布料效果;
4: Skinned Mesh Renderer是一种网格渲染器,是一种渲染网格的方式;
5: 布料是Cloth组件;

 

蒙皮网格的重要属性
Cast Shadows: 投影方式 包括: off, 单向(on), 双向(Two sided), 仅阴影;
Receive Shandows: 是否接受其他的对象对他进行投影;
Materias 对该对象制定材质;
UseLight Probes: 是否使用灯光探头;
Reflection Probes: 是否使用反射探头;
Anchor Override: 网格锚点,网格对象跟随锚点移动并进行物理模拟;
Lightmap Parameters: 光照烘培参数,指定使用光照的配置文件;
Quality: 影响任意一个顶点的骨头数量;
Update When OffScreen: 屏幕之外的部分是否进行物理模拟;
Mesh: 该渲染器制定的网格对象;
Root Bonus: 根骨头;
Bounds(Center)包围和中心坐标,不可修改,基于网格坐标系;
Bounds(Extends): 包围盒三个方向的长度,不可修改;

 

布料的重要属性
Strectching Stiffiness: 布料的韧度,(0, 1],表示可拉升的程度;
Bending Stiffiness: 布料的硬度(0, 1],表示布料可弯曲的程度;
Use Tetchers: 是否对布料进行约束;
Use Gravity: 是否使用重力;
Damping:布料运动的阻尼系数;
External Acceleration:外部加速度,给布料一个常力,模拟微风飘起的旗帜;
Random Acceleration: 随机加速度,给布料一个变力,模拟强风鼓动的旗帜;
World Velocity/Acceleration Scale: 世界坐标系下速度加速度缩放比例;
Friction: 布料相对与角色的摩擦力;
Collision Mass scale: 粒子碰撞时质量的增加;
Using continuous Collision:是否连续碰撞;
Use Virtual Particles: 为每一个三角形附加一个虚拟粒子,提高碰撞的稳定性;
Solver Frequency: 计算频率,每秒计算的次数;
Sleep Threshold: 休眠阈值;
Capsule Collders: 可与布料产生碰撞的胶囊碰撞器个数;
Sphere Colliders: 可与布料产生碰撞的球行碰撞器个数;
first/Secode: 两个球连接组成的胶囊碰撞器;

 

步骤

1: 创建Unity项目

2: 创建一个平面Plane和两个球Sphere1和Sphere2

3: 创建一个布料节点cloth关联Cloth与Skinned Mesh Render网格渲染器组件

4: 设置蒙皮网格渲染器Skinned Mesh Render渲染的网格Mesh为Plane节点;

5: 设置蒙皮网络Skinned Mesh Render的根骨头(Root Bone)为布料节点cloth;

6. 创建一个材质cloth,给材质一个颜色,把材质球拖进Skinned Mesh Render的Materials属性的Element0中

7: 设置Skinned Mesh Render网格渲染器组件的Anchor Override属性为布料节点cloth;

8: 配置布料的碰撞器Cloth的Sphere Colliders,size为1,把Sphere1和Sphere2节点拖进去,两个Sphere其实组成一个胶囊碰撞对象,让胶囊和布之间产生碰撞;

9: 观察运行效果;

 

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