Exemplo n.º 1
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     InitProcessor();
 }
Exemplo n.º 2
0
 void DisposeProcessor()
 {
     nuitrack.Nuitrack.onIssueUpdateEvent -= OnIssuesUpdate;
     if (instance == this)
     {
         instance = null;
     }
     if (borders != null)
     {
         for (int i = 0; i < 3; i++)
         {
             Destroy(borders[i]);
         }
     }
 }
Exemplo n.º 3
0
        void Initialize()
        {
            if (initialized)
            {
                return;
            }

            initialized      = true;
            occludedUserCols = new Color[userCols.Length];
            userCurrentCols  = new Color[userCols.Length];
            for (int i = 0; i < userCols.Length; i++)
            {
                userCurrentCols[i] = userCols[i];
                float[] hsv = new float[3];
                Color.RGBToHSV(userCols[i], out hsv[0], out hsv[1], out hsv[2]);
                hsv[2] *= 0.25f;
                occludedUserCols[i]   = Color.HSVToRGB(hsv[0], hsv[1], hsv[2]);
                occludedUserCols[i].a = userCols[i].a;
            }

            issuesProcessor = IssuesProcessor.Instance;
            nuitrack.OutputMode mode = NuitrackManager.DepthSensor.GetOutputMode();
            frameStep = mode.XRes / hRes;
            if (frameStep <= 0)
            {
                frameStep = 1;                 // frameStep should be greater then 0
            }
            hRes = mode.XRes / frameStep;

            depthToScale = meshScaling * 2f * Mathf.Tan(0.5f * mode.HFOV) / hRes;
            visMat       = new Material(visualizationMaterial);

            InitMeshes(
                ((mode.XRes / frameStep) + (mode.XRes % frameStep == 0 ? 0 : 1)),
                ((mode.YRes / frameStep) + (mode.YRes % frameStep == 0 ? 0 : 1)),
                mode.HFOV
                );
        }
 void Start()
 {
     issuesProcessor = IssuesProcessor.Instance;
 }