Главная » Скачать игры торрент » Уроки для модмейкеров: skyrim » Редактор skyrim [ Добавить статью ]

Перенос оружия из Обливиона в Скайрим

Нам понадобится:
Плагин 3D Max с установленным плагин для работы с моделями Скайрима
NifSkope поддерживающий формат *.nif-файлов Скайрима.

Итак, начнем.
Выбираем оружие, которое будем переносить.
Я выбрал «Nicos Daes Rakan Swords» автора Nicoroshi



Дальше находим в файлах Скайрима (предполагается, что BSA-архивы игры у вас уже распакованы) меш меча, который будем заменять этим клинком.
Я решил заменить Соловьиный клинок находящийся в папке …Data\meshes\Weapons\nightingale\
Берем два файла: Nightingalesword.nif и 1stpersonnightingalesword.nif (один отвечает за отображение в ножнах, второй в руках)
Переносим их в игру
ВНИМАНИЕ! При переносе соблюдайте иерархию папок. То есть в данном случае файлы должны попасть в папку Steam\steamapps\common\skyrim\Data\meshes\Weapons\nightingale (если у вас лицензия)
Запускаем 3D Max и импортируем выбранный нами Dreadweave Daes Rakan.nif с настройками



Кликаем на кнопку «Менеджер слоев» (1), и развернув список (для этого кликнем на плюсик рядом с 0(default)) посмотрим из чего собственно состоит файл (2)



Итак, видим следующее:
Scb:0 – модель ножен
Daes' Rakan:0 – модель самого меча

Далее немного облегчим себе работу, а именно: кликнув последовательно на 0(default) (3), стрелочку(4), и кнопку «создать новый слой»(5) создадим новый слой Layer01 с нашим мечом.



Теперь сделаем активным слой 0(default) поставив напротив него галочку(6),



и импортируем файл 1stpersonnightingalesword.nif (настройки такие же как и при импорте Dreadweave Daes Rakan.nif)

Итак, теперь у нас импортированы оба меча. Сравним их



Как видим тут четыре модели
1stPersonNightingaleSword:1 – модель меча
Scb – модель ножен
EdgeBlood
EdgeBloodSpec

Эти две EdgeBlood и EdgeBloodSpec – отвечают за отображение крови на лезвии меча.
Обратите внимание, что EdgeBlood и EdgeBloodSpec являются скрытыми (3)



Вот их нам и надо добавить в Dreadweave Daes Rakan

Сняв с EdgeBlood и EdgeBloodSpec флажок «скрыть» (Hide) обнаруживаем, что эти модели в точности повторяют лезвие модели меча



Следовательно, и в Dreadweave Daes Rakan нам надо добавить такие же.

Скрываем слой 0(default) чтобы не мешался.
ВНИМАНИЕ! Тут есть один нюанс. У меня после первой пробы вышло, что меч в игре оказался загнут не в ту сторону, поэтому перед тем как продолжать советую перевернуть его по оси Y на 180 градусов. Для этого выбираем модель меча Daes' Rakan:0, переходим в режим Modify, добавляем модификатор FFD 2х2х2 и с его помощью переворачиваем модель.



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

Теперь приступаем к изготовлению моделей для отображении крови на лезвии.
Клонируем модель Daes' Rakan:0, (копию назовем Blood, чтобы потом не путаться), переходим в режим Modify, и обрезаем с копии рукоять, оставив лишь само лезвие.



Клонируем теперь уже модель Blood, назвав копию BloodSpec.



Ставим флажок «скрыть» (Hide) напротив Blood и BloodSpec.
Модели Соловьиного меча: 1stPersonNightingaleSword:1, Scb, EdgeBlood и EdgeBloodSpec удаляем.
Готово.
Вот что у нас должно получиться в итоге



Теперь экспортируем наш меч в файл.
Назовем его zagotovka (потому что существующий на данный момент экспортер nif для Скайрим очень далек от совершенства, и экспортированный меч придется дорабатывать NifSkope)
ВНИМАНИЕ! Убедитесь ещё раз перед экспортом, что модели Blood и BloodSpec отмечены флажком "скрыть".

Настройки экспорта



Вот теперь начинаются те самые танцы с бубном
Открываем в NifSkope два файла 1stpersonnightingalesword.nif и только что созданный нами zagotovka.nif



