top of page

Les villes propres et pleines de vie ont laissé place à des ruines dangereuses et infestées de zombies.
Une chance que la Citadine se soit transformée en un bolide blindé et armé !
Survivez à l’apocalypse, améliorez votre véhicule et personnalisez-le.
 
Réalisez sur Unity 3D tout le long de ma troisième année, Chaussée Glissante est un jeu vidéo mobile proposant au joueur d’améliorer et de personnaliser une voiture, qu’il utilisera ensuite dans un espace de jeu afin de survivre à des hordes de zombies.

Étant le sound designer du projet mais aussi développeur, mon rôle était de concevoir tout les sons présent dans ce dernier : passant de leurs créations sonores, à leur intégration (scripting compris) via FMOD.
J'ai entre autres participé au game design du jeu, ainsi qu'à la création de props.


Le jeu est disponible sur PC et Android, et bientôt sur iOS.

Voici un exemple de la création d'un son me tenant a cœur : la voiture dans les airs.
Il m'a fallu créer les différents sons illustrant une voiture planant dans les airs, et s’apprêtant a toucher le sol lorsqu'elle se rapproche de plus en plus de ce dernier.
C'est un paramètre correspondant à la distance du joueur par rapport au sol qui permet cela.
Plus la voiture se rapproche du sol, plus ce paramètre évolue et joue les différents sons équivalents.
Ci dessous le script et son intégration sur FMOD comme exemple :




 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class InTheAir_Test : MonoBehaviour
{
  RaycastHit hit;
  GameObject solPrefab;
  float maxRange = 5;
  private FMOD.Studio.EventInstance event_IntheAir;
  bool isInTheAir;
  public LayerMask myLayers;
  void Start()
  {
       solPrefab = GameObject.Find("Plane");
       event_IntheAir = FMODUnity.RuntimeManager.CreateInstance("event:/Véhicule/Car Engine/InTheAir");
       event_IntheAir.start();
  }


  void Update()
  {
       //   if (Vector3.Distance(transform.position, solPrefab.transform.position) > maxRange)
       //   {
       //       Debug.Log("PlayInTheAIR");
       //   }



       if (Physics.Raycast(transform.position, Vector3.down, out hit, myLayers))
       {   
           if (hit.collider.gameObject.tag == "Sol")
           {
               //Debug.Log(Vector3.Distance(transform.position, hit.point));
           }
           if (Vector3.Distance(transform.position, hit.point) > maxRange && hit.collider.gameObject.tag == "Sol")
           {
               isInTheAir = true;

               event_IntheAir.setParameterByName("ToucheSol", 0.2f);
               //Debug.Log("PlayInTheAIR");

           }
           if (Vector3.Distance(transform.position, hit.point) < 1.3f && isInTheAir == true)
           {

               event_IntheAir.setParameterByName("ToucheSol", 1f);
               isInTheAir = false;
               StartCoroutine(ReloadSound());
           }
       }
  }
  IEnumerator ReloadSound()
  {


       yield return new WaitForSeconds(3f);
           event_IntheAir.start();
       event_IntheAir.setParameterByName("ToucheSol", 0);
  }
  void OnDestroy(){
       event_IntheAir.stop(FMOD.Studio.STOP_MODE.ALLOWFADEOUT);
  }
}

DOCUMENTATIONS ET PROTOTYPE

fmodscript.png
bottom of page