Три промпта по локации. В первом DeepSeek строит ночные ворота храма скриптами Blender и сам сравнивает кадр с референсом. Во втором и третьем переделывает каждый элемент по моему разбору: материал, свет, форма. Модель будет работать часов семь, можно оставить на ночь.
Приём этого промпта: замкнутый круг. Модель снимает скриншот игровой камерой, ставит рядом с референсом, выписывает 10 главных отличий, исправляет и повторяет. А каждую 3D-модель сначала рендерит в Blender и смотрит на превью. Ещё в промпте перечислено, из чего состоит референс: модель видит картинку, но список не даст ничего потерять.
новый чат. прочитай AGENTS.md и PLAN.md. бой уже работает на временной сцене, теперь главное - локация (этап плана про локацию). референс inputs/ref.png прикрепил. хочу супер детализированную и крутую, по настроению почти 1 в 1 как на референсе.
что на референсе и что должно быть:
- в центре большие ворота-павильон китайского храма: многоярусная крыша с загнутыми вверх углами и черепицей, кронштейны доугун под карнизом, расписные балки, красные колонны, решётчатые двери со светом изнутри, табличка с иероглифами 红灯门, ступени, по бокам каменные львы
- по бокам галереи/павильоны с рядами красных фонарей
- жаровни на треногах с живым огнём, дымом и искрами
- много красных фонарей (висят и покачиваются), тёплый свет от них на всём
- ночь, дождь, мокрый каменный пол с лужами и отражениями фонарей и огня, рябь от капель
- дымка/туман в глубине, тёмно-синее небо, дальний фон - горы (inputs/textures/backdrop.png)
- текстуры бери из inputs/textures
как делать:
- 3d модели - в blender через bpy скриптами в headless режиме, каждая модель отдельным скриптом, экспорт в glb. перед экспортом рендери превью в blender и сам смотри на него, исправляй форму
- в three.js: отражения на полу, дождь (струи + брызги на полу), туман, точечные источники света от фонарей и огня, огонь шейдером, bloom, тонмаппинг, иногда молния вдалеке
- камера как в файтинге: низкая, бойцы крупно - примерно половина высоты кадра, ворота за ними, камера следит за бойцами и чуть приближается, когда они близко
- 60 fps в 1080p
проверка: сделай скрипт, который снимает скриншот сцены с игровой камеры (с бойцами). сравни его с референсом сам - выпиши 10 главных отличий и исправь. повтори так несколько кругов, пока не станет реально похоже. в конце покажи финальный скриншот и напиши, что осталось.
git add -A && git commit -m "промпт 05: локация"
У меня модель работала три с половиной часа и сделала 21 круг «скриншот, сравнение, исправления». 8 скриптов Blender собрали ворота, павильон, льва, жаровню, фонарь, скалы и пол. В three.js появились мокрый пол с отражениями, дождь, огонь, искры, дым, качающиеся фонари и молния.
Превью моделей, которые DeepSeek рендерил в Blender и смотрел сам.
Лучший момент у меня: крыша ворот оставалась белой, сколько модель ни меняла материал. Тогда она стала выключать источники света по одному и вывела яркость ламп прямо из игры. Оказалось, молния горит с силой 27 вместо 0: на первом кадре время шло назад, и вспышка копилась. Исправление в одну строку.
После промпта 05. Ночь, дождь и камера уже на месте, но всё похоже на 3D-макет.
Второй круг: качество вместо количества
Посмотри на свой кадр так, как посмотрел бы арт-директор. У меня было так: баннеры как плоские красные доски закрывают крышу, табличку 红灯门 перекрывает фонарь, пол светлый, как бетон, лев похож на мишку из шаров, огонь как газовая горелка, фонари одинаковые.
Главное правило следующего промпта: не добавляй больше объектов. Когда кадр выглядит бедно, модель тянется добавить ещё фонарей и баннеров, и становится только хуже. Поэтому каждый пункт говорит, что не так, как должно быть и чем это сделать. А если элемент не получается, лучше убрать его совсем.
Сравни мой список со своим кадром. Пункт, которого у тебя нет, удали. Свою проблему допиши так же: что видно сейчас, как должно быть. Правило «не добавляй объектов» и проверку в конце оставь.
новый чат. прочитай AGENTS.md и свой отчёт о прошлом круге по локации (он в docs/) - локация собрана, это второй круг по ней. референс снова прикрепил.
посмотрел финальный скрин и ролик боя. по качеству окружение пока «3d-макет», а не как на референсе. главное правило на этот круг: **не добавляй больше объектов** - ни фонарей, ни баннеров, ни источников света. каждый существующий элемент сделай качественно: форма, материал, свет, движение. если элемент не получается сделать хорошо - лучше убери его, чем оставлять плохой. по каждому пункту - кроп 1:1 до/после.
1. **баннеры** - самое слабое место. сейчас это плоские красные доски, которые висят перед крышей и закрывают её. на референсе это гирлянды из узких рваных полос ткани на верёвках, провисающих между столбами.
- убери доски. верёвка провисает цепной линией, на ней 10-20 узких полос разной длины
- рваный низ - альфа-вырез по fbm-шуму, ткань двусторонняя, выцветшие оранжево-коричневые тона
- колышутся вершинным шейдером, амплитуда растёт к низу полосы, у каждой своя фаза. снизу их подсвечивает тёплый свет
2. **табличка 红灯门** - её закрывает фонарь, а в центре пересвеченный блик. табличка должна читаться полностью: перед ней ничего, свет на неё мягкий и ровный, иероглифы золотые на тёмном лаке.
3. **пол** - сейчас светло-серый, как бетон, с резкими прямоугольниками отражений окон. должен читаться тёмный мокрый камень.
- плиты из floor_stone.png с видимыми тёмными швами, общий тон заметно темнее
- маска луж по fbm: в луже roughness ~0.08 и чёткое отражение, вне луж мокрый камень roughness ~0.6, отражение размытое и вытянутое по вертикали
- рябь от капель и лёгкая волна искажают отражение, плюс френель. bump внутри луж сглаживай, иначе каждая плитка ловит свой квадратный блик
4. **крыша ворот** - цвет теперь правильный, но она читается как плоская тёмная полоса.
- скаты и карниз дугой, углы плавно задираются вверх; ряды черепицы идут по этой кривой. видна толщина карниза и торцы стропил
- низ карниза и доугун тёплые от фонарей, верх холодный от неба. сделай это в шейдере: тёплая подсветка по `max(0, -normal.y)`, умноженная на AO из blender
- рыбы на коньке крупные, с читаемым силуэтом на фоне неба, как на референсе
5. **ворота** - сейчас плоский фасад-коробка с решётками.
- глубина: передний ряд красных колонн выступает из стены и стоит на каменных базах, между колоннами тени
- центральный проход открыт, сквозь него виден дальний тёплый двор
- под карнизом повторяющиеся блоки доугун, расписные балки, в проходе длинные красно-золотые ленты-кисти, как на референсе
6. **львы** - в превью это мишка из шаров, в игре тёмные шары с огоньком. либо делай нормально, либо убирай.
- нормально - это сидящий лев-страж на постаменте: грива рядами завитков, раскрытая пасть, лапа на шаре. базу собери из нескольких форм, сгладь subdivision, добавь displacement и каменный материал с AO. проверь превью сбоку и в 3/4
7. **жаровни** - огонь сейчас тонкий вертикальный конус, как газовая горелка.
- широкое пламя из 5-8 языков разной высоты, которые извиваются и отрываются: шейдер на шуме, аддитивно, hdr-цвет, жёлтое ядро, оранжевые и красные края
- искры по кривым вверх, дым, подсвеченный снизу, тёплый мерцающий свет вокруг, огонь отражается в луже
8. **фонари** - одинаковые красные шары в ряд на одной высоте.
- разные формы (круглые и вытянутые) и размеры, разная высота, качаются с разной фазой
- бумага с рёбрами, тёмные крышки сверху и снизу, кисточка, свет изнутри мягким градиентом, а не плоская красная сфера
9. **свет и цвет кадра** - сейчас всё освещено почти одинаково. на референсе тёплые пятна у огня и фонарей, между ними глубокие тени, небо холодное, в глубине тёплая дымка.
- больше контраста между пятнами света и тенью, мягкие конусы света под фонарями
- проверь гистограмму яркости кадра: основная масса - средние тона и тени, яркое только у источников. выведи цифры до/после
10. **бойцы** - сейчас как вклеенные из студии. впиши их в свет сцены: лёгкий тон окружения и тёплый rim с той стороны, где ближний огонь. мягкая контактная тень под ногами, отражение в лужах. чёткость и читаемость не снижай.
проверка: на каждом круге собирай лист - твой кадр, референс и кропы 1:1 баннеров, таблички, пола, крыши, ворот, льва и жаровни до/после. смотри на него сам и сравнивай качество каждого элемента, а не количество деталей. fps в 1080p должен остаться 60. в конце - финальный скрин и таблица: пункт - что сделал - стало ли похоже.
git add -A && git commit -m "промпт 06: качество локации"
У меня правило сработало: новых объектов модель не добавила, а слабые переделала или убрала. Вместо досок появились гирлянды из рваных полос, табличка читается целиком, пол стал тёмным камнем с лужами, у крыши изогнутые скаты, у огня семь языков пламени, фонари из бумаги с рёбрами. Работа заняла два часа.
После промпта 06.
Третий круг: светотень и фактура
После второго круга вблизи всё ещё выглядело игрушечным. В этот раз я назвал одну общую причину вместо десяти мелких: много ровной оранжевой заливки без светотени. Одна причина превращается в одно правило для всей сцены. А закончил вопросом, который модель задаёт себе сама: это кадр из игры уровня референса или макет?
Как и с прошлым промптом: оставь пункты, которые видишь у себя, и допиши свои. Общее правило про заливку и вопрос в конце оставь.
новый чат. прочитай AGENTS.md и свой отчёт по локации (он в docs/). референс прикрепил ещё раз.
по локации: общее настроение уже то, что надо. но вблизи всё выглядит игрушечным, как low-poly макет. главная причина одна: много плоской ровной оранжевой заливки без светотени. проход в воротах, ленты на верёвках, низ карнизов, ткани у павильонов - всё светится одинаково, будто освещения нет. на референсе свет живой: ярко у фонаря, дальше плавно уходит в темноту, и в освещённых местах видна фактура - дерево, резьба, черепица, ткань.
что поправить:
- проход в центре сейчас просто яркая оранжевая плита с палками. хочу глубину: в самом проходе полутьма, у дверей и решёток видно дерево, а свет идёт из глубины двора и от фонарей, с плавным спадом
- ленты на верёвках выглядят как оранжевый картон. сделай их тоньше и темнее, чтобы читалась ткань с рваными краями. снизу подсвечены только те, что рядом с огнём
- черепица выглядит как ряды бусин. нужны полукруглые желобки, как на настоящих китайских крышах, с круглыми торцами на краю и мокрыми бликами
- львы - тёмные комки с прожектором на морде и гривой, как у павлина. либо нормальные каменные львы с читаемой мордой, лапами и постаментом, либо убери их совсем
- пол по краям серый и плоский, как бетон. мокрый камень должен быть везде, не только в центре
- общее правило: везде, где сейчас ровная заливка, нужна фактура (текстуры из inputs/textures) и затухание света от источника
проверка та же: кропы 1:1 до/после проблемных мест. посмотри на них сам и честно ответь себе - это кадр из игры уровня референса или макет? fps 60 в 1080p.
git add -A && git commit -m "промпт 10: светотень"
У меня модель сделала 13 кругов за полтора часа. Проход ворот стал тёмным деревянным, с раскрытыми створками и тёплым светом двора в глубине. Ленты вдвое тоньше, черепица из полукруглых желобков, львов модель пересобрала: морда, грива, лапы, шар, постамент. Свою работу она оценила так: «в названных зонах это уже игровой кадр, а не макет, но до 1:1 референса не дотягивает». Я согласен.
После промпта 10.
Как проверить:
За бойцами ворота храма с фонарями, жаровнями и дождём
Пол тёмный и мокрый, в нём отражаются огонь и фонари