Ich bin mir ziemlich sicher, dass die Source Engine die einzige Engine ist, die dies sofort unterstützt. Sie können einige der technischen Probleme in einem Artikel lesen, den ich auf Gamasutra gefunden habe und der hier für zukünftige Leser kopiert wurde:
"Ein weiteres Problem, auf das wir gestoßen sind, war die Notwendigkeit, entfernungsbasierte Systeme wie den Detaillierungsgrad (LOD) für Modelle zu ändern, da bei unserem Spiel die Entfernung relativ zu den Portalstandorten ist.
Dies bedeutet, dass bei den Entfernungsberechnungen drei Linien ausgewählt wurden, die zwei Punkte und nicht nur eine Linie verbinden. Außerdem kann die Sichtlinie mehr als einmal durch ein einzelnes Portal verlaufen, um das Ziel zu erreichen.
Die Source Engine führt viele vorberechnete Sichtbarkeitsoptimierungen für das Keulen durch. Das Ermöglichen, dass Benutzer Sichtbarkeitsblätter mit Portalen überbrücken, erhöht die Komplexität zusätzlich.
Zum besseren Rendern haben wir eine Schablonenpuffer-Zeichenmethode für Portalansichten implementiert, die uns viel Flexibilität bei der Handhabung der Portalrekursionstiefe bietet. Dies ermöglichte es uns, eine unendlich tiefe Anzahl von Portalen zu rendern (nur durch die Leistung begrenzt), wodurch unsere "unendlichen" Flure ziemlich ordentlich aussahen.
Das Schablonenzeichnen half uns auch dabei, das Problem der ordnungsgemäßen Integration mit anderen Technologien in der Source-Engine wie dem HDR-Blooming zu lösen. Da wir unsere Szenen für unsere Portale zwei weitere Male rendern müssen, haben wir uns viel Mühe gegeben, um das Rendern von Portalen so schnell wie möglich zu gestalten, z. ""
Ich erinnere mich auch, dass ich irgendwo gelesen habe, dass es viele Sonderfälle gibt, wie Portale auf gegenüberliegenden Seiten desselben Blocks. Portale zu erstellen ist keine einfache Aufgabe.
BEARBEITEN:
Einen anderen guten Artikel gefunden , der Folgendes enthält:
Schnell wurde uns klar, dass wir eine robustere Methode zum Rendern der Portale benötigen, damit sich der Player und andere Objekte nahtlos zwischen ihnen bewegen können. Dies erforderte, dass wir uns etwas eingehender mit dem Rendering- und Physikcode der Source-Engine befassten und unser eigenes Portalsystem programmieren mussten.
Grundsätzlich mussten wir dem Quellphysiksystem anweisen, nur auf einer Seite einer Wand ein temporäres Loch zu bohren, und dass alles hinter dem Portal mit der Geometrie in einem anderen Teil der Karte verbunden ist. Dies zum Laufen zu bringen und die Lösungen für die Ausführung in Echtzeit zu optimieren, war eine große Herausforderung.