UE_导入内容_Maya静态网格体导出为FBX的常规设置

注意事项:单位设置统一为cm;轴朝向,Maya默认y轴朝上,UE4 z轴向上;变换枢轴,UE4会将导入模型前世界中心作为枢轴中心,要旋转就需要注意了;法线,UE4内材质默认单面显示;有平滑组的话(Maya叫做软边)勾选平滑组;有贴图勾选嵌入媒体;英文命名;fbx版本。

使用FBX插件将静态网格体从3D软件导入虚幻引擎4的操作极为方便。网格体导入后,应用到3D软件中网格体的材质纹理(仅限漫反射和法线贴图)也将被导入,并用于生成应用到虚幻引擎4中网格体的材质。

利用FBX导入 静态网格体 所支持的功能:带纹理材质的静态网格体、自定义碰撞、多个UV集、平滑组、顶点颜色、LODs、多个单独的静态网格体(导入时组合成一个网格体)。

当前,将多个拥有自定义碰撞的网格体导入一个单一文件中时,只有第一个网格体的碰撞才会被导入。UE4 FBX导入通道使用 FBX 2018 。在导出时使用其他版本可能导致不兼容。

通常而言,您可以随意使用任何工具和方法来创建 静态网格体 。为将网格体顺利导出和导入到ue4并使其拥有正常功能,在进行UV设置、网格体放置等操作时需要注意以下几点。

1、枢轴点

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

网格体的枢轴点

从3D建模软件中导出网格体时,枢轴点固定位于原点处(0,0,0)。因此最好在原点处创建网格体,使原点位于网格体的一个角上,以便在对齐到虚幻编辑器中的网格时进行恰当的对齐。

位于原点的枢轴点

2、三角剖分

因为图形硬件仅处理三角形,所以必须对虚幻引擎中的网格体进行三角剖分。

立方体网格体上的三角形

进行网格体三角剖分的方法有几种。

(1)仅使用三角形进行网格体建模。这是最佳方案,能对最终结果进行最大程度的控制。

(2)在3D软件中三角剖分网格体。这是较好方案,在导出之前可以进行清理和修改。

(3)让FBX导出器三角剖分网格体。这是普通方案,无法进行清理,但适用于简单网格体。

(4)让导入器三角剖分网格体。这是普通方案,无法进行清理,但适用于简单网格体。

最好在3D应用中手动设置网格体的三角剖分,控制边的方向和放置方式。自动三角剖分可能会导致不理想的效果。

不理想的自动三角剖分

3、UV纹理坐标

虚幻引擎4中的FBX流程支持多个UV集的导入。对 静态网格体 而言,这通常用于处理漫反射的一个UV集。对使用FBX流程的 静态网格体 UV进行设置时无特殊要求。

4、创建法线贴图

创建低分辨率渲染网格体和高分辨率的细节网格体即可直接在多数建模软件中创建网格体的法线贴图。

低分辨率和高分辨率网格体

5、材质

FBX管道将应用于网格体(静态网格体和骨架网格体)的材质和纹理从3D应用程序传输到虚幻。 要转换简单材质,可以导入源材质中使用的纹理,这样会在虚幻中创建已经将纹理连接到相应通道的材质, 最后将材质应用于导入的网格体。FBX管道简化了网格体导入流程, 自动完成过去需要人工完成的复杂流程。

(1)基本材质

       FBX管道仅支持导入基本材质。可以传输的材质类型包括:Surface、Anisotropic、Blinn、Lambert、Phong、Phone E。

      除了这些材质类型之外,还可以传输这些材质的仅特定功能。FBX材质管道不传输单独的设置, 但支持传输材质使用的特定贴图或纹理。

注意:目前,支持随着网格体导入的贴图(纹理)将添加到材质,某些常见类型将连接到材质的默认输入,但某些则需要手动连接。 此外,一些不太常见的贴图类型可能无法导入,例如Maya中用于环境光遮蔽的漫反射通道。

