Обзор Qoole 99

Материал из CSM Wiki
Перейти к навигации Перейти к поиску
Это незавершённая статья. Вы можете помочь проекту, исправив и дополнив её.


Так уж исторически сложилось, что самым распространенным и популярным инструментом для маппинга под Half-Life и его модификации был и остается редактор Worldcraft, в процессе развития переименованный в амбициозно звучащий Valve Hammer Editor. Софтинка простая, интуитивно понятная, кроме того, обучающие статьи и уроки по HL/CS-картостроению чаще всего демонстрируются именно в нем. Конечно, существуют и другие варианты, например универсальный QuArk, один вид которого способен отпугнуть иного впечатлительного пользователя. Qoole 99 v0.99, о котором я расскажу в этой статье находится где-то посередине: поддерживая несколько различных игр, он не сложнее Hammer'а в обращении. Пожалуй, есть смысл по ходу дела сравнивать их между собой.

Как и VHE, Qoole99 существует в ряде различных версий. WinQoole, например, даже платный, раскошелиться придется после двух недель халявного пользования. Обсуждаемая здесь Qoole99 v0.99 денег или "кряков" не требует. Что, естественно, не может не радовать. В качестве своеобразной вводной добавлю, что разработчиком программы является Lithium Software, версия 0.99 датируется 4-м августа 2000 года. Системные требования символические: процессор Pentium II 300Mhz, 64 МБ оперативной памяти, а также "3D accelerator with full OpenGL support". Программа изначально запакована в инсталлятор, установка ее не представляет никаких трудностей. Установленная программа занимает объем в 4,9МБ, что даже меньше, чем у скромняги Hammer'а. В Qoole99 v0.99 можно строить карты для Quake, Quake II, Hexen II, Half-Life, Sin, Heretic II, а также их модификаций. Разумеется, нас прежде всего интересует Half-Life/Counter-Strike.

Настройка редактора

Итак, редактор установлен. Запускаем. Появляется окно такого вот вида: Файл:Qoole empty.jpg

Основные настройки

Конечно, для успешной работы редактор нужно сперва настроить. Кликаем меню "Edit", в котором пока доступно всего два пункта: "Preferences..." и "Texture Manager". Сначала выбираем "Preferences...". Открывается конфигурационное меню, в принципе аналогичное тому, что имеется в Worldcraft/VHE.

Вкладка General

Файл:Qoole config.jpg Настройка очень проста и, опять-таки, не вызывает затруднений. Но, поскольку статья обзорная, все же поясню. Undo/Redo Levels - количество действий пользователя, которое можно последовательно отменить или же применить вновь. Для этого предусмотрены пункты соответствующего меню, а также сочетание клавиш. Если для Undo (отмены действия) нужно нажать привычные Ctrl+Z, то для Redo - нестандартное сочетание Ctrl+R. "Default hollow wall width" - толщина брашей, образующих стены коробки, если к брашу применена операция "Hollow". До нее еще доберемся. "Ask for hollow width everytime" - если пункт отмечен, то перед применением инструмента "Hollow" будет выдан вопрос о толщине стенок. "Promt for name during grouping" - как и в VHE, в Qoole99 несколько объектов можно группировать в один. Данный пункт определяет, будет ли после группирования автоматически открыто поле для ввода уникального имени группы или же группу придется впоследствии переименовывать вручную. Этот вопрос подробнее рассмотрим позже, а пока советую отметить эту полезную опцию.

Вкладка 2D Views

Файл:Qoole 2d.jpg Как и в Worldcraft, в Qoole99 работа производится в нескольких окнах. В 2D-видах отображается схематичное строение уровня в различных проекциях, 3D-вид дает возможность увидеть объемное изображение, почти так же, как оно будет в игре. Соответственно, вкладки "2D Views" и "3D Views" определяют настройки этих самых видов. Для удобства работы в 2D-видах имеется сетка, по линиям которой удобно ориентировать создаваемые объекты. По ней же подсчитываются и их линейные размеры. Флажок "Grid Lines" позволяет включить/отключить отображение сетки. Если отключено - то все настройки группы "Grids" станут недоступны. Понятно, что сетку лучше включить. "Size" - величина ячейки сетки в юнитах. Юниты - своеобразная мера длины, в WC/VHE и Qoole99 они одинаковы. Доступные значения: 1, 2, 4, 8, 16, 32, 64, 128, 256 юнитов. Ввести произвольное значение "от руки" не получится. "Thick Grid Lines" - для удобства пользователя, чтобы линии сетки не мешали четко различать объекты, эти самые линии делают более тонкими. Параметр "Every <значение> Grids" указывает, через какое число ячеек линия сетки будет отображаться потолще. Выбирается опытным путем по своему усмотрению.

Вкладка 3D View

Файл:Qoole 3d.jpg

