Unity3D使用Cloth组件解决战士皮甲穿帮问题

我遇到了一个衣服与大腿的mesh"穿帮"的问题,网上查了一下可以使用Unity的组件Cloth

该组件在物理组件的子组件中,增加Cloth的衣服应该使用SkinnedMeshRenderer,否则不会响应,在大腿加上两个CapsuleCollider

在游戏运行的时候Cloth物体会自动被CapsuleCollider影响

但是在运行走路的时候 我感觉这个太软了,这个武士的应该是皮甲,而不是布料,这个时候就要了解一下Cloth组件的参数再去调整了。

首先皮甲的最上面是跟腰部固定的,点击最上面两个按钮左边那个(Edit Cloth Constraints)

从上到下,maxDistance应该越来越小,产生一种皮甲系在腰部,下面摆动的效果。

之后是主要的参数:

Stretching Stiffness拉伸刚度,从0到1,越大越难拉伸。我设置为1

Bending Stiffness弯曲刚度,从0到1,越大越难弯曲。我设置为1

Use Tethers,勾选官方文档中说可以帮助减少过度拉伸,但是我这个刚度都比较大,所以可以关闭,测试后也没有什么变化

Use Gravity,这个比较好理解,我关闭了一下,中间底部会飘起来,所以这个一般是勾选的,不然会很奇怪。

Damping,运动阻尼系数,也比较好理解,从0到1 ,为0时衣服会自己摆动,为1时不会自己摆动。我设置0.4

External Acceleration 外部加速度,可以模拟风吹衣服的效果,我给了一个x方向的加速度测试一下,这个加速度是恒定的

Random Acceleration这个加速度是随机变化的,这样的风吹效果更真实一点

World Velocity Scale 物体运动对Cloth有多大影响,数值越大,人向前走,衣服向后飘的程度越大。

World Acceleration Scale 物体加速度对Cloth有多大影响,数值越大,衣服的惯性的体现就越大。比如我设置为15时,走路停止后皮甲会向前蹦出来。

后面的参数涉及到的是更加复杂的情况了,对于这个皮甲就不去调整了,也不过多深入了。

猜你喜欢

转载自blog.csdn.net/QQ734821120/article/details/89667999