Страница 1 из 1

Статья (Размеренные размеры)

СообщениеДобавлено: 05 ноя 2010, 22:02
Purity
Автор: Yarko

I. Пропорция во главе угла

Любой художник, архитектор или мап-дизайнер, начиная работу над своим произведением (если это, конечно, не сюрреализм или абстракция типа Q3Arena :)) всегда думает о пропорциях изображаемого объекта на полотне, в гипсе, камне или в пикселях. Если создатель предполагает, что его творение должно отражать РЕАЛЬНОСТЬ, то он, несомненно, должен побеспокоиться о том, чтобы пропорции в его мире были такими же, как и в мире реальном. Что же такое эта хитрая вещь - пропорции? Это просто численное соотношение размеров объектов. Именно пропорция, а не соответствие реальному размеру делает изображение РЕАЛЬНЫМ. Скажем, у вас есть фото 9х12, где вы стоите рядом со своим домом и собакой. Тот факт, что ваш фактический размер на фотографии не превышает нескольких сантиметров, нисколько не портит эффекта реальности изображения, т.к. на фотографии и дом тоже маленький, а собака все также меньше вас. С другой стороны, когда вы смотрите фильм в кинотеатре, на экране лица героев бывают просто гигантскими, - но опять же этот фактический размер не влияет на реальность восприятия. Для чего же такое пространно-философское вступление? Я хотел лишь подчеркнуть, что для реальности восприятия важна именно пропорция размеров, а не размеры сами по себе. В реальном мире для подсчета и соблюдения пропорций мы используем стандартизованные системы измерения. Французы, например, в конце XVIII века решили, что одна 40-миллионная доля меридиана Земли есть стандартная единица длины и назвали ее метром. И меряют этим самым метром необходимые им размеры. Другие люди используют иные стандарты измерения, но об этом позже. Однако в мире нашем, мапперском, мы вольно-невольно определяем размеры не в обычных величинах, а в непонятных даже многим из нас мистических "юнитах". Тут-то и встает вопрос: а как нам соблюсти все пропорции в мире WC? Мы ведь на уроках в школе не юнитами измеряли гипотенузу и катеты, а сантиметрами. Да и на физкультуре бегали стометровку, а не тысячеюнитовку. Вот и получается, что нам непременно нужно знать, какому реальному размеру мы можем сопоставить этот самый юнит.


II. Юнит = ?!

Таким образом, перед нами стоит двуединая задача: сопоставить юнит некоему реальному размеру, соблюдая при этом пропорции реального мира. Конечно, можно "от балды" назначить юнит равным чему угодно, но станет ли от этого "карточный" мир реальным? Нет. Значит "танцевать" нужно от соблюдения пропорций. Как я уже говорил ранее, пропорция - это соотношение размеров объектов. Так вот для того чтобы соблюсти правильные пропорции в мире WC, нам необходимо определить некий объект с эталонным, так сказать, размером. Нечто существующее и в нашем, мапперском, и в реальном мирах. Да так, чтобы этот эталонный размер был известен и в юнитах, и в метрах. С чем же человек привык соизмерять все вокруг? Правильно, с самим собой. В нашем случае наиболее полно, на мой взгляд, на роль эталонного размера подойдет рост игрока. На карте он всегда составляет ровно 72 юнита. А в реальности... Вот тут нас и поджидает настоящая засада. В реальности-то человек нестандартен! Какой рост выбрать для сопоставлений? Полный конфуз. Но не будем отчаиваться. Есть один способ решить и эту проблему.


III. Once upon a time...

