Unity 3D - Contrôler le volume général du jeux avec un slider.

Dans Unity, voici un petit script qui permet de contrôler le volume général du jeux avec une rampe de type Fader / Slider.


Le script suivant modifie le volume d'un component Audio Listener, et doit être positionné sur un gameObject avec un 'Audio Listener'.













L'affichage du slider n'est visible qu'en mode 'exécution'  car il est déclenché par le script.






 






Quelques remarques sur le code:
  1. AudioListener.volume est un float (0.0 à 1.0).  Il faut donc paramétrer le fader GUI.HorizontalSlider et déclarer hSliderValue en conséquences.
  2. Déclarer la variable  hSliderValue en 'staticpermet de ne pas réinitialiser la variable lors de changement de scènes.


Le code en C sharp

AudioVolume.cs

using UnityEngine;
using System.Collections;

public class AudioVolume : MonoBehaviour {

   private static float hSliderValue = 0.3f;
   void Awake() {
      AudioListener.volume = hSliderValue;
   }
   // Use this for initialization
   void Start () {
   }
   // Update is called once per frame
   void Update () {
   }
   void OnGUI(){
      GUI.Box(new Rect(5,Screen.height-20,90,20),"VOLUME");
      hSliderValue = GUI.HorizontalSlider(new Rect( 15,Screen.height-20,70,20 ), hSliderValue, 0.0f, 1.0f );
      AudioListener.volume = hSliderValue;
   }
}




Commentaires

Posts les plus consultés de ce blog

Shopify - Parametrage nom de domaine OVH

MySql (MariaDB) - Convertir l'encodage en UTF8