Koordinatenräume in World Locking Tools für Unity
World Locking Tools for Unity (WLT) stellt ein stabiles weltgebundenes Koordinatensystem mit konfigurierbarer Abbildung der physischen Welt bereit.
Diese Transformation vom sich verändernden, nicht persistenten und unbestimmten nativen globalen Unity-Koordinatenraum zum weltgebundenen Raum erfolgt in Schritten. Jeder Zwischenkoordinatenraum hat einen Namen.
Bis zu einem gewissen Grad sind diese Namen willkürlich. Folgende Namen werden in der WLT-Dokumentation und im Code für die Zwischenkoordinatenräume verwendet:
Spongy Space
: Der globale Unity-Koordinatenraum, den Sie ohne WLT erhalten würden. Ein stationäres Objekt im Spongy Space (eines, dessen Koordinaten unveränderlich sind) bewegt sich relativ zur physischen Welt.
Play Space
: Eine Positions-/Drehungstransformation vom Spongy Space. Sie kann verwendet werden, um Features wie beispielsweise eine Teleportation zu implementieren.
Locked Space
: Der durch die FrozenWorld-Engine berechnete und von WLT implementierte weltgebundene Raum. Ein stationäres Objekt im Locked Space bleibt in Relation zu den Merkmalen in der physischen Welt unverändert. Die numerischen Werte der Koordinaten sind jedoch willkürlich.
Pinned Space
: Eine Transformation vom Locked Space, um Koordinaten die gewünschte Zuordnung zur physischen Welt zu verleihen. Ein Objekt mit der Position (X,Y,Z) wird an einer bekannten, vordefinierten Position relativ zu Merkmalen der physischen Welt angezeigt.
Frozen Space
: Eine Positions-/Drehungstransformation vom Pinned Space, mit der die Anwendung eine beliebige Transformation auf die Kamerahierarchie anwenden kann.
Der Einfachheit halber stellt WorldLockingManager Transformationen zwischen all diesen Räumen bereit. Die nützlichste davon ist beispielsweise FrozenFromSpongy, eine Position, die vom Spongy Space zum Frozen Space transformiert wird. Dies ist nützlich, wenn Koordinaten, die von nativen APIs zurückgegeben werden, die keine Kenntnis von WLT haben und daher im Spongy Space ausgeführt werden, in den Frozen Space konvertiert werden.
Beachten Sie, dass bei Verwendung von MRTK solche Übersetzungen nicht erforderlich sind. Der Koordinatenraum ist bereits ein Frozen Space.
Andere Konvertierungen zwischen den verschiedenen Räumen sind im WorldLockingManager verfügbar, im Allgemeinen aber nicht erforderlich.