mozgi ← Все промпты
Claude Opus 5.5

Объясняющее видео о девяти правилах футбола в стиле телеанализа с AR-графикой и низкополигональными игроками, всё в коде

Промпт

Создай для меня видео, объясняющее правила спорта в стиле телевизионной аналитики с AR-графикой. Без AI-моделей для видео и без скачивания ассетов: 3D-сцену, персонажей, текстуры, графику и звук создай с помощью кода. Работай самостоятельно и регулярно показывай мне контрольные кадры.

## Параметры (для другого вида спорта измени этот раздел и раздел «Сценарий»)
- Вид спорта: футбол
- Правила (9): офсайд, фол, пенальти, вбрасывание, угловой + удар от ворот, игра рукой, прямой штрафной удар, жёлтая и красная карточка, гол (весь мяч за линией)
- Язык всех текстов: чешский (полная диакритика, десятичная запятая)
- Длительность: около 68 с (вступление ~4,5 с, каждое правило от 6 до 8 с, заключение ~4 с)
- Формат: 1920×1080, 30 fps, MP4 (H.264 + AAC)
- Стиль персонажей: эпоха PS2 в стиле GTA San Andreas (low-poly моделированные тела, текстуры, нарисованные вручную)
- Команды: Красные (красная форма с белой окантовкой, белые шорты), Синие (королевская синяя форма, тёмно-синие шорты), чёрная форма судьи с салатовой окантовкой, вратари в зелёной и фиолетовой форме

## Технологии и пайплайн
- Three.js (npm). В index.html размести WebGL canvas размером 1920×1080, а поверх него — DOM-слой для HUD.
- Детерминированная функция `window.renderFrame(t)`: состояние сцены и HUD — чистая функция времени, никакого состояния между кадрами.
- `render.mjs`: локальный статический HTTP-сервер + puppeteer-core с системным Chrome (headless, на Mac — `--use-angle=metal`). Для каждого кадра вызывай renderFrame(t), жди 2× requestAnimationFrame, делай JPEG-скриншот и передавай его через pipe в ffmpeg (libx264, CRF 18, yuv420p). Режимы: `stills t1 t2 …` (PNG для проверки), `video`, `info` (записывает таймлайн в out/timeline.json).
- Обрабатывай пути через fileURLToPath (в названиях папок могут быть пробелы).
- WebGLRenderer с `preserveDrawingBuffer: true`, ACES tone mapping, PCF soft shadows. EffectComposer с MSAA (samples 4, HalfFloat): RenderPass, UnrealBloomPass, собственный grade pass (виньетка, лёгкое зерно, хроматическая аберрация, вспышка, whip blur, VHS-эффект), OutputPass.
- Звук: Python (numpy + scipy) синтезирует весь саундтрек в WAV, ffmpeg подмешивает его (AAC 192k).
- Выходные файлы: полное качество + веб-версия (CRF 23–24, maxrate 10M).

## Структура проекта
src/util.js (easing, tmap для остановки и замедления, track() для перемещения игроков по таймированным waypoints с фазой бега в зависимости от пройденного расстояния, seeded rng), src/world.js, src/player.js, src/ar.js, src/hud.js, src/grade.js, src/segments.js, src/main.js, render.mjs, https://audio.py/, PROGRESS.md (регулярно записывай, что готово и как это запускается, чтобы можно было продолжить после прерывания).

