hairSystemShape

 
 
 

这些是 hairSystemShape 节点(也是 hairSystem 节点)中的属性描述。这些属性仅在“使用 Nucleus 解算器”(Use Nucleus Solver) 处于禁用状态时适用。

模拟方法(Simulation Method)

模拟方法(Simulation Method)

控制在头发系统中模拟什么。从下拉列表中选择一个选项。

禁用(Off)

在播放模拟期间不会显示或更新头发系统。

静态(Static)

在播放模拟期间不会移动头发系统。但是如果变换了曲面,头发系统会更新头发的位置。

仅动力学毛囊(Dynamic Follicles Only)

在播放模拟期间头发系统只模拟并更新动力学头发。将隐藏被动头发。

所有毛囊(All Follicles)

在播放模拟期间头发系统模拟并更新所有头发(动力学和被动)。

显示质量(Display Quality)

该值是要为交互式绘制显示的束内头发百分比。此显示质量与 Paint Effects 笔划的显示质量相对应。默认值为 100。

使用 Nucleus 解算器(Use Nucleus Solver)

启用该选项时,头发系统的行为类似于 Nucleus 对象,且使用 Nucleus 解算器进行解算。作为 Nucleus 对象,头发对象可以与其他 Nucleus 对象交互以及自碰撞。禁用该选项时,头发系统使用 Maya 经典头发解算器进行解算,且其行为不类似于 Nucleus 对象。

“使用 Nucleus 解算器”(Use Nucleus Solver)处于禁用状态时,与 Nucleus 相关的属性在 hairSystemShape 节点“属性编辑器”(Attribute Editor)中不可用,并且头发行为与经典头发一样。

束和头发形状(Clump and Hair Shape)

该区域包含用来控制发束和总体头发形状的属性。

每束头发数(Hairs Per Clump)

这是为每个“当前位置”(Current Position)头发曲线渲染的头发数量。

光秃度贴图(Baldness Map)

使用纹理降低头发密度。使用的纹理必须是 2D 纹理。

截面分段(Sub Segments)

这将确定渲染时平滑插值分段的数量。除了提供更详细的卷曲和精细功能以外,Hermite 插值还平滑线的形状。添加的分段只会影响渲染的外观,并不影响动力学模拟。

稀释(Thinning)

这会控制较短长度头发的比例。

束扭曲(Clump Twist)

这是围绕主头发轴的束组的旋转。

弯曲跟随(Bend Follow)

这会确定总体束的旋转跟随主头发轴的程度。该值接近零,短直发可能效果更好,因为宽束在扭曲时其末端会更好的混合。该值为 1.0 时,发束的横截面将始终垂直于管方向,这对相对较长的薄束更适用。该值为零时,横截面始终垂直于发束开始处的曲面法线。

束宽度(Clump Width)

这是动力学头发组的基本或最大宽度。

头发宽度(Hair Width)

这是毛发的全局宽度。

束宽度比例(Clump Width Scale)

使用渐变(图形)可以为发束定义不同的宽度。“束宽度比例”(Clump Width Scale)影响从发束根到发束尖端的宽度。图形左侧是根而右侧是尖端。您可能希望束内的头发在束的末端产生尖端,在这种情况下,右侧的值应小于左侧。该属性乘以“束宽度”(Clump Width)参数的值,因此值为 1.0 时将保持“束宽度”(Clump Width)不变。如果“束宽度”(Clump Width)属性为零,该参数将不会产生任何效果。

头发宽度比例(Hair Width Scale)

使用渐变(图形)可以为总体头发形状定义不同的宽度。“头发宽度比例”(Hair Width Scale)会影响从头发根到头发尖端的宽度。图形左侧是根而右侧是尖端。该属性乘以“头发宽度”(Hair Width)参数的值,因此值为 1.0 时将保持“头发宽度”(Hair Width)不变,但如果“头发宽度”(Hair Width)属性为零,该参数将不会产生任何效果。

