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

UE4_导入内容_骨架网格体

SkeletalMeshFBXOptions.png

FBX 导入支持 骨架网格体(Skeletal Mesh) 。这提供了一种简化的处理流程来将有动画的网格体从 3D应用程序中导入到虚幻引擎内,以便在游戏中使用。除了导入网格体外,如果需要,动画和变形目标都可以使用FBX格式 在同一文件中传输。同时,还可以 导入3D应用程序中给这些网格体应用的材质所使用的纹理(仅限漫射和法线贴图), 并且自动创建材质,将其应用于导入的网格体。

以下是使用FBX导入骨架网格体所支持的功能:材质(包括纹理)、动画、变形目标、多个UV集合、平滑组、顶点颜色、LOD。

目前,对于每个 骨架网格体 ,只能将单个动画导入单个文件。但是,在一个文件中可以传输 一个 骨架网格体 的多个变形目标。

UE4 FBX导入通道使用 FBX 2018 。在导出时使用其他版本可能导致不兼容。

一般设置

单一网格体和由多部分构成的网格体

骨架网格体 可以由一个连续网格体构成,也可以或几个独立的网格物体构成, 所有网格体都对同一个骨架进行皮肤处理。

multipart.png

使用多个网格体时,每个构成部分的LOD可以不同,并且每个部分可以单独导出, 以便在模块化的角色系统中使用。这种创建 骨架网格体 的方式不会使性能降低。 每个构成部分导入到虚幻编辑器之后,它们会组合到一起。

绑定

绑定是指将网格体绑定到骨骼/关节的骨架层级。这使得底下骨架的骨骼/关节可以影响网格体的顶点,当骨骼或关节移动时会使得网格体发生变形。

对于Maya,动画和绑定工具可以在你的UE4安装路径\Engine\Extras\Maya_AnimationRiggingTools\MayaTools中找到。这些工具针对Maya提供了一种非常深入的角色绑定和动画解决方案。

骨架

在Maya中,一般使用 关节工具 为 骨架网格体 创建骨架。同样,也有 无数关于在Maya中如何使用这个工具及创建绑定的教程。Maya帮助文档也是获得关于这个主题信息 的很好资源。

maya_rig.png

自虚幻3以来,骨架密度增加了很多

绑定

Maya使用 平滑绑定(Smooth Bind) 命令将网格体绑定到骨架。无论 骨架网格体 是由一个完整网格体还是由多个网格体部分构成,过程都是相同的。

  1. 选择要绑定的网格体。

    maya_skin_1.png

  2. 按住 Shift + 键并选择骨架的根关节。

    maya_skin_2.png

  3. 从 皮肤(Skin) > 绑定皮肤(Bind Skin) 菜单选择 平滑绑定(Smooth Bind) 

    maya_skin_3.jpg

  4. 现在,你可以为每个关节调整网格体的顶点的权重,从而决定哪些顶点受到哪些骨骼的影响及影响的程度。这可以使用 描画皮肤权重工具(Paint Skin Weights Tool) 或者其他你喜欢的方法来完成。

    maya_skin_4.png

支点

 

虚幻引擎中,网格体的支点决定了执行任何变换(平移、 旋转、缩放)时所围绕的点。

pivot.png

骨架网格体 的支点始终位于骨架的根骨骼/关节处。换句话说, 骨架的根位于场景中的哪个位置并没有关系。从3D建模应用程序导出时, 它就像在原点(0,0,0)一样。

三角剖分

图形硬件只处理三角形,因此虚幻引擎中的网格体必须进行三角剖分。

要可靠地对网格体进行三角剖分,可以通过好几种方法来完成。

  • 仅使用三角形对网格体建模——这是最好的方法,因为可以最大限度地控制最终结果。

  • 在3D应用程序中对网格体进行三角剖分——这是也是较好的方法,可以在导出之前进行整理和修改。

  • 让导入器对网格体进行三角剖分——这个方法一般,它不允许进行清除整理但对于简单网格体来说是有效的。

  • 让FBX导入器对网格体进行三角剖分——这个方法也还可以,它不允许进行清除整理但对于简单网格体来说是有效的。

注意: 当选中"分割不匹配的三角形(Split Non-Matching Triangles)"时,允许FBX导出器对网格体进行三角剖分将导致完全的 随机化平滑处理。将经过FBX三角剖分的网格体导回到Maya中并重新导入将会呈现正确的平滑效果。

在任何情况下,最好都在3D应用程序中手动对网格体进行三角剖分,这样可以控制边的方向和放置 位置。自动执行三角剖分可能会导致不合意的效果。

tris_bad.jpg

创建法线贴图

在大部分建模应用程序中可以通过创建低分辨率的渲染网格体和高分辨率的细节网格体来直接地为网格体创建法线贴图。

