去年秋天,火星人教育接了一个虚拟偶像的MV项目。客户是某头部MCN,角色设定图里那一头「反重力粉色长发」看着是真带感——发丝根根分明,发梢带风,像刚被吹风机怼过。结果模型师把基础网格交到我手上时,我一看就乐了:一个光头,后脑勺贴了块UV展开图,上面画着头发贴图。客户还补了一句:“我们要动态的,每根头发都得跟着音乐飘。”那一刻我就知道,贴图糊弄不过去了,必须上粒子头发。
这个项目最终交付只用了七天,但中间踩的坑够我写一本小册子。今天我就把这七天的实战复盘拆开讲,从技术选型到参数调优,从物理碰撞到渲染优化,把粒子头发那点底层逻辑和盘托出。如果你也在做角色毛发,尤其是二次元风格的长发,这篇应该能帮你省下至少三天的试错时间。

第一天:为什么我放弃了曲线毛发和毛发网格
Blender里做头发,主流有三条路:粒子头发(Particle Hair)、曲线毛发(Curve Hair,也就是几何节点毛发)、以及毛发网格(Hair Mesh,手动建模或用插件生成)。客户要求「每根头发独立飘动」且「实时预览不能卡成PPT」,这就把选择范围缩得很窄。
曲线毛发的优势是可控性极强,每根曲线都能用几何节点单独控制,但代价是计算量爆炸。一个角色十万根曲线,视口里转个视角都能闻到显卡的焦味。毛发网格更不用说了,手动摆十万根发丝?那是行为艺术。粒子头发虽然老派,但它的底层是粒子系统——每个粒子只是一个点,渲染时才根据Children(子级)和毛发形状生成几何体。这意味着视口里你操作的是几万个点,而不是几万个网格,流畅度完全不在一个量级。
更重要的是,粒子头发有物理模拟支持。客户要头发跟着音乐飘,本质上是需要风场和力场驱动。粒子系统可以直接绑定力场(Force Field),而曲线毛发得靠几何节点模拟,节点树能铺满三屏。所以第一天我就定了:粒子头发,没跑。
技巧提示:如果你的角色头发需要极度风格化(比如赛璐璐片状发束),粒子头发也能做,但需要配合Clump(簇集)和Kink(扭结)来塑造发束感,后面我会细讲。
第二天:发射源不是头皮,是「生长引导网格」
很多新手直接把粒子发射器绑在头皮模型上,结果头发从耳朵眼、鼻孔里长出来,场面一度非常尴尬。粒子头发的发射源应该是一个独立的、简化的头皮网格,我管它叫「生长引导网格」。
这个网格的做法是:复制角色头皮区域,删掉五官和耳朵,只保留发际线以上的部分。然后重新布线,让网格的UV走向顺着发流方向。为什么?因为粒子头发的发丝方向默认是沿着法线发射的,而Children的分布又受UV影响。如果UV是乱的,头发就会像杂草一样东倒西歪。
具体操作:进入编辑模式,用旋绕(Spin)或桥接循环边把头皮网格做成放射状布线,中心点在头顶偏后。然后给这个网格加顶点组,用权重绘制来控制不同区域的毛发密度——发际线边缘权重低,头顶权重高。这一步直接决定了头发的疏密分布,比后期调参数有效得多。
这里有个底层逻辑:粒子系统在发射时,每个面会根据面积和顶点组权重计算发射概率。所以如果你希望后脑勺头发厚、鬓角薄,直接在顶点组里画权重就行,不需要反复调Number(数量)。

