ARFoundationBody GetOrAddBody(ARHumanBody arHumanBody)
        {
            var trackableId = arHumanBody.trackableId;

            if (!m_TrackedBodies.TryGetValue(trackableId, out var arfBody))
            {
                arfBody = new ARFoundationBody(trackableId.ToMarsId());
                m_TrackedBodies[trackableId] = arfBody;
                arfBody.UpdateARFoundationBody(arHumanBody, m_BodyRigInstance.transform, m_BodyRigAnimator.humanScale, m_JointToTransform, m_BodyPoseExtractor);
            }
            else
            {
                arfBody.UpdateARFoundationBody(arHumanBody, m_BodyRigInstance.transform, m_BodyRigAnimator.humanScale, m_JointToTransform, m_BodyPoseExtractor);
            }
            return(arfBody);
        }