fSpy ist eine kostenlose Software, mit der sich die Perspektive eines realen Bildes in einer virtuellen Umgebung rekonstruieren lässt.



Videotranskript

fSpy Home (fspy.io)

Hallo! Auf dem Bildschirm siehst du ein Foto von vor etwa 30 Jahren, auf dem mein jüngerer Bruder, meine Mutter und mein Großvater väterlicherseits abgebildet sind, an der Schule, die ich als Kind besucht habe.

Was du jetzt siehst, ist derselbe Ort, in Blender nachgebaut, in Substance Painter texturiert und in Unity begehbar gemacht.

Ausgehend von diesem einfachen Flur habe ich anschließend weitere Umgebungen nachgebildet, aber alle Projekte haben eines gemeinsam: Ich beginne immer mit fSpy, um die Position der virtuellen Kamera zu rekonstruieren, und da man die Abmessungen eines Referenzobjekts angeben kann, auch die Dimensionen von Räumen und Objekten.

fSpy ist eine kostenlose Software, mit der sich die Perspektive eines realen Bildes in einer virtuellen Umgebung rekonstruieren lässt. Sie ist äußerst nützlich für Fotomontagen oder das Nachbauen von Objekten und Umgebungen anhand eines Fotos. In der Videobeschreibung findest du den Link zur Hauptseite der Software, die ich gerade auf dem Bildschirm zeige. fSpy ist ein eigenständiges Programm, das die rekonstruierten Daten in einer Projektdatei speichert. Um diese Datei in Blender zu importieren, muss auch das entsprechende Add-on heruntergeladen werden, das die Integration mit Blender ermöglicht. Bevor wir mit dem Tutorial beginnen, möchte ich dir die Seite des Entwicklers Per Gantelius zeigen.

Nach dem Herunterladen und Installieren von fSpy starten wir die Anwendung. In der Bildschirmmitte befindet sich ein Button, mit dem man das Beispielprojekt öffnen kann, das auf der Website des Programms erklärt wird. Wir ignorieren das und importieren stattdessen ein Foto in fSpy. Das geht entweder über das Menü File oder einfach per Drag-and-Drop des Bildes auf die Hauptoberfläche von fSpy.

Im Menü auf der linken Seite können wir die Anzahl der Fluchtpunkte festlegen, die im Bild identifiziert werden sollen. Ich lasse sie auf 2, da man auf einen Blick sofort einen Fluchtpunkt erkennen kann, der sich bei der Tür im Hintergrund des Fotos befindet, während der zweite Fluchtpunkt sich rechts außerhalb des Bildes befinden müsste, entlang der Linien der Fliesen und des Trägers am Ende des Flurs.

Die Verwendung von fSpy ist äußerst einfach: Man muss lediglich auf die Enden der farbigen Segmente klicken und sie so positionieren, dass sie Fluchtlinien nachzeichnen, die fSpy dann zur Bestimmung der Fluchtpunkte verwendet. Wenn man beim Klicken auf einen dieser Kontrollpunkte die SHIFT-Taste gedrückt hält, wird eine Lupe aktiviert, mit der man die Platzierung präziser vornehmen kann. Es gibt insbesondere zwei Segmentpaare, da jedes Paar entlang einer der beiden Achsen, X und Y, ausgerichtet werden muss. In meinem Fall habe ich großes Glück, denn der Boden, die Wände und die Balken liefern viele Linien, mit denen ich die beiden Paare positionieren kann.

Dir ist vielleicht auch aufgefallen, dass sich beim Platzieren der Kontrollpunkte das Koordinatensystem, das auf dem weißen Punkt zentriert ist, entsprechend ausrichtet, insbesondere die X- und Y-Achsen orientieren sich an den Fluchtlinien des Bildes. Der weiße Punkt stellt den Ursprung des virtuellen Universums in Blender dar.

