public void LoadProvider()
        {
            ARFoundationSessionProvider.RequireARSession();

            // Create platform specific rig and mapping
#if UNITY_IOS
            var rigSettings = ARKitBodyRigSettings.instance;
            SetupRigInstance(rigSettings.ControlRig);

            m_JointToTransform = rigSettings.GenerateJointMapping(m_BodyRigInstance);
#endif

            var currentSession = ARFoundationSessionProvider.currentSession;
            if (currentSession)
            {
                var currentSessionGameObject = currentSession.gameObject;
                m_ARHumanBodyManager = Object.FindObjectOfType <ARHumanBodyManager>();

                if (!m_ARHumanBodyManager)
                {
                    m_ARHumanBodyManager           = currentSessionGameObject.AddComponent <ARHumanBodyManager>();
                    m_ARHumanBodyManager.hideFlags = HideFlags.DontSave;
                    m_NewARHumanBodyManager        = m_ARHumanBodyManager;
                }

                m_ARHumanBodyManager.humanBodiesChanged += ARBodyManagerOnBodiesChanged;
            }

            AddExistingTrackables();
        }
 void OnValidate()
 {
     if (humanBodyManager == null)
     {
         humanBodyManager = FindObjectOfType <ARHumanBodyManager>();
     }
 }
Exemplo n.º 3
0
        private void Awake()
        {
            arHumanBodyManager = GetComponentInParent <ARHumanBodyManager>();
            arCameraManager    = GetComponent <ARCameraManager>();

            material = new Material(occlusionShader);
            GetComponent <Camera>().depthTextureMode |= DepthTextureMode.Depth;
        }