Моды для Скайрим и справочные материалы для модмейкеров.

Комментарии галереи

На Форуме

Пилим мод
:roll: По идее, пока не канула,просто Маргошу "заездили" на работе... :? Сутками там пропадает... :(...

All Lady Body - Дополнения.
Доброго времени суток Есть ли какие проблемы у этого реплейсера с купальними люкс и подземными банями? Люкс Версия 1.1 для SSE: при попытке входа в купальню черный экран, при этом фоновая музыка продо...

Фоллаут 4 - опять
Моды не ставлю. :) Это наверное здорово играть без модов в Fallout!Я уже забыл когда играл без модов в Фолыч,нужно как нить попробовать.Скорей всего это будет скучно. Я вот целую сборку от Торна запилил...

Флудильня
Я думал, там эта кнопка просто для красоты :D

Музилище


{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr22.jpg|group=gallery}{/modal}
Туториал по созданию ландшафта для игрового мира.

 

Для начала немного теории.

Единицы измерения.

1 GU (Game Unit) = 0,5625 дюйма = 1,42875 см.
1 THU (TES Height Unit) = 8 GU = 4,5 дюйма = 11,43 см. – шаг изменения высоты рельефа.
1 HP (Height Point) =128 х 128 GU = 182,88 х 182,88 см. - базовая величина, фрагмент поверхности ландшафта приходящийся на один пиксел карты высот.
1 Cell (Ячейка игрового мира) = 32 х 32 HP.
Максимальный размер играбельного мира составляет 128 х 128 Cell, 4096 х 4096 HP, или приблизительно 7 491 х 7 491 метр.

Кое-что о карте высот.

Карта высот, из которой компилируется esp файл с ландшафтом мира, представляет собой изображение в цветовом режиме «градации серого» с глубиной канала 8 или 16 бит, что составляет 256 и 65536 оттенков серого соответственно. Каждый шаг градиента соответствует 1 THU, таким образом из 8-ми битной карты высот можно сделать ландшафт с глубиной от -128 до +127 THU или 29,15 метров. Пригодно только для плоских ландшафтов. Можно, конечно, применить масштабирование при компиляции, но при этом пострадает детализация поверхности. 16-ти битная карта формирует рельеф с глубиной от -32768 до +32767 THU, что соответствует 7 491 метру. Один пиксел карты высот соответствует одному HP, таким образом максимальное разрешение карты должно составлять 4096 х 4096 пикселов.
Существует миф о том, что Skyrim считывает изображения с оттенками в интервале 0-76%. Это не так. Я скомпилировал градиентную карту с оттенками от черного до белого цветов, и получил ландшафт соответствующей высоты – от -3 745 м. до +3 745 м., без каких либо ограничений.

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr2.jpg|group=gallery}{/modal}

Использование же таких глубин и высот на практике маловероятно. К примеру мир Tamriel содержит 3808 x 3008 HP, а разница по высоте между самой высокой и самой низкой точками ландшафта составляет 1063 метра. В 3D это выглядит так

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr9.jpg|group=gallery}{/modal}

Однако существует некоторое ограничение на разницу высот соседних HP, которая должна лежать в диапазоне от -128 до +127 THU. Если это правило будет нарушено, то соответствующие пикселы карты высот будут исключены при компиляции и на ландшафте получим неприятные артефакты в виде отверстий или вертикальных стен. О наличии подобных ошибок мы узнаем по итогам компиляции, отчетная информация будет содержать следующие строки
[code]Some gradient overflows/underflows have been caught and blocked:
Total Overflows:  46785                      
Total Underflows: -3671[/code]

Цифры, естественно, будут иными. В этом случае надо доработать карту высот, яркость любых двух соседних пикселов которой не должна отличаться более чем на -128 или +127 шагов градации серого. Это применимо в основном к 16-ти битной карте и лечится, к примеру, снижением яркости изображения (как следствие снижение глубины рельефа) либо применением каких-нибудь сглаживающих фильтров в графическом редакторе (что повлечет сглаживание детализации) или в Geo Control, что даст более интересный результат.

Переходим к практике.

Создаем карту высот.

Самое сложное – это создание карты высот, которая дала бы нам в итоге желаемый рельеф и без ошибок. Можно рисовать её в каком-нибудь графическом редакторе, можно воспользоваться специализированным софтом, предназначенным для генерации ландшафтов, а можно совместить эти два варианта – наброски сделать в редакторе, а необходимую детализацию добавить с спец-софте. Для данного туториала я воспользовался программой Geo Control 2. После запуска программы будет активна вкладка Generation и в настройках General устанавливаем Terrain Size – 4096 (разрешение карты высот), Width – 7491 (ширина ландшафта), Height – 600 (желаемая максимальная высота рельефа), Amount of details – 16 (детализация генерируемых искривлений поверхности), переходим в настройки Filter и добавляем парочку фильтров с настройками как на скриншоте

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr3.jpg|group=gallery}{/modal}