Вкладка "3D Views" чуть более обширна. Здесь определяются настройки управления движущейся камерой в 3D-окне редактора. В Valve Hammer Editor для управления обзором в 3D-виде служит всего одна клавиша - Z, в Qoole99 сделали чуток посложнее.

Eye Rotate - вращение камеры в стороны. Честно говоря, польза от этой функции лично мне представляется сомнительной. так как есть такой же как в VHE режим свободного полета камеры. Потому экспериментируйте сами. "Fly Through" - как раз и есть этот самый "свободный полет". Управление в нем - как в VHE, с той лишь разницей, что в Qoole99 можно назначить удобные конкретно взятому пользователю клавиши. Меня же вполне устраивает и "дефолтная" раскладка. "Walk Speed" - скорость перемещения камеры, а "Sensitivity" - ее чувствительность.

Вкладка Render Library

Файл:Qoole choose render.jpg Следующая вкладка - "Render Library" предназначена для выбора видеодрайвера отображения окон. Здесь все проще простого - выбираете из списка. По умолчанию везде стоит OpenGL. Кому интересно - пробуйте другие варианты. Wireframe, Solid, Textured - это различные режимы отображения объектов в 3D-окне редактора. Подробно расскажу и покажу ниже.

Вкладка Game Compile

Файл:Qoole compile.jpg Вкладка "Game Compile" предназначена для настройки компиляции карты посредством самого редактора. Как я уже говорил, Qoole99 поддерживает несколько игр, для всех их в комплекте с редактором идут и компиляторы. Они свалены в одну кучу в папке bin редактора, к некоторым прилагается кое-какая документация. Компиляторы для HL и его модов - это древние утилиты 1998 года, такие же поставлялись вместе с Worldcraft. Хотите - кидайте в папку bin компиляторы поновее, хотите - компилируйте, отдельно, bat-файлом. В последнем случае, здесь можно вообще ничего не трогать. Для остальных: из списка "Game" выбираете нужную игру, далее опускаетесь в раздел "Map Compile Utilites". В списке "Program" поочередно выбираете тот или компилятор (отвечающий за ресурсы карты, BSP-дерево, оптимизацию, освещение), в строке "Path" указываете пути к компиляторам. Наконец в последнем пункте вкладки указывается путь к файлу hl.exe - лаунчеру Half-Life, который установлен на вашем компьютере. Это для того, чтобы после компиляции созданной вами карты, Qoole99 автоматически запустил ее в игре. Эта вкладка во многом аналогична подобным настройкам Hammer'а.

Настройка менеджера текстур

Файл:Texture manager.jpg Таковы главные настройки программы. Но перед началом работы необходимо зайти во второй пункт меню "Edit" - в "Texture Manager". Общий вид его с настройками под HL показан ниже:

Этот "менеджер" - одна из особенностей Qoole99. Как известно, в Half-Life используемые текстуры хранятся в своеобразных архивах-библиотеках формата WAD. Если в Worldcraft/VHE для работы с ними в редакторе достаточно лишь указать в настройках программы имя wad-файла и путь к нему, то в Qoole99 применен другой подход. Программа берет текстуры не напрямую из WAD'а, а сначала получает т.н. "Texture List", проще говоря - список текстур, которые имеются в wad-файле. Для игр, поддерживаемых Qoole99, такие списки идут в комплекте программы уже в готовом виде. Хранятся они в папке Qoole 99 \TexLists\<название_игры> и представляют собой простые текстовые файлы формата .TEX. Для одного wad-файла можно создать один или больше таких "списков", поместив в них разные текстуры. Так, для halflife.wad и xeno.wad вместе с Qoole99 идут аж 27 таких "texture list'ов".

Что нам дает такой подход к текстурам? С одной стороны - очевидное усложнение. Имея на руках готовые текстуры, для Qoole99 еще нужно создать их список. С другой - не менее очевидное удобство с практической точки зрения. Ибо текстуры из одного wad'а можно рассортировать. Скажем, в одном списке собрать все текстуры бетонных стен, в другом - текстуры металла, в третьем - например, всю растительность. И по мере надобности брать текстуры то из одного "листа", то из другого, не перебирая из-за одной текстуры лампы весь wad. В случае больших библиотек (да того же halflife.wad) работа становится заметно проще. Файл:Texmanager set0.jpg Вообще, интерфейс Texture Manager'a интуитивно понятен и ничего сложного здесь нет. Но все-таки распишу процедуру пошагово. Итак, имеется новый wad-файл, который нужно подключить к редактору. Таковым послужит стандартный файл cstrike.wad из комплекта мода Counter-Strike. Открываем Texture Manager, в строке "Game" выбираем "Half-Life". Затем переходим к окну "Texture Archive Selection", жмем справа от него кнопку "Add", находим в своем компьютере файл cstrike.wad и выбираем его. "Вадник" подключен. Соответственно, "отключить" его можно другой кнопкой "Remove", причем программа запросит подтверждение, выдав окошко с вопросом: "Are you sure?" и вариантами ответа - "да" или "нет". Файл:Texmanager set.jpg Texture Manager позволяет просмотреть содержимое wad-файла. Для этого один раз кликаем по его названию. В поле "Texture Archive" тут же отображается список имеющихся в "ваднике" текстур, щелкая мышью по списку текстуры можно просмотреть. Интересно, что отображаются они в затайленом виде.

