Coordenadas ARKit vs SceneKit
Estoy tratando de entender la diferencia entre los diferentes elementos introducidos en ArKit y sus quizás equivalentes en SceneKit:
SCNNode.simdTransform
vsSCNNode.transform
. En ARKit, parece que la gente usaSCNNode.simdTransform
en lugar deSCNNode.transform
. ¿Cómo se diferencian? simdTransform parece usar el orden principal de la columna, mientras que transform (SCNMatrix4) es la fila mayor. ¿Cómo convierto uno a otro? ¿Solo transponer? Tengo la impresión de que el seguimiento no funciona tan bien si usotransform
en lugar desimdTransform
. ¿Es eso esperado o solo una impresión? Si configuro una propiedad, ¿qué sucede si luego configuro la otra?
ARFrame.camera
vsScene.pointOfView
: Mirando sus transformaciones, parecen ser un poco diferentes:
.
// ARFrame.camera.transform (matrix_float4x4)
-0.01 0.99 -0.11 0.02
-0.99 0.00 0.11 0.06
0.10 0.11 0.98 0.0
0.0 0.0 0.0 1.0
// sceneView.pointOfView.transform (SCNMatrix4)
// or sceneView.pointOfView.simdTransform^T (matrix_float4x4)
0.99 0 0.11 0
0.01 0.99 -0.12 0
-0.11 0.11 0.98 0
0.03 0.6 0.0 0.99
¿Son iguales menos una rotación?