/// <summary>
        ///  Create orbbec manager
        ///  创建此管理类单件方法
        /// </summary>
        public static OrbbecManager CreateOrbbecManager(OrbbecManagerParam param)
        {
            if (ms_Instance != null)
            {
                return(ms_Instance);
            }

            GameObject obj = new GameObject("OrbbecManager");

            obj.AddComponent <OrbbecManager>();
            ms_Instance.m_Param = param;
            ms_Instance.Init();

            ms_OnOrbbecExitAppCallBack = param.OnOrbbecExitAppCallBack;

            DontDestroyOnLoad(obj);

            return(null);
        }
Exemple #2
0
        public void InitOrbbecDevice()
        {
            if (OrbbecManager.HasOrbbecDevice())
            {
                Debug.Log("Find orbbec device!");
            }
            else
            {
                Debug.LogError("Can't find orbbec device.");
            }

            OrbbecManagerParam param = new OrbbecManagerParam();

            param.IsUseDepth            = false;
            param.IsUseSceneDepth       = false;
            param.IsUseUserImage        = false;      //true
            param.IsUseUVC              = false;
            param.IsUseBackRemoval      = false;
            param.IsUseUserLabel        = true;
            param.IsUseCatch            = false;
            param.IsUseHandsTracker     = false;
            param.IsNativeUpdateTexture = false;
            param.IsUseOffsetCorrect    = false;
            param.IsTrackingSkeleton    = true;
            param.IsExitOnBack          = false;
                        #if !UNITY_EDITOR
            param.IsCustomResolution       = true;
            param.CurResolution.DepthXSize = 320;
            param.CurResolution.DepthYSize = 240;
            param.CurResolution.ImageXSize = 320;
            param.CurResolution.ImageYSize = 240;
            //param.CurResolution.ImageXSize = 640;
            //param.CurResolution.ImageYSize = 320;
                        #endif

            param.OrbbecInitResourceCallBack += OrbbecInitResourceCallBack;

            OrbbecManager.CreateOrbbecManager(param);
        }
        protected void Init()
        {
            if (null == m_Param)
            {
                m_Param = new OrbbecManagerParam();
            }

            if (m_Param.IsTrackingSkeleton)
            {
                m_Param.IsUseUserGenerator = true;
            }

            if (m_Param.IsUseUVC)
            {
                m_Param.IsUseUserImage = false;
            }

            m_Wrapper.Init(m_Param);

            if (m_Param.IsUseHandsTracker)
            {
                m_Wrapper.OnHandsUpdate = OnHandsUpdate;
            }

            if (ms_Instance.m_Param.IsNeverSleep)
            {
                Screen.sleepTimeout = SleepTimeout.NeverSleep;
            }

            if (m_Param.IsTrackingSkeleton)
            {
                m_Wrapper.UserEnterCallBack  += OnUserEnter;
                m_Wrapper.UserLeaveCallBack  += OnUserLeave;
                m_Wrapper.UserUpdateCallBack += OnUserUpdate;
            }

            m_OrbbecCallback = WaitForDevice;
        }