楔子

虽然做了很多年的三维可视化,不过都主要还是web端开发为主(webgl,threejs,有兴趣的读者也可以关注下我的相关专栏)。最近准备入手一下UE,顺便做一下知识梳理。 所以文章可能都是比较粗浅的,对于UE大佬可以忽略。

目标主要是实现数字孪生可视化相关,会围绕此目标整理相关的知识点。有兴趣的读者可以关注本人的公众号。

本文介绍一下UE导入FBX模型的一些方式。其实官方文档,已经说的比较详细了,本文会对重点关注点做些说明。

UE导入FBX模型主要有两种方式。 由于测试主要用了一些园区地面模型和建筑模型,所以主要是静态网格体,没有骨骼动画。

内容浏览器导入FBX

在内容浏览器中,点击导入按钮,然后现在要导入的fbx模型:

或者在内容浏览器中,点击右键,选择导入资产:

模型会被导入到当前所在的文件夹。个人认为的最佳实践是对每个模型都建一个文件夹,这样方便管理。

之后会弹出导入的选项界面:

点击下面的“?”按钮,可以进入到官方文档说明

FBX导入选项参考

大多数参数可以参考文档进行查看,官方文档还是比较齐全的。建议大家多看官方文档。 下面对于一些重点的地方做下说明:

  • 因为是静态网格体,所以“骨骼网格体”不要勾选
  • 一些复杂的fbx模型,往往会包括很多网格体。 “合并网格体”选项会把很多个网格体合并为一个网格体。 是否合并要看实际需求。比如下面是导入一个地面模型,未合并的情况,会看到实际导入的有很多网格体。



    这种如果地面需要统一的一些操作就很不方便,比如拖入关卡,以及在场景中的移动,都会不太方便。

下面导入的地面模型是合并的情况:



合并成了一个网格体,相关操作都比较方便,比如拖入关卡,以及在场景中移动,都比较方便。但是这个模型失去了本身的结构,如果后续要对模型的部分进行操作,就不能实现

  • fbx的单位若不确定,请勾选“转换场景单位”,以便导入正确的模型比例。

通过导入到关卡导入FBX

通过 文件菜单 -> Actor -> 导入到关卡中导入:

选择导入的位置:

弹出选项:

其中层级类型是:

  • 蓝图资产
  • actor
  • 带组件的actor

蓝图资产可以理解为一个类,该类可以把所有的模型(带层级)包装到类中,在使用的时候,直接使用该类的实例。

这种方式既可以把多个网格作为一个整体来使用,又保留了模型的层级关系。 个人认为是比较好的方式。

FBX模型的材质和网格命名最好都不要带中文,否则可能导入时候会出现乱码。

导入GLTF

由于webgl用gltf比较多,所以手上模型多是gltf格式。

UE有插件可以导入gltf 。比如gltf for UE4, 另外一个出名的就是Datasmith,是一个官方的插件。 当然还没有实际操作过。后续实践过后,在写文介绍。

其实也可以通过blender等工具先把模型转成FBX(这种方式下还可以对模型进行更多调整)。这是笔者目前采用的方式。

结语

本文主要介绍了UE如何导入FBX模型的两种方式,不足之处还多见谅。 如果你有好的经验,也欢迎和我交流。关注公号“ITMan彪叔” 可以添加作者微信进行交流,及时收到更多有价值的文章。