束卷曲(Clump Curl)

使用渐变(图形)可以为发束定义不同的卷曲。“束卷曲”(Clump Curl)控制有关每个发束围绕主轴卷曲的速率。图形左侧是根而右侧是尖端。渐变的中间值 (0.5) 表示没有扭曲,而值大于 0.5 将导致正扭曲,值小于 0.5 将导致反向的扭曲。

束平坦度(Clump Flatness)

使用渐变(图形)可以为发束定义不同的平坦度。“束平坦度”(Clump Flatness)会从根到尖端影响束组的平坦度。图形左侧是根而右侧是尖端。

束插值(Clump Interpolation)

该值指定当前头发系统发束之间的插值量。对于每个发束,“束插值”(Clump Interpolation)会计算其三个最近的相邻并执行以下操作:

“束插值”(Clump Interpolation)越高,在发束中会出现越分散的头发。在希望用不太明显的束创建平滑连续的头发头时,该设置很有用。

该属性总体影响当前头发系统的所有发束。与使用较低的“束宽度”(Clump Width)相比,使用较高的“束宽度”(Clump Width)时该属性的效果更明显。“束插值”(Clump Interpolation)默认为 0.0。

警告“束插值”(Clump Interpolation)大于 0.0 时,发束中的头发可能不位于其束边界内。

这会导致意外的头发碰撞,因为碰撞仅发生在原始发束边界内,而不在束插值区域中。

插值范围(Interpolation Range)

该值确定束可以相距多远并仍彼此进行插值。“插值范围”(Interpolation Range)乘以当前头发系统的“束宽度”(Clump Width)来定义发束要包含在束插值中彼此之间的最大距离。

例如,“插值范围”(Interpolation Range)为 8 指定头发解决方案将在 8 乘以“束宽度”(Clump Width)值的距离内寻找束。位于该范围之外的所有发束不会包含在束插值中。

在希望改变发束的宽度以使毛囊看起来更为自然时,该设置很有用。“插值范围”(Interpolation Range)默认为 8.0。

碰撞(Collisions)

本节包含控制头发系统的碰撞特性的属性。有关如何设置头发碰撞的信息,请参见使头发碰撞

碰撞(Collide)

如果启用了该选项,头发系统会与连接对象碰撞。

自碰撞(Self Collide)

如果启用该选项,头发系统会模拟头发到头发的交互。

碰撞过采样(Collide Over Sample)

使用该选项调整质量碰撞采样。较大的值将有助于防止将头发推过曲面。

碰撞宽度偏移(Collide Width Offset)

在确定碰撞之前,该值将添加到“束宽度”(Clump Width)中。该数量相对于束宽度。它可用于处理存在一些穿透或具有位于活动束边界外的被动头发的情况。在头发将对象碰撞过远时,可以使用负值来允许少量束穿透。

摩擦力(Friction)

这会模拟与其他曲面接触的摩擦力。

排斥(Repulsion)

“自碰撞”(Self Collide)处于启用状态时,可控制头发之间相互排斥的程度。

静电吸附(Static Cling)

“自碰撞”(Self Collide)处于启用状态时,该属性控制头发粘在一起的程度。

碰撞相邻数目(Num Collide Neighbors)

“自碰撞”(Self Collide)处于启用状态时,该属性控制每根头发碰撞的头发数量。

碰撞地面(Collide Ground)

如果启用该选项,头发系统会与在地面高度的无限平面碰撞。与几何体碰撞不同,该碰撞不会影响解决方案的速度。

地面高度(Ground Height)

“碰撞地面”(Collide Ground)处于启用状态时,该属性确定地平面的高度。

绘制碰撞宽度(Draw Collide Width)

如果启用该选项,每条线周围绘制的圆形代表其用于碰撞的宽度。

宽度绘制跳过(Width Draw Skip)

使用该选项可以调整管状体碰撞宽度绘制的质量。零值将导致为管状体的每一个分段绘制一个圆,这可能会扰乱具有多个分段的管状体的显示。

