UE4_导入内容_骨架网格体

2024-04-13 07:36
文章标签 ue4 内容 导入 骨架 网格

本文主要是介绍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_导入内容_骨架网格体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899522

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.

浅析Python中的绝对导入与相对导入

《浅析Python中的绝对导入与相对导入》这篇文章主要为大家详细介绍了Python中的绝对导入与相对导入的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1 Imports快速介绍2 import语句的语法2.1 基本使用2.2 导入声明的样式3 绝对import和相对i

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档