我一直在试验ARKit并且发现来自ARCamera().transform
属性的4x4矩阵的记录很少,并且想知道是否有人对矩阵中每列/行的代表有什么了解?我能够从WWDC视频中收集到第3列用于x和z翻译,但我无法找到有关其余值的文档。任何帮助解决这个问题将不胜感激。
答案 0 :(得分:1)
给出摄像机处于世界坐标(camera.transform)的位置,您可能希望使用单位矩阵访问摄像机视图前方(沿z轴)的空间(另一种方式是通过摄像机的projectionMatrix和hitResult测试,但这种用法需要更复杂的矩阵数学仍然让我感到困惑。)
例如
var translation = matrix_identity_float4x4 // this is the magic sauce here
translation.columns.3.z = -1.0
let pos = transform! * translation
let position = SCNVector3(pos.columns.3.x, pos.columns.3.y, pos.columns.3.z)