예제 #1
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            OrbbecManager.DoExit();
        }

        if (Input.GetKey(KeyCode.KeypadEnter) ||
            Input.GetKey(KeyCode.Return) ||
            Input.GetKey((KeyCode)10) ||
            Input.GetKey(KeyCode.Joystick1Button0) ||
            Input.GetKey(KeyCode.Joystick1Button1) ||
            Input.GetKey(KeyCode.Joystick2Button0) ||
            Input.GetKey(KeyCode.Joystick2Button1))
        {
            OnSetting();
            return;
        }

        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            TypeIndex = (TypeIndex + typeArray.Length - 1) % typeArray.Length;
        }
        else if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            TypeIndex = (TypeIndex + 1) % typeArray.Length;
        }

        UpdateSelectState();

        if (Input.anyKeyDown)
        {
            UpdateContext();
        }
    }
예제 #2
0
    void Awake()
    {
        Instance = this;

#if CHANNEL_PERSEELITE
        Application.targetFrameRate = 30;
        Screen.SetResolution(1280, 720, true);
#endif

        if (OrbbecManager.HasOrbbecDevice())
        {
            Debug.Log("Find orbbec device!");
        }
        else
        {
            Debug.LogError("Can't find orbbec device.");
        }

#if SAMPLE_CONFIG
        if (SampleConfig.Instance != null && SampleConfig.Instance.Param != null)
        {
            Param = SampleConfig.Instance.Param;
        }
        else
        {
#endif
        Param                   = new OrbbecManagerParam();
        Param.IsUseCatch        = false;
        Param.IsUseHandsTracker = false;
        Param.IsUseSceneDepth   = false;
        Param.IsUseDepth        = false;
        Param.IsUseBackRemoval  = true;
        Param.IsUseUserLabel    = true;
        Param.IsUseUserImage    = true;
#if SAMPLE_CONFIG
    }
#endif

        Log.MaxBufferLogNum = 15;
        Log.LogBufferList   = logBuffer;
        Log.msType          = Log.LogType.ToBuffer;

        if (GesturesSampleConfig.Instance)
        {
            gestureParam = GesturesSampleConfig.Instance.gestureParam;
        }
        else
        {
            gestureParam = new GestureConfigParams();

            gestureParam.IsUsingSubThread  = true;
            gestureParam.PlayerNum         = 1;
            gestureParam.IsGetVelocityData = true;
        }

        gestureParam.GestureReturnInfoType = ReturnInfoType.RIT_SEGMENTID_TIME_STATE;
        gestureParam.GetStateCallback      = OnGetGestureInfoCallback;
    }
 private void OnDeviceInit()
 {
     _obMgr   = OrbbecManager.Instance;
     _hasInit = true;
     if (onDeviceInit != null)
     {
         onDeviceInit();
     }
     Debug.Log("设备初始化成功");
 }
    private void _InitOrbbecDevice()
    {
        _hasInit = false;

        OrbbecManager.CreateOrbbecManager(new OrbbecManagerParam()
        {
            IsTrackingSkeleton         = true,
            IsUseUserLabel             = true,
            IsUseUserImage             = true,
            OrbbecInitResourceCallBack = OnDeviceInit,
            OrbbecInitFailedCallBack   = OnInitFailed,
        });
    }
    private void _InitOrbbecDevice()
    {
        _hasInit = false;
        _obMgr   = OrbbecManager.instance;
        // var devices = _obMgr.deviceManager.GetOrbbecDevices();
        // if (devices == null || devices.Count == 0)
        // {
        //     Debug.LogError("Orbbec device not found!");
        //     return;
        // }

        _obMgr.streamManager.SetInitFailureCallback(() =>
        {
            Debug.LogError("Orbbec device init failed");
        });
        _obMgr.streamManager.SetInitSuccessCallback(() =>
        {
            Debug.Log("Orbbec device has init");

            var imgMode = _obMgr.streamManager.GetAvailableColorModes();
            foreach (var mode in imgMode)
            {
                if (mode.Width == 640 && mode.Height == 480 && mode.FramesPerSecond == 30)
                {
                    _obMgr.streamManager.SetColorMode(mode);
                    break;
                }
            }
            var depthMode = _obMgr.streamManager.GetAvailableDepthModes();
            foreach (var mode in depthMode)
            {
                if (mode.Width == 160 && mode.Height == 120 && mode.FramesPerSecond == 30)
                {
                    _obMgr.streamManager.SetDepthMode(mode);
                    break;
                }
            }
            _obMgr.streamManager.SetDefaultBodyFeatures(BodyTrackingFeatures.Skeleton);
            _obMgr.streamManager.SetSkeletonProfile(SkeletonProfile.Full);
            _obMgr.streamManager.SetSkeletonOptimization(SkeletonOptimization.BestAccuracy);

            _hasInit = true;

            if (onDeviceInit != null)
            {
                onDeviceInit();
            }
        });

        _obMgr.streamManager.Initialize();
    }
예제 #6
0
    void Start()
    {
        _devMgr = OrbbecDeviceManager.Instance;
        _obMgr  = OrbbecManager.instance;

        if (_devMgr.HasInit)
        {
            _OnDeviceInit();
        }
        else
        {
            _devMgr.onDeviceInit += _OnDeviceInit;
        }
    }
예제 #7
0
    void onHomeKeyDown()
    {
        Debug.LogError("HomeKeyListenrCallBack:onHomeKeyDown Start");

        if (OrbbecManager.Instance != null)
        {
            OrbbecManager.Instance.DoDestroy();
            OrbbecManager.DoExit();
        }
        else
        {
            OrbbecManager.DoExit();
            // Application.Quit();
        }
        Debug.LogError("HomeKeyListenrCallBack:onHomeKeyDown Finsh");
    }
예제 #8
0
 private void _OnDeviceInit()
 {
     _obMgr = OrbbecManager.Instance;
     // _obMgr.SetStreamFlag(EnumTextureType.NTT_LABEL, true);
 }
예제 #9
0
    // Use this for initialization
    void Start()
    {
        Param.OrbbecInitResourceCallBack += OnDeviceReady;

        OrbbecManager.CreateOrbbecManager(Param);
    }
예제 #10
0
 private void _OnDeviceInit()
 {
     _obMgr = OrbbecManager.Instance;
     // _obMgr.SetStreamFlag(BodyStream, true);
 }