当前位置: 首页 > news >正文

Maya 中创建游戏角色的头发,并将其导出到 Unreal Engine 5

这段视频教程讲解了如何在 Maya 中创建游戏角色的头发,并将其导出到 Unreal Engine 5 中,重点是如何处理头发的物理模拟和材质。

作者 Andrew Giovannini 首先展示了一个已完成的带物理模拟的头发模型,并介绍了他自己的游戏行业背景。然后,他详细解释了如何在 Maya 的 XGen 中创建头发,包括使用不同的描述(Description)来制作头发主体、刘海、填充和细节,并演示了如何使用曲线工具、晶格修改器和噪波来控制头发的形状和细节。他还特别讲解了如何创建一个填充层(Fill Layer)来避免头发过于稀疏,以及如何使用晶格来调整头发的整体形状。

接下来,他讲解了如何将 XGen 头发导出到 Unreal Engine 5。为了提高导出效率,他推荐使用自己编写的 Python 脚本工具 Spline Groom Manager 来管理和重命名曲线组,并提供了 Discord 链接供观众下载。他还解释了如何设置必要的属性,例如 groom guide、groom group ID 和 groom root UV,以便 Unreal Engine 5 正确识别和模拟头发。他还提到了如何修复脚本中的一些 Python 版本兼容性问题。

在 Unreal Engine 5 中,他演示了如何导入导出的头发模型,并使用 Groom Binding 功能将头发与不同的头部模型匹配。他还推荐使用 MetaHuman 自带的头发材质,并讲解了如何调整材质参数,例如黑色素、红色度、高光和染发等,来实现不同的头发颜色和效果。最后,他讲解了如何在 Unreal Engine 5 中设置头发的物理模拟,包括预加载、子步数、迭代次数、重力、空气速度、碰撞半径和弯曲约束等参数,并演示了如何调整这些参数来实现逼真的头发动态效果。他还简要提到了后续视频将讲解的内容,例如发片(Hair Cards)、LOD 和优化等。

User

arrow_upwardarrow_downwardedit

more_vert

总结时增加时间戳

Model

51.5s

arrow_upwardarrow_downwardedit

more_vert

这段视频教程讲解了如何在 Maya 中创建游戏角色的头发,并将其导出到 Unreal Engine 5 中,重点是如何处理头发的物理模拟和材质。

  • [00:00-00:02] 作者 Andrew Giovannini 首先展示了一个已完成的带物理模拟的头发模型(alembic版本),并提到之后会制作发片版本。

  • [00:00-00:02] 他也介绍了他自己的游戏行业背景,曾参与赛博朋克2077、星际公民42中队等项目。

  • [00:00-00:02] 展示了模型以及一些基础的物理模拟效果和参数。

  • [00:02-00:07] 解释了 XGen 中头发的创建过程,包括头发主体、刘海、填充和细节分层等。并讲解了如何使用曲线工具创建填充层(Fill Layer)。

  • [00:07-00:08] 演示了如何使用晶格修改器调整头发的整体形状。

  • [00:08-00:12] 讲解了 XGen 中的噪波和 clumping modifier 的使用方法和参数设置。

  • [00:12-00:19] 展示了如何开启和导出头发曲线作为引导线(guides)。

  • [00:19-00:24] 强调了将引导线放置在名为 "XG groom" 的组下的重要性,方便后续脚本处理。

  • [00:24-00:31] 指出了 Maya UI 操作速度慢的问题,并引出了自己开发的 Spline Groom Manager 工具。

  • [00:31-00:38] 演示了如何使用 Spline Groom Manager 工具快速管理和重命名曲线组,以提高导出效率。

  • [00:38-00:40] 讲解了导出头发缓存的步骤和设置,包括 current frame 和 write final width。

  • [00:40-00:41] 在 Unreal Engine 5 中演示了导入 Alembic 缓存,并设置导入参数进行坐标转换。

  • [00:41-00:46] 讲解了 Groom Binding 的使用方法,以及如何将头发与不同的头部模型匹配。

  • [00:46-00:53] 推荐使用 MetaHuman 的头发材质,并讲解了材质参数的调整方法。

  • [00:53-00:56] 讲解了 Unreal Engine 5 中头发物理模拟的参数设置,包括预加载、子步数、迭代次数、重力、空气速度、碰撞半径和弯曲约束等。

  • [00:56-00:56] 简单提到了后续视频内容,包括发片、LOD 和优化。