In diesem Fall wurde das Koordinatensystem mit nur wenigen Schritten gut rekonstruiert. Sollte jedoch die Z-Achse nach unten zeigen oder andere Probleme mit der Ausrichtung der Achsen auftreten, versuche, im Menü Vanishing Point Axes die Achsenanordnung anzupassen.

Wenn es in dem Bild Entfernungen gibt, deren Wert du kennst, oder Objekte, deren Maße dir ungefähr bekannt sind, kannst du im Menü Reference Distance eine Achse als Referenz auswählen und die Kontrollpunkte des angezeigten Segments verschieben, um eine Länge zuzuweisen. In meinem Fall kenne ich zwar nicht die Höhe der Tür im Hintergrund, aber ich weiß, dass die Basis der Pfeiler etwa 1 Meter hoch war. Deshalb verschiebe ich den Ursprung des virtuellen Universums auf einen Scheitelpunkt an der Basis des Pfeilers und skaliere das Reference Distance-Segment so, dass es mit der Höhe der Pfeilerbasis übereinstimmt, bevor ich im numerischen Feld des Reference Distance-Menüs 1 Meter angebe.

Sobald das erledigt ist, muss nur noch die ermittelte Information exportiert werden. Das geschieht ganz einfach über Save As im File-Menü, wobei man einen Speicherort auf der Festplatte angibt.

Wie bereits erwähnt, muss zusätzlich zur Standalone-Software fSpy auch das Blender-Import-Add-on heruntergeladen werden, das über den Reiter Add-Ons im Preferences-Fenster installiert werden kann.

Um ihn zu verwenden, müssen wir in den Import-Bereich des File-Menüs gehen und die Projektdatei importieren, die wir gerade auf der Festplatte gespeichert haben.

Das Add-on erstellt eine virtuelle Kamera mit demselben Hintergrundbild, das im fSpy-Projekt verwendet wurde. Der Ursprung des virtuellen Universums in Blender wird genau dort sein, wo wir im fSpy-Projekt den weißen Punkt mit den kartesischen Achsen platziert haben, als wir das Projekt gespeichert haben.

Im fSpy-Projekt habe ich den Origin an der Basis einer der Säulen positioniert und die Maße so eingestellt, dass der untere Teil jeder Säule als 1 Meter hoch betrachtet wird. Wenn wir nun einen Würfel mit Seitenlängen von einem Meter einfügen und ihn am Origin des virtuellen Universums platzieren, wird dieser Würfel perfekt mit der Basis der Säule im Bild übereinstimmen.

Jetzt kannst du mit dem Modellieren der Umgebung und der darin enthaltenen Elemente fortfahren. Hier zeige ich ein Timelapse einer groben Modellierung der Szene, um zu veranschaulichen, wie die Ausrichtung der virtuellen Kamera, die durch fSpy erzeugt wurde, die Geometrien an den Elementen des Originalfotos ausrichtet.

In diesem zweiten Timelapse zeige ich das Platzieren einiger individuell erstellter Assets, die dann in die Szene importiert wurden. Mithilfe der Werkzeuge zum Einrasten an Vertex und Edge lässt sich die Positionierung und Skalierung der Objekte im Raum leicht durchführen. Danach folgen Anpassungen, UV Unwrapping und die Texturierung der Oberflächen, was zu einer schnellen Rekonstruktion einer virtuellen Umgebung aus einem Foto führt, mit relativ genauen Maßen, Abständen und Proportionen.

Ich hoffe, dieses Tutorial war hilfreich! Bis bald!

Diese Website dient ausschließlich der Präsentation einiger meiner Arbeiten und verfolgt keinerlei werbliche Absichten. Bitte beachten Sie, dass ich derzeit keine Anfragen für individuelle Auftragsarbeiten, Beratungsleistungen oder andere Formen beruflicher Zusammenarbeit suche oder beantworte.


ERWEITERTE DATENSCHUTZ- UND COOKIE-VERWENDUNGSRICHTLINIEN