Fehle ich hier etwas? Unter den verschiedenen Vektor/Matrix-Funktionen here kann ich keine Funktion sehen, um einfach eine SCNMatrix4-Transformation auf einen SCNVector4 anzuwenden. Ich könnte es natürlich tun, indem ich die Matrix/Vektor-Multiplikation mit der Hand ausschreibe, aber das kann nicht nötig sein.Wie man eine Transformationsmatrix auf einen Vektor in SceneKit anwendet
Der Grund dafür ist, dass ich die Projektionstransformation für eine Kamera in zwei Schritten aktualisiere. Zuerst muss ich eine Transformation auf die ursprüngliche Transformation anwenden, dann muss ich diese Transformation auf einen Vektor anwenden, um eine Zahl auszuarbeiten, dann muss ich auf der Grundlage dieser Zahl eine weitere Transformation oben anwenden.
Da es den Anschein hat, dass der Aufruf von setProjectionTransform keine sofortige Auswirkung hat (ich nehme an, es passiert, wenn die aktuelle Transaktion festgeschrieben wird), kann ich ProjectPoint nicht aufrufen, um die Transformation in ihrem Zwischenzustand anzuwenden. Ich habe daher versucht, die Transformationsmatrix zu erstellen und manuell anzuwenden.
Sicherlich muss es eine Funktion hier geben, um die einfachste Sache zu tun, die Sie jemals mit einer Matrix und einem Vektor tun könnten ???
Interessant, danke - ich werde diese – Tom
Apologies am Morgen ausprobieren, ich habe es nicht ausprobiert, da ich einen anderen Weg gefunden, um mein Problem zu lösen, dass die Matrixmultiplikation ganz vermieden. Allerdings habe ich diese Antwort akzeptiert, da ich keinen Grund sehe, warum es nicht funktionieren würde, und es sieht bequem und schnell aus. – Tom