コード例 #1
0
ファイル: CameraScript.cs プロジェクト: awaymsg/Helicopter
 // Update is called once per frame
 void Update()
 {
     xFir.writeSample(target.transform.position.x / 5f);
     targetPos          = new Vector3(xFir.getOutput(), transform.position.y, transform.position.z);
     t                  = Mathf.Abs(xFir.getOutput() - transform.position.x) * 0.015f;
     transform.position = Vector3.Lerp(transform.position, targetPos, t);
 }
コード例 #2
0
ファイル: PlayerScript.cs プロジェクト: awaymsg/Helicopter
    private void CalibrateAccelerometer()
    {
        int calSampleSize = 2048;
        Fir calxFir       = new Fir(calSampleSize);
        Fir calyFir       = new Fir(calSampleSize);
        Fir calzFir       = new Fir(calSampleSize);

        for (int i = 0; i < calSampleSize; i++)
        {
            calxFir.writeSample(Input.acceleration.x);
            calyFir.writeSample(Input.acceleration.y);
            calzFir.writeSample(Input.acceleration.z);
            new WaitForSecondsRealtime(0.01f);
        }
        wantedDeadZone = new Vector3(calxFir.getOutput(), calyFir.getOutput(), calzFir.getOutput());
        Quaternion rotateQuaternion = Quaternion.FromToRotation(new Vector3(0f, 0f, -1f), wantedDeadZone);
        Matrix4x4  matrix           = Matrix4x4.TRS(Vector3.zero, rotateQuaternion, new Vector3(1f, 1f, 1f));

        calibrationMatrix = matrix.inverse;
    }