Создание своих картин в Обливионе

  1. Подготовка
  2. Создание своих картин
  3. Размещение картин в мире игры

1. Подготовка

Сегодня мы поговорим о картинах. В Обливионе мы можем видеть много различных картин на стенах домов и замков. Почему бы нам не украсить свой дом/замок собственными картинами? Это могут быть пейзажи, фото родственников или любимых киноактеров или просто автопортрет. По сути же это есть одна из форм ретекстурирования. Я думаю, в данном уроке не будет ничего сложного, при этом результат может быть весьма интересным. Запускаем TES Construction Set. Для начала поищем картины. В Окне Объектов (Object Window) они находятся в закладке WorldObjects>Static>Clutter. Но можно поступить несколько иначе. В строке меню переходим Edit>Find Text и в строке Search Text вбиваем Painting (живопись, картина). Жмем Find Text. Нашлось много чего, но мы переходим на закладку – Objects, etc. Сортируем по типу (Type) и смотрим на Static – это все картины:

Осталось выбрать из этого множество что-то, что мы будем изменять. Я пожалуй возьму одну настенную картину — MiddlePaintingLandscape02d и еще одну на стойке — MS51PaintingRewardChanel (она правда расположена несколько в ином месте – MiscItem>Furniture).

Как я их выбрал? То есть, как можно посмотреть в КС как выглядит та или иная модель? Выбираем нужный объект и кликаем правой клавишей на нем, в открывшемся меню выбираем Use Info:

Откроется окошко Use Report:

В этом окошке мы можем узнать где используется данный объект. Окно поделено на две части:
1) Used by these objects – показывается, в каких объектах используется данный объект. Это могут быть скрипты, контейнеры, существа, уровневые списки и многое другое.
2) Used in these Cells – показывается, в каких ячейках используется данный объект. Двойной клик по ячейке загрузит эту ячейку в Окне Просмотра (Render Window) с выделенным нашим объектом. Таким образом, мы можем посмотреть, как конкретный объект выглядит в игре. Согласен, способ идиотский, но иного в КС Обливиона к сожалению нет.

Объекты выбраны. Теперь нам нужно найти их модели. Для этого выделяем нашу картину в Окне Объектов (Object Window) и правее в столбце Model видим путь к нужной модели:

Однако все модели запакованы в BSA-архивы. Модели хранятся в архиве Oblivion – Meshes. Все BSA-архивы в свою очередь находятся в:

\Oblivion\Data

То есть нам нужно извлечь необходимые модели из архива. Чем и как это сделать подробно расписано в туториале:

Распаковка BSA-архивов Обливиона. Работа с BSA Commander и OBMMhttp://modder.ucoz.ru/load/3-1-0-107

поэтому здесь я не буду на этом останавливаться.

Итак, мы извлекли две модели (для каждой из картин). Теперь их нужно расположить в нужном месте:

Oblivion\Data\meshes\clutter\middleclass\paintings\middlepaintinglandscape02b.nif
Oblivion\Data\meshes\furniture\middleclass\ms51rewardpainting.nif

Модели у нас есть. Теперь займемся текстурами, так как именно с ними мы будем работать далее.

Сначала нужно выяснить какая текстура используется в каждой из моделей, а потом их извлечь из архива так же, как и модели перед этим.

Чтобы узнать, какая текстура используется моделью, открываем модель в программе NifSkope. В окне BlockList разворачиваем узлы NiTriStrips и далее узлы NiTexturingProperty. Нас интересуют строки NiSourceTexture. В этих строках прописаны текстуры. В нашем случае модель использует три различные текстуры:

Первая текстура это деревянное обрамление картины, вторая – рамка. А вот третья – это сама картина – как раз то, что нам нужно. Ее мы и будем менять на нужную нам картинку.

Теперь нужно извлечь текстуры из архива. Но не забываем, что текстуры всегда идут парами – обычная текстура и карта нормалей:

paintinglandscape02
paintinglandscape02_n (карта нормалей)

Карта нормалей в модели не прописывается. Она автоматически подхватывается игрой. Поэтому ее название должно быть точной копией названия обычной текстуры с добавление окончания _n

Без карты нормалей в игре возникнут проблемы с отображение модели. Поэтому не забываем про нее.

Текстуры находятся в архиве:

Oblivion — Textures — Compressed

извлекаем нужные текстуры так же, как мы это делали ранее. После чего размещаем их в нужном месте:

Oblivion\Data\Textures\clutter\paintings

Итак, подготовительные работы завершены. Приступаем к процессу создания своих картин.

2. Создание своих картин

Для начала нам нужно переименовать используемые нами модели и текстуры, мы ведь хотим создать свои новые картины, а не заменить уже существующие в игре, верно?

Модели я переименовал в

middlepaintingIgorLutiy01
rewardpaintingIgorLutiy

текстуры в

paintingIgorLutiy01
paintingIgorLutiy01_n
rewardpaintingIgorLutiy
rewardpaintingIgorLutiy_n

