コード例 #1
0
    static float timeBetweenCalibrationPoints = 0.02f;     // was 0.1, 1000/60 ms wait in old version
    public void UpdateCalibration()
    {
        float t = Time.time;        // PupilSettings.Instance.connection.currentPupilTimestamp;

        if (t - lastTimeStamp > timeBetweenCalibrationPoints)
        {
            lastTimeStamp = t;

            UpdateCalibrationPoint();             // .currentCalibrationType.calibPoints [currentCalibrationPoint];
            //			print ("its okay to go on");

            //Adding the calibration reference data to the list that wil;l be passed on, once the required sample amount is met.
            if (currentCalibrationSamples > samplesToIgnoreForEyeMovement)
            {
                PupilTools.AddCalibrationPointReferencePosition(currentCalibrationPointPosition, t);
            }

            if (PupilSettings.Instance.debug.printSampling)
            {
                Debug.Log("Point: " + currentCalibrationPoint + ", " + "Sampling at : " + currentCalibrationSamples + ". On the position : " + currentCalibrationPointPosition [0] + " | " + currentCalibrationPointPosition [1]);
            }

            currentCalibrationSamples++;            //Increment the current calibration sample. (Default sample amount per calibration point is 120)

            if (currentCalibrationSamples >= currentCalibrationType.samplesPerDepth)
            {
                currentCalibrationSamples = 0;
                currentCalibrationDepth++;

                if (currentCalibrationDepth >= currentCalibrationType.vectorDepthRadius.Length)
                {
                    currentCalibrationDepth = 0;
                    currentCalibrationPoint++;

                    //Send the current relevant calibration data for the current calibration point. _CalibrationPoints returns _calibrationData as an array of a Dictionary<string,object>.
                    PupilTools.AddCalibrationReferenceData();

                    if (currentCalibrationPoint >= currentCalibrationType.points)
                    {
                        PupilTools.StopCalibration();
                    }
                }
            }
        }
    }