赞
踩
Unity 数字人交流群:296041238
下载地址:TressFX Exporter
链接:https://github.com/Unity-China/cn.unity.hairfx.core/tree/main/Maya_TressFX_Exporter~
(注意:与 Maya 2022 不兼容,目前支持Maya版本为2019)
复制plug-ins文件夹到C:\User\YOUR_USER_NAME\Documents (文档) \maya\
打开Maya,在顶部菜单中会出现TressFX Tool 菜单选项;(如果没有出现,在顶部菜单中找到Windows>Settings/Preferences>Plug-in Manager,然后勾选TressFX_Exporter.py的Loaded选项卡,重新启动Maya)
既然已经在maya中安装完成了AMD TressFX plugin,那么接下来按照官网课程, 就要给大家介绍下如何使用AMD TressFX plugin了;
大致分为以下3个步骤:
课程中: 官方告诉我们可以使用任意头发梳理工具来制作想要的发型曲线,然后用我们的插件将其转换为TFX文件。
比如可以使用 Maya 的 XGen 工具来制作你的发型曲线,也可以使用Zbush软件制作你的发型曲线(关于如何使用头发梳理工具来制作发型曲线,不是本教程的重点)
以下是一些关于如何使用XGen工具来制作发型曲线的教程:https://80.lv/articles/80-level-ratings-10-great-tutorials-on-hair-creation-using-xgen/
接下来我们可以将上一步骤中所制作的头发的引导线导出为 Maya 的 MEL 文件(如下图中左上角颜色所示,以及红框设置)
将 MEL 文件重新导入 Maya 场景后,我们可以看到我们创建的引导线会变为一条条蓝色的曲线(如右下角颜色所示)
如下图所示:我们以短发发型为例来给大家讲解下,如何使用TressFX Export Plugin导出头发组;
这里的短发发型引导线主要分为四组制作,分别是Bangs刘海、Top头顶头发、Back头背头发、Flyways碎发;
我们依次导出这四组头发:
首先我们选中Bangs组 →然后在顶部菜单中找到TressFX菜单,选择TressFX->Export Hair/fur窗口,然后选择Number of vertices per strand / 每股的顶点数。像这样的短发我们一般选择4或者8,对于长辫子,官方推荐: 16;
注意:Invert X-axis of Hair 选项默认为启用
点击Export! 会弹出对话框,这里我们设置完成文件名Bangs,点击Save后,我们就可以在对于的文件夹下找到这个后缀为.TFX的文件了;
接下来我们依次导出其他三组头发(将头发组保存为 TFX 文件的步骤与导出Bangs的步骤相同),导完之后就可以在 Unity 中使用它们了;
官方这里是以高清渲染管线HDRP为例:
注意: URP和HDRP的操做基本一致, 不过我这边用的Unity版本是Unity 2021.3.6f1c1.
- //---------------------------------------------HDRP
- "dependencies": {
- "cn.unity.hairfx.core": "https://github.com/Unity-China/cn.unity.hairfx.core.git",
- "cn.unity.hairfx.hdrp": "https://github.com/Unity-China/cn.unity.hairfx.hdrp.git",
- ...
- }
- //---------------------------------------------URP
- "dependencies": {
- "cn.unity.hairfx.core": "https://github.com/Unity-China/cn.unity.hairfx.core.git",
- "cn.unity.hairfx.urp": "https://github.com/Unity-China/cn.unity.hairfx.urp.git",
- ...
- }
-
- //如果再最后加入该库,则注意删除最后边的逗号《 , 》
如果,之后进入Unity如果报错如下提示(包括:超时、解析错误)
解决方案:
打开GitHub Desktop软件,然后分别从网址上拷贝下来,接着通过Package Manager的左上角+号,从本地导入,点击Add package from disk...之后,找到你拷贝下来的文件夹,选择其中的package.json,稍作等待之后,包体就被加入到了Unity中
此时,你的该Unity新建项目的文件夹,找到Packages文件夹下的manifest文件,其大致内容为下图所示。
这里官方以《Defender》资源包为例来给大家进行演示,该资源包包含多种发型供大家尝试;我们可以在Github上免费下载工具和角色资源包(该工程已经添加HDRP / URP HairFX Shader Package)
HDRP版:https://github.com/UnityTechnologies/HDRP-Defender-Character-Demo
URP版:https://github.com/UnityTechnologies/URP-Defender-Character-Demo
在Asset下创建一个HairFX Profile文件,Profile创建完成后对可以其进行重命名;
接下先来观察和了解下这个Unity Hair Profile文件的参数以及含义:
| |
Hair Status | 头发的状态统计 |
Guide Strands | 引导线股数 |
Guide Vertices | 三角面数 |
Total Strands | 总头发的股数 |
Global Geometry Settings | 全局头发股数设置 |
Hair Count | 发丝的数量 ( 下边提到的一般调整发型的四项设定之一 ) |
Hair Offset | 头发偏移(发丝间的距离)( 下边提到的一般调整发型的四项设定之一 ) |
Tessellation Per Strand | 每束发丝细分:用于调整发丝柔顺度。低数值能让游戏运行更流畅,高数值能让头发更加柔顺。你可以在优化时寻找最合适的中间点。( 下边提到的一般调整发型的四项设定之一 ) |
Lock Hair Tip | 是否锁定发梢 |
========================每次修改完成后记的点击Apply 应用======================== | |
对于头发模型的整体,我们一般只调整Hair Count(头发数)、Hair Offset(头发偏移)、Tessellation Per Strand(每束发丝细分)及Hair Thickness(头发厚度)(下边介绍这个参数)四项设定。 | |
| |
Global Geometry Settings | 头发实体的全局设置 |
Enable LOD | 是否开启LOD |
LOD Distance | LOD距离设置 |
LOD Distance Range | 设置LOD的距离 |
LOD Strand Reduction | LOD 发丝股数减少系数 |
LOD Hair Width Multiplier | LOD 发丝宽度调节系数 |
Enable Thin Tip | 是否开启发梢变薄 |
Hair Thickness | 发丝厚度 ( 上边提到的一般调整发型的四项设定之一 ) |
Tip Length | 发梢长度的调节 |
| |
Global Simulation Settings | 发丝全局模拟设置 |
Location Stiffness | 位置刚度 |
Shape Stiffness | 形状刚度 |
Root Rigidness | 发根坚硬程度 ( 非官方翻译,如有不准请见谅 ) |
Acceleration Constraints | 头发加速度约束 ( 非官方翻译,如有不准请见谅 ) |
Length Constraints | 长度约束 ( 非官方翻译,如有不准请见谅 ) |
Damping | 阻尼调节 |
Gravity Magnitude | 发丝重力大小调节 |
Tip Separation | 发梢分开(蓬松感) |
Length Offset | 长度偏移 ( 非官方翻译,如有不准请见谅 ) |
在头发方面,官方建议我们保留大部分默认设置
我们经常调整的是Location Stiffness(位置刚度)、Shape Stiffness(形状刚度)和Damping(阻尼)。
对于松散的头发,我们会将Location Stiffness和Shape Stiffness设为相似的数值,短发数值更大、长发数值更小。
而对于发辫,Location Stiffness数值与散发一致,Shape Stiffness则会被保留为1来保持辫子的形状。
Damping设定了头发随头部动作运动的快慢。对于普通干发,Damping数值一般为0.04 ~ 0.06。若想让头发像在水底或衣物那样运动,可以将Damping提高到0.1 ~ 0.15
示例中分别为Bob的四个Asset资产 Back、Bangs、Top、Flyways设置了Asian Green、Asian Cherry, Asian Green、Asian Cherry材质,从而达到如下效果;
注意这里是四个材质,不是四种材质,当然你也可以添加四种不同材质来表现头发不同部分的不同效果;
Graph Settings
● Material : Hair
● Material Type: Physical
● Advanced Options/ Geometry Type: Strands
Master Stacks
● Custom Function node:
○ Name: GetExpandedVertex
○ Source: VertexStrsndGroom (hlsl file)
● Hair Strand Direction: 1,0,0
如果你想编写自己的着色器是URP的,也请一定要按以下参数进行设置:
Graph Settings
● Material : Physical Hair
● Geometry Type: Strands
Master Stacks
● Custom Function node:
○ Name: GetExpandedVertex
○ Source: VertexStrsndGroom (hlsl file)
● Hair Strand Direction: 1,0,0
本文参考Unity China HairFX 毛发系统使用说明 而来,并且成功跑通,下面引用毛发系统的特别声明。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。