SideBySide.jpg

高分辨率细节网格体的几何体用于生成法线贴图的法线。Epic内部处理流程中引入了XNormal,因此在虚幻引擎4中渲染时通常会生成好得多的法线。

材质

应用于使用外部应用程序建模的网格体的材质将会随着网格体一同导出,然后导入到 虚幻编辑器中。这大大简化了处理流程,因为你不需要再单独地在虚幻编辑器中导入纹理,也不需要 创建及应用材质等。使用FBX通道时,导入过程可以处理所有这些操作。

这些材质也需要以特定的方式进行设置,尤其是当网格体有多个材质或者网格体上的材质的顺序非常重要时 (也就是,对于角色模型来说,材质0应该是躯干,材质1应该 是头部)。

顶点颜色

骨架网格体 的顶点颜色(仅限一组)可以通过FBX通道转换。不需要特殊设置。

vertex_color.jpg

从3D应用程序中导出网格体

骨架网格体 可以独立导出,或者也可以把多个网格体导出到一个单独的FBX文件中。导入过程将会把多个 骨架网格体 分割为目标包中的多个资源。

  1. 在视口中选中要导出的网格体和关节。

    meshAndJointsSel.png

  2. 在 文件(File) 菜单中选择 导出选中项(Export Selection) (或者如果你不管选中项是什么,都想导出场景中的所有资源,那就选择 导出所有(Export All) )。

    maya_export_2.jpg

  3. 选择用于导入网格物体的FBX文件的位置和名称,并在 FBX导出(FBX Export) 对话框中设置适当的选项,然后单击 

    maya_export_button.jpg

     按钮,创建包含网格体的FBX文件。

    maya_export_3.jpg

导入网格体

  1. 单击 内容浏览器 中的 

    import_button.png

     按钮 。在打开的文件浏览器中导航到想导入到的FBX文件并选中它。 注意:** 你可以在下拉菜单中选择 

    import_fbxformat.jpg

     来过滤不需要的文件。

    import_file.jpg

    所导入的资源的路径是由导入时 内容浏览器 的当前位置所决定的。请确保在执行导入之前导航到相应的文件夹。你也可以在导入后将导入的资源拖拽到一个新文件夹中。

  2. 在 FBX导入选项(FBX Import Options) 对话框中选择适当的设置。如果导入不共享现有骨架的网格体,默认设置应该足够满足需求。

    SkeletalMeshFBXOptions.png

    如果要导入的 骨架网格体 共享一个现有骨架,请单击 选择骨架(Select Skeleton) 下拉菜单,然后从列表中选择骨架资源。

    FBX骨架网格体骨架浏览器

  3. 单击 

    导入按钮(Import Button)

     按钮来导入网格体。如果导入成功, 内容浏览器 将显示生成的网格体(如果启用了相关选项,还会显示材质和贴图)。

    ImportedCharacter.png

    通过在Persona中查看所导入的网格体,可以判断导入是否成功。

    CharacterInPersona.png

骨架网格体LOD

在游戏中使用 骨架网格体 的细节层级(LOD),可以通过使网格体远离摄像机 来限制其影响。一般来说,这意味着每个细节层级将具有较少的三角形、简化的骨骼、或者 可能会应用更简单的材质。

可以使用FBX通道来导入/导出这些LOD网格体。

LOD设置

通常,为了处理LOD,我们会创建各种复杂程度的模型,包括从具有完整细节的基本网格体到具有最低细节级别的 LOD网格体。所有这些模型应该与同一支点对齐并占用相同的空间,并且应该对 同一骨架上进行皮肤处理。你也可以在3D应用程序中使用多个独立网格体来创建 骨架网格体 。 每个部分都可以具有与其他网格体不同的LOD。这意味着,某些部分可以具有属于不同LOD的简化版本, 而其他部分则继续使用具有较高细节的版本。你可以为每个LOD网格体分配完全不同的材质, 包括不同的材质数量。也就是说,基础网格体可以使用多个材质来呈现聚焦时所需的足够细节, 而低细节网格体则不那么明显,因此可以使用单一材质。

  1. 从基础LOD到最低级LOD的顺序,依次选择所有网格体(基础和LOD)。按顺序选择非常重要,这样就可以按照复杂性以正确的顺序添加它们。然后从 编辑(Edit) 菜单中选择 细节层级(Level of Detail) > 分组(Group) 命令。

    maya_lod_group.jpg

  2. 现在所有的网格体都应该分组到了LOD组下。

    maya_lod_contents.jpg

多个构成部分的LOD

设置由多个部分组成的 骨架网格体 的LOD基本上和设置一个完整网格体的LOD一样, 只是会为具有LOD的每个独立部分创建一个LOD组。单独的LOD组设置过程 与上述相同。

