Wwise 2022.1 est en ligne et peut être installé à partir de l'Audiokinetic Launcher. Voici un résumé des nouvelles fonctionnalités :
- Application Wwise Authoring
- Workflow d'édition
- Améliorations des dispositions
- Recherche dans le Project Explorer
- Copier des propriétés
- Nouvelles courbes et nouvelle apparence dans l'Attenuation Editor
- Auto-Defined SoundBanks
- Onglet Generated Files dans le File Manager
- Amélioration de l’interface Transport Control
- Aide contextuelle et messages d'erreur du Capture Log
- Comportement du filtre : Utiliser la valeur la plus élevée
- Copier et Coller des State Group et leurs valeurs associées
- Event Action : Afficher les State et les State Group
- Performance Monitor
- Selection Channel et instances de vumètres
- Usage de la molette de la souris pour le zoom et la panoramique
- Modifications des raccourcis clavier
- Mises à jour du menu de raccourcis
- WAQL
- WAAPI
- Plugiciels
- Intégrations
- SDK
Application Wwise Authoring
Workflow d'édition
La première chose que vous remarquerez dans Wwise 2022.1, ce sont les changements apportés à l'interface utilisateur par onglets, visant à améliorer le workflow pour l’édition audio et la navigation. Ces améliorations s’inscrivent dans un processus continu ayant pour objectif de fournir une solution audio interactive complète offrant accessibilité et perspectives de création. Cette version apporte un nouveau regard à la façon dont vous interagissez avec votre projet Wwise et enrichit le langage de l'implémentation audio interactive et de la création audio dynamique.
Un Object Tab Group est désormais inclus par défaut au centre de la disposition Designer. Tout objet du Project Explorer peut être sélectionné et affiché dans un onglet Object Tab, de manière à voir ses propriétés et tous les éditeurs associés en un emplacement centralisé. Cela signifie que vous n'avez pas à changer de disposition pour accéder au Music Editor, par exemple lorsque vous travaillez avec des objets situés dans l'Interactive Music Hierarchy ; tout ce dont vous avez besoin pour modifier les propriétés d'un objet est disponible dans l'Object Tab.
Les Object Tab fournissent :
- La possibilité d’éditer des objets en contexte, dans un emplacement central.
- Des onglets de type Recycler et Keep Open.
- La possibilité de naviguer d’un objet à l’autre à l'aide des habituels boutons avant et arrière.
Il existe deux types d'Object Tab : Recycler et Keep Open. Un onglet de type Recycler remplace l'objet précédemment sélectionné dans le même onglet d'objet, chaque fois qu'un nouvel objet est sélectionné dans le Project Explorer. D'autre part, les onglets de type Keep Open peuvent être maintenus ouverts indépendamment de l'onglet de type Recycler, et peuvent être réorganisés, épinglés et détachés d'un groupe d'onglets, ce qui apporte une plus grande flexibilité pour moduler et adapter le workflow aux besoins d'un projet. Cette fonctionnalité vous permet d'organiser des groupes d'onglets correspondant à différentes opérations, afin de faire des comparaisons entre des groupes d'onglets, ou pour prendre en charge des processus de création qui peuvent être propres à votre projet.
Un Object Tab Group.
Trois exemples d'Object Tab.
Chaque Object Tab se compose d'un éditeur principal dans le volet supérieur et, pour la plupart des types d'objets, d'un éditeur secondaire dans le volet inférieur. L'éditeur principal affiche soit le Property Editor, l’Event Editor, l’Audio Device Editor ou tout autre éditeur associé, selon le type d'objet sélectionné. L'éditeur secondaire comprend un onglet pour chacun des autres éditeurs les plus pertinents pour l'objet actuellement sélectionné. La combinaison des éditeurs primaire et secondaire associés à un objet, composant essentiel du workflow par onglets, permet de mettre l'accent sur le contexte lors de l’édition audio.
Référez-vous à l'article Working with Object Tabs and Object Tab Groups pour plus de détails sur ce nouveau workflow.
Améliorations des dispositions
Les dispositions et la gestion des dispositions ont été améliorées afin de s'inscrire dans la même logique des changements apportés au workflow d'édition audio. La disposition Interactive Music a été supprimée car tous les éditeurs en rapport avec la musique sont désormais facilement accessibles via l’Object Tab de la disposition Designer. Les Object Tab Group ainsi que les Object Tab peuvent être détachés d'une disposition en tant que fenêtres flottantes, et peuvent être épinglés à l’intérieur d'une disposition ou d’un Object Tab Group de la même manière que pour les autres vues. L'action d’épingler des fenêtres ainsi que leurs aperçus ont été améliorés afin d'offrir une meilleure compréhension du résultat avant la modification d’une disposition. En outre, des améliorations ont été apportées au changement d'échelle des vues, lorsque la taille de la fenêtre de création est modifiée.
Recherche dans le Project Explorer
La fonction de recherche du Project Explorer permet d’effectuer une recherche et un filtrage naturels dans la vue du Project Explorer, et supporte également le langage Wwise Authoring Query Language (WAQL). Cette fonction est particulièrement utile pour les grands projets comportant de nombreux objets et plusieurs contributeurs. Elle permet de cibler la navigation au sein du Project Explorer en mettant en avant et en développant les correspondances.
Il suffit de taper ou de faire glisser un ou plusieurs objets dans le champ de recherche situé en haut du Project Explorer pour voir les résultats. Référez-vous à l'article Using the Project Explorer Search pour plus de détails.
Copier des propriétés
Les propriétés d'un objet peuvent désormais être copiées sur un ou plusieurs autres objets à l'aide de la vue Paste Properties. Cela permet de garder les propriétés cohérentes de manière aisée dans l'ensemble d'un projet, ce qui réduit le risque d'exceptions inconnues et permet d'avoir l'esprit tranquille. La vue Paste Properties permet également de comparer les propriétés entre un objet source et un ou plusieurs objets cibles.
Il existe deux types d'informations que vous pouvez copier et coller à l'aide de cette nouvelle vue :
- Properties : les propriétés, ce qui comprend celles disponibles dans le Property Editor, comme l’Output Bus, la fonction Loudness Normalization, etc.
- List Elements : Il s'agit de listes de sous-éléments appartenant à un objet. La vue Paste Properties prend en charge les List suivantes :
- RTPC
- Stingers
- Metadata
- Music Cues
Par exemple, il est possible que vous vouliez utiliser la même liste de RTPC pour différents véhicules ou objets physiques.
L'API Wwise Authoring (WAAPI) a été étendue pour inclure la possibilité de retourner les propriétés et les listes qui diffèrent entre une source et une cible (ak.wwise.core.object.diff), et de coller les propriétés et les listes d'une source vers une ou plusieurs cibles (ak.wwise.core.object.pasteProperties). Cela offre la possibilité d'accélérer votre pipeline de développement en effectuant des copier-coller de propriétés au sein d'un workflow WAAPI personnalisé (incluant les RTPC).
Référez-vous à l'article Copying and Pasting Object Properties pour plus de détails concernant l’usage de cette vue.
Nouvelles courbes et nouvelle apparence dans l'Attenuation Editor
Des courbes optionnelles d'obstruction, d'occlusion, de diffraction et de transmission ont été ajoutées aux atténuations, ce qui permet de personnaliser chacune d'elles.
Ces courbes peuvent soit :
- Hériter des courbes configurées dans les paramètres du projet (Project Settings) concernant l'obstruction/occlusion.
- Appliquer une courbe personnalisée pour chacune des propriétés disponibles.
- Ne rien appliquer.
Cela permet d'affiner les courbes de ces propriétés en fonction de l'atténuation afin d'obtenir une vision globale de Spatial Audio.
Du même coup, l'Attenuation Editor a été réorganisé pour correspondre à la disposition de l'onglet RTPC du Property Editor :
- Les emplacements de la liste et du graphique ont été intervertis.
- Les propriétés d'atténuation supplémentaires se trouvent désormais dans une liste.
- Un champ de texte a été ajouté pour filtrer des game objects spécifiques du graphique d'atténuation.
Auto-Defined SoundBanks
L’option Auto-Defined SoundBanks offre une nouvelle stratégie de gestion d'assets lors de l'intégration au sein des moteurs de jeux, en basculant vers une méthodologie de SoundBanks à base d’Event prise en charge depuis l'application de création Wwise. Cette option facultative fonctionne en conjonction avec l'intégration dans le moteur de jeu afin de charger et décharger dynamiquement les ressources de Wwise au moment de l'exécution, en s'assurant que seuls les Event et les Media demandés par le jeu soient chargés en mémoire. Wwise permet la coexistence de SoundBanks auto-définies et définies par l'utilisateur, ce qui permet aux développeurs de faire des choix d'optimisation de SoundBanks en fonction de leurs besoins.
De plus, une multitude d'autres améliorations du workflow ont été développées pour soutenir une approche automatisée et granulaire de la gestion des assets destinés au jeu :
- La suppression de CopyStreamedFiles.exe. La fonctionnalité équivalente est maintenant intégrée directement dans le processus de génération de SoundBank de Wwise.
- Nettoyage du dossier Output.
- Inclusion du dossier Output au sein du logiciel de gestion de versions.
Cette fonctionnalité s'appuie sur notre expérience avec la méthode d'Event-Based Packaging (EBP) développée dans le cadre de l'intégration de Wwise pour Unreal Engine, et a permis la mise à jour de l’EBP afin de tirer parti de cette nouvelle méthodologie. En créant des SoundBanks à base d’Event dans l’interface de création Wwise Authoring, la flexibilité du workflow EBP devient indépendante du pipeline d'Unreal et permet un élargissement dans le futur pour d'autres intégrations de moteurs de jeux.
Onglet Generated Files dans le File Manager
Le File Manager dispose désormais d'un onglet Generated Files, affichant des informations sur les fichiers localisés dans le(s) dossier(s) Output de votre projet. Ce nouvel onglet vous permet de visualiser les fichiers générés pour chacune des plateformes de votre projet, une plateforme à la fois. Vous pouvez déterminer le statut et le propriétaire des fichiers générés, ainsi que les fichiers en lecture seule. Vous pouvez également déplacer ou supprimer les fichiers générés sans quitter le File Manager.
Si vous utilisez un logiciel de gestion de versions, faites un clic-droit sur n'importe quel fichier de la liste pour accéder à une liste de commandes supplémentaires, telles que Submit Changes et Check out.
Amélioration de l’interface Transport Control
La vue Transport Control est désormais plus compacte :
- Les boutons correspondant aux Game Parameters, options, et réinitialisations sont désormais représentés par des symboles.
- Les options de lecture sont englobées dans un nouveau menu à côté du bouton de lecture.
- Le menu de réinitialisation est organisé en groupes.
Aide contextuelle et messages d'erreur du Capture Log
La vue Property Help a été renommée en Contextual Help pour refléter son nouvel usage étendu. Vous pouvez maintenant sélectionner n'importe quel message d'erreur dans le Capture Log afin de voir une description détaillée, les causes probables et les étapes de résolution dans la vue Contextual Help.
La vue fournit continuellement des messages d’aide lorsque vous interagissez avec un champ, une case à cocher, un bouton ou un curseur, à condition qu'ils définissent une propriété, plutôt que d'ouvrir une boîte de dialogue, une liste ou une vue.
Tout le contenu de la vue Contextual Help est disponible en anglais, japonais, chinois simplifié et coréen, selon la langue de documentation sélectionnée dans le menu Help.
Comportement du filtre : Utiliser la valeur la plus élevée
La méthode d'accumulation utilisée pour les filtres Voice LPF et Voice HPF peut désormais être définie dans les paramètres du projet (Project Settings). Cela vous permet de choisir si la valeur finale est obtenue en additionnant toutes les valeurs (auparavant la seule méthode disponible), ou en prenant la valeur la plus élevée depuis toutes les valeurs d’objet.
Dans cet exemple, chaque objet spécifie une valeur pour la propriété du filtre passe-bas (LPF). La valeur du filtre passe-bas appliquée au son dépend de la méthode d'accumulation choisie.
Somme de toutes les valeurs : Les valeurs du filtre passe-bas de chaque objet sont additionnées.
Utiliser la valeur la plus élevée : La valeur la plus élevée du filtre passe-bas des différents objets est appliquée.
Copier et Coller des State Group et leurs valeurs associées
Dans l'onglet States du Property Editor, vous pouvez désormais copier et coller des valeurs de State entre différents States Group et entre différents types d'objets, y compris entre la Master-Mixer Hierarchy, l'Actor-Mixer Hierarchy et l'Interactive Music Hierarchy. Vous pouvez même sélectionner plusieurs objets cibles et coller des valeurs dans tous les objets cibles en un seul clic.
Vous pouvez également copier des State Group avec leurs State, leurs propriétés, et leurs valeurs associés, et ce, d'un objet à un autre, indépendamment du type d'objet ou de la hiérarchie.
Event Action : Afficher les State et les State Group
Dans un Event, le champ « Target » de l’Action Set State indique désormais à la fois le State et le State Group auquel il appartient. Il est ainsi plus facile de faire la distinction entre des State ayant le même nom mais appartenant à des State Group différents.
Performance Monitor
Les paramètres par défaut du Performance Monitor ont été mis à jour afin d'inclure tous les paramètres de graphique les plus utiles.
Selection Channel et instances de vumètres
Les Sync Group ont été remplacés par les Selection Channel et vous permettent de synchroniser les vues selon l'une des manières suivantes :
- Dans le Project Explorer et l’Event Viewer : Choisir le même Selection Channel pour plusieurs instances du Project Explorer ou de l’Event Viewer signifie que chaque sélection ou déplacement effectué dans une instance de la vue sera automatiquement reproduit dans la ou les autres instances.
- Dans les autres vues dont la barre de titre inclut l’icône Selection Channel : Utilisez cette option pour synchroniser la vue avec un Selection Channel spécifique du Project Explorer et/ou de l’Event Viewer. Cela signifie qu’un objet sélectionné dans le Project Explorer ou l’Event Viewer sur ce Selection Channel sera automatiquement sélectionné dans la ou les vues synchronisées.
Parallèlement à cela, pour éviter toute confusion, les vumètres n'ont plus de Sync Group, mais des instances (A, B, C et D).
Usage de la molette de la souris pour le zoom et la panoramique
Le comportement de la molette de la souris a été modifié dans les écrans suivants afin d’offrir une expérience améliorée :
- AK Convolution Reverb Editor
- Music Segment Editor
- Attenuation Editor
- Onglet RTPC
- Performance Monitor
- Voice Monitor
- Game Sync Monitor
- Source Editor
De manière générale, pour les vues affichant des étendues de valeurs ou des zones temporelles, les conventions suivantes ont été adoptées :
- Molette de la souris : Défilement horizontal
- Ctrl+Molette de la souris : Zoom horizontal
- Shift+Molette de la souris : Défilement vertical
- Ctrl+Shift+Molette de la souris : Zoom vertical
Modifications des raccourcis clavier
Les raccourcis clavier suivants ont été modifiés :
- Ctrl+F permet d’effectuer une recherche dans le Project Explorer.
- Ctrl+Shift+F permet d’effectuer une recherche dans la barre d'outils de Wwise.
- Ctrl+Shift+L ouvre la List View.
- F3 permet d’effectuer une recherche dans la vue actuelle.
- Shift+Q ouvre le Query Editor.
- Il n'y a plus de raccourci par défaut pour ouvrir le Dialog Event Editor, ni pour le License Manager.
Mises à jour du menu de raccourcis
Les menus de raccourcis du Contents Editor, de la List View, du Query Editor et de la Reference View ont été mis à jour et comprennent désormais des options permettant de :
- Supprimer des objets
- Renommer/renommer par lot des objets
WAQL
Les performances générales de WAQL ont été améliorées, et les ajouts suivants ont été apportés :
- Ajout de l'accesseur « duration » pour trouver les objets correspondant à la durée spécifiée. Par exemple : $ from type sound where duration.max > 2.
- Exposition des états mute et solo avec isExplicitMute, isExplicitSolo, isImplicitSolo, isImplicitMute. Par exemple : $ where isExplicitMute.
WAAPI
Les fonctionnalités suivantes ont été ajoutées à WAAPI :
- Ajouts apportés à ak.wwise.core.object.set :
- Opérations par lots sur les objets Wwise.
- Possibilité de définir des propriétés et des références.
- Possibilité de créer de nouveaux objets en tant qu'enfants ou à l'intérieur d'une liste (RTPC par exemple).
- Les RTPC peuvent maintenant être ajoutés, modifiés et supprimés.
- Les Modulators (ShareSets et Custom) peuvent maintenant être créés.
- Les Effects (ShareSets et Custom) peuvent maintenant être créés.
- Les plugiciels source peuvent maintenant être créés.
- Ajout de ak.soundengine.getState et de ak.soundengine.getSwitch afin d’obtenir le Switch et le State actuels depuis le moteur audio.
- Ajout de ak.wwise.core.soundbank.convertExternalSources afin de prendre en charge la conversion de sources externes.
- Ajout de ak.wwise.core.soundbank.processDefinitionFiles afin de prendre en charge les fichiers de définition de SoundBank.
- Ajout des rubriques ak.wwise.core.profiler.gameObjectRegistered et ak.wwise.core.profiler.gameObjectUnregistered afin de recevoir une notification lorsqu'un game object est enregistré ou désenregistré.
- Ajout de ak.wwise.core.profiler.getGameObjects pour obtenir la liste des game object enregistrés à un moment précis dans une capture du Profiler.
- Les commandes Mute et Solo acceptent désormais que des valeurs true/false soient passées, et changent automatiquement lorsqu'aucun état n'est spécifié.
- Ajout d'une rubrique ak.wwise.core.profiler.captureLog.itemAdded afin de recevoir une notification lorsque de nouveaux événements du journal de capture sont publiés (également ajouté à la version 2021.1.9+).
- Ajout de ak.wwise.core.object.diff et ak.wwise.core.object.pasteProperties afin de prendre en charge les fonctionnalités de copie de propriétés (voir Copier des propriétés).
- Ajout de ak.wwise.core.getProjectInfo afin d'obtenir des informations sur le projet actuellement ouvert.
- Ajout de ak.wwise.core.undo.undo pour annuler la dernière opération.
- Ajout de ak.wwise.core.sound.setActiveSource pour changer la Source active d'un objet Sound.
- Ajout de ak.wwise.core.transport.prepare pour préparer l'objet et ses dépendances à la lecture.
Plugiciels
Simplification du workflow de Reflect
Le plugiciel Reflect dispose d'un nouveau workflow simplifié, offrant une prise en main plus facile concernant les premières réflexions dynamiques pour une utilisation créative. Les courbes d'atténuation d'un son peuvent désormais être utilisées pour atténuer des chemins de réflexion, offrant ainsi de nouvelles possibilités de personnalisation. Les courbes peuvent être héritées d’une courbe d'atténuation d'un son, personnalisées ou désactivées pour chacune des courbes. De plus, les courbes de Distance et de Diffraction de chaque instance du plugiciel Reflect peuvent être personnalisées, ce qui vous permet d'accentuer ou d'atténuer les réflexions.
Nouveau plugiciel 3D Audio Bed Mixer
Le nouveau plugiciel 3D Audio Bed Mixer peut être inséré sur un bus de type Audio Objects pour réduire le nombre d'Objets Audio passant par ce bus. Il fonctionne en mixant certains des Objets Audio, ce qui donne trois résultats possibles : un Main Mix, un Passthrough Mix, et une collection d'Objets Audio non mixés qui peuvent être promus en Objets Audio Système à la fin du pipeline. Plusieurs paramètres vous permettent de personnaliser le comportement du plugiciel.
Améliorations apportées à Time Stretch
Le plugiciel Time Stretch comprend un nouveau mode d'étirement de meilleure qualité qui préserve les transitoires et vous permet de contrôler la qualité par rapport aux performances CPU. Le plugiciel Time Stretch peut être utilisé pour modifier la vitesse ou la durée d'un signal audio sans en affecter la hauteur. Il permet à la fois l'étirement et la compression du temps et peut être utilisé sur des sons monophoniques ou polyphoniques. De plus, des propriétés permettant de contrôler le décalage de la hauteur et le décalage aléatoire de la hauteur ont été ajoutées, ainsi que des modes de traitement stéréo afin de mieux gérer l'image stéréo et d'accroître la flexibilité de Time Stretch en tant qu'outil créatif.
Intégrations
Prise en charge des SoundBanks auto-définies dans Unreal
La fonctionnalité d’Event-Based Packaging incluse dans l'intégration Unreal de Wwise exploite désormais la fonction Auto-Defined SoundBanks introduite dans Wwise 2022.1. Le contenu des fichiers de métadonnées des SoundBank a été amélioré afin d'inclure toutes les informations nécessaires au moteur d'exécution pour lire le son tel que prévu par les concepteurs. Cela nous permet de renoncer à tout code de synchronisation des assets dans notre intégration avec Unreal, puisque celui-ci peut se fier aux métadonnées générées par Wwise. Cela signifie qu'au lieu de remplir automatiquement le dossier Content de Unreal avec tous les éléments présents dans le projet Wwise, les assets Unreal ne sont créés que lorsqu'ils sont nécessaires. À moins que vous ne choisissiez d'utiliser un Event spécifique dans votre projet Unreal, celui-ci ne créera pas d'asset sur le disque. Ces assets ne contiennent qu'une référence aux ressources qu'ils utilisent jusqu'à ce que vous procédiez au package de votre projet. Ce n'est qu'à ce moment-là que les SoundBank sont copiées dans la hiérarchie de dossiers d'Unreal. Cela résout également le problème rencontré par les membres du projet qui ne travaillent pas sur l'audio, mais qui devaient parfois installer Wwise pour avoir de l'audio dans leur projet. La nouvelle intégration ne requiert que la présence du dossier GeneratedSoundbanks pour avoir une prise en charge audio complète de Wwise dans le projet.
Unreal Engine 5.0
Les mondes étendus sont désormais entièrement pris en charge avec des vecteurs en double précision (64 bits). Auparavant, il fallait soit travailler en simple précision (32 bits), soit repositionner le centre de l'univers, soit utiliser des grilles locales personnalisées. Des mises à jour seront continuellement fournies pour les futures versions d'Unreal Engine 5.0. Pour plus d'informations, référez-vous à l'article Important Migration Notes 2022.1.
SDK
Listener pour les jeux à la troisième personne
Lors de l'implémentation de l'audio dans un jeu ou une simulation utilisant une perspective à la troisième personne (TPP, « Third Person Perspective »), il n'est pas toujours évident de savoir où placer le game object Listener. Alors que certains suggèrent de le placer sur la caméra, d'autres préfèrent le placer au niveau du personnage contrôlé par le joueur. La nouvelle fonctionnalité Distance Probe, disponible en tant que contrepartie facultative d'un game object Listener, offre le meilleur des deux mondes.
Lorsqu'un Distance Probe est affecté à un Listener, la distance d'atténuation appliquée à tous les sons acheminés vers le Listener est basée sur la distance entre le Distance Probe et le game object Emitter. La panoramique, la spatialisation, le Spread et le Focus sont toujours basés sur la position et l'orientation du game object Listener, qu'un Distance Probe soit assigné ou non. Grâce à cette dissociation de la distance que permet l’usage d’un Distance Probe, vous pouvez contrôler dynamiquement ce qui est entendu par le joueur dans différents scénarios de jeu.
De plus :
- Chaque game object Listener peut avoir zéro ou un game object défini comme Distance Probe.
- Un seul game object peut être défini comme Distance Probe pour plusieurs Listeners.
- Le fait d'assigner un Listener comme son propre Distance Probe équivaut à ne pas définir de Distance Probe.
Amélioration des performances de la géométrie de Spatial Audio
Spatial Audio est un ensemble de fonctionnalités en rapide évolution qui est continuellement optimisé pour garantir une interaction créative entre les performances et une représentation réaliste de l'environnement. Le calcul de la diffraction nécessite de trouver des chemins le long des surfaces de diffraction et peut consommer beaucoup de CPU au moment de l'exécution en temps réel. Afin d'optimiser les performances du processeur, nous créons maintenant une carte de visibilité d'une surface de diffraction à l'autre en utilisant une approche de ray-tracing qui collecte les surfaces de diffraction environnantes importantes. Celles-ci peuvent ensuite être utilisées pour optimiser les calculs de diffraction. De plus, nous répartissons la charge de calcul concernant l’audio spatial sur plusieurs frames audio (définies par le paramètre de répartition) afin de réduire les pics d'utilisation du CPU. Chaque tâche concernant l’audio spatial (ray-cast, validation de trajectoire, etc.) est placée dans une file d'attente prioritaire qui, en fonction du paramètre de répartition de charge, exécute un nombre spécifique de tâches de la file d'attente à chaque frame. L'équilibrage de la charge est particulièrement utile lorsque vous utilisez plusieurs émetteurs simultanément.
Prise en charge des mondes étendus
Le moteur audio de Wwise prend désormais en charge les coordonnées de Game Objects pour les mondes étendus, en passant à des valeurs de double précision pour le positionnement. Cela permet un comportement prévisible pour le positionnement des sons, même avec des mondes dont la taille se compte en milliards d'unités. Les API traitant des positions des Game Object ont été mises à jour pour utiliser deux nouveaux types, AkWorldTransform et AkVector64, qui fournissent les données supplémentaires. Pour plus d'informations, référez-vous à l'article Important Migration Notes 2022.1.
Améliorations des Performance du gestionnaire de RTPC et Switch
La gestion du nombre croissant de paramètres utilisés pour concevoir de l'audio dynamique lors de l'exécution en temps réel vient de gagner en rapidité et en efficacité. La Performance des Real Time Parameter Controls (RTPCs) et des Switches n'est maintenant plus affectée par le nombre d'objets Wwise chargés en mémoire et leur utilisation de RTPCs ou Switches. Les réglages de la valeur d'un RTPC ou d'un Switch ainsi que leur mise à jour ont été optimisés et ne dépendent plus que du nombre de game objects enregistrés et combien de sons actifs utilisent le RTPC ou le Switch.
Améliorations de la planification personnalisée des tâches de rendu audio
L'exécution multithread du pipeline de rendu audio a été réécrite et optimisée pour obtenir de meilleures performances d'exécution. Cela a été réalisé notamment en passant à un planificateur interne basé sur les tâches avec modélisation des dépendances, au lieu d'une méthode d'exécution en parallèle de type « fork-and-join ». Les principaux points forts sont les suivants :
- L'exécution des bus du Voice Graph a considérablement amélioré la simultanéité et le débit en permettant le traitement simultané de branches indépendantes du Voice Graph, au lieu de ne traiter qu'un seul niveau du Voice Graph à la fois.
- Le traitement des voix bénéficie désormais par défaut d'un meilleur équilibrage de la charge, sans que le moteur de jeu ait à gérer une telle répartition du travail.
- L'intégration avec un gestionnaire de tâches provenant du moteur de jeu est plus facile à prendre en charge et à maintenir. Dans la plupart des cas, le moteur de jeu devrait également être en mesure de programmer moins de tâches qu'auparavant, ce qui, dans l’ensemble, permet de réduire les coûts de l'intégration.
- De nouvelles API ont été ajoutées afin de permettre le profiling détaillé de l'utilisation du CPU de Wwise dans des outils externes.
Cela signifie que Wwise utilise plus efficacement les ressources CPU afin d’offrir une expérience audio plus riche, tout en assurant une meilleure coordination du travail et une meilleure planification avec le moteur de jeu.
Commentaires