Инструменты пользователя

Инструменты сайта


q3:первая_карта_для_quake_3

Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

q3:первая_карта_для_quake_3 [26.12.2012 03:56]
q3:первая_карта_для_quake_3 [06.07.2020 03:50] (текущий)
Строка 1: Строка 1:
 +Итак у нас есть большое желание создавать карты для Quake III, но мы не знаем как. Первым делом нужен редактор карт. Один из самых популярнейших - это GTKRadiant. Сейчас последняя стабильная версия имеет номер 1.5 и её можно скачать по этой ссылке: [[http://zerowing.idsoftware.com/files/radiant/GtkRadiant-1.5.0.msi|GtkRadiant-1.5.0.msi]] Есть и другие редакторы, например устаревший Q3Radiant или Quark, но в этой статье я про них рассказывать не буду.
  
 +===== Настройка =====
 + 
 +
 +После скачивания редактора его нужно установить. Установка обычно проходит без проблем, главное несколько раз нажать далее и один раз выбрать тип установки. Я выбрал полную установку. 
 +
 +Также в директории игры желательно, чтобы текстуры, материалы и мдели находились в распакованном виде. Открываем pack0.pk3 в любой прогремме, которая может распаковать zip архив, например WinRar, и распаковываем папки textures, models и scripts в папку baseq3. 
 +
 +Запускаем редактор и видим примерно такой экран: 
 +
 +{{:q3:800px-первая_карта_для_quake_3_1.png|}}
 +
 +После первого запуска необходимо настроить редактор для того, чтобы он знал путь к игре и ресурсам (модели, текстуры, материалы и прочее) Заходим: 
 +Edit - Preferences - Settings - Paths
 +
 +И в поле Engine path указываем путь к игре: 
 +
 +{{:q3:первая_карта_для_quake_3_2.png|}}
 +
 +Также в Preferences можно настроить вид рабочего поля редактора. Я использую то, что предлагается по умолчанию. 
 +Edit - Preferences - Interface - Layout - Window Layout
 +
 +И выбираю крайнее левое значение рабочего поля. Ок. Теперь расскажу из каких частей состоит рабочее поле редактора. 
 +
 +Слева находится двумерная проекция нашей карты. С помощью клавиш Ctrl + Tab можно менять вид этой проекции (условно говоря вид спереди, сбоку или сверху карты) 
 +
 +Справа вверху окно просмотра 3D вида нашей карты. Здесь можно увидеть все что мы сделали в 3D не запуская игру. Для управления видом щелкаем правой кнопкой мыши на 3D окно и мышью можен посмотреть влево, вправо, вверх и вниз. Для перемещения в горизонтальной плоскости можно использовать стрелки на клавиатуре. Для движение вверх и вниз используем клавиши D и C Также для перевещения можно использовать колесо мышки. На мой взгляд, так даже удобнее перемещаться по карте. 
 +
 +Справа внизу находится окно, в котором можно просматривать и выбирать текстуры для карты. Сейчас там скорее всего только те текстуры, которые используются в Quake 3, но позже можно будет добавлять свои. 
 +
 +Сверху на панелях находятся разные кнопки для редактирования. О них чуть позже по ходу статьи. 
 +
 +
 +=====  Введение =====
 + 
 +
 +Для создания карт нужно немного понимать как вообще устроены уровни в игре. 
 +
 +В редакторе мы создаем .map файл, в котором записана информация об уровне и всех расположенных на нем объектах. После этого мы запускаем компилятор, который производит расчет bsp структуры уровня, расчет видимости и освещения. После компиляции мы получаем bsp файл, который уже можно запустить в игре. 
 +
 +Уровень - это обязательно закрытая со всех сторон коробка, без дырок во внешнуюю среду. Если будут дырки, тогда уровень или совсем не заработает или будет работать с очень маленькой скоростью. 
 +
 +Все уровни состоят из брашей, моделей, патчей и энтити. 
 +
 +Браш - это объект с почти неограниченным числом граней. Примерами брашей могут буть куб или параллелепипед, также из брашей можно сделать что-то похожее на сферу или конус. В Quake 3, большая часть уровней состоит из брашей. То есть почти каждая стена, пол, потолок состоит из брашей. 
 +
 +Патч - это то односторонный объект, который можно как угодно изгибать, крутить и так далее. Главный недостаток патчей в том, что из них нельзя делать внешние стены уровня. При компиляции патчи считаются дырявыми, поэтому чтобы не было дырки в том месте, где патч, за ним нужно расположить браш. 
 +
 +Модель - Это объект с заранее наложенными текстурами, который можно расположить в любом месте уровня, но не за его пределами, те есть нельзя модель расположить в открытом пространстве за уровнем, иначе будет утечка (map is leaked). 
 +
 +Энтити - Эти самые разнообразные объекты, в том числе источники света, лифты, маятники и прочее. Эти объекты тоже должны располагаться внутри уровня, чтобы не было утечек. 
 +
 +
 +=====  Первые браши =====
 + 
 +
 +Для начала нужно создать просто уровень-коробку, наложить на стены и пол текстуры, установить место появления игрока и источники света. Затем скомпилировать карту и запустить её в Quake3. 
 +
 +В окне двумерной проекции зажимаем левую кнопку мыши в любом месте и перемещаем мышь. Так мы создали первый браш. Мы видим его сверху и можем мышью переместить его или изменить его размеры. Для выделения браша зажимаем кнопку Shift и левой кнопкой мыши щелкаем на браше (можно в 2D окне или в 3D окне, без разницы). Его края становятся красными. Если мы не хотим больше работать с этом брашем нажимаем Esc, и он снова становится черным. Нажимаем Ctrl + Tab, теперь мы видим этот браш сбоку и можем изменить его высоту. Сначала, наверное, не совсем понятно какого размера должен быть браш и каким он будет в игре. Слева есть линейка, на которой помечены деления с юнитах (Юнит - величина, в которой измеряются все равмеры в игре). Например игрок имеет размеры 56*32*32 юнита. Для первого уровня достаточно размеров (примерно) 300*300*128 юнитов. В этой коробке поместится и игрок и несколько других объектов. 
 +
 +{{:q3:800px-первая_карта_для_quake_3_3.png|}}
 +
 +Если браш нужно удалить - выделяем его и нажимает кнопку backspace. Он удалится. 
 +
 +Так мы создали первый браш, но он не пустой, все его внутренней пространство заполнено. Поэтому нужно сделать его пустым. Сверху на панели есть кнопка Hollow. Выделяем браш и нажимаем эту кнопку. Браш получает пустое пространство внутри. Теперь у нас будет не один браш, а 6: 4 стены, пол и потолок. Весь наш первый уровень будет располагаться внутри этих 6 брашей. 
 +
 +Но наши 6 брашей пока не имеют текстуры на своих сторонах. Для начала наложим на все браши текстура Caulk. Выделяем все наши браши (можно по очереди, а можно все вместе, зажав Shift + LM) и нажимаем кнопку на панели Caulk Selection. Наши браши снановятся розового цвета и все иг грани покрыты текстурой caulk. Этой текстурой мы помечаем те браши или их грани, которые не должны отображаться в игре. У каждого из этих брашей 6 граней, а можем мы увидеть сейчас только 1 у каждого (те грани, которые находятся внутри комнаты). В 3D виде залетаем внутрь этой коробки. 
 +
 +{{:q3:800px-первая_карта_для_quake_3_4.png|}}
 +
 +
 +=====  Наложение текстур =====
 + 
 +
 +Теперь нам нужно наложить на внутренние стороны брашей те текстуры, которые захочется увидеть в игре. Можно в 3D виде выделять одиночные грани браше с помощью Ctrl + Shift + LM. Выделяем грани на брашах, которые у нас выступают в качестве стен. Они подсвечиваются красным. 
 +
 +{{:q3:800px-первая_карта_для_quake_3_5.png|}}
 +
 +Далее в том окне, которое справа внизу выбираем те текстуры, которые хотим увидеть в игре. Я выбрал base/base_wall bluemetalsupport2.tga. Щелкаем на текстуре LM. На стенах теперь наложилась эта текстура. 
 +
 +{{:q3:800px-первая_карта_для_quake_3_6.png|}}
 +
 +У меня она наложилась не так как надо, поэтому её нужно сдвинуть. Не снимая выделения с этих граней, я щелкнул 2 раза RM, в 3D вид, зажал кнопку Shift и стрелками передвинул текстуру так, как нужно. 
 +
 +
 +После этого аналогично накладываем текстуры на пол и потолок. 
 +
 +
 +=====  Объекты на карте =====
 + 
 +
 +На уровне обязательно должно быть указано место где появляется игрок, поэтому внутри нашей команты в 2D виде щелкаем RM и выбираем в появившемся меню: 
 +info - info_player_start
 +
 +{{:q3:800px-первая_карта_для_quake_3_8.png|}}
 +
 +После этого появится красный параллелепипед, который озозначает стартовую позицию игрока. Нужно его передвинуть так, чтобы он находился внутри комнаты и не пересекался со стенами. 
 +
 +Также нам нужен источник света. Опять же RM внутри комнаты в 2D проекции. Выбираем light. Появляется маленькое меню, в котором можно ввести цифру, означающую яркость источника света. Для нашей комнаты достаточно значения 150. 
 +
 +{{:q3:800px-первая_карта_для_quake_3_9.png|}}
 +
 +
 +=====  Компиляция =====
 + 
 +
 +Так мы закончили редактирование уровня. Обятельно сохраните его. У меня он называется tmp. Осталось скомпилировать его и запустить в игре. В верхней строке меню выбираем Build, вылазит меню в котором предоставляется выбор параметров компиляции. нас интересует сейчас только строка: 
 +Q3Map2: (final) BSP -meta, -vis, -light -fast -filter -super 2
 +
 +{{:q3:800px-первая_карта_для_quake_3_10.png|}}
 +
 +Нажимаем и ждем некоторое время. Повляются разные черные окошки с белыми буквами, Радиант что-то пишет в своем логе и через какое-то время все заканчивается (время зависит от сложности уровня и количества ошибок, у нас уровень простой и маленький, поэтому все закончится быстро). 
 +
 +Если все сделано правильно, то компилятор из нашего .map файла создаст .bsp в папке ../baseq3/maps Если нет, то есть отдельная статья, посвященная ошибкам, которые выдает компилятор. 
 +
 +После этого можно запускать игру. Первым делом пишем в консоли /sv_pure 0. Эта команда позволяет игре видеть те файлы, которые не запакованы в .pk3. Затем также в консоли пишем /map tmp, и если все удачно, уровень запустиится :) 
 +
 +Поздравляю! 
 +
 +Если что-то не так, возможно придется переделывать уровень. 
 +
 +--GT-Agressor 09:01, 10 февраля 2009 (UTC)