首页 > 其他分享 >UE导入FBX、GLTF模型

UE导入FBX、GLTF模型

时间:2022-08-27 18:36:15浏览次数:101  
标签:模型 FBX 网格 导入 文档 UE GLTF

楔子

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

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

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

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

内容浏览器导入FBX

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

image.png

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

image.png

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

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

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

FBX导入选项参考

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

  • 因为是静态网格体,所以“骨骼网格体”不要勾选
  • 一些复杂的fbx模型,往往会包括很多网格体。 “合并网格体”选项会把很多个网格体合并为一个网格体。 是否合并要看实际需求。比如下面是导入一个地面模型,未合并的情况,会看到实际导入的有很多网格体。
    image.png
    这种如果地面需要统一的一些操作就很不方便,比如拖入关卡,以及在场景中的移动,都会不太方便。

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

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

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

通过导入到关卡导入FBX

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

image.png

选择导入的位置:

image.png

弹出选项:

image.png

其中层级类型是:

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

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

image.png

image.png

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

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

导入GLTF

由于webgl用gltf比较多,所以手上模型多是gltf格式。
UE有插件可以导入gltf 。比如gltf for UE4, 另外一个出名的就是Datasmith,是一个官方的插件。 当然还没有实际操作过。后续实践过后,在写文介绍。

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

结语

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

标签:模型,FBX,网格,导入,文档,UE,GLTF
From: https://www.cnblogs.com/flyfox1982/p/16631122.html

相关文章

  • python 报错 most likely due to a circular import 解决方法
    原因各个python文件,互相引用,造成的循环引用问题。解决方法:把需要引用的独立成一个文件,让其单向引用使用python写一个稍微大一点的工程时,经常会遇到循环import,即cicular......
  • Vite+vue3发布后使用的静态图片无法显示Failed to construct ‘URL‘: Invalid URL
    1.使用官方引用静态资源处理,需要把图片放在public里面getImageUrl(name){returnnewURL(`./img/${name}.png`,import.meta.url).href} 2.本地运行项目中可以......
  • vue——minix混入
    1.功能:可以把多个组件共用的配置提取成一个混入对象2.使用方式:第一步定义混合:mixin.js第二步使用混入:全局混入:main.js中局部混入:   总......
  • Vite + Vue3 + Pinia + es6 + TypeScript 搭建项目
    vite中文参考文档:https://vitejs.cn/guide/#scaffolding-your-first-vite-project执行 npminitvite@latest步骤如下图:下载依赖npmi 启动项目:npmrundev ......
  • vue——props配置项
    1.props的功能:让组件接受外部传过来的数据2.传递数据:外部组件3.接受方式:1.简单声明接受: 2.限制类接收:3.接收的同时对数据进行限制类、限制必要性、指定默认值:......
  • axios和jquery封装ajax请求
        //axios封装的ajax    //get方法返回值是一个promise方法    //document.querySelector('.get').onclick=function(){    /......
  • Python - Requests(文件上传)
    文件上传(Form表单方式)1,单文件上传(1)下面是最简单的文件上传代码,运行后将logo.png这个文件上传到服务器:importrequests......Python-第三方HTTP库Requests使......
  • 【c++多线程】互斥量概念、用法、死锁演示以及unique_lock
    第5节互斥量概念、用法、死锁演示及解决详解(1)互斥量(mutex)的基本概念(2)互斥量的用法(2.1)lock(),unlock()(2.2)std::lock_guard类模板(3)死锁(3.1)......
  • vue路由跳转的的几种方式
    通常情况下如果只是已经写好功能的页面且通常不需要再发送请求拿数据就可以直接使用这个不带参数<router-link:to="{name:'home'}"><router-link:to="{path:'/home'......
  • 【前端】 第05回 JS操作与jQuery
    目录1.JS操作1.1JS获取用户输入1.2JS类属性操作1.3JS样式操作2.事件2.1事件理解2.2绑定事件的两种方式2.3事件中的关键字this2.4window.onload2.5校验用户输入案......