(2)多种材质

       网格体自身可以应用若干材质,每个材质覆盖网格体的特定表面,而FBX能够处理包含多个材质的网格体的导入(假设它们已经在3D应用程序中正确设置)。

       就网格体上使用多种材质而言,Maya非常简单明了。您只需选择想要对其应用材质的网格体面,然后应用材质即可(face material)。

针对Maya中应用于网格体的每个材质,都将在虚幻编辑器中创建一个材质,导入的网格体对于其中每种材质都有对应的材质插槽。应用于网格体后,材质仅影响网格体的对应多边形,就像Maya中一样。

(3)材质命名

虚幻编辑器在导入过程中创建的材质将根据3D应用程序中的源材质命名。具体从哪里抽取名称,则取决于是从哪个应用程序导出网格体的。如果来自于Maya,则虚幻编辑器中的材质名称取自Maya中应用于网格体的着色引擎名称。

(4)材质顺序

当材质最初从FBX导入时,材质名称将分配到材质插槽,这样重新导入FBX时,可以使用 原始导入材质名称 将材质 与正确的元素索引相匹配。这种方法比使用`Skin##`命名约定来确定材质顺序更加一致(截至4.14,不再需要`Skin##`命名约定来指定材质顺序),可以保证导入流程直接查找FBX文件中的名称, 以确定哪个分段应该与列表中已经填充的现有材质相匹配。这里的"插槽名称(Slot Name)"将匹配网格体" 细节层次(Level of Detail,LOD)"部分中的"材质名称(Material Name)"下拉选择。

如果您将鼠标悬停于 插槽名称(Slot Name) 字样上方,工具提示将列出已经导入的材质名称。4.14之前导入的任何静态网格体或骨架网格体将在工具提示中显示`None`材质名称。

MaterialNameTooltip.png

(5)添加或移除材质插槽

要添加或移除任何材质插槽,请使用"材质(Materials)"列表顶部的 添加 ( )按钮和"插槽名称(Slot Name)"旁边的 移除 ( )按钮。添加的插槽可以用来覆盖较低LOD分段,但不能覆盖基本LOD。

(6)纹理导入

如果材质在3D应用程序中分配了纹理作为漫反射或法线贴图,只要在 FBX导入属性(FBX Import Properties)中启用了 导入纹理(Import Textures) ,就可以导入这些纹理。

ImportedMeshAndTex.png

将在虚幻编辑器中新创建的材质中将构建纹理取样表达式,导入的纹理将分配到该纹理取样。系统还会向材质添加纹理坐标表达式,并将它连接到纹理取样的 UV 输入。但是,您需要将某些纹理连接到它们的材质插槽。

FBXMaterial.png

如果在3D应用程序中应用于材质的纹理格式与虚幻不兼容,或者连接到了未知材质属性(例如,Maya中的漫反射),则它们不会导入。在此情况下,以及材质中不存在纹理的情况下,虚幻编辑器中的材质将通过随机着色的矢量参数进行填充。

NoTexture.png

6、碰撞

简化的碰撞几何体对优化游戏中的碰撞侦测十分重要。虚幻引擎4在 静态网格体编辑器 中提供了创建碰撞几何体的基本工具。但在某些情况下,最佳方案是在3D建模软件中创建自定义碰撞几何体,然后将其随渲染网格体一同导出。通常而言,这适用于对象不需要发生碰撞的开放或凹陷区域网格体。

举例而言:门道网格体、拥有窗框的墙壁、形状古怪的网格体。

导入器基于碰撞网格体的名称对其进行识别。碰撞命名语法应为:

网格体前缀和命名

描述

UBX_[RenderMeshName]_##

盒体 必须使用常规的矩形3D对象来创建。你无法移动顶点或使其改变形状,使其变为矩形棱柱之外的其它形状,否则其将无法正常使用。

UCP_[RenderMeshName]_##

胶囊体 是两端半圆的圆柱体对象。胶囊体完全不需要过多分段(8段为佳),因为它将被转换为一个真正的胶囊体进行碰撞。和盒体一样,不能对单个顶点进行移动。

