Exemple #1
0
        public void Update()
        {
            OrbbecManager refOrbbecManager = OrbbecManager.Instance;

            if (refOrbbecManager == null)
            {
                return;
            }

            if (!refOrbbecManager.IsTrackingHand(HandID))
            {
                return;
            }

            if (!refOrbbecManager.GetHandInfo(HandID, ref info))
            {
                return;
            }

            Point3D.Point3ToVec3(ref m_OriginHandsPos, ref info.OriginHandsPos);
            Point3D.Point3ToVec3(ref m_CurHandsPos, ref info.CurHandsPos);
            Point3D.Point3ToVec3(ref m_CurScreenPercent, ref info.ScreenPercent);

            CurCatchState = refOrbbecManager.GetHandCatchState(HandID);
        }
 /// <summary>
 /// Destroy the Manager instance, use for close the device.
 /// 销毁此管理类单件 用于关闭设备
 /// </summary>
 public void DoDestroy()
 {
     m_OrbbecCallback = null;
     if (IsInited)
     {
         m_Wrapper.ShutDown();
         IsInited = false;
     }
     GameObject.Destroy(gameObject);
     ms_Instance = null;
 }
        public void Update()
        {
            OrbbecManager refOrbbecManager = OrbbecManager.Instance;

            m_IsInConfidence = OrbbecNativeMethods.UpdateUserInfo(UserID, worldPosPtr, screenPosPtr, rotatorPtr);

            for (int i = 0; i < refAvailableJoints.Length; ++i)
            {
                Point3D.Point3ToVec3(ref BoneWorldPos[i], ref BoneWorldP3Pos[i]);
                Point3D.Point3ToVec3(ref BoneScreenPos[i], ref BoneScreenP3Pos[i]);
                XnQuaternion.XnQuatToQuat(ref BoneRotator[i], ref BoneXnQuat[i]);
            }

            COMWorldPos = refOrbbecManager.GetUserCOM(UserID);
            COMSreenPos = refOrbbecManager.ConvertRealWorldToProjective(COMWorldPos);
        }
Exemple #4
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 OrbbecManager()
 {
     ms_Instance = this;
 }