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

news2024/11/18 14:40:49

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费测试速度哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1896743.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RTL8211FSI PHY电路设计

文章目录 硬件设计引脚功能框图说明PHYADDRPageLED 模式自动协商/速度/全半双工模式Soft Reset上电顺序 原理图设计参考 软件控制(FPGA)硬件调试 硬件设计 引脚 笔者前代数字采集板采用的 PHY 芯片是博通 Boardcom 的 B50610,其仅支持 0 ∼…

从零到一:eBay自养号测评全流程解析与实操建议

eBay自养号测评是一种通过模拟真实买家行为,为卖家提供市场反馈并提升店铺权重和排名的技术手段。以下是进行eBay自养号测评的具体步骤和注意事项: 一、准备阶段 1. 技术配置:搭建境外服务器:选择稳定的境外服务器,模…

【解码现代 C++】:实现自己的智能 【String 类】

目录 1. 经典的String类问题 1.1 构造函数 小李的理解 1.2 析构函数 小李的理解 1.3 测试函数 小李的理解 1.4 需要记住的知识点 2. 浅拷贝 2.1 什么是浅拷贝 小李的理解 2.2 需要记住的知识点 3. 深拷贝 3.1 传统版写法的String类 3.1.1 拷贝构造函数 小李的理…

go zero入门

一、goctl安装 goctl 是 go-zero 的内置脚手架,可以一键生成代码、文档、部署 k8s yaml、dockerfile 等。 # Go 1.16 及以后版本 go install github.com/zeromicro/go-zero/tools/goctllatest检查是否安装成功 $ goctl -v goctl version 1.6.6 darwin/amd64vscod…

0/1背包问题总结

文章目录 🍇什么是0/1背包问题?🍈例题🍉1.分割等和子集🍉2.目标和🍉3.最后一块石头的重量Ⅱ 🍊总结 博客主页:lyyyyrics 🍇什么是0/1背包问题? 0/1背包问题是…

html三级菜单

示例 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>Menu Example</title> <link re…

加速度传感器信号处理注意事项

1 传感器分类 对于压电式压力传感器而言&#xff0c;输出信号是最重要的选择标准之一。压电式压力传感器与电子电路相连&#xff0c;电子电路将传感器产生的电荷成比例转换为电压。 如果选用外部设备&#xff08;电荷放大器&#xff09;充当电子元件&#xff0c;则称其为电…

MYSQL篇二:数据库的操作

文章目录 1. 创建数据库1.1 查看数据库列表1.2 创建与删除数据库 2. 数据的编码问题3. 字符集和校验规则3.1 查看系统默认字符集以及校验规则3.2 查看数据库支持的字符集3.3 查看数据库支持的字符集校验规则3.4 校验规则对数据库的影响 4. 操纵数据库4.1 查看当前是哪一个数据库…

力扣热100 滑动窗口

这里写目录标题 3. 无重复字符的最长子串438. 找到字符串中所有字母异位词 3. 无重复字符的最长子串 左右指针left和right里面的字符串一直是没有重复的 class Solution:def lengthOfLongestSubstring(self, s: str) -> int:# 左右指针leftright0ans0#初始化结果tablecolle…

LMT加仿真,十一届大唐杯全国总决赛

这次省赛带了太多个省一了&#xff0c;并且很多都进入了国赛总决赛&#xff0c;具体可看下面的图片&#xff0c;只放了一部分。目前只有B组是只有一个商用设备赛也就是LMT&#xff0c;A组和高职组都是仿真实践赛加上商用设备赛。 针对商用设备赛有对应的资料&#xff…

基于IIS的Windows系统Django项目本地部署

参考&#xff1a; 1. 基于Windows平台的Django本地部署和腾讯云服务器上部署&#xff08;1&#xff09;_如何在服务器上发布部署django程序 csdn-CSDN博客 2.Windows server iis部署Django详细操作 - Django中文 - 博客园 (cnblogs.com) 3.在IIS中部署pythonDjango项目时出…

大模型范式下的知识检索增强实践(非常详细)零基础入门到精通,收藏这一篇就够了

导读 OpenKG新开设“TOC专家谈”栏目&#xff0c;推送OpenKG TOC&#xff08;技术监督委员会&#xff09;专家成员的观点文章。本期邀请到阿里巴巴通义实验室自然语言处理方向负责人黄非研究员介绍通义大模型在知识检索增强方面的一些实践。 随着人工智能技术的飞速发展&…

AI绘画 Stable Diffusion图像的脸部细节控制——采样器全解析

大家好&#xff0c;我是画画的小强 我们在运用AI绘画 Stable Diffusion 这一功能强大的AI绘图工具时&#xff0c;我们往往会发现自己对提示词的使用还不够充分。在这种情形下&#xff0c;我们应当如何调整自己的策略&#xff0c;以便更加精确、全面地塑造出理想的人物形象呢&a…

数据特征采样在 MySQL 同步一致性校验中的实践

作者&#xff1a;vivo 互联网存储研发团队 - Shang Yongxing 本文介绍了当前DTS应用中&#xff0c;MySQL数据同步使用到的数据一致性校验工具&#xff0c;并对它的实现思路进行分享。 一、背景 在 MySQL 的使用过程中&#xff0c;经常会因为如集群拆分、数据传输、数据聚合等…

24_嵌入式系统输入输出设备

目录 GPIO原理与结构 A/D接口基本原理 A/D接口原理 A/D转换的重要指标 D/A接口基本原理 D/A接口原理 DAC的分类 D/A转换器的主要指标 键盘接口基本原理 键盘接口原理 用I/O口实现键盘接口 显示接口基本原理 基本结构和特点 基本原理 LCD种类 市面上出售的LCD的类…

python怎么样将一段程序无效掉

1、python中可以用注释屏蔽一段语句&#xff0c;具体方法如下&#xff0c;首先打开一段python的示例程序&#xff1a; 2、然后单行注释的方法是在语句前面加上#&#xff0c;程序运行后添加注释的地方的语句会被自动跳过&#xff0c;这里可以看到将打印变量a的语句添加注释就没有…

STM32F1+HAL库+FreeTOTS学习5——内核中断管理及中断控制函数

STM32F1HAL库FreeTOTS学习5——中断管理和临界段代码保护 中断简介中断优先级寄存器拓展FreeRTOS中PendSV和Systick中断优先级配置三个中断屏蔽寄存器FreeRTOS中断管理函数代码验证 上一期我们学习了FreeRTOS中任务挂起与恢复&#xff0c;在中断服务程序中恢复任务过程中&#…

利用谷歌云serverless代码托管服务Cloud Functions构建Gemini Pro API

谷歌在2024年4月发布了全新一代的多模态模型Gemini 1.5 Pro&#xff0c;Gemini 1.5 Pro不仅能够生成创意文本和代码&#xff0c;还能理解、总结上传的图片、视频和音频内容&#xff0c;并且支持高达100万tokens的上下文。在多个基准测试中表现优异&#xff0c;性能超越了ChatGP…

竞赛选题 协同过滤电影推荐系统

文章目录 1 简介1 设计概要2 课题背景和目的3 协同过滤算法原理3.1 基于用户的协同过滤推荐算法实现原理3.1.1 步骤13.1.2 步骤23.1.3 步骤33.1.4 步骤4 4 系统实现4.1 开发环境4.2 系统功能描述4.3 系统数据流程4.3.1 用户端数据流程4.3.2 管理员端数据流程 4.4 系统功能设计 …

【Proteus】按键的实现『⒉种』

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…