Blender插件:GLTF 2.0 导入/导出工具

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: Blender插件:GLTF 2.0 导入/导出工具
推荐:使用 NSDT场景编辑器快速搭建3D应用场景

用法

glTF™(GL传输格式)用于3D模型的传输和加载 在 Web 和本机应用程序中。glTF 减小了 3D 模型的大小和 解包和呈现这些模型所需的运行时处理。 这种格式在网络上常用,并且在各种3D引擎中都有支持。 比如Unity3D、虚幻引擎4和Godot。

此导入器/导出器支持以下 glTF 2.0 功能:

  • 网 格
  • 材料(原理BSDF)和无阴影(无照明)
  • 纹理
  • 相机
  • 准时灯光(点、点和方向)
  • 动画(关键帧、形状关键帧和外观)

网 格

glTF的内部结构模仿了图形芯片常用的内存缓冲区 实时渲染时,以便可以将资产交付到桌面、Web 或移动客户端 并以最少的处理及时显示。结果,四边形和 n 边形 导出为 glTF 时自动转换为三角形。 不连续的 UV 和平坦的阴影边缘可能会导致 glTF 中的顶点计数略高 与搅拌机相比,因为这样的顶点是分开的。 同样,曲线和其他非网格数据也不会保留, 并且必须在导出之前转换为网格。

材料

glTF中的核心材料系统支持金属/原石PBR工作流程 具有以下信息渠道:

  • 基色
  • 金属
  • 粗糙度
  • 烘烤环境光遮蔽
  • 法线贴图
  • 发射的

glTF 2.0 核心格式中可用的各种图像映射的示例。这是 水瓶示例模型与其各种图像映射的切片一起显示。

进口材料

glTF材料系统与Blender自己的材料不同。导入 glTF 文件时, 该插件将构建一组Blender节点,以尽可能接近地复制每个glTF材料。

导入器支持金属/原石 PBR (核心 glTF)、规格/光泽 PBR () 和无阴影 () 材料。KHR_materials_pbrSpecularGlossinessKHR_materials_unlit

提示

检查材料导入过程的结果是查看示例的好方法 可导出到 glTF 的材质节点和设置的类型。

出口材料

导出器支持金属/粗糙PBR(核心glTF)和无阴影()材料。 它将根据它在Blender材质中识别的节点构建glTF材质。 材料导出过程处理下述设置。KHR_materials_unlit

注意

当材质使用图像纹理时,glTF 要求图像采用 PNG 或 JPEG 格式。 该插件将自动转换其他格式的图像,从而增加导出时间。

提示

要创建无阴影(无光照)材质,请使用背景材质类型。

基色

glTF 基色是通过在原则 BSDF 节点上查找基色输入来确定的。 如果输入未连接,则输入的默认颜色(未连接的套接字旁边的色域) 用作 glTF 材质的基色。

可以直接在节点上指定纯基色。

如果发现图像纹理节点连接到基色输入, 该图像将用作 glTF 基色。

图像用作 glTF 基色。

金属和粗糙度

这些值是从原则 BSDF 节点读取的。如果这两个输入都未连接, 节点将显示滑块以控制它们在 0.0 和 1.0 之间的相应值, 这些值将被复制到 glTF 中。

使用图像时,glTF 期望金属值在蓝色 () 通道中编码, 以及在同一图像的绿色()通道中编码的粗糙度。 如果图像以不遵循此约定的方式连接到 Blender 节点, 加载项可能会尝试在导出过程中将图像调整为正确的形式(增加导出时间)。BG

在Blender节点树中,建议使用单独的RGB节点 将通道与图像纹理节点分开,以及 将绿色 () 通道连接到粗糙度,将蓝色 () 连接到金属。 glTF 导出商将识别此安排与 glTF 标准匹配,并且 这将允许它在导出过程中简单地将图像纹理复制到 glTF 文件中。GB

此时的“图像纹理”节点应将其“颜色空间”设置为“非颜色”。

以符合glTF标准的方式连接的金属/粗糙度图像, 允许在导出的 glTF 文件中逐字使用它。

烘烤环境光遮蔽

