Советы начинающему левелмейкеру Для создания Quake2 уровня нужен специальный редактор. Я настоятельно рекомендую Worldcraft 1.6 (Можно скачать с http://www.planetquake.com/worldcraft)Так как он является наиболее мощным и удобным редактором. (Кроме Quake1&2 в нём можно создавать уровни для различных add-ono'в, таких как Scourge of Armagon, The reckoning... и для Capture the flag, а ежли очень приспичит, то и для Hexen II)а скоро обещают поддержку Half-life и SiN. НЕ РЕКОМЕНДУЮ использовать Virtus deathmatch maker (абсолютно ламерский редактор) и QuArK (ну им вообще невозможно пользоватся) Кроме того существует Qe4Radiant - это аналог "родного" Id'шного редактора Очень мощный, но чрезвычайно сложный. Вначале надо разобрать некоторые термины и понятия: Браш (brush) - Геометрический объект не являющийся entity. Из брашей состоит основная структура уровня (пол, стены...) Entity - Объект выполняющий определённую функцию. Например дверь, монстр или источник света. некоторые entity надо делать из брашей (например дверь) face - одна из плоскостей браша vertex - точка в углу пересечения двух рёбер браша. иногда манипуляции с вертексами приводят к печальным последствиям... Вначале надо указать в настройках редактора расположение всех основных программ и вашего quake. Между прочим, в quake2\baseq2 надо будет создать директорию MAPS иначе ничего работать не будет. Основные программы обработки (компиляции) уровня это: qbsp3 создаёт основную архитектуру и большинство entitys qvis3 Удаляет ненужные объекты, существенно уменьшает нагрузку на процессор qrad3 Настраивает освещение уровня о самом процессе компиляции мы поговорим позже... также слежует указать путь к файлу pak0.pak в котором хранятся текстуры. А для нормальной работы qrad надо создать в директории quake2 поддиректорию Pics и скопировать в неё файл colormap.pcx из директории worldcraft. Итак, теперь надо занятся архитектурой. Выбрав подходящую текстуру создавайте браши и размещайте их в пространстве как вам угодно. Главное чтоб там потом можно было ходить, и чтоб текстуры были наклеены ровно (Для этого в любом редакторе существует координатная сетка)В worldcraft (далее WC) для создания браша надо нажать кнопку block tool (или ctrl+b) начертить прямоугольник нужного размера и нажать enter. Не советую делать слишком мелкие объекты сложной формы - может получится что qbsp "откажется" компилировать уровень. (Хотя, worldcraft имеет встроенного помошника, который, при нажатии alt+p указывает на возможные ошибки и объясняет как их лучше исправить) **СВОЙСТВА УРОВНЯ** Указывать слдует в меню map/map prophites level name - имя уровня. Если там ничего не указано уровень будет называтся по имени файла. env.map name - тип неба на вашей карте может быть unit1_ - unit8_ или space1 gravity (по умолчанию=800) Сила притяжения - чем меньше она - тем выше можно прыгать next_map - имя того уровня на который будет переключатся ваш уровень (только для DM) **ДВЕРИ** для создания двери надо выбрать соответствующую текстуру и создать браш нужной формы. Затем, указать на него при помощи selection tool (ctrl+s) и когда он выделится красным цветом, нажать кнопку to entity (она находится справа снизу)В появившемся меню надо выбрать тип entity, в данном случае - func_door и указать её свойства: angle - направление в котором дверь открывается (up/down + в ту сторону в которую вы направите стрелку в свойствах) name - название двери - используется если дверь должна открытся только после определённого события (например-после нажатия кнопки) target - здесь надо можно написать имя той entity которая должна сработать в результате открытия двери. sound -звук может быть или on или off **КНОПКИ** То-же самое что и с дверью. Создаём браш и жмём to entity, а там выбираем func_button. Свойства кнопки: angle - направление target - имя того объекта который действует в результате нажатия на кнопку time before reset - время после которого кнопка вернётся в исходное положение (сек) **Взрывающийся объект** func_explosive свойства: health - количество hit-pointов (от него зависит то сколько раз надо выстрелить по объекту) dmg (damage) - повреждение наносимое окружающим при взрыве Name / target - это вам уже известно;) **НЕЧТО ВЕРТЯЩЕЯСЯ** Это может быть вентилятор или какой-нибудь механизм...для нормальной работы сего агрегата нужна ось которую надо создать из текстуры origin (она такая оранжевая и на ней написано orig)и вставить в середину того что будет крутится не забыв объеденить её с ним (использую функцию group) func_rotation свойства: speed - скорость вращения, для вентилятора идеально - 400 для других механизмов - по обстоятельствам. damage - это значит сколько пунктов здоровья отнимется у того несчастного которого угараздит забратся в ваш механизм Кроме того существует множество других entitys о которых мы поговорим в конце... МОНСТРЫ ОРУЖИЕ И Прочее Для размещения "независимых" entity надо включить entity tool (ctrl+e) и выбрать в меню то что вы хотите разместить Первым делом надо поставить info_player_start - это то место откуда вы начнёте свой поход по уровню (Его лучше разместить поближе к полу, чтоб не навернутся на старте:) Если уровень планируется как DM - то надо разместить info_player_deathmath - это будут стартовые позиции игроков. От их количества зависит то, сколько человек смогут рубится на вашей карте. **МОНСТРЫ** monster_<имя монстра> (например monster_gladiator) свойства target (нужно для создания маршрута, а об этом позже ...) entity to remove at death - имя entity которая должна сработать после смерти этого монстра spawn item - имя того item'a который будет оставлять монстр после смерти (например - ammo_cells) **Оружие и power up'ы** Тут всё ясно. Никаких свойств они не имеют ЗВУКИ Для озвучивания вашего уровня необходимо использовать target_speaker (создаётся тоже при помощи entity tool) Свойства: name sound: Тут надо указать расположение и название нужного звука в архиве PAK0.pak (например world/amb1.wav) Подробный список всех звуковых файлов можно посмотреть в концe. attenetion - тип звука: ambient sound level - звук слышен в радиусе 246 юнитов от игрока none send to whole level - слышен одинаково хорошо в любой части уровня Закладка FLAGS: looped on - звук воспроизводится постоянно looped off - звук выключен Если ни один flag не отмечен - звук будет воспроизведён только один раз. **СВЕТ** Одна из самых сложных задач - правильно осветить уровень. Для этого надо при помощи той-же Entity tool создать источник света (в меню - light) И разместить эти источники так чтобы нигде не было темно. Свойства: style - свет может гореть ровно или мигать, тут надо это выбрать Color - (по умолчанию белый) цвет. Нажав pick color выбирете из стандартной палитры windows brightess - яркость света Для того чтобы уровень можно было откомпилировать, НИ ОДИН ИСТОЧНИК СВЕТА НЕ ДОЛЖЕН НАХОДИТСЯ ВНУТРИ БРАША ИЛИ ДРУГОЙ ENTITY. **КОМПИЛЯЦИЯ** Для компиляции уровня нужно нажать F9 - появится меню, где надо отметить нужные программы обработки Для начального просмотра рекомендуется следующая конфигурация: qbsp - normal light - none vis - none Для промежуточной: qbsp - normal light - normal vis - normal Для полной (проводится только когда уровень полностью готов, может занать несколько часов) qbsp - normal light - extra (super) vis - full ********************* Отметив нужную конфигурацию жмём enter и появляется окно, в котором показан ход компиляции... ждём.... ещё ждём.... и ещё немного.... .... .... После обработки (если нет ошибок) Должен запустится Quake2 с вашим уровнем. **ОШИБКИ ПРИ КОМПИЛЯЦИИ** Если Qbsp заявляет что не может обработать что-либо это значит что вы переборщили со слишком мелкими объектами сложной формы. Следует нажать alt+p в редакторе и встроенная система укажет все ошибки (обычно ошибки из за которых не работает qbsp обозначаются как invalid_solid_structure) VIS может не сработать только в одном случае: если у вас есть "дыры" в уровне внимательно посмотрие нет ли дырок в окружающее пространство (можно проходя по уровню написать в консоли "pointfile", тогда все дыры будут обоз начены белыми пунктирными линиями прямо в Quake) Ошибки LIGHT: Light можно запускать только вместе с vis ошибки могут быть следующие: -есть дыры в уровне -один (или несколько) источников света находятся внутри браша или entity -Не найден файл colormap.pcx (чего с ним надо делать - см. выше) *********************************** Для предварительного просмотра (только архитектура и entitys) надо использовать только одну qbsp а для финального прогона - полную конфигурацию. |