USP_[RenderMeshName]_##

球体 没有必要设置过多分段(8段为佳),因为它将被转换为一个真正的球体进行碰撞。和盒体一样,不能对单个顶点进行移动。

UCX_[RenderMeshName]_##

凸 对象可以是任何完全封闭的凸型3D形状。例如,一个盒体也是一个凸对象。下图说明了哪些是凸对象,哪些不是。

警告和注意事项
  • RenderMeshName 名称必须与3D软件中碰撞网格体关联的渲染网格体的命名一致。如果3D软件中渲染网格体的命名为 Tree_01 ,那么碰撞网格体将与渲染网格体处于同一场景中,命名为 UCX_Tree_01 ,之后其将随渲染网格体导出到同一个FBX文件中。如果需要为一个网格体设置多个碰撞对象,可以使用额外的辨识符对其命名进行扩展,如: UCX_Tree_01_00 、 UCX_Tree_01_01 、 UCX_Tree_01_02 ,以此类推。这些碰撞对象均会和此网格体相关联。

  • 当前球体仅应用于钢体碰撞和虚幻引擎的零范围追踪(如武器),而不应用于非零范围追踪(如玩家运动)。如 静态网格体 并非等分缩放,则球体和盒体将无法正常使用。通常需要创建 UCX 基元。

  • 碰撞对象设置完毕后,便可以把渲染和碰撞网格体导出到同一个FBX文件中。将FBX文件导入虚幻编辑器时,它将找到碰撞网格体,将其从渲染网格体上移除,并将其转换为碰撞模型。

  • 将非凸面网格体分解为凸面基元是非常复杂的操作,还可能产生不可预知的效果。另一个方法是在3D MAX或Maya中将碰撞模型分解为凸面块。

  • 如一个对象的碰撞由多个凸包所定义,那么这些凸包相互未交叉时产生的结果为最佳。举例而言,如果一个棒棒糖的碰撞由两个凸包所定义(一个用于糖果、另一个用于棒),那么两者之间应留有空隙。详情如下所示:

  • wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==编辑

UCX_Candy

碰撞表面之间的小缝隙

UCX_Stick 

7、插槽

在游戏中通常使用插槽来将一个对象附加到另一个对象(可以是骨架网格体、也可以是静态网格体)。虚幻引擎4中拥有在静态网格体编辑器中创建插槽的工具。 有时可能需要在3D建模软件中对插槽进行设置,然后再随渲染网格体导出。 可相对于骨架网格体上的骨骼或静态网格体的大小对插槽进行平移、旋转和缩放。

如要在建模软件中使用插槽,需要使用一个带 SOCKET_ 前缀的虚拟或助手对象。

网格体前缀和命名

描述

SOCKET_[RenderMeshName]_##

将此用于建模软件中的任意虚拟或助手对象,以便将插槽指定到网格体。

警告和注意事项
  • RenderMeshName 名称必须与3D软件中插槽对象关联的渲染网格体的命名一致。 如果3D软件中渲染网格体的命名是 Object_01 ,则插槽对象应与此网格体处于同一场景中,命名为SOCKET_Object_01, 并随渲染网格体导出到同一个FBX文件中。如果一个网格体需要多个插槽对象,则以额外的辨识符来延展其命名, 如SOCKET_Object_01_00、SOCKET_Object_01_01、SOCKET_Object_01_02,以此类推。这些插槽皆与该网格体相关联。

  • 为网格体创建插槽时,可导入虚幻引擎4的插槽只能拥有一个网格体FBX设置。 举例而言,如果需要将两个渲染网格体设为单独的资源,则需要将其导入为单独的FBX文件。 这意味着无法导入多个网格体并将插槽指定到每个单独的网格体;如果两组渲染网格体拥有其自身的插槽,其将无法正确导入。 举例而言,如果Object_01带SOCKET_Object_01_00,另一个渲染网格体Box_01带SOCKET_Box_01_00,此时便无法让插槽随这些网格体一同导入。 它们需要导出为独立的FBX文件。

