3D звук

Это функциональное назначение доступно только в Pro издании Game Maker.

3D звуки относятся к звуку, который имеет позицию (и скорость), что касается слушателя. Хотя наиболее выдающееся их использование - в 3D играх, но Вы можете также эффективно использовать их в 2D играх. Смысл в том, чтобы звук имел позицию в пространстве. Во всех функциях, слушатель предполагает нахождение звука в позиции (0,0,0). Система вычисляет, как слушатель должен услышать звук и приспособить его соответственно. Эффект особенно хорош, когда у Вас имеется хорошая звуковая система, но и будет звучать неплохо при небольших динамиках.

Кроме позиции, звук может также иметь скорость. Она основана на известных эффектах Доплера, которые правильно смоделированы. Наконец, звук может иметь ориентацию и, опять же, звук соответственно приспосабливается.

Game Maker поддерживает опции 3D звука через приведённые ниже функции. Они работают только для звуковых ресурсов, которые будут указаны как 3D. (Недостаток в том, что 3D звуки - моно, не стерео.)

sound_3d_set_sound_position(snd,x,y,z) Устанавливает позицию указанного звука с отношением к слушателю в указанную позицию пространства. Значения в оси x увеличиваются слева направо, в оси y снизу вверх и в оси z от близкого расстояния до дальнего расстояния. Эти значения измеряются в метрах. Громкость, с которой звук будет услышан, будет зависеть от этого измерения так же, как и в реальном мире.
sound_3d_set_sound_velocity(snd,x,y,z) Устанавливает скорость указанного звука на указанный вектор в пространстве. Пожалуйста, отметьте, что установка скорости не означает, что позиция изменится. Скорость используется для расчёта эффектов Доплера. Так что если Вы хотите переместить звук, то Вы должны сами изменить его позицию.
sound_3d_set_sound_distance(snd,mindist,maxdist) Устанавливает минимальное расстояние, в котором звук достигает большего увеличения в громкости; и максимальное расстояние, в котором звук не может быть больше услышан. Итак, если расстояние пролегает между 0 и минимальное расстоянием, то звук будет находиться в максимальной амплитуде. Когда между минимальным и максимальным расстоянием амплитуда медленно уменьшается до значения максимально достигнутого расстояния, то звук, во всяком случае, не длинный. По умолчанию, минимальное расстояние является 1 метром, а максимальное расстояние - 1 миллиард метров.
sound_3d_set_sound_cone(snd,x,y,z,anglein,angleout,voloutside) Обычно звук имеет одну и ту же амплитуду в указанном расстоянии во всех направлениях. Вы можете установить звуковой конус, чтобы изменить это и сделать звучание направленным. x,y,z - определяют направление звукового конуса. anglein - определяет внутренний угол. Если слушатель в зоне воздействия внутреннего угла, то он услышит звук в своей обычной громкости. angleout - определяет внешний угол. Когда слушатель за пределами зоны воздействия внешнего угла, то громкость указывается с помощью значения voloutside. Чтобы быть точным, voloutside - отрицательное число, которое указывает количество сотен децибел, которое должно быть вычтено из внутренней громкости. Между внутренним и внешним углом постепенно звук будет уменьшаться.