User

arrow_upwardarrow_downwardedit

more_vert

为什么要:[00:12-00:19] 展示了如何开启和导出头发曲线作为引导线(guides)。

[00:19-00:24] 强调了将引导线放置在名为 "XG groom" 的组下的重要性,方便后续脚本处理。

Model

3.3s

arrow_upwardarrow_downwardedit

more_vert

errorAn internal error has occurred.

User

arrow_upwardarrow_downwardedit

more_vert

[00:12-00:19] 展示了如何开启和导出头发曲线作为引导线(guides)。

[00:19-00:24] 强调了将引导线放置在名为 "XG groom" 的组下的重要性,方便后续脚本处理。

Model

13.0s

arrow_upwardarrow_downwardedit

more_vert

你说的对,这两个时间段的功能描述重复了。这是我的失误。

导出引导线并将其放置在 "XG groom" 组下的原因是为了在 Unreal Engine 5 中实现更可控的头发模拟。UE5 的 hair groom 系统可以使用这些引导线作为模拟的基础,而不是随机生成引导线。这样做的好处是:

  1. 模拟结果更可预测和稳定: 使用从 Maya 中导出的引导线,可以确保在 Unreal 中的模拟结果与 Maya 中的造型更加一致,避免出现意外的形状和运动。

  2. 方便美术调整: 如果模拟结果不理想,美术可以直接在 Maya 中修改引导线的形状和位置,然后重新导出到 Unreal,而不需要在 Unreal 中手动调整大量的引导线。

  3. 提高模拟效率: 在某些情况下,使用预设的引导线可以减少 Unreal 中计算所需引导线的时间,从而提高模拟效率。

总而言之,导出引导线并正确分组是为了在 Unreal Engine 5 中获得更好的头发模拟效果和工作流程。正确的时间戳应该是 [00:12-00:24] ,涵盖了引导线的导出和分组这两个步骤。

User

arrow_upwardarrow_downwardedit

more_vert

直接用“导出头发缓存” 不行吗

Model

10.2s

arrow_upwardarrow_downwardedit

more_vert

直接导出头发缓存(例如 Alembic)是可以将头发的几何体导入到 Unreal Engine 5 中,但这仅仅是静态的几何体,不包含头发的模拟信息(例如引导线、组ID、根UV等)。

所以,虽然头发的形状会被导入,但在 Unreal Engine 5 中进行物理模拟时,引擎会随机生成引导线,这会导致以下问题:

  1. 模拟结果与 Maya 中的造型不一致: 由于引导线是随机生成的,Unreal Engine 5 中的模拟结果很可能与 Maya 中精心设计的头发造型相差很大,需要在 Unreal 中进行大量的调整才能达到预期的效果。

  2. 模拟不稳定: 随机生成的引导线可能分布不均匀或者方向混乱,导致模拟结果不稳定,出现头发抖动、穿插等问题。

  3. 难以控制和调整: 如果需要修改头发的模拟效果,只能在 Unreal Engine 5 中手动调整随机生成的引导线,这非常繁琐且效率低下。

因此,为了在 Unreal Engine 5 中获得理想的头发模拟效果,除了导出头发缓存外,还需要导出引导线、组ID、根UV等信息,并将引导线放置在名为 "XG groom" 的组下,以便 Unreal Engine 5 的 hair groom 系统能够正确识别和使用这些信息。

相关文章:

Maya 中创建游戏角色的头发,并将其导出到 Unreal Engine 5