## Мир
- Поле 105×68 м. Трава в виде canvas-текстуры (полосы через каждые 5,25 м, шум, пятна) + тайловая детализированная текстура через onBeforeCompile. Линии — чёткая геометрия, не текстура. Внешний край линий = граница поля.
- Ворота с сеткой (LineSegments), угловые флажки.
- Стадион: двухъярусная чаша на основе суперэллипса, зрители в виде canvas-текстуры с людьми в рядах, LED-лента между ярусами, крыша с рёбрами, ряды прожекторов на краю крыши (эмиссионные, bloom), внешняя фасада с освещёнными окнами, ночное небо, городские огни вокруг, тёмная земля.
- LED-бортики вокруг поля с чешскими надписями (PRAVIDLA FOTBALU, RESPEKT, FAIR PLAY, ZNEJ PRAVIDLA, #PRAVIDLAFOTBALU), медленно перемещаются.
- Освещение: 4 направленных источника из углов крыши с тенями (shadow-камера сфокусирована на действии текущего сегмента), полусферический свет, лёгкий туман.
- Аналитический grade: добавь во все материалы мира через onBeforeCompile общий uniform uFreeze (обесцвечивание до холодного серо-зелёного + затемнение). У AR-материалов его нет, поэтому при остановленном кадре они сохраняют насыщенность.

## Персонажи (стиль GTA San Andreas)
- Иерархический риг: root → body (таз) → torso → голова и плечи → локти, бёдра → колени → лодыжки. Поза = набор углов (наклон и вращение торса, сгибание и отведение плеч, локти, бёдра, колени, лодыжки, наклон тела, прыжок).
- Геометрия: торс как LatheGeometry (широкие плечи, узкая талия), сужающиеся конечности, суставы в виде сфер, ладонь с большим пальцем, бутса с подошвой и зауженным носком, моделированная голова (узкий подбородок), нос, уши, волосы в виде оболочки (короткая стрижка, объёмная причёска, ёжик, лысая голова).
- Нарисованные вручную canvas-текстуры: лицо (глаза с радужкой и бликом, брови, тень от носа, губы, щёки, щетина или борода, линия роста волос), форма (V-образный вырез, боковые полосы, эмблема, спонсор, имя и большой номер на спине, складки ткани), рукава, шорты с номером, гетры с полосами.
- Каждый игрок отличается: цвет кожи, волосы, причёска, глаза, борода, цвет бутс, телосложение. Чешские фамилии на спине (NOVÁK, DVOŘÁK, RŮŽIČKA…).
- Процедурный бег (фаза зависит от пройденного расстояния, чтобы ноги не скользили) + библиотека поз: удар (замах, удар, завершение), подкат, спотыкание и падение, вбрасывание, прыжок с рукой над головой, поднятая карточка, стойка в стенке, прыжок стенки, сейв вратаря, голова опущена.
- Выделение: контурная оболочка (inverted hull, толщина зависит от расстояния до камеры), полупрозрачная голограмма «духа» для обозначения перезапуска, подсветка руки.

## AR-графика (additive blending, depthWrite false, прорисовывается постепенно через progress)
GroundLine (светящаяся линия на земле), Curtain (вертикальная плоскость: офсайдная, воротная и боковая линии), GroundRing (кольцо или диск с пульсацией, штриховкой и сектором, например круг 9,15 м), Area (заполненная область с контуром и сканированием), Trail (трубка траектории мяча), GroundArrow (стрелка с движущимися шевронами), Marker (прицел контакта), Beam (световой столб), ScanGrid (сканирующая сетка), Segment3D (измерительные отрезки), Silhouette (цилиндр контура тела).
Цвета: бирюзовый = измерение, красный = нарушение, янтарный = мяч и область, зелёный = правильное решение.
ВАЖНО: шейдеры должны быть NaN-safe (clamp UV, никаких pow от отрицательного числа). MSAA на границах экстраполирует UV, и NaN в bloom растекается чёрными блоками на половину изображения.

## HUD (DOM, стиль спортивной трансляции)
- Логотип в левом верхнем углу „PRAVIDLA FOTBALU / AR ANALÝZA ZÁPASU“ + счётчик „01 / 09“.
- В правом верхнем углу статус (ŽIVĚ, ZÁZNAM, ZPOMALENĚ ×0,6, STOP · AR, PŘETÁČENÍ ◀◀, KONEC ZÁPASU) и игровое время.
- Lower third в левом нижнем углу: номер правила, название, объяснение одним предложением, индикатор прогресса из 9 сегментов.
- Панель решения в правом нижнем углу цветом решения (OFSAJD, PENALTA, GÓL…) с подзаголовком.
- При остановке кадра: вспышка, угловые скобки, плашка „ZASTAVENÝ OBRAZ · AR ANALÝZA“, короткая техническая строка внизу.
- AR-плашки привязаны к 3D-точке (проекция камерой) соединительной линией. Удерживай их в безопасной зоне (не под нижней графикой и не под логотипом), они не должны перекрываться.
- Большая графика карточки (жёлтая и красная) с причинами, вступительный титр, заключение „TEĎ ZNÁŠ PRAVIDLA.“ с сеткой из 9 правил, переход stinger (диагональные полосы navy, бирюзовые, белые + логотип) на каждом монтажном стыке.
- Читаемость: минимальные размеры (название правила 66 px, описание 29 px, плашка 33 px + подзаголовок 21 px, техническая строка 22 px). Текст всегда на тёмном фоне, короткие тексты. Line-height не менее 1,05, чтобы диакритика (Ž, Č, Ř) не обрезалась. Не открывай титры маской — это выглядит как обрезка: используй fade + размытие + лёгкий zoom.
- Шрифты: системные с чешской диакритикой (на macOS DIN Condensed + Avenir Next Condensed). Заранее проверь поддержку символов через fc-query.

## Сценарий (внутреннее время сегментов, растяжка для чтения описана в следующем разделе)
Вступление (3,5 с): дрон спускается с ночного неба через крышу внутрь стадиона, переходя к общему плану центра поля. Сканирующая сетка проходит по полю, под игроками появляются кольца, плашка „MÍČ SLEDOVÁN“. Титр „PRAVIDLA FOTBALU“, над ним „TV ANALÝZA PRAVIDEL“, под ним „9 KLÍČOVÝCH PRAVIDEL · AR ANALÝZA“.
1. Офсайд: телевизионная камера, Красный #8 отдаёт пас, остановка в момент передачи. Камера перемещается на ось офсайдной линии. Бирюзовая плоскость у самой дальней части тела предпоследнего защитника (Синий #4), красная — у выдвинутого колена нападающего (Красный #9), измерение „+1,59 m“ (рассчитай по суставам, руки не учитываются). Решение OFSAJD: непрямой штрафной удар, Синие.
2. Фол: повтор ×0,6 низко над газоном. Синий #10 ведёт мяч, Красный #6 выполняет подкат сзади в голеностоп. Остановка в момент контакта: прицел „KONTAKT“, „MÍSTO FAULU“ (кольцо + столб), стрелка траектории подката, красный контур. Камера облетает сцену, затем следует падение. FAUL: прямой штрафной удар.
3. Пенальти: Красный #9 в штрафной, Синий #3 подсекает его. Остановка, подъём камеры краном. Выделение штрафной площади, дуга от места фола к одиннадцатиметровой отметке с проволочным мячом, „11 m“. PENALTA.
4. Вбрасывание: пас Красного #2 пересекает боковую линию (траектория рисуется в реальном времени). Остановка только в момент, когда весь мяч оказывается за пределами поля, переход на камеру за линией. Красная плоскость, „+15 cm“, „CELÝ MÍČ VENKU“, „POSLEDNÍ DOTEK · ČERVENÝ #2“, синяя стрелка на поле и голограмма синего игрока с мячом над головой. VHAZOVÁNÍ (Синие).
5. Угловой + удар от ворот: удар Красного #10, после рикошета от Синего #4, пересекает линию ворот → ROHOVÝ KOP. Затем эффект перемотки (VHS) и тот же удар без рикошета → KOP OD BRANKY (выделенная вратарская площадь).
6. Игра рукой: удар, Синий #5 в прыжке с рукой выше плеча, мяч попадает в предплечье. Рука становится красной, линия плеч, линия руки „ÚHEL PAŽE 135°“, полупрозрачный цилиндр „OBRYS TĚLA“. RUKA: прямой штрафной удар.
7. Штрафной удар: стенка на расстоянии 8,00 м „ZEĎ MOC BLÍZKO“, рисуется круг 9,15 м, стенка отступает, число перемещается на 9,15 м и становится зелёным. Камера за исполнителем, удар по дуге через стенку в замедлении, остановка „PŘES ZEĎ“. PŘÍMÝ VOLNÝ KOP.
8. Карточки: крупный план судьи с жёлтой карточкой перед игроком с опущенной головой + большая графика ŽLUTÁ KARTA / NAPOMENUTÍ с 3 причинами. Переход, красная карточка, удалённый игрок уходит + ČERVENÁ KARTA / VYLOUČENÍ.
9. Гол: удар, вратарь отбивает мяч, мяч падает на линию. Камера у линии ворот. Первая остановка: половина мяча на линии, красная плоскость, „−11 cm“, „ZATÍM NENÍ GÓL“. Мяч докатывается. Вторая остановка: весь мяч за линией, плоскость становится зелёной, „+3 cm“, вспышки фотоаппаратов на трибунах. GÓL.
Заключение (2,5 с): камера поднимается над полем (возвращение к вступительному плану), сетка, „TEĎ ZNÁŠ PRAVIDLA.“ + сетка из 9 правил, затемнение.

Каждая остановка кадра: короткая вспышка, обесцвечивание сцены, камера продолжает медленно двигаться вокруг замерших игроков, AR-элементы появляются постепенно. Между сегментами всегда stinger.

## Время на чтение
Действие (бег, удары, подкаты) идёт с реальной скоростью. Аналитические части каждого сегмента растяни в 1,5–2,1 раза через warp-функцию (выходное время → внутреннее время сегмента), чтобы каждое правило находилось на экране 6–8 с и весь текст можно было спокойно прочитать. `node render.mjs info` экспортирует итоговый таймлайн в out/timeline.json.

## Звук (процедурный, https://audio.py/)
Broadcast groove на 120 BPM (бочка, малый барабан, хай-хэты, бас с sidechain, арпеджио, пэд), riser во вступлении, финальный аккорд. При остановке кадра музыка приглушается low-pass-фильтром. Толпа (фильтрованный шум с волнообразной модуляцией, крик при голе), whoosh + boom на каждом монтажном стыке, металлический удар при каждой остановке, короткий звук «штампа» при решении, свисток, удары по мячу, звук перемотки. Время всех звуков загружай из out/timeline.json, чтобы они совпадали с изображением даже после изменения длительности. Целевая громкость — около −14 LUFS.

## Порядок работы и проверка
1. Сначала запусти пайплайн (сервер, render, ffmpeg) с одной сценой и проверь, что WebGL работает в headless Chrome.
2. После каждого изменения рендери контрольные кадры в ключевых моментах и просматривай их, включая фрагменты в масштабе 100 % для проверки текста и диакритики.
3. Проверяй всё видео через контактные листы (фильтр ffmpeg tile) и кадры вокруг переходов.
4. Проверь готовое видео декодированием (`ffmpeg -v error -i video.mp4 -f null -`), а длительность и дорожки — через ffprobe.
5. Регулярно записывай в PROGRESS.md, что готово и какими командами это запускается.
Открыть в каталоге
Права на промпт принадлежат автору @lukasersil. За коммерческое использование — продвижение нейросетей, агрегаторов, Telegram-ботов — отвечаете вы: mozgi.io ответственности не несёт. Подробнее →
Модель
Claude Opus 5.5
Формат
16/9
Автор
@lukasersil
Оригинал
x.com ↗

Похожие промпты

Все промпты для Claude Opus 5.5

Скопировано