покрывает эту путаницу.
аюсь понять разницу между различными элементами, представленными в ArKit, и их, возможно, эквивалентами в SceneKit:
SCNNode.simdTransform
противSCNNode.transform
, В ARKit кажется, что люди используютSCNNode.simdTransform
вместоSCNNode.transform
, Чем они отличаются? Кажется, что simdTransform использует основной порядок столбцов, а transform (SCNMatrix4) - основной ряд. Как мне конвертировать одно в другое? Просто транспонировать? У меня сложилось впечатление, что отслеживание не работает так же хорошо, если я используюtransform
вместоsimdTransform
, Это ожидаемое или просто впечатление? Если я установлю одно свойство, что произойдет, если я затем установлю другое?
ARFrame.camera
противScene.pointOfView
Глядя на их преобразования, они кажутся немного другими:
.
// 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
Они одинаковые минус один оборот?