【毛发教程】使用 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

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

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

相关推荐
向宇it1 分钟前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
向宇it1 小时前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类
java·开发语言·unity·c#·游戏引擎
每日出拳老爷子4 小时前
【图形渲染】【Unity Shader】【Nvidia CG】有用的参考资料链接
unity·游戏引擎·图形渲染
YY-nb13 小时前
Unity Apple Vision Pro 开发教程:物体识别跟踪
unity·游戏引擎·apple vision pro
向宇it1 天前
【从零开始入门unity游戏开发之——C#篇23】C#面向对象继承——`as`类型转化和`is`类型检查、向上转型和向下转型、里氏替换原则(LSP)
java·开发语言·unity·c#·游戏引擎·里氏替换原则
Cool-浩1 天前
Unity 开发Apple Vision Pro空间锚点应用Spatial Anchor
unity·游戏引擎·apple vision pro·空间锚点·spatial anchor·visionpro开发
一个程序员(●—●)1 天前
四元数旋转+四元数和向量相乘+音频相关
unity·游戏引擎
冒泡P1 天前
【Lua热更新】上篇
开发语言·数据结构·unity·c#·游戏引擎·lua
十画_8242 天前
Unity 6 中的新增功能
unity·游戏引擎
老大白菜2 天前
Godot RPG 游戏开发指南
游戏引擎·godot