Согласно этой статье от Apple Луч-Кастинг и Хит-Тестирование . Я должен использовать лучевую отливку, предоставляемую RealityKit, для обнаружения поверхностей, вместо того, чтобы тестировать попадание, предоставляемое ARKit, как говорит яблоко
, но функции проверки попадания остаются для совместимости
,Однако я не могу найти способ узнать размер поверхности, обнаруженной запросом raycast.
Таким образом, согласно этому коду:
func startRayCasting() {
guard let raycastQuery = arView.makeRaycastQuery(from: arView.center,
allowing: .estimatedPlane,
alignment: .vertical) else {
return
}
guard let result = arView.session.raycast(raycastQuery).first else {
return
}
let transformation = Transform(matrix: result.worldTransform)
let plane = Plane(color: .green, transformation: transformation)
plane.transform = transformation
let raycastAnchor = AnchorEntity(raycastResult: result)
raycastAnchor.addChild(plane)
arView.scene.addAnchor(raycastAnchor)
}
Я ожидаю, что создаваемая мной плоскость получит размер и положение обнаруженной плоскости. Однако этого не происходит.
Итак, мой вопрос: подходит ли литье лучей для определения размера и местоположения поверхностей? Или просто для проверки местоположения 2-й точки на поверхности.