这段视频教程讲解了如何在 Maya 中创建游戏角色的头发,并将其导出到 Unreal Engine 5 中,重点是如何处理头发的物理模拟和材质。 作者 Andrew Giovannini 首先展示了一个已完成的带物理模拟的头发模型,并介绍了他自己的游戏行业背景。然后&a…...

React 路由(React Router):在 React 应用中管理路由

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

SAP-CPI组件Transformation介绍之Converter

1.配置CSV to XML Converter Field Description XML Schema 选择Select按钮,选择合适 XSD 文件. 或者可以选择 Upload from File System 系统中查找合适的XML文件....

Laravel 代理收益排行榜

创建了一个收入表 CREATE TABLE income_logs (id int(11) unsigned NOT NULL AUTO_INCREMENT,order_id int(11) NOT NULL COMMENT 订单ID,type int(11) NOT NULL DEFAULT 0 COMMENT 类型 0 支出 1收入,user_id int(11) NOT NULL COMMENT 消费者用户,price decimal(10,2) NOT…...

LeetCode hot100面试背诵版(自用)

点击题目可以跳转到LeetCode 哈希 两数之和 public int[] twoSum(int[] nums, int target) {int lengthnums.length;int[] ans new int[2];for (int i 0; i <length-1 ; i) {for (int j i1; j < length; j) {if(nums[i]nums[j]target){ans[0]i;ans[1]j;}}}return an…...

常见的Web安全漏洞——XSS

概念 跨站脚本攻击(XSS&#xff09;&#xff0c;指攻击者通过篡改网页&#xff0c;嵌入恶意脚本程序&#xff0c;在用户浏览网页时&#xff0c;控制用户浏览器进行恶意操作。 XXS的分类 反射型XSS存储型XSSDOM型XSS 原理 反射型XSS 接收用户提交的访问者的姓名&#xff0…...

liteflow 架构详解

LiteFlow 是一个轻量级的、高性能的流程编排框架&#xff0c;主要用于解决复杂业务流程的编排问题。它提供了一种简单而强大的方式来定义和执行复杂的业务流程。下面是 LiteFlow 的架构详解&#xff1a; 核心概念 组件&#xff08;Component&#xff09;&#xff1a;是流程中…...

国产麒麟操作系统上运行LabVIEW

LabVIEW 目前并没有官方支持直接在国产麒麟操作系统&#xff08;Kylin OS&#xff09;上运行。LabVIEW 是由美国国家仪器公司&#xff08;NI&#xff09;开发的软件&#xff0c;主要面向 Windows 和 Linux 操作系统。麒麟操作系统虽然基于 Linux&#xff0c;但其内核和一些软件…...

【C语言】结构体(一)

一&#xff0c;是什么 结构体就是一些值的集合&#xff0c;这些值称为成员变量。 结构体的每个成员可以是不同类型的变量。说到集合&#xff0c;数组也是集合&#xff0c;但是不同的是数组只能是相同类型元素的集合。 二&#xff0c;结构体的声明 struct tag {   member1;…...

C++《set与map》

在之前我们已经学习了解了CSTL当中的string和vector等容器&#xff0c;现在我们已经懂得了这些容器提供的接口该如何使用&#xff0c;并且了解了这些容器的底层结构。接下来我们在本篇当中将继续学习STL内的容器set与map&#xff0c;在此这两个容器与我们之前学习的容器提供的成…...

深度学习-52-AI应用实战之基于Yolo8的目标检测自动标注

文章目录 1 YOLOv81.1 YOLOV8的不同版本1.2 可检测类别1.3 数据说明1.4 网络结构1.5 算法核心步骤2 目标检测的基本原理2.1 安装yolov8(cpu版本)2.2 图片检测2.3 视频检测2.4 自动标注2.5 保存标注结果3 参考附录1 YOLOv8 YOLOv8是一种前沿的计算机视觉技术,它基于先前YOLO版…...

【Elasticsearch】05-DSL查询

1. 查询所有 es最多只支持查询1万条数据。 # 查询所有 GET /items/_search {"query": {"match_all": {}} }2. 叶子查询 全文检索 会对结果进行相关度打分。 # 检索单个字段 GET /items/_search {"query": {"match": {"name&…...

qml项目创建的区别

在Qt框架中&#xff0c;你可以使用不同的模板来创建应用程序。你提到的这几个项目类型主要针对的是Qt的不同模块和用户界面技术。下面我将分别解释这些项目类型的区别&#xff1a; 根据你提供的信息&#xff0c;以下是每个项目模板的详细描述和适用场景&#xff1a; Qt Widgets…...

.NET8/.NETCore 依赖注入:自动注入项目中所有接口和自定义类

.NET8/.NETCore 依赖接口注入&#xff1a;自动注入项目中所有接口和自定义类 目录 自定义依赖接口扩展类&#xff1a;HostExtensions AddInjectionServices方法GlobalAssemblies 全局静态类测试 自定义依赖接口 需要依赖注入的类必须实现以下接口。 C# /// <summary>…...

Flutter:city_pickers省市区三级联动

pubspec.yaml city_pickers插件地址 自己用的GetBuilder页面模板 cupertino_icons: ^1.0.8 # 省市区城市选择 city_pickers: ^1.3.0编辑地址页面&#xff1a;controller class AddressEditController extends GetxController {AddressEditController();Future<Result?>…...

Kafka-Connect自带示例

一、上下文 《Kafka-Connect》中已经阐述了Kafka-Connect的理论知识&#xff0c;为了更生动的理解它&#xff0c;我们今天通过官方的一个小例子来感受下它的妙用。 二、创建topic kafka-topics --create --topic connect-test --bootstrap-server cdh1:9092 --partitions 2 -…...

Hbase应用案例 随机号码生成

Hbase应用案例1 随机号码生成 在Hbase中插入如下格式的数据&#xff0c;数据内容随机生成 名称示例说明phonenumber158randomrowkey&#xff0c;号码dnum199randomcolumn&#xff0c;另一位通话者lengthrandomcolumn&#xff0c;时长valuerandomcolumn&#xff0c;接收或拨打…...

论文阅读——量子退火Experimental signature of programmable quantum annealing

摘要&#xff1a;量子退火是一种借助量子绝热演化解决复杂优化问题的通用策略。分析和数值证据均表明&#xff0c;在理想化的封闭系统条件下&#xff0c;量子退火可以胜过基于经典热化的算法&#xff08;例如模拟退火&#xff09;。当前设计的量子退火装置的退相干时间比绝热演…...

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验二----网络分析(超超超详细!!!)

相信实验一大家已经完成了&#xff0c;对Arcgis已进一步熟悉了&#xff0c;现在开启第二个实验 ArcMap实验--网络分析 目录 ArcMap实验--网络分析 1.1 网络分析介绍 1.2 实验内容及目的 1.2.1 实验内容 1.2.2 实验目的 2.2 实验方案 2.3 实验流程 2.3.1 实验准备 2.3.2 空间校正…...

go语言 Pool实现资源池管理数据库连接资源或其他常用需要共享的资源

go Pool Pool用于展示如何使用有缓冲的通道实现资源池&#xff0c;来管理可以在任意数量的goroutine之间共享及独立使用的资源。这种模式在需要共享一组静态资源的情况&#xff08;如共享数据库连接或者内存缓冲区&#xff09;下非 常有用。如果goroutine需要从池里得到这些资…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

第八部分:阶段项目 6:构建 React 前端应用

现在&#xff0c;是时候将你学到的 React 基础知识付诸实践&#xff0c;构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段&#xff0c;你可以先使用模拟数据&#xff0c;或者如果你的后端 API&#xff08;阶段项目 5&#xff09;已经搭建好&#xff0c;可以直接连…...