CursosEmpresasBlogLiveConfPrecios

Reproducir sonidos de perder vida y game over

Clase 27 de 28 • Curso de Producción de Audio para Videojuegos

Contenido del curso

Introducción al curso

  • 1
    Bienvenida al curso

    Bienvenida al curso

    09:30 min
  • 2

    Utilizando otros DAW’s

    07:00 min

Conociendo los videojuegos

  • 3
    Entendiendo el Game Design

    Entendiendo el Game Design

    06:04 min
  • 4
    Preproducción

    Preproducción

    08:33 min
  • 5
    Conociendo los videojuegos

    Conociendo los videojuegos

    04:52 min

Producción de música

  • 6
    Concepto vs. Producción - Concepto

    Concepto vs. Producción - Concepto

    05:04 min
  • 7
    Concepto musical de family secrets

    Concepto musical de family secrets

    14:29 min
  • 8
    Mezcla de la producción

    Mezcla de la producción

    10:50 min
  • 9
    Compresión de la Mezcla: comprensión de pista y compresión general

    Compresión de la Mezcla: comprensión de pista y compresión general

    12:13 min
  • 10
    Loops - Platzi Puzzle

    Loops - Platzi Puzzle

    11:21 min
  • 11
    Música - Platzi Puzzle

    Música - Platzi Puzzle

    03:00 min
  • 12
    Producción del Concepto

    Producción del Concepto

    07:39 min
  • 13
    Efectos

    Efectos

    10:05 min
  • 14
    Compresión general

    Compresión general

    06:10 min
  • 15
    Automatización y Paneos

    Automatización y Paneos

    12:56 min
  • 16
    Mostrando la Mezcla del profesor

    Mostrando la Mezcla del profesor

    09:06 min
  • 17
    Masterización de la producción

    Masterización de la producción

    17:11 min
  • 18
    Jugar Platzi Puzzle

    Jugar Platzi Puzzle

    03:14 min

