База модов


Популярные моды



Skyrim [28]Witcher 3 [9]Elder Scrolls Legends [17]
Dishonored 2 [14]Fallout 4 [2]Skyrim - Общее [11]
Oblivion [32]Fallout 3 [4]Creator Kit [16]
Construction Set [19]LORE [10]Бэйлон Гард [3]
Один Герой [8]Photoshop [9]Разное [19]

Создание мира в Oblivion

TES4 Construction Set

~
Создание мира в Oblivion ~

После выхода Морровинда мной завладела мысль создать свой континент и создать на нём СВОЙ мир, однако идея оказалась трудновоплотимой. Процесс сотворения мира был весьма неудобен и приходилось выполнять такую МАССУ скучной и унылой работы, что сам я создал только несколько маленьких островков. Большие надежды я возлагал на Oblivion TES CS, где обещалось много полезных фич по генерации ландшафтов. И вот, дождался и начал пробовать…

Вдоволь помучившись с CS (хорошо, что его авторы не могли слышать эпитетов, которыми я их награждал в процессе), я решил поделиться своим опытом в деле создания игрового мира. Думаю, что Сиродил уже порядком поднадоел всем, и для новых и интересных модов нужны НОВЫЕ земли.

Во-первых, сразу же нужно сказать, что создание игрового мира - это не моддинг оружия или квестов и скриптов, здесь требуется намного больше ресурсов, нужен компьютер с мощным процессором и довольно большим количеством ОЗУ (если, конечно, вы не предпочитаете рисовать каждую локацию "ручками").

Во-вторых. Как это ни странно, для создания мира нам потребуются иные, кроме самого CS, утилиты, а именно - TES IV Plugin Utility, которую можно скачать здесь. Программа написана на Java, поэтому, тем, у кого не установлена Java runtime, ее необходимо установить, скачать ее можно тут. Данная утилита позволяет соединять несколько модов в ОДИН, создавать мастер-файлы, присоединять плагины к мастер-файлам, превращать мастер-файлы вновь в esp-файлы. На сегодняшний день это единственная такого рода утилита. Кстати, можете использовать её, чтобы все свои любимые моды собрать в один. Далее, желательно иметь хороший файловый менеджер (я использую Total Commander). Если у вас есть возможность достать пакет Fractal Mapper 7.0, обзаведитесь им - очень полезная штука (о ней - в следующей статье)

Сперва рассмотрим, как работает TES Plugin Utility.

Для того, чтобы её запустить, надо в файле ярлыка (.lnk) прописать путь к папке, где установлена программа (по умолчанию в папке C:\TMP). Запускаем программу:


Как видите, интерфейс понятный и удобный. Главное, что надо знать - перед началом работы следует нажать самую нижнюю из кнопок - "Set Directory" - и выбрать папку, где у вас лежит Oblivion\Data.

Теперь можно и начинать.

Первое, что нам необходимо сделать - это создать новый плагин. Как это сделать, думаю, многие знают. Да, подключать сразу же Oblivion.esm нет никакого смысла. Просто откройте CS и кликните Save, а затем задайте имя нового плагина.

Второе, создаём собственно сам мир. Для этого нам надо создать новый объект Worldspace. В главном меню CS выбираем World/Worldspaces. Открывается список миров. На списке делаем правый "мышеклик" и в контекстном меню выбираем New. Откроется окно характеристик нового мира.


Зададим его имя - я советую задать имя, начинающееся с цифры (например, 1World) - тогда мир будет всегда первым в списке и его не надо будет искать. Также в этом окне Вы можете задать:

1. Name- полное имя.
2. Parent Worldspace - для "дочерних" регионов, например, городов. Задаётся мир - родитель.
3. Раздел Sharable Data лучше заполнять в Region Editor. Значение полей перегружается подобными значениями в регионах.
4. Раздел Roads - Сокрыто мраком, в моем случае эти кнопки не работали.
5. Can't fast travel from here - отключение возможности быстрого перемещения из мира (припомните, Camoran Paradise)
6. Can't wait - отключение возможности "ждать"
7. No LOD Water - отсутствие LOD для воды. По моим наблюдениям, не работает.
8. Oblivion Worldspace - название говорит само за себя.
9. Small World - вероятно, означает отсутствие фракталов вдалеке.

Отрегулировав параметры мира, жмём ОК. Итак, мы только что создали целую вселенную, которая появилась в нашем списке миров.

Теперь займёмся созданием местности. Для этого, надо создать карту высот, на основе которой компьютер сгенерирует нам локации. В главном меню выбираем World/HeightMap Editor. Открывается редактор высот. Мы видим сверху и слева различные меню, а справа - большой синий экран (не пугайтесь - это не BSOD, а окно редактирования).


