Установите ориентацию слушателя с помощью Web Audio API

Я пытался найти больше информации об установке ориентации слушателя с помощью API Web Audio. Я проверил документацию API, но я не совсем ясно, как это следует использовать. https://docs.webplatform.org/wiki/apis/webaudio/AudioListener/setOrientation

Описывает, в каком направлении слушатель указывает в трехмерном декартовом координатном пространстве. Предусмотрены как фронтальный вектор, так и восходящий. С точки зрения человека, передний вектор представляет, в каком направлении указывает нос человека. Вектор вверх представляет направление, на которое указывает верх головы человека. Ожидается, что эти значения будут линейно независимыми (под прямым углом друг к другу). Параметры x, y, z представляют вектор направления фронта в трехмерном пространстве со значением по умолчанию (0,0,-1). Параметры xUp, yUp, zUp представляют вектор направления вверх в трехмерном пространстве со значением по умолчанию (0,1,0).

Мне нужно использовать поворот ориентации, чтобы помочь пользователю определить, находится ли исходный звук сзади или впереди, как я могу повернуть ориентацию слушателя на 90 градусов вправо или влево?

Большое спасибо

1 ответ

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

Согласно спецификации, поворот пользователя на 90° будет означать изменение вектора "носа" (три первых значения передаются setOrientation) чтобы 1,0,0 (слушатель направлен вправо) или -1,0,0 (слушатель смотрит налево). Если повернуть налево на 45°, -1,0,-1 (вектор будет нормализован, конечно).

Другие вопросы по тегам