【毛发教程】使用 Maya、XGen 和虚幻引擎创建马尾辫发型

Malte Resenberger-Loosmann是国外一名首席艺术家,他负责指导整个艺术部门来制作独立游戏项目中的3D建模。在本文中,Loosmann展示了马尾辫发型背后的工作流程,分享了 Maya 和虚幻引擎中的场景设置,并解释了 GS CurveTools 如何帮助创建逼真的头发。

来源:80.lv

1.马尾辫发型

和任何 3D 项目一样,Loosmann在网上搜索参考资料和想要的风格。在制作头发时,形状和体积非常重要。分层处理发型,并逐步构建,可以为头部某些部位带来良好的体积感和覆盖效果。

来源:80.lv

通过分析参考资料,Loosmann发现大多数发卡都需要聚集在一起,以符合头发的自然形态。同时,实现有机且非线性的外观非常重要。这可以通过在FiberShop中使用不同的修饰工具来实现,例如夹紧、卷曲,以及随机调整发根和发梢的长度和厚度。

来源:80.lv

Loosmann表示,艺术家通常在 Maya 中使用 XGen 和 Arnold 渲染所有必要的贴图,比如环境遮挡、流动贴图和根部渐变等。不过,在 FiberShop 中,这些都可以一次性烘焙完成。之后,Loosmann在 Maya 中使用 XGen 生成单根飘逸的头发,以简化工作流程。

来源:80.lv

2.Maya场景设置

在创建了第一批发卡后,我们可以使用 GS CurveTools 将它们实现到 Maya 中。Loosmann将纹理的前三个发卡应用到绑定在曲线上的实际几何体上。这样,你可以选择各种发卡变体,同时覆盖头部几何体。通常,随着你创建更多不同层次的发型变化,这种曲面几何体将不断增长。

注意不要使用“Delete All by Type -> Delete History”,因为这会破坏 GS CurveTools 创建的绑定关系。

来源:80.lv

在过程中,Loosmann首先尝试用简单的头发和较大的发卡网格覆盖所有几何区域。此外,他还使用更长的头发卡片来定义马尾辫的体积和形状,并设置了第一个分层发卡,使头发流向更具变化性,整体感觉更自然。

来源:80.lv

然后就是不断检查硬交点、头发流向和有机排列。最初的几张发卡可能看起来不太理想,但它们很快会组合成一个非常漂亮的发型。设置一个基本的材质,并烘焙流向图、环境遮挡图和漫射/透明度贴图,以便在着色器中使用。

来源:80.lv

为了增加发量,Loosmann使用了更长的头发,并在侧面增加了发束。他从前额到脖子,镜像了大部分曲线,然后重新调整它们,以使头部的每一侧看起来更加独特。

3.Maya XGen

Loosmann使用重拓扑技术为头部的基础几何体创建引导发丝。通过不断检查头发的正确位置和梳理方向,优化了头发的整体流向和外观,以配合主马尾的造型。为了在保持性能的同时实现更凌乱的外观,他使用了噪声和卷曲等修饰器,并仔细考虑了使用的发丝数量。

来源:80.lv

一旦曲线放置和微调完成,就可以使用 GS CurveTools 绑定发卡几何,并设置每张卡片朝向基础头部的方向。

来源:80.lv

4.创建LOD

考虑到性能和 LOD(细节层次)的要求,Loosmann首先将几何体导出为 LOD0,然后进一步减少细节创建 LOD1,而 LOD2 则包含最少的多边形。他还手动删除了可能会使纹理变形的低分辨率发卡。

来源:80.lv

5.虚幻引擎设置

最后导入到虚幻引擎场景中。背景是单色反转的球体背景,并设置了经典的肖像灯光,包括冷色边缘灯、温暖填充灯、区域光和前方光,以获得柔和的外观和质感。在后期处理体积中,Loosmann启用了光线追踪以实现全局光照和反射,使用环境立方体 HDRI 实现头发的额外反射,并添加了色调阴影、晕影和曝光等多种效果。

来源:80.lv

此外,为了确保能在游戏中正常显示,没有剪裁或闪烁等问题。Loosmann还调整了头发的碰撞设置,以确保不会影响角色的移动或动画。

来源:80.lv

以上就是国外大神分享的毛发教程啦~当然,毛发渲染通常非常耗时!在本地电脑算力资源有限的情况下,可以尝试使用蓝海创意云渲染农场。蓝海创意云渲染农场icon-default.png?t=N7T8https://render-film.vsochina.com/cn

蓝海创意云icon-default.png?t=N7T8https://render-film.vsochina.com/cn蓝海创意云利用云计算的强大算力,结合大规模集群调度和高速传输解决方案,大幅提升渲染速度和效率。这不仅有效解决了Arnold、Unreal Engine渲染毛发闪退、崩溃的问题,还确保了渲染任务的稳定性和高效性。现在更是配置4090等高配GPU服务器保障用户的渲染体验。感兴趣的可以来平台0费测试速度哦!

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 23:44:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 23:44:06       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 23:44:06       58 阅读
  4. Python语言-面向对象

    2024-07-09 23:44:06       69 阅读

热门阅读

  1. 把 .py 文件编译成 .pyd 文件

    2024-07-09 23:44:06       23 阅读
  2. 后端工作之一:CrapApi —— API接口管理系统部署

    2024-07-09 23:44:06       20 阅读
  3. C++ 11 智能指针使用详解

    2024-07-09 23:44:06       17 阅读
  4. Perl 数据类型

    2024-07-09 23:44:06       23 阅读
  5. nvm下载

    nvm下载

    2024-07-09 23:44:06      17 阅读
  6. Python中的格式化输出

    2024-07-09 23:44:06       21 阅读
  7. Ubuntu、CentOs更换源(阿里云的源)

    2024-07-09 23:44:06       21 阅读
  8. 华为OD面试分享18

    2024-07-09 23:44:06       20 阅读
  9. 【C++设计模式】(二)设计模式简介

    2024-07-09 23:44:06       22 阅读
  10. 安卓面试题系列--【1】

    2024-07-09 23:44:06       21 阅读
  11. rman 异地恢复某个PDB的步骤

    2024-07-09 23:44:06       18 阅读
  12. 【国产开源可视化引擎Meta2d.js】拖拽

    2024-07-09 23:44:06       19 阅读