Рядом с окном редактора имеется маленькое окошко под названием Overview. Это своего рода minimap а-ля RTS для удобства навигации (точнее, только с помощью Overview можно перемещаться по большой карте). Сдвиньте окно редактора немного вниз, чтобы был доступ к главному меню CS.

Левые меню. Самое верхнее - это параметры нашего курсора (он отображается в виде зелёного круга в окне редактирования), сверху вниз:

1. Size - ширина курсора
2. Intensity - интенсивность изменения местности (чем больше, тем быстрее поднимает - опускает)
3. Falloff - угол сужения конуса. Минимальное значение позволяет создавать отвесные колонны, максимальное - идеальный конус

Ниже идут опции генерации местности. Я не буду останавливаться на их особенностях, так как местный генератор создаёт уродливые лунные ландшафты и им не стоит пользоваться. Ещё ниже идут параметры эрозии. Здесь можно задать эрозию местности, которая будет сгенерирована компьютером и наложена на созданную местность. Не рекомендую пользоваться, так как процесс очень медленный, имеют место зависания, да и результат не всегда есть то, что мы хотим видеть, к тому - же есть более эффективный инструмент, о нём позже.

Инструменты в виде значков:


1. Сохранить. При нажатии на эту кнопку генерируются ячейки для местности, согласно отрисованной карты высот для текущего сектора. Внимание - локации только генерируются, но не сохраняются. Для того, чтобы сохранить плагин, надо выбрать File\Save в главном меню CS или нажать на кнопку Save в главном меню CS.
2. Undo - отменяет последнее действие.
3. Grid - отображает решётку в окне редактирования.
4. Настройка цветовой гаммы карты высот (смысл?)
5. Рамка. С пом
ощью мыши выделяем прямоугольный участок в окне редактирования. После чего все изменения будут сделаны только в пределах границ этого участка
6. Лассо. Зажимаем кнопку мыши и рисуем какой-либо произвольный контур (при отпускании кнопки он замыкается прямой линией). Удобно для отрисовки береговой линии. Однако следует быть осторожным, так как слишком много изгибов приводят к краху и вылету из CS.
7. Уравнитель. Делает ровный участок местности с высотой, как в центре курсора. Удобен для создания площадок под города.
8. Поднять местность (включается по умолчанию). Нажимаем левую кнопку мыши (далее ЛКМ) и держим. Местность в пределах курсора будет подниматься в виде конуса с вершиной в центре курсора. Быстрота поднятия зависит от параметра Intensity в опциях курсора. Зажимаем ЛКМ и водим мышью по экрану, поднимая территорию над уровнем моря. Чем светлее пятно под курсором, тем выше местность.
9. Опустить местность. Действие обратно "поднятию". Пригоден разве что для создания рек и морских глубин.
10. Смысл неясен. Весьма вероятно, что не работает.
11. Noise. Этакий "фрактальный удар" по созданной территории. Придает местности под курсором неровность. Можно использовать для создания эрозии.
12. Сглаживание. Делает резкие склоны более пологими. Для этого, наводим курсор на склон, зажимаем ЛКМ и "разглаживаем" склон мышью. Эффективность сего инструмента, правда, довольно сомнительна.
13. Preview. Окно предварительного просмотра выбранного квадранта в 3D режиме. Нажимаем… и видим сообщение об ошибке. Игнорируем его, нажав Enter, и входим в окно просмотра. Мы увидим 3D модель созданной нами местности, здесь её можно вращать, таская мышью, приближать и отдалять обзор с помощью колёсика. Сверху есть опции для включение Wireframe режима и режима отображения точками (тогда местность приобретает некоторую прозрачность).
14. Показать/спрятать Overview
15. Быстрое поднятие местности.
16. Отображает цвет карты в следующем за значком окошке. Применимо для уравнивания.

