class ARRaycastQuery : NSObject
用于在现实表面上查找3D位置的数学射线。
您可以通过提供3D向量和起点来创建射线投射查询。
要使用2D屏幕位置和默认矢量从用户向z方向向外投射来创建射线广播查询,请使用便利功能,
ARView上的makeRaycastQuery(from:allowing:alignment :)
或ARSCNView的方法
func raycastQuery(from point: CGPoint, allowing target: ARRaycastQuery.Target, alignment: ARRaycastQuery.TargetAlignment) -> ARRaycastQuery?
var target: ARRaycastQuery.Target { get }
一种平面类型,如果遇到光线,该光线可以终止。
case estimatedPlane = 2
接受planes ARKit的射线投射目标不太自信。
允许以此目标进行的光线投射与ARKit估计可能是平面的光线周围的特征点相交。与ARRaycastQuery.TargetAlignment.any结合使用时,估计的平面对齐方式基于与该估计的平面相对应的真实表面的法线。
case existingPlaneGeometry = 0
需要平面具有确定大小和形状的射线投射目标。
case existingPlaneInfinite = 1
一个射线探测目标,它指定检测到的平面,而不管其大小和形状如何。
var targetAlignment: ARRaycastQuery.TargetAlignment { get }
指示目标相对于重力的对准的规范。
射线广播将忽略与射线广播查询中指定的对齐方式不同的潜在目标。
case any = 2
指示目标的情况可以相对于重力以任何方式对准。
case horizontal = 0
指示目标的情况相对于重力水平对准。
case vertical = 1
指示目标的情况相对于重力垂直对齐。
var direction: simd_float3 { get }
一个描述3D空间中光线轨迹的向量。
var origin: simd_float3 { get }
定义射线起始位置的3D坐标。