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

Полированная браузерная 3D-игра в духе Far Cry 3 от первого лица с островом, оружием и погодой

Промпт

ЗАКРЫВАЕМ РАЗРЫВ С РЕФЕРЕНСОМ (этапы 6–11)

Этапы 1–5 завершены: мир, контроллер, аванпост, вода, небо, растительность, руки, оружие, инвентарь, погода, время суток, звук и меню работают, а компоновка уже соответствует референсу. Не хватает качества изображения. Сейчас кадр выглядит как чистая low-poly-сцена под молочной дымкой. Референс выглядит как насыщенная, высококонтрастная, грубоватая, обжитая фотография. Этапы 6–11 устраняют этот разрыв.

Общие правила для этапов 6–11:
- Каждый новый эффект должен зависеть от флага качества. Low должен оставаться быстрым.
- Не ломайте предыдущие этапы: время суток, погода, дождь, влажность и молнии должны по-прежнему корректно сочетаться. В конце каждого этапа один раз проверьте Noon/Clear и Sunset/Storm.
- Сохраняйте совместимость существующих API: getWaterHeight(x,z), addRipple(x,z,strength), setSkyState({...}), общие глобальные переменные (wind, wetness, rain, time) и шину событий эффектов.
- После каждого изменения пересобирайте standalone-бандл и один раз проверяйте консоль на ошибки. Без тестовых циклов.
- Запускайте каждый этап в новой сессии. Выполняйте только этот этап.

────────────────────────
ЭТАП 6 — Освещение, атмосфера, цветокоррекция, пятнистые тени (обоснование: High)
Цель: убрать молочную дымку и получить выразительный тропический полуденный кадр с кружевными тенями от листьев. Это самый дешёвый этап, который даст наибольший эффект.