Отрисовав один сектор - это область из 4-х квадрантов, отображаемая в окне Overview, можно перейти в соседние квадранты карты. Советую перед этим в главном меню редактора высот выбрать View/Regenerate Overview, а затем закрыть и снова открыть окно Overview. Вы увидите там картинку со схемой того, что нарисовали в пределах 4-х секций сетки. Каждая секция - квадрант, группа из 4-х квадрантов - сектор. Теперь перейдём в другой сектор, для этого щёлкнем мышью на квадранте рядом с отрисованным и попадём в новую область, которая будет отображаться светлым пятном в окне Overview. Перед переходом компьютер спросит, сохранить текущие текстуры или нет. Надо ответить Yes, иначе то, что мы нарисовали, сотрётся. После этого, как раз, произойдёт генерация локаций для CS в отрисованном секторе. Во время генерации отображается Status Bar, который показывает, как идёт генерация. По ходу процесса может появиться сообщение типа "Can not load celldata … бла-бла-бла". Нужно нажать на кнопку "Отмена". Это значит, что какая - то локация в карте не сгенерировалась и на её месте будет "чёрная дыра". Такую локацию надо будет рисовать "ручками". Если вы кликнули действительно на СОСЕДНЕМ квадранте, то увидите пустое место и рядом отрисованную часть. В секторе отображаются квадранты влево и вверх от выбранного. Так происходит перемещение. Вот пример нарисованного мною "островка".


Видите в центре "чёрный квадрат"? Это и есть та самая дыра, поднять которую можно в Landscape Editor. Насладившись рисованием, выходим из редактора высот и СОХРАНЯЕМ плагин в целом.

Советы:

1. Не пользуйтесь генератором карты высот, он неэффективен.
2. Во время редактирования, закончив один квадрант, сохраните плагин, иначе при зависании и вылете всё надо будет рисовать сначала. Чем больше ячеек в файле, тем медленней будет сохраняться плагин. Так, например, территория размером с Сиродил, на моем компьютере сохраняется около 5 минут.
3. Отрисовав очередной квадрант,.обновляйте Overview - так проще будет ориентироваться в мире.
4. Размер мира Oblivion представляет собой всего 4 НЕПОЛНЫХ квадранта. Почему так? Дело в том, что при бОльшем увеличении числа ячеек, может произойти вылет и порча всего плагина в целом с дальнейшей невозможностью его использования. Не пытайтесь создать мир, по размерам хотя бы с тот, что мы видим в игре в пределах ОДНОГО esp-файла.
5. Делайте резервные копии используемого плагина. Вообще для Вашего проекта рекомендую создать отдельную папку, и туда складывать наработанные куски.

Итак, мы нарисовали таки карту высот и теперь имеем кучу Wilderness ячеек внутри нашего мира. Чтобы их редактировать, надо подключить в разделе главного меню CS File/Data мастер-файл Oblivion.esm и сохранить плагин. В окне Cellview в поле Worldspace выберите ВАШ мир, и в таблице внизу отобразится список ячеек с координатами. По умолчанию все они имеют название Wilderness. Это имя вы можете поменять, кликнув на названии нужной ячейки.

Теперь нам надо разбить наш новый "континент" на регионы. Сделать это можно только в Heightmap Editor, потому что в Region Editor вы увидите только большое чёрное пятно и большое белое пятно (к сожалению карта там не отображается). Запаситесь тетрадкой и ручкой. Теперь поместите курсор в Heightmap Editor в воображаемый угол региона и запишите координаты ячейки из заголовка в редактора в тетрадку. Точно так же придется записать каждый из углов региона. Начинать разбивку следует с побережья. По карте высот нужно сориентироваться так, чтобы регионы побережья охватывали часть суши и часть морского дна (то же самое и для рек). Затем можно размечать регионы с лесами, полями, горами и т.д. Надо делать так, чтобы край, например, леса накладывался по координатам на регион побережья. Да уж, задача непростая, но кому сейчас легко…

Итак, имея координаты регионов, мы можем приступить к созданию самих регионов и генерации ландшафтов - лесов, полей, укладке валунов и т.д. Для этого нам нужно создать МАСТЕР-ФАЙЛ, в котором будет сохранён шаблон созданного нами континента. Сохраним в резервную папку копию нашего плагина с местностью (обратите внимание на его размеры!!! Какой БОЛЬШОЙ стал, а?). Теперь запускаем нашу утилиту TES Plugin и жмём на кнопку "Convert to master". В открывшемся окне выбираем наш плагин и нажимаем Open. Вот и всё! Теперь мы имеем наш собственный мастер-файл и можем приступать к регионам.

Открываем CS, подключаем наш новый мастер-файл. Загружаемся. Выбираем в главном меню CS World/Regions. Загрузится редактор регионов:


Левое верхнее поле со списком - список объектов Worldspace. Выбран самый первый объект в списке, как раз тот, что быд создан. Таблица внизу - список регионов. Сейчас он пуст. Для того, чтобы создать новый регион, делаем на списке регионов правый клик, и в появившемся контекстном меню выбираем New region. Внимание! Нажатие Delete region удалит регион и все объекты, которые он содержит.


