8月份的时候Unity官方发布了Hair
毛发系统,提供了集头发创作、模型蒙皮、发丝模拟和头发渲染的一体化解决方案。
com.unity.demoteam.hair
Github
地址:https://github.com/Unity-Technologies/com.unity.demoteam.hair
在此之前,Unity发布的新动画短片Enemies
就集中展示了发丝解决方案的效果,毛发的渲染十分真实,感兴趣的可以去看一下。
Enemies
Enemies
短片:https://www.youtube.com/watch?v=eXYUNrgqWUU
•Unity 2020.2.0f1 +•Compute shader enabled platform•支持现在常用的渲染管线(Built-in RP
、URP
、HDRP
)
可以在Package Manager
中通过Add package from git URL
的形式下载导入。
Add package from URL
可以将Samples
一起导入,方便看其示例:
Samples
所用环境:
•Unity版本:2020.3.33•渲染管线:Built-in RP
新建一个物体为其添加Hair Instance
组件:
Hair Instance Component
可见需要一个Hair Asset
类型的资产,通过Assets / Create / Hair / Hair Asset进行创建,并为其赋值,但是赋值后还没有看到任何效果,需要在该资产面板中点击Build strand groups
。
Hair Asset
在Scene
窗口查看生成的实例:
Hair Instance
目前没有一个官方的文档说明,只能顾名思义来理解一下部分参数的含义。
•Placement 这里理解为生成的位置•Primitive 原始的(默认)•Custom 自定义的•Mesh 根据Mesh网格生成
例如给其指定Sphere
的网格,点击Build
生成:
Mesh Placement
•Strands•Strand Count 缕(数量)•Strand Partical Count•Strand Length 长度•Strand Length Variation 长度变动,理解为用来表现参差不齐的效果•Curls 卷发•Radius 半径•Slope 斜率
调整一些数值看一下效果:
Hair Asset
Hair Instance
首先找到一个Avatar模型:
Avatar
将Hair Assets
中的Placement Mesh
修改为这个Avatar
模型的Head Mesh
,调整一些参数:
Hair Asset
Hair Instance
将人物原来的头发隐藏,替换为生成的Hair Instance
,并将其放在Avatar
的头部骨骼节点:
Hair 替换
还挺飘逸的~ (黄色是GIF录制导致的,忽略~
)
Hair Instance
Hair Instance
组件下,点击Defaults(All Groups)
前面的按钮可展开:
更改材质
当然这里就要考验Shader
功底啦,可以先直接更改最终输出颜色为黑色看一下:
Shader
修改颜色
参数比较复杂,感兴趣的可以调节其它参数试一下效果,还是比较有意思的~
Hair Instance
Hair Instance