예제 #1
0
    void FixedUpdate()
    {
        Vector2 tmpVec = PointingParameters.MotorPoint;

        if (startDwell)
        {
            tmpDwellTime -= UnityEngine.Time.fixedDeltaTime;

            if (tmpDwellTime > 0f)
            {
                float dist = Vector2.Distance(lastMotorPoint, tmpVec);
                float vel  = dist / UnityEngine.Time.fixedDeltaTime;
                distances.Add(dist);
                velocities.Add(vel);
            }
            else
            {
                //set the parameters
                PointingParameters.D90  = Percentile(distances, 0.9f);
                PointingParameters.Vmin = Percentile(velocities, 0.9f);
                PointingParameters.Vmax = 5f * PointingParameters.Vmin;
                PointingParameters.Gmin = PointingParameters.Xpixels / PointingParameters.D90;
                PointingParameters.Gmax = 1.055f;
                status = "Calibration Done, return to UI in 3 seconds.";
                SendMessage("DwellingFinished", SendMessageOptions.DontRequireReceiver);
                distances.Clear();
                velocities.Clear();
                startDwell = false;
                PointingParameters.SetParameters();
            }
        }
        lastMotorPoint = tmpVec;
    }
예제 #2
0
 // Use this for initialization
 void Start()
 {
     PointingParameters.GetParameters();
     InitializeFixedParameters();
     maxIndex = (int)(0.1f / UnityEngine.Time.fixedDeltaTime);
     mot      = new Vector2[maxIndex + 1];
 }
예제 #3
0
 // Use this for initialization
 void Start()
 {
     PointingParameters.GetParameters();
     InitializeFixedParameters();
 }