Теперь в поле Region name вводим имя нашего региона, а нажав на кнопку Choose color, выбираем цвет, которым он будет обозначаться в нижнем окне, представляющем собой схему имеющихся ячеек. Флажок No Color служит для того, чтобы регион не отображался и не отвлекал внимание, флажок Border region - для того, чтобы отмеченный регион служил той самой пресловутой "невидимой границей". Кнопка Apply сохраняет данные.

Под списком регионов мы видим группу флажков. Каждый флажок включает (отключает) отображение одноименных вкладок вверху (очень странная фича).

Нижнее окно, как уже было сказано выше, представляет собой схему ячеек. Белым цветом обозначены сгенерированные, черным - не сгенерированные ячейки. В левом нижнем углу, в строке состояния отображаются координаты той ячейки, над которой находится наш курсор.

Теперь достаем тетрадку с координатами и начинаем ваять границы нашего региона. Переместимся по "карте ячеек" туда, где хотим провести границы. Для этого зажимаем среднюю кнопку мыши и двигаем мышь в нужную сторону. Карта начнет прокручиваться в соответствующем направлении, для приближения (zoom) крутим колесико мышки. Регион, который мы хотим обозначить, должен быть выделен в списке регионов. Теперь ищем ячейку с нужными нам координатами и кликаем. В ячейке появляется красный крест. Переходим в другую пограничную ячейку и отмечаем её, и т.д. Для того, чтобы убрать ошибочно поставленную точку, делаем правый клик и выбираем Clear last Point. Последняя поставленная отметка убирается. Для того, чтобы завершить разметку области, правый клик и Done. При этом последняя точка соединится по прямой с первой точкой. ВАЖНО - линия границы региона не должна пересекать саму себя иначе регион не создастся и вы получите сообщение об ошибке (иногда происходит вылет в систему).


Пункт меню Generate Canopy Shadow mask не работает (это карты теней для статиков, которые были вырезаны Bethesda незадолго до релиза игры). Заметьте, что каждый регион может иметь несколько отмеченных областей. Это нужно, например, для того, чтобы создавать леса на маленьких островках.

После того, как регион создан, его граница отобразится в виде бордовой линии. Теперь надо наполнить регион "жизнью", т.е. сгенерировать объекты. Для этого переходим на вкладку Objects.


Включаем флажок "Enable this type of data", и регион должен окраситься в свой цвет. Если этого не последовало или регион окрасился не полностью, значит:

1. Созданный регион имеет слишком сложную границу. Надо сделать её менее "шершавой" путём задания меньшего количества точек,
2. Созданный регион вступил в конфликт с другим регионом (это бывает редко, но бывает). Решение проблемы - задайте немного другие границы региона. Вообще, не рекомендую делать в одном плагине больше одного региона.

На экране мы видим множество полей. Опишем их.

Priority - Задает приоритет отрисовки местности согласно легенде именно этого региона.
Override - Полная замена объектами этого региона объектов того, на который он накладывается.
Generated objects - самое важное! Эта таблица содержит легенду региона, т.е. список объектов, которые будут генерироваться для региона. В этот список, разделённый на подгруппы в виде дерева, объекты помещают двумя путями:
1. Перетаскивают
из окна Object Window из разделов World Objects/static, Landscape, Tree, Flora и т.д.
2.
Более предпочтительный метод. Жмём на кнопку "Copy Objects From Other Region". Открывается список существующих регионов во всех Worldspace игры. В окне Select Form дважды кликаем на регион, из которого хотим скопировать объекты и они появятся в списке. Потом туда можно добавить какие-нибудь объекты или, наоборот, что-то удалить.
Все остальные поля касаются выделенного в списке объекта и отвечают за его размеры, вероятность повторения, радиус… Но, в принципе, для начала подойдут и значения по умолчанию.

Настало время приступить к генерации. Чтобы сгенерировать объекты для всего региона можно нажать кнопку Generate Now и выбрать "Да". Для генерации объектов для одной области, наводим курсор на границу этой области (иконка курсора приобретает форму "руки"), затем правый клик и открывается меню (см. рис. выше ). Там выбираем пункт Generate Objects for region area… номер района. НАЧИНАЕТСЯ ПРОЦЕСС ГЕНЕРАЦИИ. Ячейки обрабатываются снизу вверх, слева направо. Процесс требует "нехилого" железа и отнимает уйму времени для регионов с большим количеством ячеек. Двухядерные процессоры отдыхают, процесс идет одним потоком. Если в процессе генерации будет конфликт между объектами, произойдёт вылет в систему и все сгенерированные данные будут потеряны (вот почему я не рекомендую менять параметры генерации, заданные по умолчанию). Впрочем, вылет может произойти и по другим причинам, о которых приходится догадываться самому:

1. Слишком большой регион. Не рекомендую делать регионы, размер которых занимает всю область карты ячеек при минимальном zoom (да и это слишком много). Для ориентации посмотрите, каков размер регионов в мире Tamriel, загрузив его в Region editor.
2. Простой баг программы, возникающий, если генерировать новый регион в плагине, который уже содержит сгенерированные регионы. Вот почему я сделал мастер-файл и для создания региона - новый плагин. Так используется гораздо меньше ресурсов системы, сохранение производится в разы быстрее и нельзя испортить весь проект в целом.

По окончании этого длительного процесса обязательно сохраните плагин. Чтобы перейти к ручному редактированию ячейки. - правый клик и выбор View World Here. В Cell view загружается выбранная ячейка, её можно лицезреть и редактировать.

Вот так, по кускам, мы и создаём ландшафт на созданном нами континенте. Только по окончании редактирования каждого куска их имеет смысл "залить" в мастер-файл. Впрочем, можно сделать это и раньше для создания демо. Для того, чтобы просто провести "предпросмотр", достаточно загрузить все куски вместе с мастер - файлом. Чтобы залить созданный и отредактированный кусок в мастер-файл надо загрузить TES Plugin Utility и нажать на кнопку "Merge to master". В первом появившемся окне надо выбрать тот мастер-файл, к которому хотите что-то присоединить, в последующем окне - файл-плагин, т.е. присоединяемый кусок, и дождаться, пока процесс не завершится. При присоединении слишком больших кусков может произойти ошибка. Выход - разбить созданный кусок на части, что само по себе задача непростая. Поэтому, повторюсь, не делайте слишком большие регионы.

Советы:

1. Всегда держите отдельно резервную копию мастер-файла с одной только местностью
2. Делайте резервные копии каждого куска.
3. Начинайте создавать сначала прибрежные регионы, а затем накладывайте на них частично сверху другие.
4. Не загромождайте регион объектами. Чем их меньше, тем стабильней пройдёт генерация.
5. Почаще сохраняйтесь.

Для того, чтобы изменить границу региона, надо:

1. Навести курсор на изменяюмую точку границы, когда иконка примет форму руки, зажать ЛКМ и тащить точку в нужное место. Учтите, что если регион сгенерирован, все объекты удалятся.
2. В контекстном меню выбрать Edit region area Тогда последняя линия границы разомкнётся и можно переставлять точки границы, как описано выше. Сгенерированные объекты, естественно, также удалятся.

Смысл других вкладок Region Editor интуитивно ясен.

Objects (more) содержит дополнительные свойства объектов (углы их наклона, ужатие и т.д). Разобраться как следует сможете только методом научного тыка, создавая маленький тестовый регион.
Weather - климатические условия в регионе. Выбираются из списка погод Weather Type нажатием кнопки Add. Priority и Override. Можно задавать приоритет погоды региона над погодами соседней местности.
Map - имя региона, отображаемое в игре.
Landscape и Grass - назначение неясно. Вероятно, вырезано.
Sound - сюда из списка звуков помещаются различные звуки, которые вы хотите слышать в регионе. Звуки дикой природы, колокольный звон, звуки битвы… Ещё крестиками в таблице - списке звуков - выставляется, при какой погоде какие мелодии звучат. В поле Music задаётся тип музыки.

Я намеренно перенёс в конец статьи описание 2-х кнопок на вкладке General редактора регионов. Это кнопки из раздела Pathgrid Generation. Несколько слов о них.

Начнём с того, что в мире TES все одушевлённые предметы передвигаются по миру, опираясь не на чувства, а перемещаясь по заранее проложенным рельсам (как манекены в одном из фильмов ужасов, название которого, увы, выскользнуло из моей памяти). Вот эти рельсы-то и называются Pathgrids и представляют собой решётку - совокупность узлов, накладываемых на местность. Генерировать их надо только после ПОЛНОГО окончания редактирования ячеек в регионе. Почему именно после? Во-первых, процесс очень длительный (много дольше, чем даже генерация объектов для ячеек). Во-вторых, если на сгенерированный PathGrid положить какой-то объект, то идущий NPC упрётся в этот объект физиономией и будет его упорно бодать до скончания века, так как он уверен, что там есть путь для прохода. И, наоборот, если убрать существующее препятствие, тот же самый NPC будет искать обход, хотя проход свободен.

Для генерации "рельс" нажимаем кнопку Generate Pathgrids for this region.

[url=http://darktam.ucoz.ru/load/0-0-0-2-20]Скачать статью с сервера [/url]

 

4848
Всего комментариев: 0
avatar