Как видим в нашей zagotovka.nif все модели меча находятся в блоках NiTriStrips, а в оригинальном в блоках NiTriShape.

Конвертируем NiTriStrips в NiTriShape. Делается это так:
ПКМ на NiTriStrips, в контекстном меню выбираем Mesh и команду Triangulate



Конвертируем подобным образом все блоки

Теперь нам надо заменить во всех блока zagotovka.nif строки BSLightingShaderProperty на те же BSLightingShaderProperty но из оригинального файла.
Это приходится делать из-за того, что экспортер 3D Max их обрабатывает некорректно, и в игре они… В общем просто замените, иначе работать не будет, поверьте на слово.
Делаем это так:
1.Удаляем BSLightingShaderProperty из NiTriShape с именем Daes' Rakan:0 в файле zagotovka.nif
(ПКМ на строку BSLightingShaderProperty и в контекстном меню выбираем Block команда Remove Branch)



2.Переходим к файлу 1stpersonnightingalesword.nif и копируем там строку BSLightingShaderProperty из блока NiTriShape с именем 1stPersonNightingaleSword:1
(ПКМ на строку BSLightingShaderProperty и в контекстном меню выбираем Block команда Copy Branch)



3.Теперь скопированную строку BSLightingShaderProperty вставляем в блок NiTriShape с именем Daes' Rakan:0 в файле zagotovka.nif
(ПКМ на блок NiTriShape и в контекстном меню выбираем Block команда Paste Branch)



Вот что у нас получилось, - строка вставилась не в блок NiTriShape с именем Daes' Rakan:0 а куда то явно не туда (сравним zagotovka.nif и оригинальный файл)



Исправляем таким образом:
Щелкаем левой кнопкой на блоке NiTriShape с именем Daes' Rakan:0, в окне Block Details прокручиваем список до самого конца, выбираем строку Properties, разворачиваем нажав на крестик, снова выбираем Properties, и в графе Value ставим тот же номер что и у нашей «заблудившейся» строки BSLightingShaderProperty (в данном случае это 15), жмем энтер.



Готово. Вот, у нас даже текстура появилась на модели.



Дальше по такой же схеме заменяем строки BSLightingShaderProperty в других блоках
В NiTriShape с именем Scb:0 вставляем из NiTriShape с именем Scb
В NiTriShape с именем BloodSpec вставляем из NiTriShape с именем EdgeBloodSpec

ВНИМАНИЕ! В блоке NiTriShape с именем Blood файла zagotovka.nif мы заменяем строку BSLightingShaderProperty на строку BSEffectShaderProperty (не перепутайте именно BSEffectShaderProperty!) из блока NiTriShape с именем EdgeBlood оригинального файла.

Перенесли, теперь сравним получившееся. Видим, что в блоках NiTriShape с именем BloodSpec и NiTriShape с именем Blood нашего файла строк явно меньше чем в подобных блоках оригинального 1stpersonnightingalesword.nif



Значит, нам надо добавить недостающие строки.
Сначала скопируем в блоки нашего файла строку NiAlphaProperty. Делается это так же как и копирование BSLightingShaderProperty. То есть:
1. ПКМ на строку NiAlphaProperty в файле 1stpersonnightingalesword.nif
В контекстном меню выбираем Block команда Copy Branch
2. Переходим к нашему zagotovka.nif ПКМ на блок NiTriShape и в контекстном меню выбираем Block команда Paste Branch
Так как и в случае с BSLightingShaderProperty строка NiAlphaProperty у нас «потерялась»



Поэтому прописываем её в блок вручную, так же как и BSLightingShaderProperty
(ПКМ на NiTriShape, в окне Block Details прокручиваем список до самого конца, выбираем строку Properties, разворачиваем нажав на крестик, снова выбираем Properties, только уже вторую, так как в первой у нас записана строка BSLightingShaderProperty, и в графе Value ставим тот же номер что и у нашей «заблудившейся» строки NiAlphaProperty (в данном случае это 16), жмем энтер.)



Итак, в блоки BloodSpec и Blood мы добавили строки NiAlphaProperty, осталось добавить NiStringExtraData.
Эту строку мы копируем точно так же как и в предыдущих случаях
1.ПКМ на строку NiStringExtraData в файле 1stpersonnightingalesword.nif
В контекстном меню выбираем Block команда Copy Branch
2.Переходим к нашему zagotovka.nif ПКМ на блок NiTriShape и в контекстном меню выбираем Block команда Paste Branch