Unity y Audio

  • 19
    Bancos de sonido

    Bancos de sonido

    05:56 min
  • 20
    Sonidos - Platzi Puzzle

    Sonidos - Platzi Puzzle

    08:16 min
  • 21
    Bonus: Sonidos desplazamiento - Platzi Puzzle

    Bonus: Sonidos desplazamiento - Platzi Puzzle

    01:38 min
  • 22
    Instrumentos virtuales

    Instrumentos virtuales

    07:14 min
  • 23
    Sincronización

    Sincronización

    01:24 min
  • 24
    Integración con Unity

    Integración con Unity

    06:01 min
  • 25
    Mezclando audio dentro de Unity

    Mezclando audio dentro de Unity

    10:04 min
  • 26
    Creación de Snapshots

    Creación de Snapshots

    04:02 min
  • 27

    Reproducir sonidos de perder vida y game over

    Viendo ahora
  • 28
    Consejos finales y conclusiones

    Consejos finales y conclusiones

    03:53 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Abre el proyecto de Platzi Puzzle en Unity.

      En la parte de arriba del lado izquierdo de la pantalla, haz clic sobre el “GameManager” del SampleScene:

      img1.PNG

      Lleva el mouse sobre la ruedita con flecha hacia abajo que queda en el lado derecho de la pantalla, en la sección de “Game Manager (Script), y haz clic sobre esta:

      img2.PNG

      Haz clic sobre la opción de “Edit script”: z

      img3.PNG

      Esto te llevará al Visual Studio y abrirá la ventana del código del “GameManager.cs”:

      img4.PNG

      img5.PNG
      img6.PNG
      using UnityEngine.Audio; Así quedan las primeras 6 líneas del código: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; using UnityEngine.Audio; // es importante agregar este último para el Audio Engine de Unity //Luego de la línea 24 del código “public AudioClip[] collectableClips;”, agrega el siguiente código: public AudioClip clip; //clip para lanzar el sonido de perder vida public AudioClip clip2; // clip para lanzar el sonido game over //Así quedan las líneas de código de la 10 a la 26: public class GameManager : MonoBehaviour{ public static GameManager instance = null; public bool playerMovement = true; public Text lifesText; public Text pointsText; public Text highScoreText; public Text lastScoreText; public GameObject player; public Transform SpawnPoint; public GameObject finalPortal; public GameObject gameOverPanel; public GameObject fadePanel; public int itemsPerLevel; public AudioClip[] collectableClips; public AudioClip clip; //clip para lanzar el sonido de perder vida public AudioClip clip2; // clip para lanzar el sonido game over //Luego de la línea 92 “KillPlayer();”, debes agregar la siguiente línea de código: MusicController.instance.StartCoroutine("playEventMusic", clip); // Esto pide que se lance el Coroutine que reproduce el sonido de perder vida //Luego de la línea 98 “FinishGame();”, debes agregar la siguiente línea de código: MusicController.instance.StartCoroutine("playEventMusicThenRestart", clip2); // Esto pide que se lance el Coroutine que reproduce el sonido de Game Over // Estos dos Coroutines estarán en un script dentro de la Main Camera // llamado MusicController.cs que crearemos en el siguiente paso //(Nota: el MusicController lo crearemos a continuación, en la sección Creando “MusicController.cs” //Así quedan las líneas de código de la 86 a la 104: public void LoseLife(){ if(points>10){ points -= 10; } if(playerLifes>1){ playerLifes--; KillPlayer(); MusicController.instance.StartCoroutine("playEventMusic", clip); // Esto pide que se lance el Coroutine que reproduce el sonido de perder vida Invoke("SpawnPlayer", 1f); }else{ playerLifes = 0; FinishGame(); MusicController.instance.StartCoroutine("playEventMusicThenRestart", clip2); // Esto pide que se lance el Coroutine que reproduce el sonido de Game Over // Estos dos Coroutines estarán en un script dentro de la Main Camera // llamado MusicController.cs que crearemos } }

      Una vez tienes estas líneas de código en el “GameManager.cs”, vuelve a Unity sin cerrar el Visual Studio, para continuar con el siguiente paso, creando el “MusicController.cs”.

      Creando el “MusicController.cs”

      En Unity, en la parte de arriba del lado izquierdo de la pantalla, haz clic sobre el Main Camera del SampleScene:

      img7.PNG

      En la parte de abajo del lado derecho de la pantalla, haz clic en el botón de “Add Component”:

      img8.PNG

      Escribe la palabra “MusicController”, y haz clic sobre New script:

      img9.PNG

      Haz clic sobre “Create and Add”:

      img10.PNG

      Luego de hacer clic en “Create and Add”, tiene creado el “Music Controller (Script)”. Lleva el mouse a la ruedita con la flecha hacia abajo del lado izquierdo y haz clic sobre ella:

      img11.PNG

      Haz clic sobre la opción de “Edit script”:

      img12.PNG

      Esto te llevará al Visual Studio y abrirá la ventana del código del “MusicController.cs”:

      img13.PNG

      En el Visual Studio encontrarás el siguiente código cuando se el “MusicController.cs”:

      using System.Collections; using System.Collections.Generic; using UnityEngine; public class MusicController : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } } // Debes modificar el código del “MusicController.cs” de la siguiente manera (los comentarios de código, para que sea más fácil // de entender lo que estás haciendo, están en //gris): using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Audio; // es importante agregar este último para el Audio Engine de Unity public class MusicController : MonoBehaviour { public static MusicController instance; public AudioSource defaultMusic; public AudioSource killedMusic; public AudioSource gameoverMusic; public AudioMixerSnapshot killed; public AudioMixerSnapshot gameover; public AudioMixerSnapshot music; // declaramos los audiosource para cada tipo de evento. Default, perder vida y game over // así mismo, declaramos el snapshot para cada uno. Los snapshots aprendimos a crear previamente private void Awake() { if(instance != null) { Destroy(gameObject); } instance = this; // esto es para cada vez que llamas el Coroutine desde el Game Manager } public IEnumerator playEventMusic(AudioClip clip) // perder vida { killed.TransitionTo(0.05f); //cambio de snapshot en 0.05 segundos yield return new WaitForSeconds(0.2f); // esperar 0.2 segundos. Ambos valores se pueden modificar killedMusic.clip = clip; killedMusic.Play(); // esto reproduce el clip indicado en el Game Manager while(killedMusic.isPlaying) { yield return null; } music.TransitionTo(0.05f); // al terminar, se vuelve al snapshot general de la música en 0.05 segundos yield break; } public IEnumerator playEventMusicThenRestart(AudioClip clip) // gameover { gameover.TransitionTo(0.05f); yield return new WaitForSeconds(0.2f); defaultMusic.Stop(); // esto hace que la música principal pare de sonar gameoverMusic.clip = clip; gameoverMusic.Play(); while (gameoverMusic.isPlaying) { yield return null; } music.TransitionTo(0.05f); yield return new WaitForSeconds(0.2f); defaultMusic.Play(); // termina el game over, se espera un momento, y se cambia al snapshot principal y // se le da play de nuevo a la música. yield break; } }

      Luego de escribir todo este código (el cual puedes copiar y pegar en Visual Studio) tendrás todo el código que necesitas para que funcionen los snapshots, lo cual permitirá que se activen el sonido de muerte y game over.

      Debug en Visual Studio

      En Visual Studio haz clic sobre la flecha de play para hacer un Debug, así nos aseguraremos que el código no tiene errores:

      img14.PNG

      Luego de un tiempo, que ya haya terminado de hacer el Debug y que no te hayan salido ningún error, haz clic sobre el cuadrado para para el Debug:

      img15.PNG

      Así ya estamos seguros que el código corre bien y no hay ningún error. Ya puedes cerrar el Visual Studio, si te pide que guardes cambios, hazlo y vuelve al proyecto en Unity.

      Últimos ajustes en Unity

      El proyecto puede quedarse pensando un tiempo mientras los ajustes que hiciste en el código se hacen efectivos. Una vez para de pensar el computador, haz clic sobre el “GameManager” del SampleScene:

      img16.PNG

      Ahora en la sección de “Game Manager (Script) podrás observar en la parte de abajo que ahora se encuentran “Clip” y “Clip2”, los cuales creaste en el código:

      img17.PNG

      Para escoger el audio de “Clip”, haz clic en el círculo que se encuentra en el extremo derecho de este, luego del texto de “None (Audio Clip”):

      img18.PNG

      Haz clic sobre el sonido de “Muerte” (o elije el que quieras para este sonido):

      img19.PNG

      Para escoger el audio de “Clip 2”, haz clic en el círculo que se encuentra en el extremo derecho de este, luego del texto de “None (Audio Clip”):

      img20.PNG

      Haz clic sobre el sonido de “GameOver” (o el elije el que quieras para este sonido):

      img21.PNG

      En Unity, en la parte de arriba del lado izquierdo de la pantalla, haz clic sobre “Main Camera” del SampleScene:

      img22.PNG

      Luego de hacer clic sobre “Main Camera”, en la parte de abajo del lado derecho de la pantalla, encontrarás el “Music Controller (Script)”, con los distintos “sources” y “snapshots” que creaste en el código:

      img23.PNG

      De la misma manera que hiciste para los dos clips anteriores, haz clic en el círculo que se encuentra en el extremo derecho de “Default Music” y en la ventana que aparece haz clic sobre “Platzi Puzzle Música (loop) o sobre el “AudioSource” de la música de tu proyecto:

      img24.PNG

      Para “Killed Music” haz clic sobre el círculo de la misma manera que para hiciste “Default Music” y en la ventana que aparece haz clic sobre “killed” o sobre el “AudioSource” del sonido de muerte de tu proyecto:

      img25.PNG

      Para “Gameover” haz clic sobre el círculo de la misma manera que hiciste para “Killed” y en la ventana que aparece haz clic sobre “killed” o sobre el “Snapshot” que creaste para el sonido de muerte de tu proyecto:

      img26.PNG

      Para “Music” haz clic sobre el círculo de la misma manera que hiciste para “Killed” y “Gameover”, y en la ventana que aparece haz clic sobre “Snapshot” o sobre el “Snapshot” que creaste como el principal de tu proyecto:

      img27.PNG

      Luego de haber seleccionado todas las fuentes de audio y “Snapshots”, el “Music Controller (Script) se debe ver así:

      img28.PNG

      Debes asegurarte que en el “Snapshot” principal, el fader de “killed” y de “gameover” estén en -80 dB:

      img29.PNG

      Luego de haber completado estos pasos, estás listo para jugar Platzi Puzzle y ver cómo funciona el juego con el sonido de muerte y game over. Puedes hacer ajustes de volumen de tus “Snapshots” y en los tiempos del código el cual los activa.

      Pasos adicionales

      Así como aprendimos a hacer masterización de audio utilizando plugins como compresores, podemos colocar uno en nuestro “Master”, para esto haz clic en la parte de abajo del canal del “Master”, donde dice “Add..”:

      img30.PNG

      Del menú que se despliega escoge “Compressor”:

      img31.PNG

      En el “Inspector” del “Master”, el cual aparece en el lado izquierdo de la pantalla puedes ajustar el “Threshold”, “Attack”, “Release” y el “Make up gain” de una manera similar que los compresores de los DAW’s.

      Aquí pueden ver qué ajustes le hice al compresor para lograr el volumen final que quería para Platzi Puzzle:

      img32.PNG

      Cuando ya tienes tu versión Platzi Puzzle con todos los elementos deseados, el último paso es crear un ejecutable de tu juego, para esto haz clic en el menú de “File” y escoge la opción de “Build Settings…”:

      img33.PNG

      Desde esta ventana puedes escoger para qué plataformas vas a crear tu ejecutable, así como cuál va a ser el método de compression:

      img34.PNG

      Usualmente la compresión “Default” va a resultar en el ejecutable más pequeño en tamaño, mientras que la compresión “LZ4HC” usualmente es más grande en tamaño, pero un “build” más estable y lo recomiendan para los “builds” finales de un juego:

      img35.PNG

      Haz clic en “Build” y comparte tu ejecutable para que otros puedan jugar y ver cómo quedó tu versión de Platzi Puzzle.

      ¡Muchas gracias!

        Aún no hay aportes en esta clase

        Escribe tu pregunta o comentario y sé la primera persona en participar en esta clase.