Механизм построения геометрических фигур в пространстве
Механизм построения геометрических фигур в пространстве
Геометрический движок или geometry engine в интерфейсе A3D 2.0 это уникальный механизм по своей возможности моделирования отраженных и прошедших сквозь препятствия звуков. В отличии от менеджера сцены, геометрический движок оперирует с данными на уровне геометрических примитивов: линий, треугольников и четырехугольников. Геометрия может быть определена в двумерном или трехмерном пространстве, соответственно, в случае 3D геометрии, вычисления могут быть очень интенсивными.
Геометрический движок может быть задействован приложением с помощью менеджера сцены или напрямую, для полного контроля над описанием путей распространения волн. В последнем случае, приложение содержит базу данных звуковой геометрии и передает только необходимые в данный момент звуковые полигоны в геометрический движок. Геометрический движок использует полученные звуковые полигоны для построения системы координат, определяющей взаимное расположение слушателя и источников звука.
Звуковой полигон (audio polygon) имеет местоположение, размер, форму, а также свойства материала из которого он сделан. Форма полигона и его местоположение в пространстве связаны с источниками звука и слушателем, влияя на определение того, как каждый в отдельности звук отражается или проходит сквозь полигон. Свойства материала, из которого состоит полигон, могут изменяться от полностью прозрачного для звуков до полностью поглощающего или отражающего.Очень важно иметь минимальную по размерам базу данных акустических полигонов, что бы минимизировать загрузку CPU. В играх должно быть задействовано около 50 звуковых полигонов в любой момент времени. Этого количества достаточно для описания сложной акустики и представления всех важнейших случаев прохождения звуков сквозь препятствия. Более того, звуковые полигоны должны быть так же точно определены, как и их эквиваленты в графике.
Материалы Каждый раз, когда звук отражается от объекта, материал из которого сделан объект влияет на то, как сильно поглощается каждый частотный компонет звуковой волны и как много компонетов отражается обратно в окружающую среду. Материалы, используемые для звуковых полигонов могут быть определены в интерфейсе A3D 2.0.
Переменные материалов: Заранее определенные материалы: дерево, бетон, сталь, ковер. Отражающие свойства: меняются от полностью отражающих до совсем неотражающих звуки. Свойства звуковых преград: меняются от полностью прозрачных до непрозрачных для звуков. После ввода всех необходимых данных, геометрический движок вычисляет ранние отраженные звуки и звуки прошедшие сквозь препятствия, основываясь на свойствах материалов. Уровень детализации звучания и режим реализации акустической модели могут быть установлены с помощью геометрического движка. Звук прошедший через преграду (occlusions): геометрические алгоритмы вычисляющие то, как звук преодолевает преграду в виде поверхностей. Точность и качество реализации могут быть принесены в жертву скорости вычислений. Один раз отраженные звуки: вновь, качество реализации может быть принесено в жертву скорости вычислений.
Менеджер сцены Менеджер сцены использует высокоуровневую базу данных звуковой геометрии и управляет звуковыми полигонами, используемыми в сцене. Приложения создают высокоуровневые объекты, называемые стенами (walls), проходами (openings) и помещениями (rooms), которые могут быть использованы в акустической сцене. Обычно, программа загружает сцену и просто вызывает функцию реализации. Менеджер сцены использует акустическую сцену для определения соседства помещения (т.е. что смежно с помещением) и уровень слышимости. Слышны только те звуки, которые распространяются в помещении, где в данный момент находится слушатель, и звуки в смежных помещениях. Менеджер сцены определяет необходимые для данной сцены полигоны и пересылает их геометрическому движку для построения акустической модели.
Примеры высокоуровневых объектов:
- Стены: имеют свойства материала из которого они сделаны. Они могут двигаться и менять ориентацию в пространстве. Не все сцены должны отражать звук.
- Проходы: это отверстия в стенах; звук перемещается от одной стороны стены к другой стороне. Проходы могут быть открытыми и закрытыми.
- Помещение: это пространство, которое со всех сторон полностью окружено стенами.
- Сцена: это набор из помещений.
Менеджер сцены от Aureal описывет пути распространения звуковых волн для каждого уровня в форме упрощенных полигонов