在SCNMatrix4
结构中,最后一个m44
元素用于同构坐标。
我想知道SCNMatrix4中的
m41
,m42
和m43
元素是什么?而我究竟可以将这三个元素用于什么呢?
init(m11: Float, m12: Float, m13: Float, m14: Float,
m21: Float, m22: Float, m23: Float, m24: Float,
m31: Float, m32: Float, m33: Float, m34: Float,
m41: Float, m42: Float, m43: Float, m44: Float)
答案 0 :(得分:1)
我可能是错的,但是我认为m41
,m42
和m43
可用于获取位置数据,并且在执行hitTest。
这样,通过执行result.worldTransform.columns.3
放置SCNNode
时,您可以使用以下任一方法:
ARSCNHitTest
下面的示例应有助于澄清问题:
let hitTestTransform = SCNMatrix4(result.worldTransform)
let positionFromMatrix4 = SCNVector3(hitTestTransform.m41, hitTestTransform.m42, hitTestTransform.m43)
let positionFromColumns = SCNVector3(result.worldTransform.columns.3.x, result.worldTransform.columns.3.y, result.worldTransform.columns.3.z)
希望有帮助...
答案 1 :(得分:1)
基于@BlackMirrorz的答案。
在使用SceneKit的相机投影时,会出现在m41
中使用m42
,m43
和SCNMatrix4
元素的明显实际好处。