动力学特性(Dynamic Properties)

本节包含控制头发曲线动力学的属性。

迭代次数(Iterations)

该设置控制头发解算器每个时间步的迭代次数。这会影响头发“刚度”(Stiffness)“长度伸缩”(Length Flex),以及碰撞的精确度。非常高的刚度需要较大的值。较大的值还会增加解算器所需的时间。

长度伸缩(Length Flex)

头发可以沿其长度拉伸的量。

无拉伸(No Stretch)

启用时,输出头发曲线的长度固定在开始头发曲线的长度。“无拉伸”(No Stretch)保持输出头发曲线长度恒定,并防止它们拉伸。这使您可以创建逼真、灵活且无拉伸的头发,而无需增加头发解算器的迭代次数。

使用“无拉伸”(No Stretch)时,应始终基于其毛囊对头发曲线进行约束。“无拉伸”在默认情况下处于禁用状态。

注意

如果希望头发与几何体碰撞并且不会拉伸,则不要启用“无拉伸”(No Stretch)。相反,要为头发系统设定高迭代次数和低“刚度”(Stiffness)级别。

求值顺序(Evaluation Order)

指定如何对头发对象的曲线求值。

顺序(Sequential)

对输出头发曲线从头发系统的第一条曲线到最后一条曲线累积求值。该设置可以减少输出曲线的拉伸量,特别是在具有大量头发曲线的头发系统中。

平行(Parallel)

对输出头发曲线求值不受其顺序影响。

开始帧(Start Frame)

将在该帧之后运行模拟。在“开始帧”(Start Frame)之前,不会为该对象播放任何内容。

当前时间(Current Time)

这是用于头发解决方案的当前时间。默认情况下,向其提供来自主时间节点的传入连接。这可以替换为某个其他连接(例如,从表达式或参数曲线),然后基于该时间值完成解算。必须存在某个传入连接,才能播放“头发系统”(Hair System)对象。

刚度(Stiffness)

针对静止位置可以伸缩头发的量。

刚度比例(Stiffness Scale)

“刚度比例”(Stiffness Scale)会从头发的根到尖端影响刚度。图表的左侧为头发根,右侧为头发尖端。通常头发根更厚,因此比尖端硬。该属性乘以“刚度”(Stiffness)参数值,因此值为 1.0 时将保留“刚度”(Stiffness)不变,但如果“刚度”(Stiffness)属性值为零,该参数将不会产生任何效果。

开始曲线吸引(Start Curve Attract)

开始曲线吸引(Start Curve Attract)

确定当前头发位置对开始位置的吸引力量。该属性很有用,例如,希望具有硬头发,或随角色移动的头发时。另外,如果在开始曲线上放置关键帧动画,可以使用“开始曲线吸引”(Start Curve Attract)属性在模拟和开始曲线动画之间进行混合。

通常,应该为长的流动头发保留“开始曲线吸引”(Start Curve Attract)值为零。但是,对于短头发,可能难以使头发足够硬。在头发需要非常硬(但同时也具有某些动力学特性)时使用大于零的值。值为 1.0 时,头发位置将是开始曲线位置(相对于变换的毛囊位置);只有碰撞和力仍会使头发转向。在没有“开始曲线吸引”(Start Curve Attract)的情况下,该方案可能需要非常高的迭代计数和阻尼值,特别是在每根头发都有许多 CV 时。

“开始曲线吸引”(Start Curve Attract)值设定为 1.0 时,存在对开始曲线位置 100% 的吸引。使用“刚度比例”(Stiffness Scale)属性,可以控制将曲线的哪些部分吸引到开始曲线。如果具有已设置动画的开始曲线,则会产生类似于“模拟方法”(Simulation Method)设定为“静态”(Static)时的行为。但是,仍然将动力学场添加到解算的顶端。

提示对头发刚度使用“开始曲线吸引”(Start Curve Attract)属性时,在许多情况下可能无需创建静止曲线。

