Que fait Configuration des Mixeurs Audio ?
Router une Audio Source vers un groupe de mixeurs est une modification de scène qu'un seul Éditeur en cours d'exécution peut effectuer, donc cette compétence nécessite un Éditeur en direct dans lequel elle peut exécuter du C#. L'étape 0 établit cela avant toute chose.
Ce que cette compétence automatise, et ce qu'elle vous laisse faire. L'inspection des mixeurs et le routage des Audio Sources dans des groupes sont entièrement de l'API publique Unity, et c'est la partie fastidieuse — parcourir des dizaines de sources et les classer par ce qu'elles jouent. La création d'un mixeur ou d'un groupe n'a pas d'API publique ; elle existe uniquement sur des types qu'Unity ne s'engage pas à maintenir stables. Donc cette compétence ne créera pas de groupes dans votre dos. Elle inventorie ce qui existe, propose le routage, vous demande d'ajouter tout groupe manquant dans la fenêtre Audio Mixer, puis effectue tout le routage elle-même.
C'est une limite délibérée, pas une lacune à contourner. N'utilisez pas la réflexion pour créer des groupes, et ne modifiez pas manuellement un fichier .mixer — la structure du mixeur ne s'édite pas en aveugle en toute sécurité.
Étape 0 : Confirmer que vous pouvez exécuter C# dans l'Éditeur
Chaque étape C# ci-dessous s'exécute dans un Éditeur en direct via l'interface en ligne de commande Unity. La compétence unity-cli est responsable de vous y amener — installer la CLI, confirmer un Éditeur connecté, ajouter le package com.unity.pipeline du projet, distinguer un Éditeur réellement absent d'un autre bloqué en mode sans échec, et découvrir le catalogue de commandes de l'Éditeur. Suivez-la d'abord ; ne dérivez rien ici.
Deux choses qu'elle ne peut pas savoir pour vous :
- Vous avez besoin en particulier de
eval, pas seulement d'un Éditeur accessible. Confirmez qu'il apparaît dans le catalogue. Sa présence dépend de la version du package Pipeline, pas de la CLI, donc une installation saine peut encore en manquer — s'il manque, dites-le et arrêtez-vous. - Ne vous rabattez pas sur l'édition manuelle de fichiers
.mixer. Le routage des mixeurs ne s'édite pas en aveugle en toute sécurité, donc un Éditeur inaccessible est un arrêt, pas un signal pour improviser.
Une fois que eval est disponible, c'est ainsi que chaque étape C# ci-dessous s'exécute.
Exécutez du C# via l'Éditeur connecté avec la commande eval. Découvrez la forme de ses paramètres à partir de unity command --format json plutôt que d'en supposer une — la forme en ligne est unity command eval --code '<extrait>', et certaines versions de Pipeline enregistrent également eval_file pour exécuter un extrait à partir d'un fichier. Vérifiez le catalogue avant d'utiliser eval_file ; il est souvent absent. unity command utilise un délai d'attente par défaut de 30 secondes.
Passer du C# à eval
eval compile un bloc d'instructions, pas un fichier. Deux conséquences, toutes deux causant une erreur de compilation plutôt qu'un avertissement :
- Pas de directives
using. Le compilateur litusing UnityEngine;comme une instruction de libération de ressource et la rejette (CS0210). - Les types doivent être entièrement qualifiés. Un
AssetDatabaseou unVolumenu ne se résout pas (CS0246/CS0103), et unObjectnu est ambigu avecobject(CS0104).
Lorsqu'un extrait ci-dessous est écrit comme un fichier — avec des using, pour la lisibilité, ou parce qu'il est destiné à être sauvegardé dans le projet — qualifiez les types avant de le passer à eval.
Étape 1 : Pré-vérification
Si l'utilisateur n'a pas explicitement demandé Audio Mixers, confirmez qu'il souhaite procéder à leur configuration.
Ensuite, inventorier ce qui existe déjà avec l'extrait d'inventaire des mixeurs dans references/api.md, exécuté dans l'Éditeur comme décrit à l'étape 0. Cela vous donne tous les mixeurs du projet et les noms de groupes dans chacun.
Il renvoie une liste plate de groupes, pas l'arborescence parent/enfant. C'est suffisant pour router, et c'est tout ce que l'API publique expose. Si la hiérarchie est importante pour la conversation, demandez à l'utilisateur de regarder la fenêtre Audio Mixer et de la décrire — n'utilisez pas l'API d'arborescence non publique pour le savoir.
Si le projet n'a aucun mixeur, dites-le et arrêtez-vous plutôt que d'en improviser un : créer un mixeur n'a pas d'API publique. Demandez à l'utilisateur d'en créer un (Fenêtre → Audio → Audio Mixer, puis le + à côté de Mixers), et reprenez à partir d'ici une fois qu'il existe.
Étape 2 : Trouver les références de scène
Trouvez tous les composants Audio Source, examinez les noms de leurs assets Generator assignés, et généralisez une classe ou une catégorie appropriée du nom du son, idéalement quelque chose qui existe déjà. Exemples pour les noms d'assets Audio Clip :
- "FootStep4_Sound" -> Foley
- "Dialogue_Female_Scene4" -> Vox/Voix/Dialogue
- "GunShot" -> Effets Sonores (SFX)
- "Menu_Theme_Variation" -> Musique
Si l'asset assigné n'est pas descriptif ou n'existe pas, essayez de regarder le nom du GameObject ou les noms potentiels de MonoBehaviour adjacents. Demandez à créer un groupe non catégorisé s'il semble difficile ou si la confiance est faible pour classer comment une Audio Source est utilisée.
Étape 3 : Valider la liste des groupes et faire créer les groupes manquants
Présentez la classification de l'étape 2 comme un routage proposé — chaque Audio Source et le groupe vers lequel vous avez l'intention de l'envoyer — et révisez-le avec l'utilisateur.
ATTENDEZ la réponse de l'utilisateur avant de continuer.
Préférez un groupe existant lorsqu'il couvre vraiment la catégorie, même si vous l'auriez nommé différemment. Mais ne fusionnez pas les catégories qu'un ingénieur du son garderait séparées — Foley est un sous-ensemble des Effets Sonores, pas un synonyme, donc un coup de feu n'appartient pas à un groupe Foley simplement parce qu'il existe. Lorsque les groupes existants ne couvrent que partiellement vos catégories, dites lesquels correspondent et lesquels ont besoin d'un nouveau groupe, et laissez l'utilisateur décider.
Pour les catégories sans groupe correspondant, vous ne pouvez pas créer le groupe — il n'y a pas d'API publique pour cela. Transmettez-le précisément, en nommant le mixeur et les noms exacts des groupes, comme indiqué à la fin de references/api.md. Ensuite, réexécutez l'extrait d'inventaire pour confirmer que les groupes existent et vérifiez leur orthographe avant de router. Ne supposez pas que l'utilisateur l'a fait, et ne supposez pas qu'il l'a orthographié comme vous l'avez demandé.
Étape 4 : Router les Audio Sources
Une fois la liste des groupes réglée et confirmée présente, assignez le groupe de sortie de chaque Audio Source en utilisant l'extrait de routage dans references/api.md. Il s'agit d'API publique du début à la fin, et il encapsule tout le passage en une seule étape annulable afin que l'utilisateur puisse tout annuler d'un coup.
Faites correspondre la clé de mappage avec l'identifiant que vous avez classifié. L'étape 2 lit d'abord le nom de l'asset du clip et ne se rabat sur le nom du GameObject qu'en second lieu, donc le mappage accepte l'un ou l'autre — les deux sont des identifiants différents et l'utilisation de la mauvaise clé supprime des sources.
Trois choses à signaler plutôt qu'à supposer :
- Toute entrée
NO SUCH GROUPque l'extrait renvoie. Cela signifie qu'un groupe que vous attendiez n'est pas dans le mixeur — généralement une différence d'orthographe. Résolvez-le avec l'utilisateur, ne sautez pas silencieusement la source. - Toute entrée
NOT IN THE MAPPING. Ce sont des Audio Sources que votre classification a manquées. Signaler un routage réussi alors que des sources ont été silencieusement laissées non routées est le pire résultat ici, car cela ressemble à un succès. - La scène a été modifiée, pas l'asset du mixeur. Le routage vit sur l'Audio Source, donc il ne persiste qu'une fois la scène sauvegardée. Informez l'utilisateur et ne sauvegardez qu'avec son accord.
Le volume, les effets et les changements de parenté sont hors de portée. Ils reposent sur une API non publique. Si l'utilisateur les demande, dites que le routage est terminé et orientez-le vers la fenêtre Audio Mixer pour le mixage lui-même.
Références
Voir references/api.md.