¿Qué hace unrealmotion?
Entrega un MP4 reproducible y el código fuente de la escena a partir del prompt del usuario. El agente activo es el motor creativo; los scripts empaquetados recuperan referencias, sirven la escena, capturan cuadros y codifican el video. No se necesita un modelo de lenguaje separado, clave API ni servicio de video de pago. Esto es Three.js, no Unreal Engine.
Resuelve <skill> al directorio que contiene este archivo; ejecuta comandos del paquete allí. Usa un nuevo directorio <project> para cada producción, conservando trabajos anteriores. Si faltan dependencias: npm ci y npx playwright install chromium. Verifica con node <skill>/scripts/unrealmotion.mjs doctor. Se requieren Node 22+, Python 3.10+, FFmpeg y ffprobe; los paquetes de Python solo son necesarios para recuperar el código completo del conjunto de datos.
Del prompt a la película
- Infiere el sujeto, la acción, el mensaje deseado, el idioma, la duración, el formato y el realismo a partir de la solicitud. Para explicadores, lee imagegen-threejs.md y explainers.md. Usa ImageGen → modelo Three.js real → video silencioso, comenzando con
--mode explainer: por defecto 60 segundos, 1080×1920, 30 fps. Mantén el estilo establecido de corte pastel simple a menos que el usuario lo cambie explícitamente. El prompt determina el sujeto, modelo, historia y receta de movimiento; una demostración empaquetada no es contenido predeterminado. Las presentaciones cortas conservan 12 segundos, 1920×1080 a 60 fps. Respeta los formatos y activos solicitados. Procede con suposiciones razonables; no se requiere plantilla ni cuestionario de aprobación. - Lee art-direction.md y motion-library.md. Para nuevos explicadores, lee dynamic-story.md: lee continuous-camera.md y usa un mundo conectado con una ruta de cámara 3D continua real, un ritmo de lectura tranquilo y 2–4 referencias coherentes de ImageGen para contextos explicativos distintos. Lee text-motion.md para texto dinámico y data-motion.md cuando las cantidades ayuden a la explicación. Elige una base de escena y un perfil de movimiento, luego escribe un
plan.jsoncompacto: geometría que define la identidad, paleta de materiales, tiempos de toma, acciones del sujeto, trayectoria de cámara, transiciones, activos locales y procedencia. Un adjetivo como "realista" necesita evidencia concreta: proporciones, respuesta de superficie, contacto, luz coherente y movimiento. - Busca en el catálogo de Hugging Face de 4,146 entradas empaquetado, usando términos en inglés de sujeto/material/mecanismo. Lee dataset.md para recuperar 1–3 ejemplos de código relevantes cuando el detalle estructural sea útil. Inspecciona la construcción HTML/JS real, no solo los títulos. Cita los IDs de escena en
plan.json. No copies trazas de razonamiento. El conjunto de datos es un corpus de referencia, no un modelo entrenado o ajustado. Para activos industriales/de objetos con almacenamiento limitado, lee simready-imagegen.md: busca en el catálogo de metadatos de NVIDIA de 2,677 entradas y recupera solo una miniatura/licencia relevante y ajustada al presupuesto. Esto alimenta las referencias de apariencia de ImageGen y la reconstrucción de la malla original; nunca descargues el corpus completo de USD/textura. Para desmontaje/reensamblaje, lee también reassembly.md. - Crea el proyecto. Para un explicador, genera e inspecciona el paquete de referencia de ImageGen específico del prompt, especifica partes nombradas estables en
reconstruction.jsony construye volúmenes Three.js reales enmodel.mjs. Guarda los prompts exactos y la procedencia enasset-plan.json. Escribestoryboard.jsoncon la pregunta, progresión causal, acción/texto por tiempo, cámara 3D y resolución. Conserva una jerarquía de malla por objeto físico a través de cortes transversales, reensamblaje y operación; usa raíces de escena nombradas persistentes para contextos conectados, con ubicaciones mundiales y uncameraPathcontinuo. Vincula cada tiempo a sus IDs de referencia reales. Sin sustituto de imagen rasterizada/recortada. Para presentaciones, escribescene.mjsdirectamente. La CLI es un iniciador de autoría, no un intérprete semántico de prompts; un título cambiado sobre un modelo no relacionado no es una finalización. - Previsualiza, recorre, ejecuta QA e inspecciona cuadros representativos a resolución nativa. Sigue quality.md: verifica fidelidad, mecánica/anatomía, materiales, encuadre, texto, transiciones y movimiento significativo en la segunda mitad. Corrige fallos y repite las comprobaciones afectadas. Registra un
review.jsonveraz, vinculado al hash de la fuente. - Renderiza con
--final, verifica los metadatos y entrega el MP4, el proyecto editable y una nota de verificación concisa. Una solicitud de una película terminada autoriza la exportación local. Si el usuario solo solicita una vista previa, entrégala en su lugar. No sustituyas el código fuente HTML o una hoja de contactos por un video solicitado.
Comandos locales
node <skill>/scripts/unrealmotion.mjs templates
node <skill>/scripts/unrealmotion.mjs create <project> --prompt "Film kamera titanium, lensa merakit presisi" --template optical-studio --motion precision-assembly
# Escribe project/scene.mjs, project/project.json y project/plan.json para el encargo.
node <skill>/scripts/unrealmotion.mjs preview <project>
node <skill>/scripts/unrealmotion.mjs qa <project>
# Inspecciona output/qa/contact-sheet.png Y los PNG de cuadros a resolución nativa, luego escribe review.json.
node <skill>/scripts/unrealmotion.mjs render <project> --final
node <skill>/scripts/unrealmotion.mjs probe <project>/output/video.mp4
--width, --height, --duration, --fps, --supersample son opciones de creación. Los nuevos explicadores usan historias versión 2 con --pace calm --assets multi; elige --pace dynamic o --assets single cuando el encargo lo justifique. Los proyectos versión 1 existentes siguen siendo compatibles. Usa --output <new.mp4> para conservar una exportación; --force reemplaza una salida elegida explícitamente. Un --audio <local.wav> opcional ajusta/recorta una pista de audio suministrada al video. No agregues narración sintética ni música a menos que se solicite. La vista previa imprime una URL de bucle con reproducción/pausa y desplazamiento de cuadros; no es una implementación pública.
La base predeterminada del explicador es imagegen-explainer: referencia específica del prompt → modelo Three.js → historia → video. water-system-explainer es solo el estudio de movimiento SVG anterior. Las bases de presentación son optical-studio, architectural-light, kinetic-editorial, pelagic-bloom y mechanical-reassembly. Perfiles de cámara de presentación: cinematic-orbit, precision-assembly, macro-dolly, continuous-flow, editorial-spring. Los explicadores eligen movimiento de seguir el flujo, operación de corte transversal, reensamblaje, umbral/respuesta o comparación con una ruta de cámara creada. Las recetas no cambian el estilo establecido. Consulta motion-library.md.
Propiedades de producción no negociables
- Cada estado visible se deriva del tiempo/cuadro solicitado, incluidos shaders, partículas, poses de rig, cambios de material y texto. Conserva
createScene(config) → {update(seconds, normalizedTime), draw(), inspect()}; consulta runtime.md. Sin rotaciones acumulativas, pasos de física, muestreo aleatorio durante las actualizaciones ni grabación de pantalla en tiempo real para la entrega final. - Mantén activos locales, paquetes fijos, generación de escena con semilla, una tubería de color, escala física consistente e identidades de objeto estables. El renderizador bloquea solicitudes externas. Carga modelos, texturas y fuentes antes de estar listo; los activos faltantes son fallos.
- Modela volúmenes y adjuntos reales. Usa biseles, partes coherentes, pivotes correctos, rugosidad/metalicidad justificada, sombras de contacto suaves y reflejos controlados. Renderiza superficies transparentes con cuidado. Un montón de primitivas, anatomía de palo, piezas flotantes, rigs rotos o un objeto genérico giratorio no satisface un encargo detallado.
- Para humanos fotorrealistas, animales, objetos de marca o escenas críticas para el parecido, usa activos modelos, texturas y rigs con licencia o suministrados por el usuario cuando la geometría procedimental no pueda cumplir con el encargo. Registra la fuente/licencia. Inspecciona la fijación, juntas, silueta, contacto y oclusión durante toda la acción. No reemplaces silenciosamente el realismo con actores geométricos simples. Indica claramente cualquier límite de fidelidad del material.
- La acción del sujeto debe llevar la historia: los mecanismos operan, el material fluye, las partes se ensamblan, la estructura se despliega o la información se transforma. La órbita de la cámara y las partículas a la deriva por sí solas son insuficientes. Evita transformaciones rígidas a velocidad constante; usa aceleración, seguimiento, escalonamiento cuando esté motivado y rutas de cámara con velocidad continua.
- Un explicador debe responder a su pregunta a través de una secuencia visual completa. Una mayor duración, subtítulos adicionales y un reel de presentación no reemplazan la causa/efecto, la explicación legible, una ilustración/modelo apropiado y las transiciones de escena coherentes. Respeta las solicitudes silenciosas; no agregues configuración de audio.
- Iguala la complejidad y el estilo de referencia. Prefiere geometría simple coherente, superficies pastel y cortes transversales claros para este flujo de trabajo; no inventes una nueva dirección de arte ni agregues detalles decorativos. ImageGen guía la apariencia; no recupera CAD oculto, dimensiones exactas ni metadatos de simulación de NVIDIA.
- El QA automatizado verifica propiedades técnicas. No certifica belleza, fotorrealismo, anatomía precisa o corrección física. Marca las comprobaciones visuales como aprobadas solo después de inspeccionar su evidencia. Informa lo que realmente se probó.
Motores opcionales existentes
Por defecto, usa el renderizador Three.js incluido. Para un proyecto existente de Remotion o HyperFrames del usuario, lee engine-interop.md y conserva su contrato nativo de cuadro/búsqueda. Sus entornos de ejecución son opcionales, con licencia independiente, y no están empaquetados ni probados solo por mencionarlos. Los estudios fuente detrás de esta habilidad, las revisiones exactas y las distinciones de licencia están en source-study.md.