Я проверил следующие два примера кода.
https://developer.apple.com/documentation/arkit/capturing_body_motion_in_3d
func session(_ session: ARSession, didUpdate anchors: [ARAnchor])
{
for anchor in anchors
{
guard let bodyAnchor = anchor as? ARBodyAnchor else { continue }
let skeleton = bodyAnchor.skeleton
}
}
https://developer.apple.com/documentation/arkit/tracking_and_visualizing_faces
func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor)
{
guard let faceAnchor = anchor as? ARFaceAnchor else { return }
let blendShapes = faceAnchor.blendShapes
}
Код для извлечения BlendShape лица использует «renderer» для получения значения BlendShape.
Однако код, который обнаруживает движение тела, использует «session» для получения значения.
Оба эти кода, кажется, предназначены для получения значений, которые обновляются из ARAnchor.
В чем разница между "рендерером" и "сессией"?
Как использовать два коды в разное время?