glTF能够存储烘焙的环境光遮蔽贴图。 目前没有导致Blender的节点排列 以与 glTF 中完全相同的方式使用此类映射。 但是,如果导出程序找到名为 和 的自定义节点组 查找在该节点组上命名的输入, 它将查找附加在那里的图像纹理,以用作glTF中的遮挡贴图。 效果不需要在Blender中显示,因为Blender还有其他显示环境光遮蔽的方式, 但此方法将允许导出器将遮挡图像写入 glTF。 这对于实时 glTF 查看器非常有用,尤其是在存在 可能不是在渲染时计算这些东西的备用电源。glTF SettingsOcclusion

预烘焙的环境光遮蔽贴图,连接到不渲染但将导出到 glTF 的节点。

提示

创建自定义节点组的最简单方法是导入现有的 glTF 模型 包含遮挡贴图,例如 水瓶或其他现有模型。也可以使用手动创建的自定义节点组。

glTF 将遮挡存储在红色 () 通道中,允许其选择性共享 具有粗糙度和金属通道的图像相同。R

这种节点组合模仿了glTF包装遮挡、粗糙度和 金属值到单个图像中。

提示

循环渲染引擎有一个烘焙面板,可用于烘焙 环境光遮蔽贴图。生成的图像可以保存和连接 直接到节点。glTF Settings

法线贴图

要在 glTF 中使用法线贴图,请连接图像纹理节点的颜色输出 连接到法线贴图节点的颜色输入,然后将法线贴图法线输出连接到 原则 BSDF 节点的正常输入。“图像纹理”节点 为此,应将其“颜色空间”属性设置为“非颜色”。

法线贴图节点必须保留在其默认属性“切线空间”上,作为 这是 glTF 目前支持的唯一法线贴图类型。 法线贴图的强度可以在此节点上进行调整。 导出器不会直接导出这些节点,而是会使用它们来定位 正确的图像,并将强度设置复制到 glTF 中。

连接了一个法线地图图像,以便导出器能够找到并复制它 到 glTF 文件。

提示

循环渲染引擎有一个烘焙面板,可用于烘焙 来自几乎任何其他法线向量节点排列的切空间法线贴图。 将烘焙类型切换为正常。保留默认空间设置 (空格:切线,R: +X,G:+Y,B:+Z)当将此烘焙面板用于glTF时。 生成的烘焙图像可以保存并插入到新材料中 如上所述的法线贴图节点,允许其正确导出。

请参见:循环渲染烘焙

发射的

图像纹理节点可以连接到发光着色器节点,并且 可以选择通过添加着色器节点与原则 BSDF 节点的属性组合。

如果 glTF 导出器找到连接到发光着色器节点的图像, 它会将该图像导出为 glTF 材质的自发光纹理。

可以将排放节点添加到现有节点。

注意

此导出器尚不支持原则 BSDF 节点的发射输入。 这可能会在将来的版本中更改。

双面/背面剔除

对于仅可以看到正面的材质,请打开背面剔除 Eevee 材质的“设置”面板。使用其他发动机(循环、工作台)时 您可以暂时切换到 Eevee 来配置此设置,然后切换回来。

对于双面材料,请取消选中此框。

此设置的反转控制 glTF 的标志。

混合模式

基色输入可以选择提供 alpha 值。 glTF 如何处理这些值取决于所选的混合模式。

选择 Eevee 渲染引擎后,每个材质都有一个混合模式 材质设置面板。使用此设置定义 alpha 值如何从 基色通道在 glTF 中处理。glTF 支持三种设置:不透明字母值将被忽略(默认值)。阿尔法混合较低的 Alpha 值会导致与背景对象混合。阿尔法剪辑低于“剪辑阈值”设置的 Alpha 值将导致部分 根本不要渲染的材料。其他所有内容都呈现为不透明。

选择Eevee引擎后,材质的混合模式是可配置的。

注意

请注意,透明度(或 Alpha 混合模式)对于实时引擎来说很复杂 进行渲染,并且在导出后可能会以意外的方式运行。在可能的情况下, 改用 Alpha 裁剪模式,或仅将不透明多边形放在后面 阿尔法混合多边形的单个图层。

紫外线贴图

通过连接 UV 贴图节点可以控制 UV 贴图的选择和变换 以及将节点映射到任何图像纹理节点。

“映射”节点中的设置使用名为 的 glTF 扩展名导出。 顶部有一个映射类型选择器。是建议导出的类型。还支持纹理矢量。支持的偏移量包括:KHR_texture_transform

  • 位置 - X 和 Y
  • 旋转 - 仅 Z 轴
  • 比例 - X 和 Y