对于碰撞的头发,该属性可能会衰减出过多的头发运动,而无需“阻尼”(Damp)属性,并使用低至 1 的“Iteration”值。

“继承速度”(Inherit Velocity)设定为 1 的阻力场(请参见场 > 阻力(Fields > Drag))可以是头部的子对象并应用到头发。使用高“阻力”(Drag)值时,头发将完全随头部移动。在许多方面,该设置的效果优于“开始曲线吸引”(Start Curve Attract)属性,但它依赖于您寻求的精确效果。

吸引力阻尼(Attraction Damp)

阻尼“开始曲线吸引”(Start Curve Attract)的效果,并在头发朝其开始曲线的位置移动时降低其速度。在希望降低头发的弹性(由较高“开始曲线吸引”(Start Curve Attract)值导致),或者希望在已设置动画的头发上应用动力学场时,该功能很有用。“吸引力阻尼”(Attraction Damp)为 1 时,头发移向其开始曲线的运动完全被阻尼,只保留其“开始位置”(Start Positions)和场力以便动态影响其运动。

吸引比例(Attraction Scale)

“吸引比例”(Attraction Scale)沿头发系统中的发束长度渐变衰减“开始曲线吸引”(Start Curve Attract)属性值。

可以在头发系统中使用渐变图形定义从发束根到发束尖端的不同刚度。渐变图形的左侧表示头发系统中的发束根,而右侧表示头发系统中的发束尖端。例如,如果希望发束根比尖端软,渐变图形右侧的值应该小于左侧的值。

“吸引比例”(Attraction Scale)渐变值是头发系统上“开始曲线吸引”(Start Curve Attract)属性值的倍数。因此,值为 1.0 的“吸引比例”(Attraction Scale)不会影响“开始曲线吸引”(Start Curve Attract),且“吸引比例”(Attraction Scale)不会影响值为 0.0 的“开始曲线吸引”(Start Curve Attract)

选定位置(Selected Position)

这是在“吸引比例”(Attraction Scale)图形上选定的点沿当前头发系统的发束的位置。这也可以由 X 轴上点的位置来表示。

选定值(Selected Value)

这是与当前头发系统中发束的“吸引比例”(Attraction Scale)图形上的“选定位置”(Selected Position)关联的比例值。这也可以由 Y 轴上点的位置来表示。

插值(Interpolation)

定义用于平滑当前头发系统的头发曲线值的数学方法。“渐变插值”(Ramp Interpolation)控制计算中间值的方法。

无(None)

执行无插值;不同的颜色在最终纹理中仅显示为不同的条带。

线性(Linear)

值在 RGB 颜色空间中以线性插值。

平滑(Smooth)

值沿着钟形曲线插值,渐变中的每种颜色将填充其周围的区域,然后快速混合至下一种颜色。

样条线(Spline)

这些值使用样条曲线插值,它们将考虑相邻折射率,以实现更出色的平滑度。

力(Forces)

质量(Mass)

控制头发 CV 的模拟质量,并且仅在您应用考虑质量的外部场(如“阻力”(Drag))时才显示效果。

阻力(Drag)

除了帮助稳定模拟之外,还模拟与空气的摩擦力。“阻力”(Drag)值为 1.0 时,头发行为就像它没有惯性运动或跟随一样。它将像是在粘稠液体中一样移动。

运动阻力(Motion Drag)

这将抑制头发曲线相对于其毛囊移动的移动。“运动阻力”(Motion Drag)值确定头发曲线随其毛囊一起移动的程度,以及其他力对头发形状的影响程度。这允许您抑制头发的过度移动,例如摇动和抖动,而无需增加迭代次数。

例如,如果将“运动阻力”(Motion Drag)设定为 1.0,头发将随其毛囊移动,看起来像拖动其周围空气移动。