第三天:数量、长度、子级——三个参数的博弈
粒子头发的核心参数就三个:Number(母粒子数量)、Hair Length(发丝长度)、Children(子级数量)。但它们的组合方式决定了最终效果和性能。
我的经验值是:母粒子数量控制在2000-5000之间,子级数量开到50-100。这样总发丝数就是10万到50万根。听起来吓人,但粒子头发渲染时,子级发丝是程序化生成的,不占内存,只占渲染时间。视口里你只看到母粒子,所以操作依然流畅。
但这里有个坑:子级发丝的分布方式。默认是Interpolated(插值),子级会在母粒子之间均匀分布,适合顺滑长发。如果你想要发束感,得换成Simple(简单),然后调Clump参数。Clump的原理是让子级向母粒子聚拢,形成一簇一簇的效果。二次元头发通常需要Clump=-0.5到-0.8,负值代表向外发散还是向内聚拢?这里记结论:负值聚拢,正值发散。我一般先用-0.6,再根据发束粗细微调。
长度方面,Hair Length控制的是发丝从根到梢的直线距离。但二次元长发往往需要渐变长度——发际线短、后脑勺长。这就要用到Length/Threshold顶点组,把长度权重画上去。注意,长度顶点组和密度顶点组可以共用同一个网格,但权重绘制时要分开图层,否则会互相干扰。
| 参数 | 推荐值(二次元长发) | 作用 | 性能影响 |
|---|---|---|---|
| Number | 3000-5000 | 母粒子数量,决定基础发量 | 高,直接影响视口流畅度 |
| Children | 50-100 | 每根母粒子生成的子发丝数 | 低,仅影响渲染时间 |
| Clump | -0.5 ~ -0.8 | 发束聚拢程度 | 无 |
| Kink | Wave或Curl,幅度0.02-0.05 | 发丝扭结,增加自然感 | 无 |
| Roughness | 0.01-0.03 | 发丝随机偏移,避免过于整齐 | 无 |
第四天:物理模拟——头发跟着音乐飘的真相
客户要「跟着音乐飘」,其实音乐只是触发条件,真正的驱动力是力场。我在场景里加了三个风场(Wind Force Field),分别从正面、侧面和上方吹,强度用音乐文件的振幅通过驱动器(Driver)控制。这样鼓点一响,风场强度瞬间拉高,头发就炸开了。
但粒子头发的物理模拟有个致命问题:它默认不参与碰撞。也就是说,头发会直接穿过肩膀、穿过衣服,甚至穿过地板。解决方法是开启Hair Dynamics,然后在Collision里把身体网格加进去。但注意,碰撞计算量极大,母粒子数量超过5000就会卡到怀疑人生。
我的优化方案是:只让母粒子参与碰撞,子级不参与。因为子级是插值生成的,它们会跟随母粒子的运动轨迹,视觉上已经足够。具体操作:在粒子设置里,Hair Dynamics → Collision → 勾选「Collision」,然后把子级的「Dynamic」关掉。这样计算量直接降到十分之一。
还有一个坑:重力方向。默认重力是向下的,但二次元头发经常需要「反重力」效果。这时候不要改全局重力,而是给粒子系统加一个Force Field,类型选Force,方向朝上,强度调到刚好抵消重力。这样头发就能飘起来,而且不影响场景里其他物体的物理。
注意事项:物理模拟一旦烘焙(Bake),就不能再改参数了。所以一定要在烘焙前把所有力场和碰撞体调好。烘焙时间取决于母粒子数量和帧数,10秒的动画大概需要3-5分钟。建议先用低粒子数预览,确认效果后再提高数量重新烘焙。
第五天:材质与渲染——Cycles下的发丝着色
粒子头发的材质和普通网格不一样,它用的是Hair BSDF着色器。这个着色器专门为发丝设计,有两个核心参数:Roughness(粗糙度)和Radial Roughness(径向粗糙度)。前者控制发丝沿长度方向的反光,后者控制沿圆周方向的反光。
二次元头发通常需要各向异性高光,也就是发丝上有一条亮线。在Hair BSDF里,把Radial Roughness调到0.1-0.2,Roughness调到0.3-0.5,就能得到那种「天使环」效果。颜色方面,用Color Ramp根据发丝长度做渐变——发根深、发梢浅,这是二次元头发的经典处理。
渲染设置上,Cycles的Hair渲染有几种模式:Strand(发丝)、Curve(曲线)、Thick(厚度)。Strand最快,适合预览;Curve质量最高,适合最终渲染,但速度慢三倍。我一般用Curve模式,然后把Curve Subdivision调到2-3,平衡质量和速度。
还有一个性能杀手:透明阴影。发丝材质默认是半透明的,Cycles需要计算大量透明阴影,非常吃性能。如果场景里有多盏灯,建议把发丝的阴影关掉,或者用Light Path节点把Is Shadow Ray分离出来,让阴影只计算一次。这个技巧能让渲染速度提升40%以上。
第六天:踩坑实录——那些让我熬夜的Bug
第一个坑:头发在动画中突然消失。原因是我在粒子设置里开了「Advanced → Rotation」,但没给旋转指定轴向。结果粒子在旋转时翻到了背面,被背面剔除干掉了。解决方法:要么关掉旋转,要么在材质里把Backface Culling关掉。
第二个坑:子级发丝出现「爆炸」现象。某几帧突然有几根头发飞到天上去了。查了半天发现是Clump参数和Kink参数冲突了。Clump让子级聚拢,Kink又让它们扭结,两者叠加导致某些子级的计算位置溢出。解决方法是降低Kink幅度,或者把Kink类型从Curl换成Wave,后者更稳定。
第三个坑:渲染时发丝出现锯齿。这是因为Cycles的Hair渲染默认采样不足。在Render Properties → Sampling → Advanced里,把Hair的采样值从默认的1调到4-8,锯齿就消失了。代价是渲染时间翻倍,但为了质量,值。
第四个坑:物理烘焙后头发抖动。这是Hair Dynamics的Stiffness(刚度)参数太低导致的。刚度低,发丝就像面条一样软,稍微有点力就抖。把刚度调到0.5-0.8,同时提高Damping(阻尼)到0.1-0.2,头发就稳了。

第七天:交付与复盘——从炸毛到丝滑
最终交付的MV里,角色那头粉色长发在鼓点响起时猛地炸开,然后随着音乐节奏波浪般起伏,客户看完直接加了一笔预算。回头复盘,这个项目能七天搞定,关键在于三点:选对了技术路线(粒子头发而非曲线毛发)、用顶点组控制了分布(而不是死调参数)、优化了物理碰撞(只让母粒子参与)。
粒子头发虽然是个老技术,但它的底层设计非常聪明——用点代替几何体,用插值生成细节,用物理模拟驱动动态。理解了这个逻辑,你就能在性能和效果之间找到最佳平衡点。如果你也想系统学习Blender角色毛发、AIGC视觉设计等实战技能,火星人教育或许能帮到你。
关于火星人教育:火星人教育创办24年来,一直专注数字艺术与AIGC实战职业技能培训。我们开设的课程涵盖AI漫剧创作、AIGC视觉设计、UE5游戏特效、室内全屋定制、MAYA三维动画、C4D动态设计、工业设计、NUKE影视后期、摄影摄像实训等方向。北京、深圳双校区开设线下面授班,面向美术生、在校大学生以及意向转行的职场人群,用项目化实训教学,帮你夯实专业技能,助力就业与职业提升。咨询电话:010-65918670。如果你在毛发制作中遇到难题,也欢迎来校区聊聊,我请你喝咖啡,咱们当面调参数。








评论(0)