Clips con aspecto de gameplay de NPCs hablando
Lo que funcionó para 20 clips de GTA V (examples/gta-v, DirectorClips.cs, tools/shoot.ps1, tools/edit.ts):
un clip es un intercambio de 5 a 10 segundos que podría ser un momento del juego normal de alguien.
Escríbelo
clip: Pistola de agua
at: grove Un lugar en la calle, una casa, o "x, y, z, heading"
time: 21 Hora del día
a: player Quién habla primero: el jugador, un personaje, o un modelo de ped con voz
b: LamarDavis
line: Lamar, guarda el arma. Es una pistola de agua.
reply: insiste en que sigue siendo peligrosa y que él es el hombre más temido de Grove Street (el LLM lo escribe en vivo)
# o marca una respuesta aprobada:
say: [gritando] ¿Asustado de una pistola de agua? ¡Esta es la mierda más temida de Grove Street!
do: none La acción a reproducir (nombre de acción, o none)
Los clips solo de NPCs (un policía y un paleto, un marine y un turista) son de lo mejor: oculta al jugador y deja que dos NPCs se enfrenten.
Que parezca gameplay
- La cámara de juego, sostenida fija: en cada fotograma, fija el modo de visión de la cámara de seguimiento y su orientación y elevación relativas al jugador, y desactiva la entrada de mirada. Fijo está bien; las cámaras cinemáticas parecen tráiler.
- Encuadra al compañero: colócalo delante y un poco a un lado (2 m adelante, 1 m a la derecha) para que el jugador no lo oculte; haz raycasting alrededor del punto y aléjate de paredes, quioscos y puertas.
- Pégales al suelo: encájales en el pavimento y haz raycasting hacia abajo para el suelo (los toldos y tejados engañan las búsquedas de altura).
- Pantalla limpia: el HUD y los subtítulos del juego activados, nada del mod (sin notificaciones, paneles de desarrollo ni texto de ayuda). Suprime llamadas telefónicas y texto de ayuda durante una toma.
- Renderiza primero, luego graba: escribe la respuesta, elige la acción y renderiza ambas voces antes de que comience el clip, luego reprodúcelas una tras otra. Nadie espera a la GPU delante de la cámara.
Graba, sincroniza, corta
shoot.ps1: trae el juego al frente, recarga el mod, graba la pantalla (ffmpegddagrab) y el audio del PC (bucle de retorno WASAPI) como archivos separados, inicia el script y reinicia la captura si se pierde el foco (el juego se pausa).- Sincroniza: cada segmento de captura comienza con un flash blanco y un pitido de 1 kHz registrado con una marca de tiempo; el mod registra
clip_start/clip_endy cadaaudio_on/audio_offde cada línea en una línea de tiempo. edit.ts --clips <take>: un MP4 por clip, desde 0.2 s antes declip_starthasta la última palabra o acción, recortado a la ventana del juego, 1920 de ancho, normalizado en volumen. Limita los clips a 10 s y reporta cualquier línea que quedaría cortada, en lugar de cortarla.- Re-graba, no cortes palabras: un clip que se alarga se vuelve a grabar (las nuevas renderizaciones salen de distinta duración) o su línea se acorta unas pocas palabras. Marca las respuestas aprobadas con
say:/do:para que una re-grabación mantenga el chiste. - Mira antes de enviar: una hoja de contactos de un fotograma por clip (
ffmpeg -ss 5 ... tile=5x4) detecta un compañero oculto o una pared en el encuadre en segundos.
Problemas conocidos
- No pasa nada / el mod no volvió después de una recarga. El Control de aplicaciones inteligente de Windows rechazó la nueva DLL (Evento de integridad de código 3077). Prueba a cargar una nueva compilación primero; conserva la última que cargó.
- La toma no tiene inicio de video en su registro. Otro proceso mantenía abierto el archivo de registro (
tail -Fen Windows bloquea al escritor). No mires un archivo al que otro script añade contenido; mira uno diferente. - Una llamada telefónica o texto de ayuda aparece a mitad del clip. Suprímelos en cada fotograma mientras se reproduce un clip.
- Las voces en los clips son clones. Antes de publicar un clip en cualquier sitio, la persona decide; di que es IA.