На самом деле есть несколько довольно стандартных подходов для проектирования воспроизведения музыки в игре. При разработке системы воспроизведения музыки проблемы, с которыми вы сталкиваетесь, включают создание плавных переходов, обеспечение достаточного разнообразия и создание чувства интерактивности с музыкой. Название вашего вопроса «плавное изменение фоновой музыки» говорит мне, что ваша главная задача - переходы, поэтому я буду в первую очередь обращаться к каждому методу.
Метод 1: Слои и основы
Один из подходов к созданию систем плавного воспроизведения музыки в играх, который Патрик Хьюз назвал «AAA way», состоит в том, чтобы создать свою музыку в слоях (также иногда называемых основами) таким образом, чтобы не было единой окончательной версии трека. Вместо этого у вас может быть один базовый трек, работающий последовательно, с мелодичными, ритмичными, гармоническими вариациями, которые воспроизводятся на нем.
Вы обычно (еще раз спасибо Патрику Хьюзу) строите их вокруг общего мотива, который проходит через каждый слой элемента в музыкальном произведении, или даже через всю музыку в игре. Хорошим примером немелодического мотива является использование Мартином О'Доннеллом фригийской шкалы в играх Halo ( http://www.1up.com/features/music-halo-reach ). Обычно каждая из этих компонентных музыкальных дорожек выравнивается, чтобы воспроизводиться синхронно на временной шкале друг с другом. Хотя можно создавать музыкальные слои, которые не обязательно зависят от согласованного темпа и синхронизированной временной шкалы или могут хорошо работать в разных контекстах темпа и временной шкалы.
Поскольку каждый слой предназначен для совместной работы, вполне возможно иметь единственную многослойную музыкальную дорожку, которая просто воспроизводится на протяжении всей игры, делая небольшие переходы между слоями внутри себя, чтобы обозначить изменения состояния игры.
Метод 2: Ветвление
Вы говорите, что у вас уже есть музыкальные треки, так что это означает, что у вас уже есть определенное направление: разветвление музыки. При использовании разветвленной музыки вашей главной задачей является переход между музыкальными дорожками, которые были заданы для воспроизведения в определенных разделах игры. Вы можете добиться разнообразия, разбивая свои отдельные музыкальные сегменты на петли, которые имеют несколько разных версий, так что одна и та же версия никогда не проигрывается дважды за две итерации и не всегда начинается одинаково.
Один из способов справиться с переходами в простой разветвленной музыке - это написать больше музыки, которая просто действует как переход от этих существующих музыкальных треков к другим. Даже если невозможно охватить все возможные музыкальные переходы, вы также можете использовать «дорожки соединителей», чтобы музыкальная дорожка заканчивалась на ранней стадии в случае, когда вы пытаетесь избежать простых постепенных и постепенных изменений музыки.
Метод 3: CCC-Combo
Также важно отметить, что два основных подхода, обсуждаемых здесь (слои и ветвление, как их обычно называют), могут сосуществовать концептуально. «Ветвление» - это такой простой термин и описание того, что происходит, что вы вполне могли бы разветвляться между многоуровневыми музыкальными системами. Для этого часто требуется полусложная система воспроизведения, поэтому вы должны сбалансировать то, что стоит вашего времени для реализации.
Метод 4: Прагматизм и упрощенное воспроизведение музыки
И, конечно, вы всегда можете просто добавлять и затухать свою музыку по мере необходимости. Нет ничего постыдного, если это то, что кажется правильным, или невозможно записать треки соединителей. Лучше, чем жесткие переходы на совершенно не связанное музыкальное произведение - это звучало бы довольно ужасно.
Я также хотел бы обратиться к вашей идее "немых песен". Это не плохо, но что происходит, когда вы начинаете играть одну 300-секундную дорожку в течение 5 секунд, а затем вы сразу переходите в состояние, в котором вам нужно перейти на другую дорожку? Ожидание оставшихся 295 секунд кажется нецелесообразным, если вы действительно хотите, чтобы этот музыкальный переход произошел.
Однако, если музыка является чисто фоновой музыкой, и ее основная цель состоит в том, чтобы просто установить общее настроение, тогда «простой список фоновой музыки» - совершенно законный способ думать об этом. В этот момент вы говорите о музыкальном плейлисте, который вы бы создали в iTunes или Windows Media Player (это все еще есть?), Поэтому вы должны реализовать его с учетом этого.
дальнейшее чтение
Чтобы узнать больше о стандартных подходах к проектированию воспроизведения музыки в играх, вам следует взглянуть на учебные материалы для двух крупнейших интерактивных инструментов промежуточного звукового программного обеспечения, которые широко используются в промышленности, FMOD и Wwise.
Wwise имеет хороший справочный материал на этой странице . «Создание интерактивной музыки для игр» статья особенно хороша , как она идет в дальнейшую глубину об информации , которую я написал здесь. На канале FMODTV Youtube есть видео со Стефаном Шютце, которое охватывает FMOD Studio в целом - включая его части, которые можно использовать для разработки систем воспроизведения музыки. Изучение того, как эти инструменты подходят к этой проблеме, поможет вам подумать о том, как удовлетворить потребности вашей игры.