UE导入FBX、GLTF模型的更多相关文章

  1. Unity导入FBX自动进行动画切分

    手动处理动画分割 在导入FBX模型过程中,若带有动画呢,需要对它进行切分. 当然这个工作可以在Unity中完成. 比如: 这样手动来分割进行. 自动动画切分   这就需要代码了. 把代码保存成cs文件 ...

  2. cesium模型加载-加载fbx格式模型

    整体思路: fbx格式→dae格式→gltf格式→cesium加载gltf格式模型 具体方法: 1. fbx格式→dae格式 工具:3dsMax, 3dsMax插件:OpenCOLLADA, 下载地址 ...

  3. GLTF模型查看器---优化器【转】

    https://blog.csdn.net/weixin_43081805/article/details/88743277 Clay Viewer(我只想说好用,直接可以导出gltf的二进制glb格 ...

  4. WebGL简易教程(十五):加载gltf模型

    目录 1. 概述 2. 实例 2.1. 数据 2.2. 程序 2.2.1. 文件读取 2.2.2. glTF格式解析 2.2.3. 初始化顶点缓冲区 2.2.4. 其他 3. 结果 4. 参考 5. ...

  5. Cesium专栏-terrain地形、3dtiles模型、gltf模型 高度采样

    在Cesium中,对于terrain地形.3dtiles模型.gltf模型的高度采样是一个很基本的功能,基于此,可以做一些深度应用,而Cesium已经帮我们提供了相应的API,在这里,我帮大家总结一下 ...

  6. cesium加载gltf模型

    cesium加载gltf模型 一.采用vue-cesium:在项目里加载依赖包.命令如下: npm i --save vue-cesium 在main.js中加入如下代码: https://www.n ...

  7. vue中加载three.js的gltf模型

    vue中加载three.js的gltf模型 一.开始引入three.js相关插件.首先利用淘宝镜像,操作命令为: cnpm install three //npm install three也行 二. ...

  8. cesium加载gltf模型点击以及列表点击定位弹窗

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 之 ...

  9. Unity导入fbx格式的模型

    1. 在Model文件夹右击,选择 import new Asset,然后选择要导入的模型 2. 将纹理图片导入Pictures中 3. 在Materials中创建一个Material,然后点击属性中 ...

  10. Three.js导入gltf模型和动画

    核心代码 复杂的3D模型一般都是用第三方建模工具生成,然后加载到three中 three官方推荐使用gltf格式的文件,代表编辑器是blender 本文生成了自定义生成了一个blender模型,并且应 ...

随机推荐

  1. 物联网平台在AIoT领域8大场景应用

    物联网平台技术在AIoT智慧物联领域的应用越来越深入,尤其是在智慧城市建设项目中,提供了强有力的技术底座工具支撑.ToG的项目需要"门当户对"的服务商具备完善的资质和靠谱的技术服务 ...

  2. Machine Learning - 梯度下降

    一.梯度下降:目的是为了寻找到最合适的 $w$ 和 $b$ ,让成本函数的值最小 \[w = w - α\frac{\partial J(w,b)}{\partial w} \] \[b = b - ...

  3. 使用docker 5分钟搭建一个博客(mysql+WordPress)

    目录 一.系统环境 二.前言 三.搭建博客 3.1 创建wordpress和mysql容器 3.2 在wordpress界面设置个人博客信息 3.3 WordPress容器创建命令的简化版本 一.系统 ...

  4. Vue 组件生命周期:探索钩子

    title: Vue 组件生命周期:探索钩子 date: 2024/5/27 18:42:38 updated: 2024/5/27 18:42:38 categories: 前端开发 tags: 生 ...

  5. Android 13 - Media框架(30)- ACodec(六)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 前一节我们了解了input buffer写入的流程,知道了起播写前几笔数据时会先获取graphic buffer,这一节我们就一起来了解下deque ...

  6. 利用 Helm 在各类 Kubernetes 中安装 Rainbond

    利用 Helm 安装 Rainbond 好雨科技技术团队一直致力于让用户更方便的安装 Rainbond 这款产品. 不久前,我们刚刚推出了在一个容器中部署 Rainbond 的快速安装方式,这种方式覆 ...

  7. 霍夫变换原理及实现(Opencv C++)

    已知一幅图像中的n个点,假设我们希望找到这些点中位于直线上的子集.一种可能的解决方法是,首先找到由每对点确定的所有直线,然后寻找靠近特定直线的那些点的所有子集.这种方法涉及寻找n(n-1)/2~n2条 ...

  8. 如何实现sm3加密

    SM3加密应用 何为sm3加密? SM3是由中国国家密码管理局设计的一种密码杂凑函数,类似于SHA-256和MD5等国际标准的散列算法.SM3算法是中国国家标准<GB/T 32905-2016 ...

  9. 获取某一个数的2进制位数以及bitmask

    举例说明:比如32对应的2进制为2b'100000,对应的bitmask为2b'11111. 实现代码: #include <stdio.h> typedef unsigned char ...

  10. SpringBoot系列(四)使用spring-kafka实现生产者消费者demo代码

    一.引入spring-kafka的maven依赖 <dependency> <groupId>org.springframework.kafka</groupId> ...