对于纹理类型,缩放 X 和 Y 必须相等(均匀缩放)。

深思熟虑的UV贴图选择。

提示

这些节点是可选的。并非所有 glTF 读取器都支持多个 UV 贴图或纹理变换。

因素

任何图像纹理节点都可以选择与常量颜色或标量相乘。 这些将作为因子写入 glTF 文件中,它们是相乘的数字 使用指定的图像纹理。这些并不常见。

如果需要,单一材料可以同时使用上述所有材料。此图显示 同时应用上述多个选项时的典型节点结构:

具有自发光纹理的原则 BSDF 材质。

扩展

核心 glTF 2.0 格式可以使用 glTF 扩展扩展使用额外信息进行扩展。 这允许文件格式保存首次发布时不被视为通用的详细信息。 并非所有 glTF 阅读器都支持所有扩展,但有些扩展相当常见。

某些Blender功能只能通过这些扩展导出到glTF。 此附加组件直接支持以下 glTF 2.0 扩展:

进口

  • KHR_materials_pbrSpecularGlossiness
  • KHR_lights_punctual
  • KHR_materials_unlit
  • KHR_texture_transform

出口

  • KHR_draco_mesh_compression
  • KHR_lights_punctual
  • KHR_materials_unlit
  • KHR_texture_transform

动画

glTF 允许每个文件有多个动画,动画目标为 导出时的特定对象。为了确保包含动画, (a) 使其成为对象上的活动操作,(b) 创建单条带 NLA 轨道, 或 (c) 隐藏操作。

支持

仅支持某些类型的动画:

  • 关键帧(平移、旋转、缩放)
  • 形状键
  • 电枢/蒙皮

其他属性(如光源或材质)的动画将被忽略。

自定义属性

大多数对象的自定义属性都保留在 glTF 导出/导入中,并且 可用于用户特定目的。


原文链接:https://www.mvrlink.com/blender-plugin-gltf-import-export-tool/

目录
相关文章
Altium Designer导出Gerber文件的步骤
在设计好PCB之后就需要发出去制作,一般我们都会选择发送Gerber文件。当然也可以发送PCB原文件,只不过这样没有保密性,这个根据自己的实际情况来选择。如果PCB对于保密性没有要求,自己对工艺又不是很了解的话,为了方便可以直接发送PCB原文件。这里还是建议大家导出Gerber文件做比较好,下面我们就来看一下Altium Designer如何导出Gerber文件。
265 0
|
1月前
Threejs中导入GLTF模型克隆后合并
这篇文章详细说明了在Three.js中如何导入GLTF模型,对其进行克隆,并将多个克隆模型合并成一个整体模型的过程。
58 2
Threejs中导入GLTF模型克隆后合并
|
4月前
|
前端开发 Python
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。
|
6月前
|
人工智能 数据可视化 定位技术
【工具使用】QGIS导入csv文件进行数据可视化
【工具使用】QGIS导入csv文件进行数据可视化
213 0
|
6月前
|
存储 Java easyexcel
导出导入开发场景
导出导入开发场景
|
图形学
GLTF编辑器 解析什么是模型粗糙度
粗糙度作为PBR模型中的一个参数,可以用于控制材质的反射光照效果,使渲染结果更加真实、自然和具有质感。
274 0
|
存储 JSON 数据可视化
GLTF文件格式解析与预览、编辑
GLTF是一种免版税的规范,用于引擎和应用程序高效传输和加载3D场景和模型,最小化了3D资产的大小,以及解包和使用它们所需的运行时处理,定义了一种可扩展的发布格式,通过在整个行业中实现3D内容的互操作使用,简化了创作工作流程和交互服务。
804 0
|
存储 iOS开发 MacOS
Kakapos全平台视频导出并添加滤镜工具
Kakapos是一个视频添加过滤器工具,支持网络和本地网址以及相册视频。 同时可以简单的支持多种滤镜库,例如Harbeth、GPUImage、MetalPetal、CoreImage等等。 反正核心其实就是对`CVPixelBuffer`进行注入滤镜处理,然后再导出视频即可。 支持全平台系统,macOS、iOS、tvOS、watchOS
Kakapos全平台视频导出并添加滤镜工具
|
文件存储
2.将Blender模型导入到Creator中
2.将Blender模型导入到Creator中
471 0