From 59355909f2de9236af8168a26c70bcf6caa3b285 Mon Sep 17 00:00:00 2001 From: Elvis Claros Castro Date: Sat, 26 Sep 2026 20:21:47 -0300 Subject: Import video pipeline as it was --- scenes/overlay.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 scenes/overlay.py (limited to 'scenes/overlay.py') diff --git a/scenes/overlay.py b/scenes/overlay.py new file mode 100644 index 0000000..0a3eb71 --- /dev/null +++ b/scenes/overlay.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +"""Capa de interfaz del canal (chip, barra de progreso y subtitulos) para los +videos renderizados en Blender. Se renderiza con --transparent y se compone +encima del 3D, asi el estilo sale del mismo codigo que los videos de Manim. + + NAME=bolapeluda CHIP=TopologĂ­a CHIPCOL=celeste manim --transparent ... + +Tambien escribe out/_timeline.json, que es lo que despues leen el script +de Blender (para animar) y build_video.py (para colocar el audio). +""" +import os, sys +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +from manim import * +from tiktok import * + +COLORES = {"ambar": AMBAR, "verde": VERDE, "rosa": ROSA, "celeste": CELESTE} + + +class Overlay(TikTok): + NAME = os.environ.get("NAME", "") + + def backdrop(self): + return VGroup() # el fondo punteado va aparte, debajo del 3D + + def construct(self): + self.prepare() + chip = self.chip(os.environ.get("CHIP", ""), + COLORES[os.environ.get("CHIPCOL", "ambar")]) + self.add(chip) + for i in range(len(self.segs)): + with self.beat(i) as b: + b.wait(b.floor) + self.finish() + + +class Fondo(TikTok): + """Un solo frame con la trama de puntos, para usar de fondo.""" + NAME = "fondo" + + def construct(self): + self._sub = None + TikTok.backdrop(self) + self.wait(0.1) -- cgit v1.2.3