Теперь создадим Texture List. У окна "Texture List Selection" кликнем по кнопке "New". Появится окно: Файл:Newtexturelist.jpg Допустим, я желаю разделить текстуры из cstrike.wad на две группы. В одну войдут текстуры кирпичных стен, углов и окантовок, в другую группу - все остальные. Соответственно, нужно подготовить два списка. Пишем название первого, пусть это будет cswalls: Файл:Newtexlist.jpg

Нажимаем "OK" и оперируя списком текстур и кнопкой "Add →" между полями "Texture Archive" и "Texture Lest" добавляем требуемые текстуры в список. При этом их названия из общего списка будут удаляться. Если по ошибке добавили что-то ненужное, исправляем положение кнопкой "← Remove". Файл:Texmanager set01.jpg Закончив с первым списком, тем же порядком создается второй. В моем примере это csother. Текстур в него войдет много, чтобы не возиться полчаса, кликая по одной текстуре за раз, можно выделить их мышью все и нажать "Add →": Файл:Texmanager set02.jpg

На этом настройка текстур заканчивается. Созданные списки будут сохранены по адресу: Qoole99 99\TexLists\Half-Life. Важный нюанс связан с удалением списков через опции Texture Manager'a. Помните, что удалив список кнопкой "Remove" (слева от поля "Texture List Selection"), вы удаляете список не только из перечня в менеджере, но и физически удаляете его с жесткого диска вашего компьютера. Так что если такой список может пригодиться в будущем, есть смысл его скопировать в другое место. Хотя можно и не тратить время на "менеджер". Texture List элементарно может быть создан в любом текстовом редакторе. Для примера вот синтаксис файла cswalls.TEX, который мы создали раньше. Просто имя wad-файла и имя текстуры:

cstrike.wad\CSTRIKE_WB6CLMN cstrike.wad\CSTRIKE_WB6FRAM cstrike.wad\CSTRIKE_WB6HEDR cstrike.wad\CSTRIKE_WB6PLN1 cstrike.wad\CSTRIKE_WB6PLN2 cstrike.wad\CSTRIKE_WB6PLN4 cstrike.wad\CSTRIKE_WB6PLN3 cstrike.wad\CSTRIKE_WB6WND cstrike.wad\CSTRIKE_WB6WND2

Списки энтити

Те, кто работал в Worldcraft знают, что для создания карт под ту или иную игру или модификацию, редактору требуется еще FGD-файл, в котором хранятся свойства и настройки т.н. энтити-объектов. В Qoole99 снова все по-другому. Настройки энтитей хранятся в файлах формата .ENT и их синтаксис несколько отличается. ENT-файлы для всех игр и модификаций, поддерживаемых Qoole99 идут вместе с редактором. Только "спрятаны" они глубже, чем компиляторы - внутри PAK-файла. Для просмотра и редактирования ENT-файлов можно воспользоваться хорошей утилитой PakScape. Хранятся они в папке ents: Файл:Pakfile.jpg Как и FGD, это текстовые файлы. Ниже - полное содержимое ENT-файла для Counter-Strike: Шаблон:FIXME

Как вы можете видеть, этот ENT-файл весьма и весьма устаревший. Набор энтитей соответствует пятой бете CS. В нем нет объектов, необходимых для построения as, es-карт, а также карт, на которых разложено оружие. Плюс к этому отсутствуют и некоторые другие энтити. Например, cycler_sprite, посредством которого обычно на карту устанавливают модели. В общем, если вы хотите попробовать построить в Qoole99 карту для CS этот файл придется существенно доработать. Короче, невозможность использования FGD (а именно его и выкладывают авторы со своими модами) - большой минус Qoole99 по сравнению с WC/VHE.

Обзор интерфейса

Итак, Qoole99 настроен, можем приступить к работе. Выбираем File → New и на экране появится окно выбора игры. Выбираем Half-Life. Шаблон:FIXME

Интерфейс Qoole99 в значительной степени напоминает WC/VHE. Сверху расположено меню "File", "Edit", "Mode", "Object", "View", "Window", "Help". Под ним - панель инструментов, на которую можно вынести те инструменты или операции, которые нужны чаще всего. Естественно, пользователь может конфигурировать ее как угодно.