Нажимаем кнопку Generate и ждем завершения генерации, смотрим в режиме 3D, устраивает ли нас результат. Если не очень – то генерируем заново, до достижения приемлемого рисунка, каждый раз рельеф будет разный. При получении желаемого рисунка можно отметить чекбокс Keep Seed – это предотвратит изменение рельефа при последующей перегенерации, которая может понадобиться при настройках или изменениях фильтров. У меня получилось вот так

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr4.jpg|group=gallery}{/modal}

Если освоить программу и изучить настройки фильтров, то можно делать весьма приличные ландшафты. К тому же (если например нужно определенное расположение гор) можно импортировать изображение с набросками рельефа, и доработать до приемлемого качества.
Закончив генерацию ландшафта переходим на вкладку Project, и устанавливаем параметры Projectsize 4096 и Max Altitude 600 (высота рельефа, как в настройках Generation, но можно и другую выставить) и 0 в полях Point at и Cut соответственно. После чего нажимаем Rebuild и ландшафт реконструируется. При этом он станет почти плоским, это нормально. Проект можно сохранить и экспортировать результат в формате RAW 16 bit или TIFF 16 bit.

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr5.jpg|group=gallery}{/modal}

Полученную карту высот открываем в Photoshop и отражаем по вертикали, так как TESAnnwyn при обработке RAW формата отражает изображение, таким образом восстанавливая исходное положение, и применяем размытие по Гауссу с радиусом 1 пиксел, для сглаживания угловатостей в рельефе подобных этим

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr6.jpg|group=gallery}{/modal}

Сохраняем результат в формате RAW. На всякий случай настройки открытия и сохранения RAW формата в Photoshop

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr7.jpg|group=gallery}{/modal}

Компилируем .esp

TESAnnwyn – это консольная утилита, которая на основе карты высот компилирует esp файл с ландшафтом. Для своего ландшафта я использовал следующие параметры
[code]TESAnnwyn.exe -i Skyrim -p 1 -b 16 -d 4096x4096 -x -64 -y -64 -h -11000 -w TestWorld land.raw[/code]

Подробности о программе и параметрах её запуска можно изучить в прилагаемой к ней документации. Остановлюсь лишь на параметре –h, который отвечает за уровень самой нижней точки ландшафта относительно уровня воды, который в свою очередь задаётся в параметрах Worldspace в esp файле создаваемого мира, по умолчанию равен нулю, и я его не менял, за отсутствием видимого смысла. Эта цифра измеряется в GU и зависит от особенностей рельефа и необходимого уровня воды.
Компиляция завершилась успешно

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr8.jpg|group=gallery}{/modal}

Ошибок не возникло, разница высот около 600 метров, что и ожидалось. Копируем полученный esp в папку data в директории игры (можно переименовать) и переходим к следующему шагу.

Создание лодов.

Для создания лодов воспользуемся программой Oscape. Лоды можно создать и с помощью Creation Kit, но это долго, чревато вылетами конструктора и отсутствием контроля над процессом. После запуска программы первым делом в меню Game выбираем режим работы Skyrim. Во вкладке Active Plugins отмечаем наш esp файл с ландшафтом, если вы его не переименовали, то он будет называться tesannwyn.esp. По слухам Oscape работает только с esm файлами, но у меня он и с esp прекрасно справился. Далее нажимаем кнопку Fill и в выпадающем слева списке выбираем наш мир, название которого задавали в параметре –w при создании esp. Отмечаем чекбоксы feature-map и surface-map. Выбираем место и имя файла вывода, и жмём Extract.

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr10.jpg|group=gallery}{/modal}

После извлечения необходимых файлов программа переключится на вкладку Preview, где мы увидим нашу карту высот, и области заполненные водой, обозначенные синим цветом. Если уровень воды отличается от ожидаемого, то нужно перекомпилировать esp с корректировкой параметра –h. Затем повторить извлечение карты высот в Oscape.

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr11.jpg|group=gallery}{/modal}

Oscape имеет одну неприятную особенность – ячейка с координатами 0, 0 не обрабатывается при извлечении карты высот, что выражается черным квадратом на карте размером 31 х 32 пиксела и соответствующим провалом в лодах. Лечится вставкой в извлеченную карту аналогичной области из исходной карты, с корректировкой яркости, так как карты отличаются. Результат до и после.

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr14.jpg|group=gallery}{/modal} {modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr15.jpg|group=gallery}{/modal}

