返回首页 >> Maya文档 >> maya使头发碰撞

使头发碰撞

可以使头发系统中的头发与其自身以及与其他对象碰撞。作为一种替代方法,或者除了将对象设定为与头发碰撞之外,可以使用充当隐式碰撞对象的头发约束。如果头发陷入曲面中,这些可能会很有帮助,因为这些隐式碰撞对象是体积,而不是壳。此外,可以设定碰撞对象约束来影响特定的头发曲线,而“使碰撞”(Make Collide)和其他碰撞选项会影响整个头发系统。碰撞约束和几何体碰撞的组合可以提供强大的碰撞,同时保持碰撞对象曲面的保真度。有关“碰撞球体”(Collide Sphere)和“碰撞立方体”(Collide Cube)隐式碰撞对象的详细信息,请参见“设置头发约束”。

注意
“迭代次数”(Iterations)(“动力学”(Dynamics))会增加碰撞测试的数量。设置为 8 时的测试次数是设置为 4 时的两倍。在某些情况下,这可以改善碰撞的结果,但也会降低模拟计算的速度。如果增加“迭代次数”(Iterations),需要降低“刚度”(Stiffness)来进行补偿。

精细调整碰撞

如果头发陷入碰撞曲面中,请考虑下列事项:

避免锐边或开放边。圆形的闭合对象与头发碰撞得更好。碰撞在离散点(如粒子)而不是线之间进行,因此薄边可以在顶点之间切割。头发上存在的 CV 越多,它就越有可能与小边碰撞。头发 CV 的数量是由开始曲线上的 CV 数量乘以毛囊节点上的“采样密度”(Sample Density)来确定的。“碰撞过采样”(Collide Oversample)值为 1 和 2 将在碰撞时插入附加的中点 CV。
如果有效碰撞宽度为零,那么头发不太可能落下穿过曲面。有效的碰撞宽度为:
束宽度(Clump Width)*束宽度(Clump Width)比例 +头发宽度(Hair Width)+碰撞宽度偏移(Collide Width Offset)

通过使“碰撞宽度偏移”(Collide Width Offset)成为一个很大的负数(如 -1000),可以强制碰撞宽度始终为零。这将导致头发束穿透曲面的一半。但是,它们将不太可能落下穿过曲面。

增大“碰撞过采样”(Collide Oversample)值可能会有帮助。“碰撞过采样”(Collide Oversample)值大于 2,行为方式就会不同。值为 1 或 2 会在模拟 CV 之间插入新测试点。曲面上没有足够的 CV 来使用薄边捕捉碰撞时,这样是很好的。对于大于该值的值,附加的采样点位于围绕 CV 中心的环形中。这更适合处理宽头发束和避免粘住。因此,为了避免零宽度头发束被薄边切割,请使用值 1 或 2;在这种情况下使“碰撞宽度偏移”(Collide Width Offset)为负数会更有帮助。为更好地处理宽束,请尝试将“碰撞过采样”(Collide Oversample)设定为 3 或更大。
使头发与地面碰撞

在毛发系统的“属性编辑器”(Attribute Editor)中,在“碰撞”(Collisions)区域中启用“碰撞地面”(Collide Ground)。“地面”是地平面(或栅格)。
或者调整“地面高度”(Ground Height)值,该值是相对于地平面的。
使头发与对象碰撞

选择头发系统。(窗口 > 大纲视图(Window > Outliner))
按住 Shift 键并单击以选择希望头发与其碰撞的对象或曲面。
选择“头发 > 使碰撞(Hair > Make Collide)”。会将一个“geoConnector”节点添加到碰撞对象。
如果碰撞不起作用,请确保在头发系统“属性编辑器”(Attribute Editor)中启用“碰撞”(Collide)。有关详细信息,请参见碰撞。

如果头发要穿透碰撞对象,则可以尝试下列操作:

在碰撞对象的“geoConnector”节点中,增大“细分”(Tessellation)值。
在 hairSystemShape 的“碰撞”(Collisions)区域中,增大“碰撞过采样”(Collide Over Sample)值。
使头发与自身碰撞

在毛发系统的“属性编辑器”(Attribute Editor)中,在“碰撞”(Collisions)区域中启用“自碰撞”(Self Collide)。
调整碰撞设置,包括“碰撞宽度偏移”(Collide Width Offset)。
请将您关于此页内容的评论发送给我们