导出LOD

要导出 骨架网格体 LOD:

  1. 选择LOD组和要导出的关节。

    meshAndJointsSel.png

  2. 遵循导出基础网格体的步骤进行操作

导入LOD

在 Persona 中 网格体细节(Mesh Details) 面板上的 LOD设置(LOD Settings) 中可以轻松导入 骨架网格体 LOD。

  1. 在 Persona 中打开要应用LOD的 骨架网格体 ,并跳转到 网格体(Mesh) 选项卡。

  2. 在 网格体细节(Mesh Details) 面板上向下滚动窗口,找到 LOD设置(LOD Settings) 部分,然后单击 LOD导入(LOD Import) 选项。

    LOD_Import.png

  3. 在打开的文件浏览器中导航到想导入到的FBX文件并选中它。

    ImportFileBrowser.png

  4. 导入的LOD将添加到 网格体细节(Mesh Details) 面板中。

    LOD_Added.png

  5. 每个LOD下的 画面尺寸(Screen Size) 设置指示何时使用该LOD。

    LODs_Set.png

    注意: 数值越小,在越远处使用该LOD;数值越大,在越近处使用该LOD。 在上图中,当距离该 骨架网格体 较近时使用LOD0,而当距离较远时则使用LOD1。

  6. 导入或添加LOD时,也可以调整该LOD的 缩减设置(Reduction Settings) 

    LOD_ReductionSettings.png

从虚幻编辑器导出到FBX

先前导入到虚幻编辑器中的 骨架网格体 可以再次从 内容浏览器 导出到FBX文件。

转化包中的资源不能导出,因为该导出过程需要已经转化的源码数据。

  1. 在 内容浏览器 中选择要导出的 骨架网格体 

    SelectSkeletalMesh.png

  2. 右击 该 骨架网格体 ,选择 资源操作(Asset Actions) 导出(Export) 

    ExportMenu.png

  3. 在弹出的文件浏览器中选择要导出的文件的位置和名称。 注意: 确保选择 FBX File (*.FBX) 作为文件类型。

    export_file.jpg

相关文章:

UE4_导入内容_骨架网格体

FBX 导入支持 骨架网格体(Skeletal Mesh) 。这提供了一种简化的处理流程来将有动画的网格体从 3D应用程序中导入到虚幻引擎内,以便在游戏中使用。除了导入网格体外,如果需要,动画和变形目标都可以使用FBX格式 在同一文…...

第十五届蓝桥杯c++b组赛后复盘和真题展示

题目变成八道了,分数一百分可能,感觉拿奖难度还是很高 第一题是一个简单的握手问题 答案算出来1204,纯手写 第二题是 物理题 纯蒙,随便猜了个轨迹,答案具体忘了,最后是 .45 第三题暴力 第四题 我是傻逼…...

代码随想录 二叉树—二叉搜索树中的搜索

