【UE5】Groom毛发系统的基本使用——给小白人添加头发

news2024/11/27 22:37:17

目录

效果 

步骤

一、准备

二、使用3DsMax制作毛发

三、在UE中给小白人安装毛发

四、修改毛发材质


效果 

步骤

一、准备

1. 新建一个第三人称模板工程

2. 在项目设置中,勾选“支持计算蒙皮缓存”

3. 在插件面板中,启用“Groom”和“Alembic Groom Importer”插件,然后重启虚幻编辑器

4. 打开第三人称模板蓝图“BP_ThirdPersonCharacter”

找到小白人的骨骼网格体资产

将骨骼网格体导出 

导出的小白人用于作为制作头发的参照角色。

二、使用3DsMax制作毛发

打开3DsMax,将上一步导出的小白人模型导入3DsMax中

将小白人模型转为可编辑多边形

隐藏小白人

此时就只显示小白人的骨骼

由于我们只需要的是小白人参照物,因此删除骨骼,然后取消隐藏。

选中小白人的头部,然后将其单独分离

选中分离后的头部网格体,点击“四边形化全部”,将组成头部的三角面转为四边形

在修改器列表中添加“Hair和Fur(WSM)”

接下来选择存在毛发的区域。在左视图中,先选中面层级,然后使用围栏工具框选头皮。

点击“更新选择”,这样就只在框选区域内生成毛发。

为了控制毛发走向,我们可以先创建一个样条线

选中样条线中的点

平滑一下

创建好样条线后,选中头部网格体,然后选中“Hair和Fur”修改器,点击“样条线变形”按钮,最后选中上一步创建的样条线,这样头发就会沿着样条线方向生长。

如果对头发的走向不满意,我们还可以通过移动样条线上的点来修改。

如果希望头发弯曲的更平滑一些,可以在常规参数中增加毛发段的值。

当发型设计好后,需要将毛发转为样条线

隐藏除了毛发样条线以外的几何体,调整一下毛发的枢轴位置

将毛发位置归0

最后导出这个毛发样条线,导出类型为“.abc”

三、在UE中给小白人安装毛发

1. 点击“导入”按钮 ,选择导入上一步导出的毛发

导入前设置一下旋转和缩放

导入后如下

可以自行修改毛发宽度、发根缩放、毛发阴影密度、毛发光线追踪半径缩放等属性。

在“物理”选项卡中,勾选“Enable Simulation”使得毛发能够模拟重力自然下垂

下面开始将毛发添加到小白人头上。

2. 打开第三人称角色蓝图,添加一个Groom组件,放在网格体层级下

设置Groom Assert资产为导入的头发,父项套接字为head

为了将头发准确的放在小白人头上,可以先暂停角色待机动画

将头发移动到角色头顶

取消暂停动画

此时运行就可以看到角色的头发,并且头发拥有物理效果

四、修改毛发材质

1. 新建一个材质

着色模型设置为头发,勾选双面

勾选使用发丝

这里在材质图表中就简单设置一下颜色为红色

2. 打开导入的毛发

在材质插槽中添加一个元素,然后设置头发材质

当然可以添加多个材质插槽元素,然后就需要我们在“发束”选项卡中设置当前头发所使用的材质

更换头发材质后效果如下

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

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

相关文章

kubernetes的pod基础

kubernetes的pod基础 pod概念 pod(豆荚),是k8s的最小管理单元。是一个或多个容器的组合,这些容器共享存储,网络和命名空间,以及运行规范,pod内的容器统一的进行安排和调度。pod是一组具有共享命…

智慧党建系统设计与实现_1i659

TOC springboot629智慧党建系统设计与实现_1i659--论文 研究背景 近年来,由于计算机技术和互联网技术的快速发展,使得所有企事业单位内部都是数字化、信息化、无纸化的发展趋势,随着趋势的发展,各种决策系统、辅助系统也应运而…

Java | Leetcode Java题解之第350题两个数组的交集II