Древние говорили, что для того чтобы победить противника, его нужно понять. И в нашем случае, чтобы "победить" размеры в WC, следует попытаться понять логику тех, кто придумал "юниты", т.е. логику создателей самой игры. Не знаю уж кто конкретно в ID Software эти самые "юниты" придумал (кто не в курсе - CS, как и HL "произрастают" из продуктов IDS), но некая логика в его действиях должна была быть. Так почему же он, нехороший человек, - спросите вы - не сделал юнит эквивалентным сантиметру, метру или дециметру? Или, в крайнем случае, двум, трем, ..., n сантиметрам? Что он, нестандартно мыслящий индивидуум? А вот как раз наоборот: он мыслил очень даже стандартно. Вот только имеется одна тонкость. В какой стране, по всей видимости, жил этот человек? В США. В Соединенных Штатах я прожил больше года и был поражен тем, что в Америке, в отличие от Европы, люди почти не пользуются системой СИ, где длина измеряется в сантиметрах, дециметрах, метрах и километрах. В их традиционной системе - это дюйм, фут, ярд и миля (морская и сухопутная). Как известно, дюйм, фут и ярд имеют следующую размерность:

1 дюйм = 2,54 см;
1 фут = 12 дюймов = 30,48см;
1 ярд = 3 фута = 36 дюймов = 91,44 см.

Теперь из приведенных выше американских единиц длины выберем наиболее подходящую на роль юнита. И вот здесь я выдвигаю следующую гипотезу:

1 юнит = 1 дюйм.

Попробую это продемонстрировать. Какой у нас основной критерий? Соответствие роста игрока в среде WC некоему стандартному росту в реальном мире. Кстати говоря, в той же Америке человеческий рост так и измеряется - в футах и дюймах. Вот что мы имеем в случае юнит = дюйм.

Рост игрока = 72 юнита = 72 дюйма = 6 футов = 182,88 см.

Итак, если юнит - это дюйм, то рост игрока в 72 юнита примерно соответствует 183 сантиментрам в реальности, что вполне адекватно размеру рослого спецназовца, рейнджера или десантника, "про которых", собственно, и игра.


IV. От теории к практике

Таким образом, мы определили, что 1 юнит = 2,54 см. Далее несложно узнать ответ на сакраментальный вопрос - сколько юнитов в одном метре:

1 м = 100 / 2,54 = 39,370... юнитов.

Ну а если при этом для удобства округлить получившийся результат в большую сторону, мы получим практическую формулу:

1 м = 40 юнитов.

Исходя из данной практической формулы, получается, что

1 юнит = 100 / 40 = 2,5 см;
рост игрока = 72 x 2,5 = 180 см.

Погрешность при этом небольшая - не более 1,6%, а удобства несравнимо большие, чем у точной формулы. Мы все визуально представляем, что такое метр, дециметр и сантиметр. Что же такое юнит/дюйм или, в нашем практическом случае, его упрощенная версия - 2,5 сантиметра? Очень просто. Слово "дюйм" происходит от голландского "duim" - буквально "большой палец". 2,5 см - это примерно ширина большого пальца руки взрослого человека (ростом в 72 юнита :)), толщина хоккейной шайбы или половина длины спичечного коробка. Длина того же коробка - уже 2 юнита. 4 юнита - это дециметр, 8 юнитов - 20 см. Таким образом, масштабная сетка в WC имеет следующее разрешение:

1 юнит = 2,5 см - ширина большого пальца руки, а также толщина хоккейной шайбы;
2 юнита = 5 см - длина спичечного коробка;
4 юнита = 1 дециметр - ширина дисковода для 3,5 - дюймовых дискет;
8 юнитов = 20 см - примерно ширина стандартного листа А4;
16 юнитов = 40 см - также примерно длина стандартного листа А3;
32 юнита = 80 см - средняя длина шага взрослого человека;
64 юнита = 1,6 м - два человеческих шага;
128 юнитов = 3,2 м - высота потолка в некоторых "сталинках";
256 юнитов = 6,4 м - высота двух этажей в доме стандартной планировки;
512 юнитов = 12,8 м - ориентировочно ширина баскетбольной площадки.

Полезной может также быть "обратная" таблица соответствия размеров в метрах и юнитах:

0,1 м = 4 юнита - на 4-х-юнитовой масштабной сетке - одно деление;
0,5 м = 20 юнитов - 10 дел. на сетке в 2 юн. или 5 дел. на сетке в 4 юн.;
1 м = 40 юнитов - 10 х 4 юн. или 5 х 8 юн.;
2 м = 80 юнитов - 10 х 8 юн. или 5 х 16 юн.;
3 м = 120 юнитов - 15 х 8 юн.;
4 м = 160 юнитов - 10 х 16 юн. или 5 х 32 юн.;
5 м = 200 юнитов - 25 х 8 юн.;
6 м = 240 юнитов - 30 х 8 юн.;
7 м = 280 юнитов - 35 х 8 юн.;
8 м = 320 юнитов - 10 х 32 юн. или 5 х 64 юн.;
9 м = 360 юнитов - 45 х 8 юн.;
10 м = 400 юнитов - 25 х 16 юн.;
15 м = 600 юнитов - 75 х 8 юн.;
16 м = 640 юнитов - 10 х 64 юн. или 5 х 128 юн.;
20 м = 800 юнитов - 25 х 32 юн.;
25 м = 1000 юнитов;
50 м = 2000 юнитов;
75 м = 3000 юнитов;
100 м = 4000 юнитов;
. . . . . . . . . .
Расстояние от полюса до экватора = 10 тыс. км = 0,4 млн. юнитов :).

Кстати говоря, такие понятия как "дюйм" и "фут" не настолько нам чужды, как это может показаться на первый взгляд. Эти две единицы, наряду с вершком, аршином, саженью, верстой и милей, входили в стандартную русскую систему измерений. Вот, например, "ворлдкрафтовские" эквиваленты некоторых из них:

1 фут = 12 дюймов = 12 юнитов (30 см по формуле 1 юнит = 2,5 см);
1 аршин = 28 дюймов = 28 юнитов (45 см, 1 юнит = 2,5 см);
1 сажень = 7 футов = 84 дюйма = 84 юнита (210 см, 1 юнит = 2,5 см).

Кстати, исходя из такого "древнерусского" прошлого дюйма и фута, можно предположить, что упомянутый ранее гипотетический автор "юнитов" был просто-напросто "ну очень старым" русским :).


V. Добавим немножко дегтя...

Ну что ж, имея готовые формулы и таблицы, можно было бы смело брать в руки рулетку, и, как говорят военные, "на местности" составлять точный план будущей карты. Но есть одно "но". Если вы, скажем, собираетесь измерить и отобразить на карте точные копии достаточно объемных помещений и сооружений (туннели, склады, здания и т.д.), то у вас не должно быть проблем. Но если вы хотите сделать реальную модель своей квартиры, офиса или другого помещения с достаточно ограниченным объемом, при запуске такой карты у вас может возникнуть ощущение некоторой нереальности размеров получившихся комнат - они будут казаться меньшими, чем в реальности. Почему же это происходит? Ответ, на мой взгляд, кроется уже не в особенностях WC, а в самом игровом интерфейсе. При игре в 3D-action - игры мы пока еще почти не пользуемся виртуальными шлемами и костюмами. Наша визуальная связь с компьютерным миром происходит через экран монитора, который не только показывает нам окружающее плоским, но также значительно сокращает наш угол зрения, особенно угол бокового обзора. На больших пространствах это сильно не сказывается, однако в компактных объемах прилично влияет на восприятие виртуального мира. Попробуйте, например, надеть на голову картонную коробку с небольшим прямоугольным вырезом для глаз, соответствующим вашему углу взгляда на монитор (сантиметров 15 в диагонали) и попробуйте побегать в ней по квартире или офису, которые хотите смоделировать. вы будете постоянно натыкаться на стены. Добавьте сюда большую неповоротливость компьютерного игрока (неспособность проходить и пролазить в достаточно узких местах, в которых обычный человек легко протиснется) а также тот факт, что изображение на мониторе плоское, а не объемное - и вы получите ответ на вопрос, почему малые объемы кажутся нам еще более малыми. Таким образом, можно сформулировать еще одну "ловушку для мапперов", звучащую примерно так: Господа, не делайте на карте слишком узких пространств с реальными размерами, - вы получите комнаты, которые будут казаться еще меньше, чем на самом деле. Но если вам все-таки необходимо сделать нечто подобное офису или квартире, смело искажайте размеры помещений в сторону увеличения. И не забывайте, что стремление к реальности размеров важно лишь до тех пор, пока оно не убивает насмерть Его Величество Геймплей.