getQualityCh1() public method

public getQualityCh1 ( ) : float
return float
Example #1
0
    // Update is called once per frame
    void Update()
    {
        if (gameObject.activeSelf)
        {
            if ((Time.time - startTime) >= duration)
            {
                gameObject.SetActive(false);
                menu.nextStage();
            }

            // Tunnel rotation
            tunnelContainer.transform.Rotate(0, 0.02f, 0);

            // AlphaLat to Movement
            alpha = (float)FTSInterface.getAlpha();

            float currentPosZ = ball.transform.position[2];
            // Ensure 0=middle of the range and scale by alphaLIM
            float targetPosZ = (MINZPOS + MAXZPOS) / 2 + -alpha / Config.alphaLimit * (MAXZPOS - MINZPOS);
            // limit range of Z pos
            targetPosZ = Mathf.Min(Mathf.Max(targetPosZ, MINZPOS), MAXZPOS);

            float targetRotX = turningRate * (targetPosZ - currentPosZ) / (2f * Mathf.PI * 0.5f);

            Vector3 targetPosition = new Vector3(0, 0, targetPosZ);
            ball.transform.position = Vector3.SmoothDamp(ball.transform.position, targetPosition, ref velocity, smoothTime);
            ball.transform.Rotate(targetRotX, 0, 0);

            // Badness to Ball Color
            float b = (float)FTSInterface.getBadness();
            // smooth badness to make it visible for longer
            if (Config.badnessFilter > 0)
            {
                badness = Config.badnessFilter * b + (1 - Config.badnessFilter) * badness;
            }
            else
            {
                badness = b;
            }
            float badColor = Mathf.Max(0, badness - Config.badnessThreshold);          // > .5 = bad
            badColor = Mathf.Min(badColor, Config.badnessLimit) / Config.badnessLimit; // 3 is max badness, linear between

            ballRenderMan.material.SetFloat("_Blend", badColor);
            //skinnedMeshRenderMan.SetBlendShapeWeight (0, value * 100f);

            // Channel quality to tunnel Color
            float c1 = FTSInterface.getQualityCh1();
            float c2 = FTSInterface.getQualityCh2();

            float cmax = Mathf.Max(c1, c2) / Config.qualityLimit;

            for (int i = 0; i < tunnelRenderMen.Length; ++i)
            {
                tunnelRenderMen[i].material.SetFloat("_Blend", badColor);                  // BODGE: channel quality doesn't go here.
            }
        }
    }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        if (isEnabled && FTSInterface.systemIsReady())
        {
            SampEvent.text = FTSInterface.getCurrentSampleNumber() + "/" + FTSInterface.getCurrentEventsNumber() + " (samp/evt)";

            float qualityCh1 = FTSInterface.getQualityCh1();
            QualityL.text = qualityCh1.ToString("0.00");
            float qualityCh2 = FTSInterface.getQualityCh2();
            QualityR.text = qualityCh2.ToString("0.00");

            // Judge current quality
            bool channel1Good = CheckChannel(qualityCh1, 1, QualityIndicatorL);
            bool channel2Good = CheckChannel(qualityCh2, 2, QualityIndicatorR);

            if (channel1Good && channel2Good)
            {
                curQualityDuration[0]       = 0;
                AdvanceButton.interactable  = true;
                curQualityStatusAllChannels = true;
            }
            else
            {
                if (curQualityStatusAllChannels)
                {
                    curQualityDuration[0]++;
                    //allow for brief drop in quality
                    if (curQualityDuration[0] > Config.qualityTimeOut)
                    {
                        AdvanceButton.interactable  = false;
                        curQualityStatusAllChannels = false;
                    }
                }
            }

            // Calculate rolling average
            float channelsAvg = (qualityCh1 + qualityCh2) / 2.0f;

            avgQualityAllChannels = (channelsAvg + avgQualityAllChannels * avgQualitySamples) / (avgQualitySamples + 1);
            avgQualitySamples++;

            //Debug.Log("Q1=" + qualityCh1.ToString() + ", Q2=" + qualityCh2.ToString() + ", QA=" + avgQualityAllChannels.ToString());
        }
    }