Всегда и везде при создании своего плагина старайтесь давать «говорящие» названия различным новосозданным предметам и объектам. Этим вы упростите дальнейшую работу, как себе, так и другим (например, кто-то решит перевести ваш плагин на другой язык).

И сейчас сделаем еще одну маленькую вещь, которая вскоре будет нам полезна. Сразу присвоим нашим моделям переименованные текстуры. Для этого открываем модель в NifSkope, ищем строчку NiSourceTexture с той текстурой, которую будем менять. Правее в этой же строчке есть фиолетовый цветочек. Жмем на него, в открывшемся окне выбираем нужную нам текстуру и жмем Открыть:

После этого в строке меню NifSkope переходим File>Save As… и жмем Сохранить. Появиться следующее окно:

Дело в том, что в NifSkope нет кнопки Save и сохранять модель приходится через Сохранить как… А так как модель у нас уже есть и мы пытаемся сохранить ее под тем же именем, у нас и интересуются, хотим ли мы уже существующую модель заменить? Жмем Да. Отлично, текстура прописана. А раз она прописана и распакована, это значит, что она будет отображаться на модели в NifSkope. Это позволит нам упростить работу над подгонкой картинки.

Теперь перейдем к работе с текстурами. Будем творить шедевры J Для этого нам понадобится графический редактор, в моем случае Photoshop, а также плагин DDS к нему, который позволяет работать с текстурами в формате .dds.

Открываю я первую текстуру — paintingIgorLutiy01. Что и как делать в Фотошопе я рассказывать не буду, уроков по работе в этой программе более чем достаточно. Но кое-что упомяну. Смотрим на картинку ниже (открыв параллельно текстуру в Фотошопе и модель в NifSkope, мы можем сразу видеть результат нашей работы на модели, для этого нужно просто сохранить текстуру и она сразу же будет видна на модели):

Что мы на ней видим? Текстуру в Фотошопе (выше) и текстуру на модели в NifSkope (ниже). На модели текстура помещается и видна не полностью, это нужно иметь в виду при замене картинки на свою. Смотрим далее:

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

И ни в коем случае не меняйте размеры текстуры. В нашем случае это 256 на 128 пикселей.

В общем, подбирайте подходящую картинку, размещайте её как вам нравиться. И… переходим к сохранению. Смотрим на картинку ниже:

Обязательно отмечаем Generate MIP maps. Это создает в текстуре как бы несколько таких же текстур, но меньшего размера. И в игре, при удалении от предмета на определенное расстояние подгружаются текстуры меньшего размера, что позволяет уменьшить нагрузку на компьютер. То есть вблизи, когда мы можем хорошо рассмотреть предмет – используется самая качественная текстура, а на большом расстоянии – где нет необходимости в деталях – используется менее качественная. Флаг Generate MIP maps используется всегда, кроме иллюстраций книг и иконок, когда отмечается флаг No MIP Maps.

Более подробно о текстурировании можно почитать в замечательном туториале Lanell: Текстурирование вееров. Тонкости текстурирования для игры Обливион

Теперь создаем карту нормалей, вот ту текстуру с окончанием _n, про которую я писал ранее. В разделе фильтров Фотошопа находим нужный:

Жмем и видим следующее окно:

Здесь в Scale выбираем ноль. Этот параметр указывает величину рельефа поверхности текстуры (чем больше значение, тем более рельефной будет казаться поверхность). У нас картина, поэтому я поставил 0.

Подобным же образом сменим изображение и на второй картине.

Теперь можем переходить к заключительной стадии наших мытарств.

3. Размещение картин в мире игры

Опять возвращаемся в TES Construction Set. Для начала нужно создать наши картины в Конструкторе. Ведь у нас есть модели, но они пока никак не привязаны к игре.

В Окне Объектов (Object Window) находим закладку Static. В списке справа жмем правую клавишу и в открывшемся меню выбираем New. Откроется следующее окно:

Вбиваем уникальный ID – вполне подойдет название вашей модели. Затем жмем на кнопку – Add NIF File и открываем нашу модель. В итоге должно получиться как-то так:

Жмем Ок. Первая картина готова. Со второй поступим немного иначе. Открываем оригинальную картину:

Меняем ID на уникальный, жмем на верхнюю кнопку (подчеркнуто красным) и открываем модель второй картины. Получаем вот такое:

Далее жмем Ок. Появится окошко:

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

Теперь нужно наши картины разместить на просторах игры. Они могут послужить украшением дома или замка, однако я ради простоты тестирования размещу их на берегу Портового района Имперского города. Для этого загрузим нужную ячейку в Окне Просмотра (Render Window). В окне Cell View выбираем сначала Tamriel, затем ICWaterdront05 и делаем по нему двойной клик:

Ячейка загрузилась, размещаем картины, как вам нравится. У меня получилось вот так (скрин из Конструктора):

После этого сохраняем плагин (File>Save) и смотрим, что у нас получилось в игре:

©Автор IgorLutiy.
Скачать оффлайн версию можно здесь.