Также после создания лодов надо будет исправить четыре текстуры лежащие по пути Data\Textures\terrain\TestWorld testworld.4.0.0.dds, testworld.8.0.0.dds, testworld.16.0.0.dds и testworld.32.0.0.dds (testworld – название мира, у вас будет своим), закрасив чёрный квадрат основным цветом. Результат до и после.

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr16.jpg|group=gallery}{/modal} {modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr18.jpg|group=gallery}{/modal}

Параметры сохранения текстур

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr17.jpg|group=gallery}{/modal}

UPD. Проблема с ячейкой 0, 0 обусловлена отсутствием регионов в esp файле. Добавление хотя бы одного региона с помощью Creation Kit, даже без назначения на какие либо ячейки, перед запуском Oscape, устраняет проблему пустой ячейки с координатами 0, 0 в лодах.

После исправления карты высот нажимаем кнопку Accept в программе Oscape и попадаем во вкладку Generator. Выставляем параметр Target of max. Resolution отвечающий за полигональность генерируемых мешей. Слишком высокое значение приводит к ошибке при генерации лодов, поскольку количество полигонов в мешах не может превышать 64 К на один меш. Для моей карты подошло значение 800 000. Отмечаем чекбоксы как на скриншоте и жмём Generate. После завершения генерации программа переключит нас на вкладку Installer, где проверяем правильность директории инсталляции (папка data в директории игры), отмечаем все чекбоксы и жмём Install.

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr12.jpg|group=gallery}{/modal} {modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr13.jpg|group=gallery}{/modal}

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

Теперь можно подключить наш esp в лаунчере игры и переместиться в созданный мир с помощью консольной команды cow testworld 0 0. Testworld – название вашего мира, координаты ячейки могут быть другими, в диапазоне размеров вашего мира.



{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr20.jpg|group=gallery}{/modal} {modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr21.jpg} {/modal}


{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr22.jpg|group=gallery}{/modal} {modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr23.jpg|group=gallery}{/modal}


{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr24.jpg|group=gallery}{/modal} {modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr25.jpg|group=gallery}{/modal}


В качестве дополнения к туториалу хочу показать ещё один вариант создания карты высот.

На этот раз мы не будем генерировать рельеф случайно, а попробуем создать его по своим параметрам, на основе заготовки. Заготовочку для примера я сделал разрешением 2048 х 2048 пикселов, и довольно примитивную. Можно сделать её с большим количеством слоёв, и более разнообразным рельефом. В моём случае это будет остров с большой горой. Нарисована она из восьми слоев разного оттенка серого, от 30% до 95%. Первые три слоя (самые темные) имеют между собой меньшую разницу в оттенке, нежели последние, этим обеспечивается необходимый угол наклона поверхности. После сведения слоев применяем размытие по Гауссу, в моем случае с радиусом 20 пикселов.

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr26.jpg|group=gallery}{/modal}

Импортируем в Geo Control

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr27.jpg|group=gallery}{/modal}

и начинаем экспериментировать с фильтрами. Здесь ни каких конкретных советов дать не могу, сам только учусь. После часа экспериментов у меня получилась вот такая картина

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr28.jpg|group=gallery}{/modal}

Дальше всё по туториалу, компилируем esp, если возникают ошибки возвращаемся в Geo Control, меняем настройки фильтров, и пробуем ещё раз. Если ошибок не много, то можно уменьшить высоту рельефа в параметре Max Altitude на вкладке Project. У меня рельеф генерировался с высотой 1500 м., а Max Altitude я установил в 1000 м. Высота после компиляции получилась 964 м. над водой, и 29 м. под водой.


{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr30.jpg|group=gallery}{/modal} {modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr31.jpg|group=gallery}{/modal}

{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr32.jpg|group=gallery}{/modal} {modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr33.jpg|group=gallery}{/modal}


{modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr34.jpg|group=gallery}{/modal} {modal http://dl.dropboxusercontent.com/u/8305891/images/CreationKit/world/scr35.jpg|group=gallery}{/modal}

 


+ 7



Недостаточно прав для комментирования

Комментарии   

MargoShka
+1 #2 MargoShka 15.05.2015 02:26
нужная вещь)кажется bryce и синька тоже подойдут... :-)
VALKNUT
+2 #1 VALKNUT 15.05.2015 00:40
Снежка(Ф) очень ждет свой мир! :lol:

Комментарии модов