ARKit和RealityKit中的raycast方法有什么用?
func raycast(origin: SIMD3<Float>, direction: SIMD3<Float>,
length: Float = 100, query: CollisionCastQueryType = .all,
mask: CollisionGroup = .all, relativeTo referenceEntity: Entity? = nil) -> [CollisionCastHit]
任何帮助表示赞赏。
答案 0 :(得分:3)
Ray-Casting
,就像Hit-Testing
一样,有助于在给定屏幕点的情况下在真实表面上找到3D位置。我找到了raycasting的以下定义:
射线投射是在现实环境中查找表面上位置的首选方法,但是为了兼容性,命中测试功能仍然存在。通过跟踪射线广播,ARKit会继续完善结果,以提高通过射线广播放置的虚拟内容的位置精度。
当用户想要在某个表面上放置虚拟内容时,建议为此提供提示。许多AR应用程序会绘制一个焦点圆或正方形,以使用户可以视觉确认ARKit知道的曲面的形状和对齐方式。因此,要找出在现实世界中放置焦点圆或正方形的位置,可以使用ARRaycastQuery
来询问ARKit现实世界中任何表面存在的地方。
希望这会有所帮助。