3D 基础知识
在 3D 建模的世界中,两种常用的 3D 数据表示方式是网格和 Splat。两者都提供了独特的方式来可视化和与 3D 环境交互,但它们在结构和应用方面有所不同。
本节介绍网格和 Splat 的基础知识,帮助你了解它们的区别以及如何使用各种程序来创建它们。无论你是想扫描真实世界的物体还是创建令人惊叹的 3D 环境,这些工具都能提供必要的功能,将你的想法变为现实。
基于网格的格式
网格是 3D 物体的结构化表示,由顶点(空间中的点)、边(连接点的线)和面/多边形(通常是三角形或四边形,构成表面)组成。这些元素共同定义了物体的形状、表面细节和几何形状。
示例:网格
你可以将网格比作编织:
- 顶点 = 针脚
编织中的每一个针脚就像网格中的一个点(顶点)。它位于特定位置,并与其他针脚相连。 - 边 = 针脚之间的线
连接针脚的线就像网格中的边。它们将结构连接在一起。 - 面 = 织物片段
当多个针脚连接在一起时,就会形成一片织物——就像网格中由边组成的面。
详细说明:
想象你正在编织一个小小的隔热垫方块:
- 你从一排针脚(顶点)开始。
- 你逐行编织,将针脚连接在一起(边)。
- 最后,你得到一块连续的织物——它就像一个由许多小面组成的网格。
支持的文件格式:.glb、.glTF
验证创建文件的工具:https://gltf-viewer.donmccurdy.com/
Splat
这种技术主要被称为 3D Gaussian Splatting(3DGS)。它是一组微小的 3D 高斯体(椭球形状),存储了位置(X、Y、Z)、形状和方向、颜色(rgb)以及 alpha 值(Splat 的不透明度/透明度)。这些高斯体共同形成一种云状效果,看起来像是物体或环境的表面。换句话说——你使用的是体积数据,而非将数据转换为表面和边。
示例:Gaussian Splatting
你可以把 3D Gaussian Splatting 想象成创作涂鸦壁画——不是在平面墙壁上,而是漂浮在 3D 空间中。
- 每个高斯体 = 空气中的一次喷漆
就像你按下喷罐快速喷出一团,一个 Gaussian Splat 就是一个从中心向外平滑衰减的柔和彩色点。 - 位置(
X、Y、Z)= 喷漆在 3D 空间中的落点
每次喷漆都发生在空间中的特定点,就像在半空中喷了一个点。 - 形状和方向 = 喷漆的扩散和角度
如果你倾斜喷罐或从远处喷射,点会被拉伸或倾斜。在 3DGS 中,这是一个椭球形高斯体——它可以被压扁、拉伸或朝向任何方向。 - 颜色(
RGB)= 你使用的油漆颜色
每次喷漆都携带颜色信息——红、绿、蓝——就像油漆一样。 - Alpha(透明度)= 油漆密度
在中间,颜色最为浓实。它向边缘逐渐衰减。这种衰减就像 Splat 的不透明度。
详细说明:
现在想象通过在空间中喷射数千个微小的半透明点来创建一个雕塑:
- 每次"喷射"都贡献了一点颜色和密度。
- 它们共同形成一种看起来像你试图描绘的物体的云状效果。
- Splatting 使用这些漂浮的彩色喷射点来描绘世界。
支持的文件格式:.ply、.spz、.splat
网格与 Splat 对比
| 类别 | 网格 | Splat |
|---|---|---|
| 是什么 | 由点、边和表面/多边形构成的 3D 形状 | 空间中彩色 Splat 组成的云,有时略显模糊 |
| 数据结构 | 有序的、连接的几何体 | 松散的、不连接的 Splat |
| 如何创建 | 手工建模或来自 CAD/扫描 | 通常来自照片、3D 扫描或相机数据 |
| 可编辑性 | 容易修改、制作动画或塑形 | 难以编辑或制作动画 |
| 纹理贴图 | 使用 UV* 贴图和材质 | 颜色直接存储在每个 Splat 中 |
| 用途 | 游戏、动画、建筑、3D 打印 | 真实世界扫描、VR/AR、逼真的场景 |
| 真实感 | 良好——取决于纹理和细节 | 非常高——非常适合扫描的真实世界场景 |
| 文件大小 | 通常较小——取决于使用的三角形/顶点数 | 可能较大,因为包含大量 Splat |
*UV 贴图是一种将 2D 纹理(例如图片)分配到表面的技术。我们在每个空间内部也使用同样的技术——当你为墙壁或舞台上传图片时,我们像皮肤一样将图片覆盖在物体上。
每个平台提供不同类型的格式。你必须从一开始就选择正确的方法——Scaniverse 就是这种情况。从一开始选择正确的方法非常重要,否则后续可能会出现问题。因此,以下是一般规则:
- 基于网格的格式
.glb、.glTF - Gaussian Splat
.ply、.spz、.splat、.sog
扫描和创建网格或 Splat
要创建网格或 Gaussian Splat,有多种平台可供选择,每种平台都提供针对不同需求的独特功能。以下是一些常用的 3D 模型生成工具:
- Scaniverse
- Polycam
- RealityScan
Scaniverse 是一款强大的移动应用程序,允许你使用智能手机或平板电脑的摄像头创建高质量的 3D 扫描。它以易用性和可访问性著称。
- 支持的设备: iOS(iPhone 和 iPad)*
- 文件类型:
.obj、.ply、.stl、.fbx - 使用场景: 非常适合快速生成 Gaussian Splat 并将其转换为可导出进行进一步编辑或分享的模型。 它也可在 Android 上使用,但目前在 iOS 上的优化程度更高
Polycam 是一个领先的移动 3D 扫描平台,使用摄影测量和 LiDAR 技术来生成精确的 Gaussian Splat 和模型。
- 支持的设备: iOS(配备 LiDAR 的设备)、Android
- 文件类型:
.obj、.ply、.fbx、.stl - 使用场景: Polycam 擅长为专业用途和爱好项目生成高质量模型,提供强大的编辑功能和导出选项
RealityScan 是由 Epic Games(与 Capturing Reality 合作)开发的移动摄影测量应用,允许你仅使用智能手机摄像头就能轻松将真实世界的物体转换为高质量的 3D 模型。它专为快速随时随地的 3D 捕获而设计,并直接与 Sketchfab 集成以进行发布和分享。
- 支持的设备: iOS、Android
- 文件类型:
.obj、.glb(通过 Sketchfab 导出) - 使用场景: RealityScan 非常适合想要快速扫描物体并即时上传的初学者和创作者。该应用会引导你完成扫描过程,自动构建网格,并让你一键发布到 Sketchfab 账户。
Postshot 是一款辐射场软件。它允许创作者使用任何相机在几分钟内轻松创建照片级真实的 3D 场景和物体。只需围绕物体拍摄 3 圈,录制约 1-2 分钟的视频并上传。其余工作由程序完成。
- 支持的平台: Windows 10 或更高版本
- 文件类型:
.ply - 使用场景: Postshot 非常适合寻求无缝工作流程来创建高质量 3D 内容的专业人士,其功能支持在统一平台内完成拍摄、训练、动画制作和渲染。
使用现有素材创建 Splat
- PostShot
Postshot 是一款辐射场软件。它允许创作者使用任何相机在几分钟内轻松创建照片级真实的 3D 场景和物体。只需围绕物体拍摄 3 圈,录制约 1-2 分钟的视频并上传。其余工作由程序完成。
- 支持的平台: Windows 10 或更高版本
- 文件类型:
.ply - 使用场景: Postshot 非常适合寻求无缝工作流程来创建高质量 3D 内容的专业人士,其功能支持在统一平台内完成拍摄、训练、动画制作和渲染。
编辑网格和 Gaussian Splat
- Blender
- SuperSplat
- MeshLab
Blender 是一个强大的开源 3D 创作套件,被全球的艺术家、设计师和开发者所使用。它支持整个 3D 流程,包括建模、雕刻、骨骼绑定、动画、模拟、渲染、合成和视频编辑。Blender 高度可定制,拥有庞大的插件生态系统和社区支持。
- 支持的设备: Windows、macOS、Linux
- 文件类型: .blend(原生格式),另外支持导入/导出
.obj、.fbx、.stl、.glb/.glTF、.ply、.dae等多种格式 - 使用场景: Blender 适用于技术和艺术工作流程。它包含高级雕刻工具、使用 Eevee 的实时渲染,以及强大的基于节点的材质编辑器。通过插件,它还支持 Gaussian Splat 可视化和基于 Splat 的渲染,使其成为处理各种 3D 内容的灵活选择。
SuperSplat 提供了一个专门的工具,用于从 Splat 数据创建基于 Splat 的 3D 模型。它非常适合那些希望通过用 Splat 替换点来增强模型视觉效果的用户。
- 支持的设备: 基于网页、桌面端
- 文件类型:
.obj、.ply、.fbx、.stl - 使用场景: SuperSplat 的独特之处在于它能够通过将 Gaussian Splat 转换为 Splat 来提供更平滑的可视化效果,创建更连续、更美观的 3D 模型。
MeshLab 是一款免费开源软件,专为处理和编辑 3D 网格模型而设计。它特别适用于清理、修复、转换和可视化来自扫描或点云的 3D 数据。
- 支持的设备: Windows、macOS、Linux
- 文件类型:
.ply、.obj等多种格式 - 使用场景: MeshLab 擅长处理 3D 扫描数据和点云,提供网格清理、简化、平滑、表面重建和纹理映射工具。它广泛应用于学术研究、文化遗产保护和 3D 打印工作流程。虽然它不支持
.splat或.spz格式,但在 Splatting 阶段之前或之后准备和分析数据方面非常有效。
出售或购买资源
- Sketchfab
- Poly Pizza
Sketchfab 是一个流行的平台,用于查看、分享和出售 3D 模型,包括 Gaussian Splat 和 Splat。它允许创作者在交互式 3D 查看器中上传和展示他们的 3D 模型。
- 支持的设备: 基于网页(所有设备均可访问)、iOS、Android
- 文件类型:
.obj、.stl、.fbx、.ply、.glTF - 使用场景: Sketchfab 不仅是一个创建 3D 模型的平台,还是一个市场和社区中心,为专业人士和爱好者提供广泛的工具来与他们的 3D 内容互动。
Poly Pizza 是一个免费平台,用于查看和分享 3D 模型,专注于网页和实时应用的便捷集成。它专注于低多边形模型,并支持 glTF 格式以实现流畅的网页就绪 3D 体验,包括 Gaussian Splat。
- 支持的设备: 基于网页
- 文件类型:
.glTF、.fbx、.glb - 使用场景: Poly Pizza 非常适合在浏览器中快速展示轻量级 3D 模型。它非常适合开发者或任何寻求便捷交互式 3D 内容的人,尤其是用于网页和 VR 应用。