Ну вот, блоки NiTriShape в заготовке у нас соответствуют блокам оригинального файла. Проверим ещё раз.



И ещё раз проверим. Потому что запутаться во всех этих блоках очень легко, а вот найти потом ошибку гораздо труднее.

СОВЕТ: Если где то, что то неправильно – закройте НЕ сохраняя файл zagotovka.nif, откройте его заново, и начните все сначала по этому тутору со слов "Вот теперь начинаются те самые танцы с бубном". Поверьте мне, Так. Будет. Быстрее. чем пытаться исправить/заменить/перенести и т.п.

И вот, финишная прямая!
Теперь мы берем и копируем все блоки NiTriShape из файла zagotovka.nif в оригинальный 1stpersonnightingalesword.nif
1.ПКМ на NiTriShape в файле zagotovka.nif, в контекстном меню выбираем Block команда Copy Branch
2.Переходим к 1stpersonnightingalesword.nif ПКМ на самый первый в списке блок (это важно! Именно на самый первый) BSFadeNode, в контекстном меню выбираем Block команда Paste Branch.



Скопировав NiTriShape сразу переименовываем его, чтобы потом не путаться.
То есть после копирования NiTriShape с именем BloodSpec у нас стал NiTriShape INV [1]



А нам надо чтобы этот блок имел такое же имя, как и находящийся выше NiTriShape с именем EdgeBloodSpec.
Переименовываем так:
Двойной щелчок на INV [1], поле становится редактируемым, и мы пишем в него тот же номер, что имеет блок NiTriShape с именем EdgeBloodSpec в квадратных скобках.
(В данном случае это [5])



ВНИМАНИЕ! Никаких букв писать НЕ надо, только цифру!
Жмем энтер, и наш скопированный блок сам переименуется в EdgeBloodSpec [5]

Точно таким же способом копируем и переименовываем остальные блоки из нашей заготовки
Blood (после копирования становится BSX) в EdgeBlood [8]
Scb:0 (после копирования становится Prn) в Scb [9]
Daes' Rakan:0 (после копирования становится WeaponSword) в 1stPersonNightingaleSword:1[10]

Вот что должно получиться в итоге



Два комплекта одинаковых комплекта блоков NiTriShape.

Теперь просто удаляем оригинальные NiTriShape из файла
ПКМ на блок NiTriShape, в контекстном меню выбираем Block команда Remove Branch



После чего жмем Save As

И сохраняем его под тем же именем 1stpersonnightingalesword.nif

- ВСЕ? Урра!
- А вот не всё!

У нас есть ещё файл nightingalesword.nif
Открываем его



Как мы видим, тут те же блоки NiTriShape, разве что отсутствует блок с ножнами
EdgeBlood
EdgeBloodSpec
И блок
NightingaleSword:1

Снова переносим – переименовываем NiTriShape из заготовки в этот файл
Blood в EdgeBlood
BloodSpec в EdgeBloodSpec
Daes' Rakan:0 в NightingaleSword:1



Удаляем оригинальные EdgeBlood, EdgeBloodSpec, NightingaleSword:1
Сохраняем как nightingalesword.nif

Осталось заменить текстуры на нашем мече.
Берем папку DaesRakanSword из мода откуда переносим меч, и помещаем в ...Steam\steamapps\common\skyrim\Data\Textures

В файле nightingalesword.nif раскрываем список блока NightingaleSword:1, раскрываем строку BSLightingShaderProperty и щелкаем по BSShaderTextureSet



В окне Block Details открывается список используемых в модели текстур. Заменяем установленные оригинальные на текстуры их мода.
Для этого в окне Block Details ПКМ по строчке Textures, в контекстном меню Texture команду Choose и в открывшемся окне проводника выбираем текстуру



Вот и всё.



Источник: http://bethplanet.ru/f
Категория: Редактор skyrim | Добавил: Asus (13.02.2012)
Просмотров: 2284 | Комментарии: 1 | Рейтинг: 5.0/1
Всего комментариев: 1
Dragonborn14.02.2012 08:37 Ответить
Пасиб. Чуть позже переведу похожую статью, но попроще. Там через nifscope.
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]