还可以通过“刚度比例”(Stiffness Scale)属性影响“运动阻力”(Motion Drag)的效果。例如,可以使用“刚度比例”(Stiffness Scale)渐变衰减,以便在头发的根部创建比头发末端更多的“运动阻力”(Motion Drag)“运动阻力”(Motion Drag)默认值为 0.0。

注意

“运动阻力”(Motion Drag)不会干扰头发碰撞。

阻尼(Damp)

这会衰减头发相对于其自身的运动。该值很高时,头发往往随父对象移动,但会因该运动而不继承大部分动量。这可以帮助稳定模拟并减少由于基础曲面的运动而导致的动态行为。在硬度适中的头发中具有弯曲的“静止位置”(Rest Positions)时,该设置非常重要。还可以为问题头发按毛囊对其进行调整,例如开发不能松弛的振动的头发;请参见 follicleShape 节点区域中的阻尼

重力(Gravity)

在 Y 方向上模拟重力的内置向下的力。

动力学权重(Dynamics Weight)

这是附加动力学场对头发运动的影响的比例因子。

湍流(Turbulence)

本节包含控制头发系统湍流特性的属性。

强度(Intensity)

增加该值将增加湍流应用的力的量。

频率(Frequency)

减小该值会使湍流漩涡更大。这是湍流函数上的空间比例因子,如果湍流强度为零则没有效果。

速度(Speed)

湍流图案随时间更改的速率。

着色(Shading)

本节包含控制头发着色或颜色的属性。

头发颜色(Hair Color)

头发的基础颜色。在应用“头发颜色”(Hair Color)比例和随机化参数以后确定最终使用的颜色。单个发束还可能覆盖“头发颜色”(Hair Color)

使用该属性旁边的“头发颜色”(Hair Color)贴图按钮,可以将纹理映射到头发颜色来创建不同的头发着色外观。下图使用映射到“头发颜色”(Hair Color)属性的黑色和白色棋盘格纹理。

头发颜色比例(Hair Color Scale)

“头发颜色”(Hair Color)定义头发从根到尖端的全局颜色。图形左侧是根而右侧是尖端。

存在高级渐变功能。有关详细信息,请参见下列主题:

置换(Displacements)

本节包含控制头发置换特性的属性。

卷曲(Curl)

这是应用到每根头发的卷曲置换量。置换量相对于头发宽度。“束卷曲”(Clump Curl)创建围绕束中心的大比例卷曲,而该属性创建围绕单根头发方向的卷曲。

卷曲频率(Curl Frequency)

这是卷曲的速率。较大的值会导致更多卷曲。置换量相对于头发宽度。

噪波方法(Noise Method)

随机适用于模糊的、卷曲的头发,而其他更平滑的噪波方法可以为发束提供自然着色和子结构。

随机(Random)

将噪波定义为每根头发与邻近头发无关的抖动。

曲面 UV (Surface UV)

适度定义噪波置换,其相对于曲面上头发的 UV 分布。噪波是 3D 体积,在曲面上的 U 和 V 方向具有比例,沿着头发长度映射第三个维度 (W)。

束 UV (Clump UV)

定义相对于束的噪波,而相邻束具有完全独立的噪波,噪波的频率不受曲面参数化密度的影响。

噪波(Noise)

这是头发的 Perlin 噪波置换量。置换量相对于头发宽度。这样可以创建带结的卷曲头发外观。

细节噪波(Detail Noise)

