fSpy 是一款免费的软件,可以在虚拟环境中重建真实世界图像的透视关系。


本教程的视频版本目前尚未提供该语言版本。


视频文字稿

fSpy Home (fspy.io)

你好!你现在在屏幕上看到的是一张大约 30 年前的照片,照片中有我年幼的弟弟、我的母亲以及我的祖父。地点是我小时候就读的那所学校。

你现在看到的是同一地点在 Blender 中重建的场景,在 Substance Painter 中完成了贴图,并在 Unity 中实现了可自由漫游。

从这个简单的走廊开始,我随后重建了其他环境,但所有项目都有一个共同点:我总是从 fSpy 开始,用它来重建虚拟相机的位置。由于我们可以指定一个参考物体的尺寸,因此也能够确定环境和物体的实际尺寸。

fSpy 是一款免费的软件,可以在虚拟环境中重建真实世界图像的透视关系。它在制作照片合成或基于照片重建物体和环境时非常有用。在本视频的描述中,你可以找到该软件主页的链接,我现在正在屏幕上展示它。fSpy 是一款独立软件,会将重建的数据导出为一个项目文件。要将这个项目文件导入 Blender,还需要下载相应的 add-on,以便在 Blender 中启用其集成功能。在正式进入教程之前,我觉得有必要向大家展示它的作者 Per Gantelius 的页面。

下载并安装 fSpy 后,我们启动该应用程序。在屏幕中央有一个按钮,可以打开示例项目,该项目在软件官网上配有教程。我们先忽略它,直接将一张照片导入 fSpy。你可以通过 File 菜单导入,也可以直接将图片拖拽到 fSpy 的主界面中。

在左侧菜单中,我们可以定义需要在图像中识别的消失点数量。我将其保持为 2,因为乍一看,我可以立即识别出一个消失点,应该位于照片后方的门上;而第二个消失点应该在右侧画面之外,沿着地砖和走廊尽头横梁的线条方向延伸。

使用 fSpy 非常简单。我们只需点击彩色线段的两端,将它们放置在能够描绘消失线的位置,fSpy 就会利用这些线条来计算消失点。按住 SHIFT 键并点击其中一个控制点,可以激活放大镜,以便更精确地定位。我们有两组线段,每一组都需要沿着两个轴之一进行对齐,也就是 X 轴和 Y 轴。在我的案例中,我非常幸运,因为地板、墙壁和横梁提供了大量可以用于放置这两组线段的参考线。

你可能还注意到,当我移动控制点时,以白色圆点为中心的参考坐标系正在自动对齐,特别是 X 轴和 Y 轴会沿着图像中的消失线方向排列。这个白色圆点代表在 Blender 中虚拟世界的 Origin。

在这个例子中,只需几个步骤就成功重建了参考坐标系。如果 Z 轴朝下,或者出现其他轴方向问题,可以在 Vanishing Point Axes 菜单中调整轴的方向设置。

如果图像中存在你已知实际长度的距离,或者有你大致了解尺寸的物体,你可以在 Reference Distance 菜单中选择一个轴作为参考,然后移动对应线段的控制点,为其设定长度。在我的情况下,我不知道后方那扇门的高度,但我知道柱子底座的高度大约是 1 米。因此,我将虚拟世界的原点移动到柱子底座的一个顶点上,并调整 Reference Distance 线段,使其与柱子底座的高度一致,然后在菜单中 Reference Distance 部分出现的数值字段中输入 1 米。

完成这些步骤后,只需导出所获得的信息即可。可以在 File 菜单中选择 Save As,并指定磁盘路径来保存文件。

正如之前提到的,除了 fSpy 独立软件之外,还需要下载 Blender 的导入 add-on。该插件可以通过 Preferences 窗口中的 Add-Ons 选项卡进行安装。

要使用它,我们需要进入 File 菜单中的 Import 部分,导入刚才保存到磁盘中的项目文件。

该 add-on 会创建一个虚拟相机,并使用与 fSpy 项目中相同的背景图像。Blender 虚拟世界的原点将位于我们在 fSpy 中使用笛卡尔坐标轴白色圆点所设置的位置,也就是保存项目时所确定的位置。

在 fSpy 项目中,我将 Origin 放在其中一个柱子的底部,并设置尺寸,使每个柱子的底座高度为 1 米。现在插入一个边长为 1 米的立方体,并将其放置在虚拟世界的原点位置,这个立方体将与照片中柱子的底座完全重合。

接下来,你就可以开始对环境及其中的元素进行建模。在这里,我展示了一段环境粗略建模的延时视频,用来说明由 fSpy 创建的虚拟相机方向如何使几何体与原始照片中的元素精准对齐。

在第二段延时视频中,我展示了一些单独制作的资产的摆放过程,这些资产随后被导入到场景中。通过使用顶点和边缘吸附工具,可以轻松地在环境中定位元素并调整其尺寸。随后进行细节调整、UV 展开和表面贴图处理,从而快速地根据一张照片重建一个虚拟环境,并获得相当准确的尺寸、距离和比例。

希望本教程对你有所帮助!我们下次再见!

本网站仅用于展示我的部分作品,不具有任何推广或商业目的。请注意,目前我不接受,也不会回复任何定制项目、咨询服务或其他形式的合作请求。


高级隐私策略信息和cookie文件的使用