推荐:用 NSDT编辑器 快速搭建可编程3D场景
将静态和动画 3D 内容集成到移动增强现实 (AR) 体验中是增强用户沉浸感和参与度的高效方法。 然而,为 AR 创建 3D 对象可能相当艰巨,尤其是对于那些缺乏 3D 建模经验的人来说。 与添加视频或照片 AR 图层不同,生成 3D 对象需要技术专业知识和专用软件。
不过,我们很乐意提供帮助 - 本教程旨在指导你使用免费开源 3D 创建软件 Blender 创建移动增强现实的 3D 内容。 以下文章提供了有关如何使用 Blender 生成可无缝集成到 3D编辑器中的 3D 对象的详细分步过程。
如果你已经有了可用的3D模型,只是需要转换成3D编辑器支持的格式,那么可以使用3DConvert这个在线3D格式转换工具。
1、为什么Blender 是增强现实的绝佳选择?
凭借其强大的 3D 建模工具套件和开源可用性,Blender 是希望在不花太多钱的情况下创建移动增强现实内容的开发人员和设计人员的绝佳选择。 Blender 提供的一系列功能可与 Cinema 4D、3DS Max 和 Maya 等昂贵的 3D 建模软件相媲美。 除非你已经投资了付费软件,否则选择比 Blender 更昂贵的替代品并没有显着的优势。
在过去的几年中,Blender 在扩展其功能和特性方面取得了显着的进步。 它现已被广泛认为是创建 3D 内容的行业标准工具。 凭借其用户友好的界面和全面的功能集,Blender 已成为寻求将其用于 AR 的新手和专家的热门选择。
2、准备 3D 对象以供3D 编辑器使用
为了确保你的 3D 对象与 3D 编辑器兼容,正确准备它们非常重要。 如果你的对象没有任何运动或动画,则可以以 OBJ 格式导入它们。
但是,如果你有更复杂的动画场景,则需要以 glTF 或 FBX 格式导出它们。 glTF 格式特别适合 Web 和移动应用程序,因为它针对快速加载和渲染进行了优化。
要为 3D 编辑器创建 3D 对象,你需要从 Blender 导出 3D 模型和动画,然后将此 3D 对象上传到 3D 编辑器,该编辑器具有内置文件优化工具。
3、了解 3D 模型的结构:多边形和网格
3D 开发的初始阶段是建模,其中对象实际上是在三个维度中创建的。 Blender 提供多种建模技术,其中“网格建模”是使用最广泛和基本的方法。
什么是网格?
在 3D 建模中,网格是指定义对象形状的一组顶点、边和面。
顶点(Vertex)也可以称为点,是空间中的单个位置:
边(Edge)是连接两个顶点的直线,定义它们之间的线段:
面(Face)也称为多边形,是由边包围的平坦表面。 它由通过边连接的三个或更多顶点来定义。
什么是多边形?
多边形是三维空间中三个或多个顶点用直边连接而成的几何形状。 顶点、边和面是多边形的基本组成部分,其中面指的是多边形的内部区域。 多边形建模通常涉及使用称为三角形的三边形状或称为四边形的四边形状。
多边形面由三个或更多顶点及其关联边包围的区域定义。 许多连接的面创建多边形网格,也称为多边形集或多边形对象,用于创建 3D 多边形模型。
在 Blender 中创建增强现实模型和场景时,对于所需的多边形数量没有具体要求。 然而,重要的是要记住,人们可能会在各种设备上访问此内容,其中一些设备可能较旧。 为了确保最佳性能,最好保持较少的多边形数量。
虽然现代设备可以轻松处理 60 万到 100 万个多边形,但建议将移动设备的场景限制为 25 万个多边形。
3、准备动画
对象动画可以通过多种方式创建,包括对象变换,其中涉及更改对象的位置、大小以及沿 x、y 和 z 轴的旋转。 对象绑定是另一种对于复杂对象(例如人类、动物和具有多个部件的机械设备)进行动画处理的方法。
例如,最近的一个项目利用索具系统来模拟蝴蝶翅膀的运动。
要创建动画,需要在时间轴中标记关键帧,以指示对象骨骼或骨架在 x、y 和 z 空间中发生变化的位置。
时间轴是用于创建动画的主要工具,动画标题及其与特定对象的关联添加在“摄影表”选项卡中,可以通过“动作编辑器”视图访问该选项卡。
5、了解渲染可视化和 AR 之间的颜色和光线差异
在 Blender 中向对象添加颜色是一项简单的任务。 你可以选择一种材质并为其指定颜色。 但是,如果你希望合并其他视觉元素,例如纹理、符号或颜色变化,则需要创建材质。
Blender 提供了一个选项来创建纹理并将其烘焙到 .JPG 或 .PNG 形式的对象上。 创建纹理时,确保场景中的闪电和阴影不被烘焙非常重要,因为它们会与 Unity 项目灯光发生冲突。 因此,建议选择烘焙类型为“漫反射”,并且仅打开“颜色”选项。
在烘焙纹理之前,必须检查法线是否面向正确的方向。 如果不是,某些多边形将在 3D编辑器环境中显示为黑色或透明。 扭转法线可以解决这个问题。 一旦纹理被烘焙,它就可以被分配给一个特定的对象,并且可以使用附加的纹理创建一个新的材质。
请记住,在 Sketchfab、Blender 或 Unity 3D 等平台上查看 3D 模型时,由于渲染系统的差异,外观可能会有所不同。 这些系统以独特的方式处理光照、纹理和阴影等元素,导致模型的最终外观略有不同。
然而,通过利用 glTF 或 GLB 格式以及通用材质层 (UML) 材质,可以标准化模型的外观,从而确保跨不同平台的视觉输出更加一致。
6、UV 映射指南
在 3D 建模中对模型进行纹理处理之前,创建 UV 坐标系贴图至关重要。 尽管这听起来令人畏惧,但这是一个简单的过程。 简而言之,它是显示 3D 对象上纹理出现位置的 2D 图像。 这就像为一个立方体创建纸张布局,然后进行切割、折叠和粘合。 创建布局后,可以为每个对象设计纹理并将其导入3D编辑器。
除了前面提到的方法之外,还可以使用Photoshop等程序来创建纹理。 可以使用各种纹理使材质变得有光泽、透明、粗糙或类似。 每个纹理应保存为 .JPG 文件。 例如,这对于创建窗户的反射或突出显示建筑物立面的不同方面非常有用。
在 Blender 中,无需创建灯光或摄像机,因为准备好的文件可以直接导入 3D 编辑器中。
7、了解文件格式和 glTF 的优点
创建动画后,必须以 glTF (.gltf/.glb)、FBX 或 OBJ 格式导出。 这些文件类型允许保存对象、纹理、动画和骨架。
glTF 文件格式在业界越来越流行。 其设计强调紧凑的文件大小、快速加载、运行时独立性和完整的 3D 场景表示。
在 glTF 之前,创建工具和引擎之间传输 3D 模型数据的两种主要格式是 FBX 和 OBJ。 FBX 有许多过时的功能,其专有性质和大型 C++ SDK 阻止在 Web 浏览器中直接加载。 对于OBJ格式来说,它的功能有限,并且在存储空间和读/写速度方面效率低下。
一些行业专家预计 glTF 的使用将持续增长,使其有可能成为行业内资产交换的标准格式。 鉴于 Blender 在增强现实方面的潜力,它可以在实现这一结果方面发挥重要作用。
最后,导出时,仅包含网格和骨架很重要。 最佳实践是在提交文件的同时提供纹理贴图到 3D编辑器,以确保顺利集成。
8、从 Blender 以 glTF 格式导出 3D 模型
要从 Blender 以 glTF 格式导出 3D 模型,请按照以下步骤操作:
- 在 Blender 中打开你的 3D 模型。
- 确保模型设置正确,包括材质、纹理和 UV 贴图。
- 单击 Blender 界面左上角的“文件”,然后从下拉菜单中选择“导出”。
- 从导出格式列表中选择“glTF 2.0 (.glb/.gltf)”。
- 在右侧的导出选项面板中,选择“GLB”(二进制格式)或“GLTF”(文本格式)作为你的首选格式。 GLB 文件更紧凑,而 GLTF 文件更容易被人类读取。
- 如有必要,配置其他导出设置,例如应用修改器、选择要导出的对象或调整动画设置。
- 选择导出文件的目标文件夹并为其命名。
- 单击“导出”以所选格式保存文件。
9、故障排除指南
当你在 Blender 中处理 3D 内容时,可能会遇到纹理外观损坏等问题,但这些通常是由于易于修复的人为错误造成的。 以下是一些最常见的场景:
- 检查错误:将导出的glTF文件重新导入Blender中,看是否显示正确。 如果没有,请查看 Blender 控制台中是否有任何错误消息,因为它们可能提供有关问题的有用信息。
- 验证材质和纹理:确保材质和纹理正确应用于 Blender 中的模型。 纹理缺失或分配不当可能会导致外观损坏。 另外,请确保你使用支持的材质类型进行 glTF 导出。
- 检查 UV 映射:仔细检查模型的 UV 映射,以确保纹理正确映射到几何体。 不正确的 UV 贴图可能会导致导出模型上的纹理扭曲或错位。
- 应用变换:在导出之前,通过选择对象,按 Ctrl+A,然后选择“所有变换”,对模型应用任何变换(缩放、旋转、位置)。
- 应用修改器:如果你的模型具有任何修改器(例如细分曲面或布尔值),请在导出之前应用它们,以确保导出的文件中包含正确的几何图形。
- 仔细检查导出设置也是一个好习惯。
10、将移动增强现实提升到新的水平
正如本指南所证明的那样,Blender 是一款功能强大的 3D 建模和动画软件,为创建移动增强现实项目提供了众多优势。
其多功能性使开发人员能够创建复杂的 3D 模型和动画,并将其导出到 3D编辑器。 该软件与 glTF 文件格式的兼容性确保了移动设备的模型和动画的高效压缩,同时保持其高质量。
Blender 拥有大量针对 AR 特定内容的插件和附加组件,是渴望为移动设备创建身临其境的一流 AR 体验的增强现实开发人员的首选。
原文链接:Blender增强现实模型制作 — BimAnt