使用平滑(“曲面 UV”(Surface UV)“束 UV”(Clump UV)“噪波方法”(Noise Methods)时,添加的次高频率噪波的数量。可以在来自基础噪波的平滑波动的顶端添加精细细节。如果是非零值,会执行第二个噪波偏移计算,因此使得头发的评估比没有细节噪波的平滑噪波略慢些。

噪波频率(Noise Frequency)

这是沿头发的噪波偏移的空间比例。增加该值会导致头发发生更精细的卷曲。

噪波频率 U (Noise Frequency U)

使用平滑(“曲面 UV”(Surface UV)“束 UV”(Clump UV)“噪波方法”(Noise Methods)时,该属性在相对于头发附加到的曲面的 U 参数方向缩放噪波频率。

噪波频率 V (Noise Frequency V)

使用平滑(“曲面 UV”(Surface UV)“束 UV”(Clump UV)“噪波方法”(Noise Methods)时,该属性在相对于头发附加到的曲面的 V 参数方向缩放噪波频率。

噪波频率 W (Noise Frequency W)

使用平滑(“曲面 UV”(Surface UV)“束 UV”(Clump UV)“噪波方法”(Noise Methods)时,该属性沿头发长度缩放噪波频率。

子束方法(Sub Clump Method)

确定如何在 UV 中定义子束。

曲面 UV (Surface UV)

子束相对于总体曲面 UV 空间布局。某些毛囊可能因此与相邻毛囊共享一个束。头发系统附加到的曲面的参数化密度将影响子束的密度。曲面上束的总数量将是“U 向子束数目”(Num UClumps)乘以“V 向子束数目”(Num VClumps)

束 UV (Clump UV)

每个束的子束数将是“U 向子束数目”(Num UClumps)乘以“V 向子束数目”(Num VClumps)。所有毛囊(无论束宽度为何)将具有相同数量的子束,且子束的宽度将与束宽度有关。使用“曲面 UV”(Surface UV)时,较小的束将具有较少子束,且束宽度将相对于曲面的参数化密度。

子束(Sub Clumping)

次级束集在一起的数量。“子束”(Sub Clumping)对湿外观很有用。在栅格中相对于头发附加到的曲面的 UV 空间定义束。

子束随机(Sub Clump Rand)

使用噪波函数随机化子束。该束将涂抹成具有更高值的不规则形状。

U 向子束数目(Num UClumps)

头发系统附加到的曲面 U 维度中子束的数量。

V 向子束数目(Num VClumps)

头发系统附加到的曲面 V 维度中子束的数量。

置换比例(Displacement Scale)

使用渐变(图形),可以改变从“发束”(hair clump)根到尖端应用的置换量,从而影响“卷曲”(affecting Curl)“噪波”(Noise)“子束”(Sub Clumping)

图形左侧是根而右侧是尖端。如果左侧为零,效果将逐渐添加 — 头发的根位置将不会更改。

多条纹(Multi Streaks)

本节包含控制“Paint Effects”笔划的“多条纹”(Multi Streaks)着色的属性。仅当头发输出包含“Paint Effects”时这些属性才适用(请参见在曲面上创建自己的头发)。

多条纹(Multi Streaks)

“多条纹”(Multi Streaks)是在束中为每根头发添加的子头发的数量。这些头发将共享相同的形状和着色作为它们起源的基础头发。它们在渲染时创建,并且是简单的重复,因此不进行任何形状计算。这允许您拥有大量的 (Paint Effects) 管状物,但在合理的时间内渲染它们。

多条纹扩散 1 (Multi Streak Spread1)

已添加头发相对于束宽度的最大偏移。

多条纹扩散 2 (Multi Streak Spread2)

已添加管状体相对于管状体尖端处的束宽度的最大偏移。

头发共享灯光(Light Each Hair)

如果在“多条纹”(Multi Streak)中为每根头发共享同一照明,渲染速度可以更快。如果“多条纹”(Multi Streak)扩散相对较大或需要“多条纹”(Multi Streak)组内部头发之间的自身阴影,则应启用“头发共享灯光”(Light Each Hair)。在移动边缘清晰的阴影的情况下,启用该选项还可以避免出现瑕疵。

渲染统计信息(Render Stats)

本节包含控制如何在其他对象中反射和折射“头发”(Hair)的属性。

接收阴影(Receive Shadows)

启用毛发的阴影捕捉功能。

在反射中可见(Visible In Reflections)

如果启用此选项,毛发将在反射曲面中反射。

在折射中可见(Visible In Refractions)

启用该选项时,毛发在透明曲面中折射。