예제 #1
0
    void Update()
    {
        FMOD.VECTOR pos         = FMODUtils.Vector3ToFMOD(transform.position);
        FMOD.VECTOR vel         = FMODUtils.Vector3ToFMOD(Vector3.zero);         // Only needed if we use doppler effect.
        FMOD.VECTOR alt_pan_pos = FMODUtils.Vector3ToFMOD(Vector3.zero);         // FIXME: I do not know what this is.

        if (Volume < 0)
        {
            Volume = 0;
        }
        if (Speed < 0)
        {
            Speed = 0;
        }

        if (Channel != null)
        {
            Channel.set3DAttributes(ref pos, ref vel, ref alt_pan_pos);
            Channel.setVolume(Volume);

            Channel.setMute(Mute);

            SetSpeed(Speed);
        }
    }
예제 #2
0
    void Update()
    {
        if (_id != -1)
        {
            Quaternion rotation = transform.rotation;

            FMOD.VECTOR pos     = FMODUtils.Vector3ToFMOD(transform.position);
            FMOD.VECTOR vel     = FMODUtils.Vector3ToFMOD(Vector3.zero);             // Only needed if we use doppler effect.
            FMOD.VECTOR forward = FMODUtils.Vector3ToFMOD(rotation * Vector3.forward);
            FMOD.VECTOR up      = FMODUtils.Vector3ToFMOD(rotation * Vector3.up);

            _system.set3DListenerAttributes(_id, ref pos, ref vel, ref forward, ref up);
        }
    }