1. Дымка/туман: резко уменьшите плотность и высоту дневного тумана. Туман должен лежать только низко у подножия гор и далеко над водой. Воздушная перспектива — синяя (#9cc3dc → #cfe6f5), никогда не белая. Горы должны читаться в 3 слоях глубины, причём каждый следующий слой дальше должен быть более синим.
2. Небо: в зените примерно #4f9fe0, с переходом к горизонту цвета #cfe6f5. Кучевые облака должны получить чёткие освещённые солнцем белые вершины, сине-серые нижние части и серебристую кайму рядом с солнцем. Более плотные облака, меньше размазанного пара.
3. Солнце и окружающее освещение: более сильный солнечный свет; более тёмный и холодный окружающий/полусферический свет, чтобы тени стали глубокими (затенённые области должны иметь примерно 15–20% яркости освещённых); тёплый отражённый свет от песка.
4. Цветокоррекция: S-образная кривая для контраста, насыщенность примерно ×1.25, немного снизить экспозицию, тёплые светлые участки и холодные бирюзовые тени. После FXAA добавьте проход адаптивного к контрасту повышения резкости. Поднимите порог bloom, чтобы эффект никогда не выбеливал кадр. God rays должны проходить только сквозь листву, а не через весь экран. Убедитесь, что адаптация глаза не осветляет изображение обратно.
5. Пятнистые тени: добавьте 1–2 пальмы над укрытием; один ствол и его листья должны обрамлять верхний левый угол начального вида, как на референсе. Листья отбрасывают тени с alpha-тестированием (пользовательские depth/distance-материалы с использованием маски листьев). Также добавьте анимированную light cookie, проецирующую пятна света и тени от листьев внутри укрытия и колышущуюся на ветру. Уменьшите shadow frustum/cascade рядом с игроком, чтобы тени на столе оставались чёткими.
6. Ambient occlusion: усиленный SSAO в местах соприкосновения поверхностей (стол/настил, ящики, ножки, предметы на столе), а также небольшие decals контактных теней под объектами.
7. Руки от первого лица: более тёплый оттенок кожи, немного больше заполняющего света от песка, масштаб и положение ближе к референсу (крупные, в нижней части кадра).
Критерий приёмки: начальный кадр рядом с референсом имеет сопоставимые контраст и насыщенность, глубокое синее небо и заметные пятна теней от листьев на настиле и столе.

────────────────────────
ЭТАП 7 — ЭТАЛОННАЯ ВОДА (обоснование: Max)
Цель: вода — главная звезда игры, на уровне современных AAA-игр — на неё должно хотеться смотреть минутами. Полностью перепишите модуль воды, а не латаетe его отдельными исправлениями, сохранив запрос высоты на CPU (getWaterHeight) в точной синхронизации с поверхностью на GPU.

7.1 Модель волн
- Крупная зыбь: 6–8 гармоник Герстнера с корректным соотношением дисперсии для глубокой воды. Запрос высоты на CPU вычисляет те же гармоники (итеративное обратное смещение).
- Мелкая поверхность: GPU FFT-спектр океана (Phillips/JONSWAP) с ping-pong render targets, размером 128²–256², в 2–3 каскадах разных масштабов. Выводите смещение, нормали и карту Якобиана для пены. Низкое качество: 1 каскад 64² или запечённые тайлинговые нормали.
- Никакой заметной тайлинговой структуры: размеры каскадов не должны быть кратными друг другу, используйте вращение. На расстоянии фильтруйте нормали (в стиле Toksvig/LEAN), не позволяя им мерцать.
- Мелководье: волны должны трансформироваться на мелководье (становиться выше и короче при уменьшении глубины) и преломляться в сторону берега вдоль градиента морского дна. Внутри лагуны вода спокойная и почти зеркальная; за рифом она более оживлённая.

7.2 Оптика
- Покоординатное RGB-поглощение по закону Бугера—Ламберта на основе реальной длины подводного луча (из depth buffer сцены), плюс рассеяние в среде (#1fb0b8 / #16739e). Результат: 0–0,5 м воды почти бесцветны, 1–3 м — ярко-бирюзовые (#46d6c8), 6 м и глубже — тёмно-синие, с резкой границей от бирюзового к синему на обрыве рифа, как на референсе.
- Screen-space-преломление со смещением по нормали, масштабированным по глубине. Используйте depth test, чтобы объекты над поверхностью не просачивались в преломление. Добавьте тонкую хроматическую дисперсию.
- Отражения: screen-space reflections (High) с запасным вариантом sky/PMREM, а также planar reflection в половинном разрешении над ближней частью лагуны (High), чтобы пирс, лодка и пальмы корректно отражались. Fresnel по Шлику с F0 = 0.02: прозрачная вода при взгляде вблизи, зеркальная под скользящими углами.
- Солнце: узкий блик GGX плюс стохастическое мерцание микрограней, искрящееся на гребнях волн. Полноценная траектория солнечных бликов на закате, лунная траектория ночью.
- Подповерхностное рассеяние: подсвеченные сзади гребни волн светятся бирюзовым.
- Небо и облака в отражениях должны поступать из той же функции неба, а облака должны двигаться и в отражении.

7.3 Морское дно, каустика, риф
- Анимированная каустика (многослойный Voronoi или запечённая текстура каустики с перспективным искажением), хроматическое RGB-разделение, интенсивность зависит от глубины. Проецируйте её на всё под водой: песок, камни, сваи пирса, корпус лодки, ноги игрока. В тени каустика затухает (сэмплируйте shadow map).
- Риф: 40–80 инстансированных кластеров кораллов/камней на дне лагуны (тёмные пятна на референсе), колышущаяся морская трава, рябь песка на дне (normal map), разбросанные ракушки. Морское дно получает собственный более тёмный влажный материал.
- Подводные световые столбы при взгляде вверх с глубины.

7.4 Берег и пена
- Swash: тонкий слой воды набегает на песок и стекает обратно. Он оставляет тёмную влажную полосу, которая высыхает с задержкой, а по её переднему краю движется пузырящаяся линия пены.
- Пена: настоящая процедурная текстура пузырьков/пены, а не необработанный шум. Она появляется на гребнях (из FFT Jacobian), вдоль береговой линии, вокруг камней, свай и лодки (по разнице глубин). Она сохраняется и со временем затухает (на High — через accumulation buffer).
- Кольца пены и небольшие ряби вокруг свай и камней, стоящих в воде.

7.5 Интерактивность
- addRipple передаёт данные в настоящую симуляцию волн на height field: сетка 256² с ping-pong, центрированная на игроке и перемещающаяся вместе с ним. Всплески от камней, попадания пуль, капли дождя и шаги игрока в воде создают кольца, которые физически отражаются и интерферируют.
- Килеватерные волны от игрока, идущего по воде.
- Плавучесть: лодка, упавшие ящики, ракушки и камни покачиваются с использованием запроса высоты и нормали поверхности. Лодка натягивает швартовочные канаты. Исправьте лодку: корпус должен находиться выше ватерлинии и быть хорошо виден рядом с пирсом в начальном кадре.
- Подводный режим (камера ниже поверхности): подводный туман цвета воды, искажение, каустические световые столбы, приглушённый звук (создавайте событие 'underwater' для аудиосистемы) и корректное разделение ватерлинии пополам по всему экрану.

7.6 Связи с погодой и временем
- Откройте каждый новый параметр через water.setParams({...}), управляя ими из композитора погоды/времени: ветер управляет спектром (полный штиль при ясной погоде → белые барашки во время шторма), дождь добавляет кольца от капель в height field и увеличивает шероховатость поверхности, ночью появляется лунная траектория, на закате — золотая траектория.

7.7 Производительность
- High: FFT с 2 каскадами 256², planar reflection + SSR, height field 256². Low: 1 каскад 64² (или запечённые нормали), без planar reflection/SSR, height field 128². Цель: вода должна занимать менее ~4 мс на кадр на GPU среднего уровня при High.
Критерий приёмки: в начальном кадре видны кристально чистое бирюзовое мелководье с заметным рифом и каустикой, чёткий переход в глубокую синюю воду, живая полоса набегающей воды на пляже, а также отражения пирса и лодки. Брошенный камень создаёт физически правдоподобные интерферирующие кольца.

────────────────────────
ЭТАП 8 — Ландшафт: карстовые горы, камни, пляж, джунгли (обоснование: High)
1. Карстовые горы: добавьте поверх текущих форм рельеф на основе ridged multifractal, отвесные вертикальные стены, уступы и эрозионные промоины. Шейдер на основе уклона: крутые участки — серый известняк с вертикальными полосами; уступы и пологие склоны — зелёный полог (шум в форме кроны с затенением между кронами). Тысячи дешёвых инстансированных billboard-крон на склонах (один draw call). Морская арка и каменный островок используют те же материалы.
2. Валун: деформированные шумом камни с острыми гранёными поверхностями, сгруппированные в кластеры по 3–7, наполовину погребённые в песке или воде, с мхом сверху и тёмной влажной полосой у ватерлинии. Трипланарное текстурирование.
3. Джунгли: широколиственные деревья с кронами из сгруппированных card-элементов; пальмы разного возраста и с разным наклоном; густой подлесок на правом склоне (папоротники, кусты, бананы/монстеры) плотностью в 3–4 раза выше текущей, с LOD; лианы между деревьями; трава вдоль края пляжа. Больше никакого «газона»: под деревьями должны быть тёмная почва и опавшая листва.
4. Пляж: рябь от ветра (normal map), влажная полоса, синхронизированная со swash из этапа 7, галька, коряги, опавшие пальмовые листья, кокосы; постепенный переход от песка к почве и джунглям, с травой.
5. Переместите хижину и сторожевую вышку на 20–30% ближе в начальный кадр, если это не нарушит столкновения или проходы.

────────────────────────
ЭТАП 9 — Процедурные материалы нового уровня (обоснование: High)
Все генераторы создают карты albedo/normal/roughness(/AO) размером 1024² (512² на Low), с кэшированием.
1. Старая выветрившаяся древесина: зерно на основе растянутого шума, сучки, трещины, отдельный оттенок и UV-смещение для каждой доски, тёмные швы, грязь в углах, выцветание на солнце, потёртые светлые края (на основе кривизны). Никакого полосатого вида «зебры». Используется для настила, стола, пирса, ящиков и столбов.
2. Металл: краска → облупившаяся краска → ржавчина, управляемые масками кривизны/шума, плюс потёки ржавчины и царапины (бочка, патронный ящик, фонарь). У кружки — сколотая эмаль.
3. Ткань: холст с заметным плетением, пятнами и выцветшими складками. Флаги выцветшего ржаво-коричневого цвета (#a8352a → rust), с рваными alpha-краями и грязным черепом.
4. Леопардовая шкура: корректный рисунок розеток плюс меховые оболочки (4–6 слоёв, только High) или плотная normal map, с рваным краем шкуры.
5. Верёвка: нормали витых волокон, увеличенная толщина, распушённые концы.
6. Камень и песок: трипланарное текстурирование, мох в зависимости от направления нормали; зернистый песок с крошечными кристаллическими бликами на солнце.
Если локально существуют вручную созданные тайлинговые наборы PBR-текстур, используйте их вместо соответствующего генератора (и встроите их в standalone-бандл).

────────────────────────
ЭТАП 10 — Объекты переднего плана + пользовательские модели (обоснование: Medium)
1. Загружайте любые локальные модели .glb из папки models через существующий загрузчик, сохраняя процедурный запасной вариант. Для каждой модели: масштаб в реальных метрах, установка на поверхность, коллайдеры, тени, передача влажности и взаимодействия из этапа 3 (осмотр фонаря/кружки/карты; крышка ящика открывается, если у модели есть отдельная часть крышки, иначе сохраняйте процедурную крышку).
2. Стол: увеличьте предметы и разложите их как на референсе — AK лежит по диагонали через весь стол, нож на переднем краю, карта под ножом, кружка, патронный ящик, фонарь справа, бутылка.
3. Левая сторона: раскладушка (трубчатый каркас, провисающий холст, пухлая подушка), шкура, свисающая с края, рюкзак и ящик рядом с раскладушкой, ржавая бочка.
4. Рваный флаг, свисающий с навеса в правом верхнем углу, как на референсе; верёвочные крепления на столбах.
5. Лодка пришвартована к пирсу (плавучесть из этапа 7), ящик на пирсе, швартовочные канаты к сваям.
6. Хижина и сторожевая вышка: гофрированная жестяная крыша, брезентовый навес, бочки, ящики.

────────────────────────
ЭТАП 11 — Производительность + финальное сопоставление с референсом (обоснование: Medium)
1. Оверлей FPS/времени кадра (F3) с разбивкой по проходам. Бюджет: ≥60 FPS на
  • Нужно своё фото: прикрепите изображение к запросу — промпт работает с ним.
Открыть в каталоге
Права на промпт принадлежат автору @maxt3chno. За коммерческое использование — продвижение нейросетей, агрегаторов, Telegram-ботов — отвечаете вы: mozgi.io ответственности не несёт. Подробнее →
Модель
Claude Opus 5.5
Формат
16/9
Автор
@maxt3chno
Оригинал
x.com ↗

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

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

Скопировано