题目: 题解: class Solution {public int[] intersect(int[] nums1, int[] nums2) {Arrays.sort(nums1);Arrays.sort(nums2);int length1 nums1.length, length2 nums2.length;int[] intersection new int[Math.min(length1, length2)];int index1 …

27.移除元素---力扣

题目链接: . - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/remove-element/description/ 问题描述&#xf…

Maven的简单使用

Maven使用 Maven的作用1. 自动构建标准化的java项目结构(1) 项目结构① 约定目录结构的意义② 约定大于配置 (2)项目创建坐标坐标的命名方法(约定) 2. 帮助管理java中jar包的依赖(1) 配置使用依赖引入属性配置 (2) maven指令(3) 依赖的范围(4) 依赖传递(…

Vitis AI 进阶认知(Torch量化基础+映射+量化参数+对称性+每通道+PTQ+QAT+敏感性)

目录 1. 介绍 2. 基本概念 2.1 映射函数 2.2 量化参数 2.3 校准 2.4 对称与非对称量化 2.5 Per-Tensor and Per-Channel 2.6 PTQ 2.7 QAT 2.8 敏感性分析 2.6 退火学习率 3. 几点建议 4. 总结 1. 介绍 Practical Quantization in PyTorch | PyTorchQuantization i…

OpenCV几何图像变换(4)亚像素图像截取函数getRectSubPix()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 从图像中以亚像素精度检索像素矩形。 getRectSubPix 函数从 src 中提取像素: p a t c h ( x , y ) s r c ( x center.x − ( dst.…

怎么为pdf文件加密设置密码?8个实用pdf文件加密方法

随着数字化信息的普及,保护PDF文件免受未授权访问和篡改的需求日益增强。为了确保您的重要文档安全无虞,加密PDF文件并设置密码成为了一个至关重要的步骤。以下是详细指导,帮助您为PDF文档加密并设置密码,确保其内容的安全。怎么为…

深入理解Java虚拟机(类加载器)

文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 类加载器 类加载器有什么作用呢? 对于任意的一个类&a…

基于一阶高斯低通滤波器的软件设计

前言 一阶RC低通滤波器(巴特沃斯滤波)-CSDN博客 一阶高斯低通滤波器不是一个直接的概念(因为一阶滤波器通常不产生高斯型频率响应),这里我用软件的方式来模拟高斯低通滤波器的效果。 有纰漏请指出,转载…

C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)538: T456457 第 n 小的质数

题目内容 输入一个正整数 n&#xff0c;求正整数范围中第 n 小的质数。 输入格式 一个不超过 30000 的正整数 n。 输出格式 第 n 小的质数。 样例 1 输入 10 全部程序代码&#xff1a; #include<bits/stdc.h> using namespace std; int main() {long long n,i;ci…

【数据分享】《中国社会统计年鉴》(2006-2023)

而今天要限时免费分享的数据就是2006-2023年间出版的《中国社会统计年鉴》并以多格式提供免费下载。&#xff08;无需分享朋友圈即可获取&#xff09; 数据介绍 一、《中国社会统计年鉴》是一部反映我国社会发展相关领域基本情况的综合性统计资料年刊。书中收录了年全国和…

Leetcode每日刷题之1004.最大连续1的个数|||(C++)

1.题目解析 本题的目的是找出能最多翻转k个0的情况下最长连续的1的个数&#xff0c;并且这是一个二进制数组&#xff0c;只存在0和1&#xff0c;翻转0就是将0变为1 2.算法原理 首先我们想到的一定是暴力枚举&#xff0c;即依次列举出在最多翻转k个0的情况下所有连续1的子数组的…

类和对象(下)(2)

类和对象&#xff08;下&#xff09;(2) static成员 • ⽤static修饰的成员变量&#xff0c;称之为静态成员变量&#xff0c;静态成员变量⼀定要在类外进⾏初始化。 • 静态成员变量为当前类的所有对象所共享&#xff0c;不属于某个具体的对象&#xff0c;不存在对象中&#…

m4a转wav,使用FFmpeg和Python将M4A文件转换为WAV

你可以使用Python程序或Linux命令来将M4A文件转换为WAV文件。下面分别介绍这两种方法。 方法一:使用FFmpeg命令行工具(Linux命令) FFmpeg 是一个强大的多媒体处理工具,支持音视频转换、处理等操作。你可以在终端中使用以下命令将M4A文件转换为WAV文件: ffmpeg -i input…

网络通信(1)

网络&#xff1a; 不同主机间的通信问题 实现网络通信 物理层面 有一个 信息通路 &#xff08;有线 &#xff1b;无线 &#xff1b;5G&#xff1b;4G&#xff1b;星链 &#xff09;软件层面(逻辑层面) 也需要 一个通路 网络编程 Open System Interconnect (OSI网…

[OC]萝卜圈玩行车记录仪

图1-1&#xff0c;你的手动小车 代码是 #机器人驱动主程序 #请在main中编写您自己的机器人驱动代码 import tkinter as tk import turtle v0 # 速度 accFalse;slowFalse;leftFalse;rightFalse # 按键状态 step0.5 # 一次速度变化量 def keyup_press(event):global acc;accTru…

归并排序(Java实现)

目录 归并排序的思想 代码实现 思路 代码 归并排序的特点 归并排序的思想 归并排序的核心思想是分治&#xff0c;分而治之&#xff0c;就是把数组先分成若干个子数组&#xff0c;先将这些子数组排序后&#xff0c;再合并到一起去。 我们常说的归并排序是二路归并排序&…

uview-plus upload组件在上传视频在小程序环境下点击无反应

你们好&#xff0c;我是金金金。 场景 我正在使用uniapp开发微信小程序&#xff0c;使用的vue3&#xff0c;所以集成的uview-plus这个ui库 代码非常的简单&#xff0c;就是一个上传组件 在h5环境下点击是可以上传视频的&#xff0c;在微信小程序开发者工具里面点击完全没反应…

初阶数据结构之计数排序

非比较排序 计数排序 计数排序⼜称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应⽤。 操作步骤&#xff1a; 1&#xff09;统计相同元素出现次数 2&#xff09;根据统计的结果将序列回收到原来的序列中 #include "CountSort.h" void Count(int* arr, int n)…