public override void OnInspectorGUI()
    {
        bool isEnabled = _dsp.IsInstantiated();

        if (!isEnabled)
        {
            EditorGUILayout.LabelField("Press Play!", EditorStyles.centeredGreyMiniLabel);
        }
        // events
        GUI.enabled = isEnabled;
        EditorGUILayout.Space();
        // masterVoiceOnOff
        if (GUILayout.Button("masterVoiceOnOff"))
        {
            _dsp.SendEvent(Hv_engine_AudioLib.Event.Mastervoiceonoff);
        }

        GUILayout.EndVertical();

        // parameters
        GUI.enabled = true;
        GUILayout.BeginVertical();
        EditorGUILayout.Space();
        EditorGUI.indentLevel++;

        // amplitude
        GUILayout.BeginHorizontal();
        float amplitude    = _dsp.GetFloatParameter(Hv_engine_AudioLib.Parameter.Amplitude);
        float newAmplitude = EditorGUILayout.Slider("amplitude", amplitude, 0.0f, 0.6f);

        if (amplitude != newAmplitude)
        {
            _dsp.SetFloatParameter(Hv_engine_AudioLib.Parameter.Amplitude, newAmplitude);
        }
        GUILayout.EndHorizontal();

        // filterFreq
        GUILayout.BeginHorizontal();
        float filterFreq    = _dsp.GetFloatParameter(Hv_engine_AudioLib.Parameter.Filterfreq);
        float newFilterfreq = EditorGUILayout.Slider("filterFreq", filterFreq, 0.0f, 12000.0f);

        if (filterFreq != newFilterfreq)
        {
            _dsp.SetFloatParameter(Hv_engine_AudioLib.Parameter.Filterfreq, newFilterfreq);
        }
        GUILayout.EndHorizontal();

        // oscFreq
        GUILayout.BeginHorizontal();
        float oscFreq    = _dsp.GetFloatParameter(Hv_engine_AudioLib.Parameter.Oscfreq);
        float newOscfreq = EditorGUILayout.Slider("oscFreq", oscFreq, 45.0f, 1200.0f);

        if (oscFreq != newOscfreq)
        {
            _dsp.SetFloatParameter(Hv_engine_AudioLib.Parameter.Oscfreq, newOscfreq);
        }
        GUILayout.EndHorizontal();
        EditorGUI.indentLevel--;
    }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        transform.position += transform.forward * Time.deltaTime * speed;

        if (Input.GetKey(KeyCode.Space))
        {
            speed += Time.deltaTime * acceleration;
        }

        if (Input.GetKey(KeyCode.LeftShift))
        {
            speed -= Time.deltaTime * acceleration;
        }

        float vertical   = 0;
        float horizontal = 0;

        //Arrow Keys
        if (Input.GetKey(KeyCode.DownArrow))
        {
            vertical += 1.5f;
        }
        if (Input.GetKey(KeyCode.UpArrow))
        {
            vertical -= 1.5f;
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            horizontal -= 1;
        }
        if (Input.GetKey(KeyCode.RightArrow))
        {
            horizontal += 1;
        }

        //WASD
        if (Input.GetKey(KeyCode.S))
        {
            vertical += 1.5f;
        }
        if (Input.GetKey(KeyCode.W))
        {
            vertical -= 1.5f;
        }
        if (Input.GetKey(KeyCode.A))
        {
            horizontal -= 1;
        }
        if (Input.GetKey(KeyCode.D))
        {
            horizontal += 1;
        }

        float maxRotation = 85;

        pitch = Mathf.Clamp(pitch + vertical * 90 * Time.deltaTime, -maxRotation, maxRotation);

        Quaternion desiredRotation = Quaternion.Euler(
            pitch,
            transform.localEulerAngles.y + horizontal * 720 * Time.deltaTime,             // yaw
            0
            );

        // advance towards desiredRotation by factor of Time.deltaTime
        transform.localRotation = Quaternion.Lerp(transform.localRotation, desiredRotation, 10 * Time.deltaTime);
        Vector3 zeroZ = transform.localEulerAngles;

        zeroZ.z = 0;
        transform.localEulerAngles = zeroZ;


        //Quaternion targetPitch = Quaternion.AngleAxis(45 * Input.GetAxis("Vertical"), transform.right);

        //transform.localRotation = Quaternion.Lerp(transform.localRotation, transform.localRotation*targetPitch, Time.deltaTime);

        //transform.Rotate(Input.GetAxis("Vertical"), Input.GetAxis("Zaxis"), -Input.GetAxis("Horizontal"));
        HeavyScriptEng.filterFreq = speed * speedfilt * 10;


        HeavyScriptEng.SetFloatParameter(Hv_engine_AudioLib.Parameter.Oscfreq, speed * speedosc * 20);


        speed -= transform.forward.y * Time.deltaTime * gravity;
        speed -= transform.forward.z * Time.deltaTime * entropy;
    }