Большую часть окна редактора занимают окна, в которых непосредственно строится уровень. Три - это 2D-виды (Top, Back, Side), четвертое - окно 3D-вида, в котором уровень отображается в объеме. В 2D-видах отображаются еще оси координат, а также масштабная сетка, относительно которой при создании и ориентируются объекты. Здесь все аналогично WC/VHE за исключением некоторых нюансов, о которых будет сказано чуть позже.

Пустое (до поры до времени) поле "Workplace" слева - это окно, в котором, в зависимости от выбранного режима отображаются либо составляющие уровень объекты, либо текстурный браузер, либо браузер префабов. Об этом тоже разговор впереди.

Под рабочей областью располагается окно "Output". Во время загрузки редактора в нем оповещается об успешной загрузке видеодрайверов, отвечающих за 2D и 3D-виды, текстур, используемых на карте, операции, совершаемые пользователем по ходу работы, во время компиляции карты в нем отображается лог компиляции. Дабы оно не занимало место на экране, его можно убрать и включать лишь по необходимости. При старте компиляции (посредством Qoole99) окно "Output" открывается автоматически. Самый низ экрана занимает строка состояния, в которой отображается текущий размер сетки.

Как и в VHE, все панели, окна и прочее можно располагать на экране в произвольном порядке, менять местами, переносить с одной стороны экрана на другую и т.д. Короче, полная свобода действий.

Одно из разительных отличий Qoole99 от WC - это отображение объектов в 2D-видах. В WC/VHE браши и брашевые энтити изображаются линиями разных цветов - зелеными, синими, фиолетовыми. В Qoole99 предусмотрен только один цвет - белый. Точечные энтити, вроде light, респаунов игроков и прочих подобных вещей отображаются как маленькие (16 юнитов) синие квадраты. Вот пример небольшой карты на виде Top: Файл:Map in 2d.jpg


Белые контуры на фоне белой же сетки выглядят непривычно, но различаются вполне нормально. Как и в VHE, здесь размер сетки может быть уменьшен или увеличен. В Hammer'e для этого служат клавиши "[" и "]", в Qoole99 - клавиши "<" и ">" также скроллом мыши или инструментом "Eye Zoom" ("горячая" клавиша "Z") можно менять масштаб в 2D-видах, увеличивая или уменьшая изображение. Здесь прослеживается полная аналогия обоих редакторов. Как и в WC, текущим является то окно редактора, в котором находится курсор мыши. При переходе в другое окно достаточно кликнуть мышью по свободной области.

По мере работы пространство в 2D-окнах заполняется, возникает необходимость сдвинуть вид на свободное пространство за пределами видимой области окна. В WC/VHE для этого служат полосы прокрутки. В Qoole99 их нет, но выручает инструмент "Eye Move", удобно дублированный клавишей "E". Для сдвига рабочей области нужно с нажать "E", а потом с зажатой левой кнопкой мыши просто "протащить" рабочую область в том или ином 2D-окне. Чтобы выйти из этого режима, достаточно один раз кликнуть по окну той же "левой мышью". На мой взгляд, это удобнее, чем прокрутка в Hammer'e.

Иногда возникает и надобность вернуться в центр координат. Команда "Focus Origin" ("горячая" клавиша Home) помещает оси координат в центре 2D-окон, причем одновременно во всех трех. Другая команда, "Focus Selection" (Ctrl+L) располагает выделенный объект по центру окна 2D-вида. Шаблон:FIXME

Для перемещения камеры в 3D-окне предусмотрен режим "свободного полета". Включается он клавишей "W", камера управляется так же, как игрок в CS. Для выхода из этого режима достаточно один раз кликнуть левой кнопкой мыши.

А теперь пройдемся по инструментам Qoole99. Во многом они похожи на те, что имеются в Worldcraft/VHE, но их реализация подчас отличается. Описывая то или иное действие, я буду стараться демонстрировать его на скриншотах.

Панель инструментов "Mode"

Шаблон:FIXME

Панель инструментов "Editing Guides"

Панель инструментов "Alignment"

Панель инструментов "Grouping"

Панель инструментов "Compile"

Панель инструментов "Windows"

Панель инструментов "Render"

Другие операции с брашами

Шаблон:FIXME

Заключение

Вот и все, что я хотел рассказать о программе Qoole 99 v0.99. Конечно, она далеко не первой свежести. Безусловно, Valve Hammer Editor во многом удобнее в работе. Я не собираюсь агитировать за тот или иной продукт. Просто по Qoole 99 крайне мало информации (и официального гайда вместе с программой не поставляется), а мне хотелось не только разобраться в ней самому, но и поделиться своим опытом с другими людьми. Приятной работы и быстрой компиляции вам, господа!

Автор: Mr.Jeff
Дата: 14.12.2014/28.02.2015