8、顶点颜色

可以通过使用FBX流程来转移 静态网格体 的顶点颜色。无需特殊设置。

显示顶点颜色的网格体

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录一个Kafka客户端Offset Explore连不上的问题

我昨天把集群重装了一下,再连这个工具就连不上了(你先把zk和kafka在集群启起来),报错截图如下: 英文翻译过来大概就是说遍历zk指定路径不存在,我还以为zk的问题,回去又把zk的文档翻了一遍&#…

HCIE考试第四题:业务个性化配置

文章目录 业务个性化配置题目与做题步骤如下4业务个性化配置4.1.创建节点池solo-2【4.13中的同步创建了】4.1.1.创建Namespace4.1.2.创建节点池和节点4.2.镜像制作solo:2.04.3.创建sol0-2.0日录4.4.NFS环境检查4.5.修改Dockerfie4.6.构建镜像solo:2.0并上传到SWR【4.2-4.6为1小…

锐化空间滤波器--二阶微分图像增强(提高清晰度的另一种方式)

书上一阶微分的定义可以理解,毕竟这里不死数学上的曲线的概念,而是像素点上的曲线。所以,不同于数学的严格单调递增曲线的导数是大于等于零,这里的严格单调递增曲线,只能是大于零。 至于二阶微分的定义,就…

项目4-图书管理系统2+统一功能处理

1. 拦截器(Interceptor) 我们完成了强制登录的功能, 后端程序根据Session来判断用户是否登录, 但是实现⽅法是比较麻烦的。 所需要处理的内容: • 需要修改每个接⼝的处理逻辑 • 需要修改每个接⼝的返回结果 • 接⼝定义修改, 前端代码也需…

解决宝塔的FTP无法使用被动模式

问题:宝塔安装完ftp管理软件之后,无法使用被动模式连接 解决: 提示: 如果还是不行,那么要看看防火墙和安全组有没有放行被动模式的端口,宝塔安装的pure-ftpd软件的被动模式端口默认是39000至400…

界面设计【1】-项目的UI设计css

引言: 本篇博客对简单的css html界面设计做了简要介绍 这篇博客主要就是介绍了做横向项目中,CSS界面设计与优化。 界面设计【1】-项目的UI设计css 1. 什么是css?2. css编程demo3. 可视化效果 1. 什么是css? CSS是层叠样式表(Cascading S…

深入解析:虚拟内存——理解现代计算机内存管理的关键概念

目录 一、引言 二、程序的“搬家”记:从硬盘到内存 1. 把剧本搬上舞台 2. 分配角色和位置 3. 开始排练与演出 三、虚拟内存:理想与现实的桥梁 1.虚拟内存:运行原理 2. 虚拟内存:让每个程序都有个“私人剧场” 3. 虚拟内…

多态【C/C++复习版】

目录 一、多态是什么?如何实现? 二、 什么是重写?有什么特点? 三、什么是协变? 四、析构函数能实现多态吗?为什么要实现? 五、override和final的作用是什么? 六、 多态的原理是…

基于spring boot的班级综合测评管理系统

基于spring boot的班级综合测评管理系统设计与实现 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开…

数据可视化-ECharts Html项目实战(10)

在之前的文章中,我们学习了如何在ECharts中编写雷达图,实现特殊效果的插入运用,函数的插入,以及多图表雷达图。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错&…

vue快速入门(十九)使用动态类绑定实现TabBar动态样式

注释很详细&#xff0c;直接上代码 上一篇 新增内容 vue绑定动态样式根据点击事件获取当前点击部分序号 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"width…

spring快速搭建聊天AI

官网url: https://spring.io/projects/spring-ai 本文演示的是open AI 1创建java项目 2.拿到AI的key&#xff08;没有的话可以去淘宝花几块钱买一个&#xff09; //YOUR_API_KEY写你自己的open AI的key spring.ai.openai.api-keyYOUR_API_KEY spring.ai.openai.chat.options.…