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); }
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; }