TGViewer
Верни консоль Верни консоль @vernipod · 4.49K subscribers
Post #1198 2.04K
В Assassin's Creed Unity на 10 000 парижан приходится 40 мозгов

Вы ещё не забыли, что Unity — лучшая часть Assassin's Creed? Какая там картинка, какой паркур, который реально паркур, какие толпы на улицах, в которых реально можно раствориться. Вот про толпу я и вспомнил — про проработку NPC в играх сейчас много говорят. На GDC 2015 Ubisoft рассказала, как устроена эта толпа в Unity — это один из самых красивых обманов в играх. Круче только шлем-вагон в Fallout. В Unity на экране бывает до 10 000 человек. Думают из них максимум 40. Всё как в жизни.

Тут надо понимать, с чего Ubisoft стартовала. До Unity у движка был жёсткий потолок: 100 NPC на уровень, из них 20 гражданских, а рядом с игроком — максимум человека четыре. Толпу было просто невозможно сделать, но очень хотелось — и как быть? Решение подсмотрели в графике: там же любая далёкая модель рисуется грубо и подменяется подробной только вблизи — всем известная система LOD. Ubisoft применила тот же принцип к искусственному интеллекту — с тремя ступенями.

Прохожий в этой системе называется bulk, болванка. Дальше 40 метров — это в принципе не персонаж, не гражданин, а дешёвый меш на пару тысяч полигонов со скриптом на несколько реакций — 25 микросекунд процессорного времени. С 40 до 12 метров — марионетка: настоящая модель, но почти все системы выключены, недалеко ушла от болванки. И только ближе 12 метров лесной болван становится человеком: включаются все компоненты, физика Havok, 300 костей анимации, 20 000 полигонов. Таких одновременно не больше 40 на весь Париж!

Но интереснее тут переход. «Настоящих» NPC в игре — фиксированный пул: 160 заготовок, из них 90 в работе. Стоит приблизиться к болванке, как игра берёт из этого запаса свободного человека, делает его копией болванки — тот же меш, та же раскраска, та же шляпа, но совершенно новые мозги — и ставит на её место, а саму болванку убирает. Для игрока будто бы ничего не произошло, но на самом деле оригинального прохожего уже нет, на его месте другой — просто одетый так же. Шляпы, кстати, существуют только у «настоящих» NPC. А как отойдёшь подальше, срабатывает обратный процесс.

Ходят болванки по замкнутым маршрутам через весь Париж. Тропы прокладывает сама игра — и всегда по одному и тому же расчёту. Поэтому в коопе на четверых толпу не гоняют по сети: каждая копия строит её сама, и у всех всё сходится. Собственных мозгов у болванок нет вообще, даже крошечных. Целое стадо держит один объект — «пастух»: в нём лежат все данные, он следит за состоянием каждой болванки и считает логику сразу за всех. Пастухов по городу буквально левел-дизайнеры ручками расставляли. А у толпы, которая просто слоняется по Парижу без дела, пастух свой отдельный — один на весь город.

Ухищрения сложные, но оправданные: 230 мегабайт памяти на 2 000 болванок против 4,2 гигабайта, если бы каждая была настоящим NPC. Но вспомните ноябрь 2014-го: безлицые прохожие с плавающими в воздухе глазами и зубами, просевший фреймрейт, мемы. Ubisoft тогда говорила, что толпа тут ни при чём и уменьшать её бесполезно. Ну не знаю!
  • 🔥 41
  • ❤ 11
  • 🤔 5
More from @vernipod
  1. Sep 21, 2026Silent Hill 2 не заглядывает тебе в душу — она считает, сколько монстров ты добил ногой Че…
  2. Sep 17, 2026Красивая история получилась с Wardogs и Tencent Мне на саму Wardogs плевать абсолютно, но…
  3. Sep 16, 2026Game Pass так и не превратился в «Netflix для игр» Год назад я защищал Game Pass от Рафаэл…
  4. Sep 15, 2026Дежурное, но редкое напоминание, что вы можете поддержать мой канал Закинув мне денег, раз…
  5. Sep 14, 2026Арабы не купили Electronic Arts — они её заложили Год назад я писал, как суверенный фонд С…
  6. Sep 13, 2026Про Blizzard, открытие Blizzcon 2026 и анонсы Diablo V с шутером по Starcraft хотел написа…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →