{ Adrian.Matías Quezada }

Ingeniero de Software Senior en PrimerLearning

UnityC#BashAutodirigidoAutogestionadoIniciativaTrabajo remoto

El canal de YouTube de Primer Learning requirió asistencia para adaptar el motor de juegos Unity a la producción de videos. Nuestra colaboración implicó identificar y abordar desafíos clave, seguidos por el diseño y desarrollo de herramientas para resolver estos problemas de manera efectiva.

Nuestra solución final permitió la definición programática de secuencias de eventos. Se integró perfectamente con Unity Timeline, lo que permitió una vista previa en tiempo real del video durante la producción, con la capacidad de navegar hacia atrás y adelante según fuera necesario.

Además, introdujimos el concepto de "Gnome", una clase que habilitaba y deshabilitaba dinámicamente GameObjects a medida que se navegaba por la línea de tiempo. También creaba GameObjects cuando era necesario, optimizando la utilización de recursos.

Después de nuestro trabajo, definir una escena se volvió tan sencillo como el siguiente ejemplo de código en C#:

class Scene1 : Sequence
{
  protected override IEnumerable<Tween> Define()
  {
    using var miBlob = new Gnome<Blob>("Mi blob");
    miBlob.SetScale(0);

    // Esto se convierte en un clip de timeline
    yield return miBlob.ScaleTo(1);

    // Otro clip de timeline
    yield return miBlob.MoveTo(x: 10, y: 10);

    // Dos tweens en el mismo clip
    yield return Parallel(
      miBlob.ScaleTo(0),
      miBlob.MoveTo(x: 0, y: 0)
    );

    // La instrucción "using" llama myBlob.Dispose() que desactiva el GameObject
  }
}