Коротко: Большинство уровней, которые «ощущаются не так», просто построены в неправильном масштабе, и ошибка невидима на скриншотах, но мгновенно ощутима от первого лица. Это компактный справочник реальных архитектурных размеров, поправок, которые навязывают им игровые камеры, ловушки единиц движка, что тихо губит импортированные киты, и повторяемый часовой воркфлоу, чтобы зафиксировать собственный лист метрик, прежде чем строить хоть одну комнату.
Века зданий сошлись на одной и той же горстке размеров. Ваш уровень наследует телесную память игроков о каждой лестнице, по которой они когда-либо поднимались, ошибитесь в пропорциях, и она ощущается коварной раньше, чем они поймут почему.
Почему масштаб — первое, что чувствуют игроки
Игроки никогда осознанно не замечают потолок на 20 см ниже нужного, они чувствуют тесноту и не могут сказать почему. Ошибки масштаба обходят осознанную проверку и идут прямо в настроение.
Именно это делает их опасными: они переживают скриншоты, переживают ревью команды и всплывают лишь в плейтестах как расплывчатый отзыв («эта комната какая-то странная»), когда их исправление означает перестройку геометрии, от которой уже зависит другая работа. Лекарство неброское, но полное: сначала договоритесь о числах и заложите их в префабы, чтобы никто не изобретал дверь заново для каждого уровня. Лист масштаба — самая дешёвая страховка в левел-дизайне: час работы, предотвращающий целую категорию дорогих, трудно диагностируемых багов.
Опорные значения из реального мира
Реальная архитектура служит вашим калибровочным набором, а не целью. Постройте одну комнату с этими числами, пройдитесь по ней от первого лица и почувствуйте, насколько тесно на самом деле «реалистично».
- Внутренняя дверь: 0,8–0,9 м в ширину, 2,0–2,1 м в высоту
- Жилой потолок: 2,4–2,7 м; офисы 2,7–3,0 м; парковки ~2,2 м
- Коридор, один человек: 0,9–1,2 м; комфортный двусторонний 1,5–1,8 м
- Формула лестницы, которой строители пользуются три века: 2 × подступёнок + проступь ≈ 60–65 см (один человеческий шаг). Типично: 17–18 см подступёнок, 28–30 см проступь. Лестницы, нарушающие формулу, ощущаются коварными, и в играх тоже, хотя никто не падает.
- Перила / балюстрада: 0,9–1,1 м
- Рабочие поверхности: стол 0,72–0,76 м, кухонная столешница ~0,9 м, барная стойка ~1,1 м
- Транспорт: полоса движения 3,0–3,5 м, парковочное место 2,5 × 5 м, тротуар ≥1,5 м
- Высота глаз: 1,5–1,75 м стоя, то, где вы ставите камеру от первого лица, решает, как читается всё, что выше
Постройте тестовую комнату ровно с этими числами, опустите камеру на уровень глаз и пройдитесь. Она будет ощущаться тесной, часто некомфортно. Этот дискомфорт и есть важнейший урок на этой странице: реальная архитектура рассчитана на реальные тела с реальным периферийным зрением, а у игровой камеры нет ни того ни другого.
Почему игры жульничают с этими числами
Камеры — не глаза. Широкое поле зрения сжимает воспринимаемый размер, коллайдеры шире тел, а бою нужно место для замаха, поэтому вышедшие игры увеличивают архитектуру примерно в 1,25–1,5 раза.
Механизмы, ведь знание почему позволяет настраивать, а не копировать вслепую:
- Типичное горизонтальное FOV 90–110° показывает куда больше стены, чем фокусирует человеческое зрение, поэтому комнаты в реальном размере на экране кажутся кладовками. Шире FOV — сильнее видимое сжатие.
- Капсулы персонажа обычно 0,6–0,9 м в диаметре и не поворачиваются боком в дверях, как плечи; спутникам и пасфайндингу ИИ нужно ещё больше зазора, чем игроку.
- Камеры от третьего лица вращаются примерно в 2–4 м за персонажем и клипаются во всё, что теснее примерно 2 м, поэтому у игр от третьего лица заметно бо́льшие пространства, чем у игр от первого.
- Игроки движутся со скоростью 4–7 м/с, а не пешим шагом, поэтому пространства переживаются быстрыми проходами: маленькая комната заканчивается, не успев зарегистрироваться, что подталкивает дизайнеров делать комнаты крупнее, чтобы придать им присутствие.
Отсюда конвенции: двери 1,2–1,5 м в ширину и ≥2,4 м в высоту, боевые коридоры ≥2,5–3 м, внутренние потолки ≥3 м и две канонические высоты укрытий (в приседе ~1,0–1,2 м, полное ~1,8–2,0 м), переиспользуемые повсюду, чтобы игроки читали укрытие с первого взгляда. Грамматика перемещения тоже заслуживает точных чисел: выберите высоту заступа (скажем, ≤0,5 м), высоту вольта и высоту «это стена» (≥2,2 м), и никогда их не нарушайте. Игроки усваивают вашу грамматику за минуты и полагаются на неё: уступ, который выглядит взбираемым, но не является таким, или стена, что оказывается перепрыгиваемой, ломают доверие, которое непросто восстановить.
Единицы движка: тихий убийца масштаба
Unreal работает в сантиметрах (1 единица = 1 см), Unity — в метрах, и импортированные ассеты, смоделированные под неверным предположением, становятся источником номер один тихо неправильно масштабированных уровней.
Кирпич служит эталоном масштаба, который носит в себе каждый. Ошибитесь с размером кирпича в текстуре или модульном элементе, и каждая построенная из него стена лжёт о размере комнаты, та ошибка, что прячется, пока тестировщик не скажет «здесь что-то не так».
Кит, смоделированный в 1,1× «потому что во вьюпорте казался маленьким», отравляет каждый построенный из него уровень, и ошибку почти невозможно обнаружить, когда она запечена в сотне размещений: каждая комната тонко неверна в одном направлении, поэтому ничего не выглядит явно сломанным. Защита: держите эталонный манекен 1,8 м обязательным префабом в каждой сцене и проверяйте импортированные ассеты по нему до того, как они попадут в библиотеку, а не после того, как их разместили четыреста раз. Стандартизируйте масштаб импорта в настройках пайплайна, чтобы неверно настроенный экспорт ловился на входе.
Часовой воркфлоу, чтобы зафиксировать метрики
Постройте «зал метрик», пройдите его вашим настоящим персонажем, запишите победителей на одну страницу и превратите эту страницу в блокаут-префабы, чтобы числа распространялись через переиспользование.
- Постройте зал метрик: по одной greybox-комнате на вопрос (двери, лестницы, укрытия, разрывы, высоты падения), каждый вариант чётко подписан своими размерами.
- Пройдите его настоящим контроллером персонажа, включая боевые движения, а не fly-cam. Fly-cam одобряет пространства, по которым на деле передвигаться мучительно.
- Запишите победителей на лист в одну страницу: от восьми до двенадцати чисел, не больше. Лист, который никто не может запомнить, — лист, которым никто не пользуется.
- Превратите лист в блокаут-префабы (стандартная дверь, лестница, обе высоты укрытий), чтобы числа расходились через переиспользование, а не через память и дисциплину.
Именно в измерении инструментарий оправдывает своё место: кликнуть две точки и прочитать расстояние, или проверить минимальный зазор со снаппингом, прямо в редакторе всякий раз лучше прикидки на глаз по манекену. Именно для этого создан инструмент измерения в Numivo, и он в бесплатном уровне именно потому, что метрическая дисциплина как раз то, с чего начинаются хорошие уровни, ещё до того, как появится какой-либо арт.
Полевые числа, которые стоит украсть
- Формула комфорта лестницы: 2П + Пр ≈ 63 см, работает и в играх
- Множитель игрового пространства над реальной архитектурой: 1,25–1,5×
- Минимальный коридор от третьего лица: ~2,5 м, иначе камера воюет со стенами
- Высоты укрытий, которые стоит стандартизировать: 1,1 м в приседе / 1,9 м полное
- Максимальный заступ, который игроки читают как «проходимый» без прыжка: ~0,4–0,5 м
- Высота эталонного манекена в каждой сцене: 1,8 м
Мини-FAQ
Должны ли стилизованные игры использовать другие числа? Соотношения переживают стиль; абсолюты сдвигаются вместе с персонажем. Отмасштабируйте весь лист под рост и пропорции вашего персонажа, а затем зафиксируйте так же жёстко. У чиби-игры и милсима разные абсолюты, но одна и та же потребность в едином согласованном листе.
Метрическая или имперская? Та, что общая у вашего движка и команды: смешанные единицы вызывают больше багов масштаба, чем любая система по отдельности. Оба крупных движка в основе метрические; бороться с этим значит терять точность, за которую заплатите зазорами и наложениями.
Как исправить существующий неправильно масштабированный уровень? Сначала измерьте десяток дверей и потолков, чтобы найти систематический коэффициент (обычно все они неверны в одном направлении). Перемасштабируйте кит, а не уровень, и пересоберите из префабов. Точечно чинить комнаты по одной значит запекать несогласованность навсегда и обойдётся дороже, чем пересборка.
Почему мой импортированный предмет мебели выглядит неправильно даже при верном масштабе комнаты? Почти всегда несовпадение масштаба экспорта именно у этого ассета: проверьте его по манекену. Один ассет в неверном масштабе в правильно масштабированной комнате раздражает сильнее, чем целая слегка криво построенная комната, потому что у игрока рядом есть верные ориентиры.
Реальные числа делают пространства правдоподобными; поправки игрового пространства делают их играбельными. Зафиксируйте и то и другое рано, заложите в префабы, и половина ваших отзывов «эта комната какая-то странная» исчезнет ещё до того, как будет написана.