Ich habe ein Eltern/Kind Entity-System für ein kleines Spiel geschrieben und habe Probleme, wenn ich versuche, den Standort eines Kindobjekts zu ermitteln.Konvertieren von lokalen Koordinaten zu globalen Koordinaten
So wie es jetzt steht, werden die untergeordneten Elemente einer Entity im Koordinatenraum des übergeordneten Elements transformiert, gedreht und skaliert. Dies bedeutet, dass, wenn sich unser Elternteil an einem Ort von (2, 3, 0) befindet und wir ein Kind zu diesem Elternteil an einem Ort von (1, 2, 1) hinzufügen, sein Weltenraum (3, 5, 1) ist.
Mein Problem ist, dass ich nicht weiß, wie aus dem lokalen Raum (1, 2, 1) in den globalen Raum (3, 5, 1) konvertieren.
Der offensichtlichste Ort zum Starten ist durch Hinzufügen der Elternposition und der Kindposition. Dies funktioniert für nicht rotierte Objekte. Wann immer Rotation und Skalierung angewendet werden, wird es verwirrend und das kann ich nicht herausfinden.
Ich las irgendwo inversen Matrizen verwenden, aber die Erklärung darüber war nicht klar. Jede Hilfe/mathematische Einsicht/Pseudocode wäre sehr dankbar, danke!