思路:当节点为空或者等于目标值,直接返回。由于是二叉搜索树,特点是左子树的值都小于根节点值,右子树的值均大于根节点,那么,左右子树的构建可以通过值的判断来递归调用。 c题解: /*** Defini…...

⑤-1 学习PID--什么是PID

​ PID 算法可以用于温度控制、水位控制、飞行姿态控制等领域。后面我们通过PID 控制电机进行说明。 自动控制系统 在直流有刷电机的基础驱动中,如果电机负载不变,我们只要设置固定的占空比(电压),电机的速度就会稳定在…...

【OTA】STM32-OTA升级——持续更新

【OTA】STM32-OTA升级——持续更新 文章目录 前言一、ymodem串口协议1、Ymodem 协议2、PC3、蓝牙4、WIFI云平台 二、UDS车载协议1.UDS协议 总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、ymodem串口协议 1、Ymodem 协议 STM32 Ymodem …...

java 字符集

ASCII 与 GBK ASCII:英文专用GBK:中文专用 万国码 unicode想要统一这个世界上所有的语言,所以创造了UTF-32但是使用32位,也就是4个字节,对于很多语言来说,过于奢侈,也会造成通信效率和存储效率变低 UTF-8 unicode 创造…...

Alibaba --- 如何写好 Prompt ?

如何写好 Prompt 提示工程(Prompt Engineering)是一项通过优化提示词(Prompt)和生成策略,从而获得更好的模型返回结果的工程技术。总体而言,其实现逻辑如下: (注:示例图…...

用html写一个雨的特效

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>雨特效</title><link rel"stylesheet" href"./style.css"> </head> <body> <div id"wrap-textu…...

前端 接口返回来的照片太大 加载慢如何解决

现象 解决 1. 添加图片懒加载 背景图懒加载 对背景图懒加载做的解释 和图片懒加载不同&#xff0c;背景图懒加载需要使用 v-lazy:background-image&#xff0c;值设置为背景图片的地址&#xff0c;需要注意的是必须声明容器高度。 <div v-for"img in imageList&quo…...

003 传参

文章目录 传参http 状态码传参方式&#xff08;1&#xff09;URL请求参数 key 与 方法中的形参名一致&#xff08;2&#xff09;URL请求参数 key与RequestParam("id") 中的别名一致&#xff08;3&#xff09; 形参是POJO类&#xff0c;URL 参数 key 与pojo类的 set方…...

QT写Windows按键输出(外挂)

一、前言 玩游戏的时候遇到些枯燥无味反反复复的按鼠标键盘的情况时&#xff0c;就想写个外挂自动释放。刚好在学qt所以试验了下QT能不能对外输出按键与鼠标。 二、思路 qt中的按键鼠标全是输入&#xff0c;没有直接对外输出键盘鼠标指令的类&#xff0c;但是我们换个思路&…...

Stable Diffusion之文生图模型训练

1、数据准备 提前准备好一组相关的照片。 在线的图片处理网站 BIRME - Bulk Image Resizing Made Easy 2.0 (Online & Free) 将图片转成统一大小&#xff0c;支持批量处理&#xff0c;效率高 2、生成提示词 进入stable diffusion webui页面 旧版直接使用 train/proproc…...

SpringBoot整合支付宝沙箱支付

环境说明&#xff1a;SpringBoot3.0.2 支付宝沙箱地址&#xff1a;沙箱地址 获取配置信息 因支付需要回调地址&#xff0c;回调地址必须是公网&#xff0c;如果有公网的话&#xff0c;那直接在下面配置文件填写自己的公网&#xff0c;没有的话&#xff0c;就需要我们借助第三…...

探索进程控制第一弹(进程终止、进程等待)

文章目录 进程创建初识fork函数fork函数返回值fork常规用法fork调用失败的原因 写时拷贝进程终止进程终止是在做什么&#xff1f;进程终止的情况代码跑完&#xff0c;结果正确/不正确代码异常终止 如何终止 进程等待概述进程等待方法wait方法waitpid 进程创建 初识fork函数 在…...

在mac环境下使用shell脚本实现tree命令

文章目录 使用ls实现tree使用find实现tree 使用ls实现tree 实现思路 使用ls -F 打印文件类型&#xff0c;如果是目录后面跟/&#xff0c;如果是可执行文件后面跟*&#xff1b;使用grep -v /$ 筛选文件排除目录&#xff0c;-v为反向筛选&#xff1b;使用grep /$ 仅筛选目录&am…...

递归时间复杂度分析方法:Master 定理

编写算法时&#xff0c;可能因为对自己代码的复杂度的不清晰而导致错失良机&#xff0c;对于普通的递推或者说循环的代码&#xff0c;仅用简单的调和级数或者等差数列和等比数列即可分析&#xff0c;但是对于递归的代码&#xff0c;简单的递归树法并不方便&#xff0c;理解并记…...

实例名不规范导致mds创建失败

概述 在部署ceph集群时&#xff0c;规划主机名、关闭防火墙、配置免密、关闭selinux&#xff0c;配置hosts文件这几步同样重要&#xff0c;都是初期部署一次麻烦&#xff0c;方便后续运维的动作。遇到过很多前期稀里糊涂部署&#xff0c;后续运维和配置时候各种坑。 近期遇到…...

OpenGL中的纹理过滤GL_NEAREST和GL_LINEAR

一、GL_NEAREST&#xff08;最近邻插值&#xff09; 1.1 原理 当需要从纹理中采样颜色时&#xff0c;GL_NEAREST模式会选择离采样点最近的纹理像素&#xff08;通常是最接近采样点的纹理元素的中心&#xff09;&#xff0c;并直接使用该像素的颜色值作为输出。这种模式不进行任…...

vue 性能优化

data 层级不要太深 data 层级太深会增加响应式监听的计算&#xff0c;导致页面初次渲染时卡顿。 合理使用 v-show 和 v-if 频繁切换时&#xff0c;使用 v-show无需频繁切换时&#xff0c;使用 v-if 合理使用 computed computed 有缓存&#xff0c;data 不变时不会重新计算&…...

互联网大厂ssp面经(操作系统:part1)

1. 什么是进程和线程&#xff1f;它们之间有什么区别&#xff1f; a. 进程是操作系统中运行的一个程序实例。它拥有独立的地址空间和资源&#xff0c;可以独立执行。 b. 线程是进程内的一个执行单元&#xff0c;一个进程可以包含多个线程。 c. 线程共享进程的资源&#xff0c;…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...