Статьи » Обучающие статьи » Для мододелов


Создание моделей с коллизиями для Skyrim. Часть1. Пока без коллизии.


Автор статьи: Gamlih

Добавлено: 25 Сентября 2015 в 10:39 | Обновлено:
Просмотров: 2370 | Комментарии: 11

Понравилось: 16 пользователям




Требуемые программы:
   Подразумевается, что у Вас установлен 3DS Max с требуемым плагином для импорта/экспорта в формате nif и Вы умеете им пользоваться (лично у меня версия «макса» от 2012 года). Кроме того у Вас имеется программа для работы с nif файлами NifSkope (лично у меня версия 2.0.0 alpha, в ней, в отличие от более распространенной версии 1.3.3, отображаются коллизии). Ну и программа для присоединения коллизий ChunkMerge, входящая в пакет NifTools.

    Рассмотрим метод на примере небольшого деревянного столика с бронзовой окантовкой столешницы. Для начала создадим в 3DS Max желаемую модель (рис.1). Объединяем все деревянные детали в один объект, соответственно все металлические в другой, так как это разные материалы и используют разные текстуры.
    Экспортируем модель в формат nif, присвоив ему имя, допустим, table_.nif и смотрим на полученное в NifSkope (рис.2):

Известно, что плагин для экспорта все равно работает как-то криво в плане шейдеров. Для того, чтобы в игре все отображалось как надо, используется метод подмены шейпдаты в «родных» скайримовских моделях. Для этого нам понадобится какая-нибудь модель, вытащенная из ресурсов игры. Я обычно пользуюсь бочкой barrel01.nif.
Открываем эту бочку в еще одном окне NifSkope:

и удаляем в модели «родную» коллизию, так как мы собираемся заменить ее на свою. Для этого кликаем правой кнопкой мыши (далее ПКМ) на блоке bhkCollisionObject и выбираем в контекстном меню Block → Remove Branch (удалить всю ветку).
Примечание: как показали недавние эксперименты, удалять коллизию bhkCollisionObject вовсе не обязательно. Программа ChunkMerge ее попросту игнорирует и заменяет имеющуюся на ту, которую Вы укажете в строке Collision-File.
    Затем копируем «родной» шейдер и вставляем его в эту же модель. Вы же помните, что в нашей модели два объекта из разных материалов и с разными текстурами, поэтому нам понадобится два «родных» шейдера, в которых мы подменим геометрию (шейпдату) на свои. Если в вашей модели объектов больше, то и копий шейдера понадобится больше. Для этого кликаем ПКМ на блоке с шейдером бочки, выбираем в контекстном меню Block → Copy Branch (копировать ветку) (рис.4),
затем кликаем ПКМ на «корневом» блоке модели, и выбираем Block → Paste Branch(поместить ветку) (рис.5)

    Теперь, я обычно переименовываю модель и блоки по своему. Мне так удобнее, не путаюсь где что. Для этого кликаем на переименовываемом блоке и в детальном описании блока внизу кликаем ПКМ на его названии. Выбираем в контекстном меню txt Edit String Index и даем ему любое удобное для Вас имя (рис.6). В моем примере это, соответственно, Table и Kant (рис.7)

    Теперь можно приступить к подмене геометрии. Для этого возвращаемся в окно NifSkope, в котором открыта Ваша модель и копируем шейпдату деревянной части стола. Развернем блок кликнув на «плюсик» блока, кликаем ПКМ на шейпдате NiTriShapeData. Выбираем в контекстном меню Block → Copy Branch (рис.8), после чего возвращаемся в окно NifSkope с моделью бочки и вставляем шейпдату в «корень» модели. Почему-то она вставляется именно в «корень», куда б не кликнул ;), но это не страшно. Вставка проста, кликаем ПКМ на «корневой» блок, выбираем в контекстном меню Block → Paste Branch (рис.9)

    Как я уже сказал, шейпдата отправляется в корневой блок в самый его низ и автоматически получает номер 10. Теперь мы кликаем на блок, в котором мы хотим подменить геометрию, в данном примере Table. В детальном описании блока находим строку Data. В ней содержится номер блока, в котором прописана геометрия. Если «развернуть» блок с шейдером (клик на «плюсике»), то мы увидим, что сейчас это блок номер 3.

    Двойной клик на этой строке позволит вручную прописать новый номер блока с геометрией (в нашем случае, как сказано выше, это 10). Прописываем номер 10, получаем следующее:

    Как видите, блок 10 с геометрией начал отображаться на модели, а старый блок благополучно перекочевал из шейдера в «корень» и больше не виден. Та бочка, которая еще видна, это геометрия второго шейдера в нашей модели. Она еще не заменена.
Вытесненный ненужный блок номер 3 можно удалить чтобы не мешался. Кликаем по нему ПКМ и выбираем в контекстном меню Block → Remove Branch.
    Аналогичную подмену проводим и для второго шейдера. В итоге получаем почти готовую модель, но с текстурами оставшимися от прошлой модели и отсутствующей коллизией.
    Финальный аккорд – пропишем текстуры. Для этого разворачиваем в каждом блоке подблок с данными о текстурах BSShaderTextureSet и в детальном описании этого подблока (внизу) кликаем на строках ПКМ, выбираем в контекстном меню Texture → Choose и указываем путь к Вашим текстурам. Первая строчка это текстура, вторая – карта нормалей.

После замены текстур в обоих блоках получаем что-то вроде:

   Это готовая модель, которая будет корректно отображаться в игре. Но пока она не содержит коллизий и персонажи в игре будут через нее свободно проходить. Сохраняем nif с тем именем, с которым она будет использована Вами в игре. К примеру table.nif (Save As…).

    О том, как подготовить и внедрить коллизию в этот файл мы поговорим во второй части статьи.




Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Всего комментариев: 11


0
№:11 от РЕДМЕНЪ
637926
| Гражданин | в 00:53 (14 Мая 2017)
О, статья снова видна, спасибо!
Посмотреть профиль РЕДМЕНЪ

0
№:10 от vix25
1031231
| Проверенный | в 14:29 (19 Мая 2016)
ну ясно...
Посмотреть профиль vix25

0
№:9 от vix25
1031231
| Проверенный | в 21:48 (18 Мая 2016)
а по Fallout 4 знаете что нибудь? впринципе всё доходчиво разжёвано но с фолом сложней получается.
Посмотреть профиль vix25

0
№:7 от Cheshir23cat
1207379
| Проверенный | в 10:42 (17 Января 2016)
А для Cinema 4d есть расширение под .nif файлы?
Посмотреть профиль Cheshir23cat

0
№:8 от Gamlih
45744
| Модмейкер | в 11:13 (17 Января 2016)
Если честно, не знаю.
Посмотреть профиль Gamlih

0
№:4 от Chrno
21601
| Гражданин | в 19:11 (26 Сентября 2015)
Для Вегаса получается тоже подходит?
Посмотреть профиль Chrno

0
№:5 от Gamlih
45744
| Модмейкер | в 21:19 (26 Сентября 2015)
Наверняка не могу сказать. Это мое предположение.
Посмотреть профиль Gamlih

0
№:6 от Gvinpin
69418
| Гражданин | в 23:12 (26 Сентября 2015)
для ФНВ коллизии делаются в Максе, а согласно данных из комментария №7 в Блендере тоже
Посмотреть профиль Gvinpin

+1
№:3 от Sonra
227289
| Журналист | в 13:09 (26 Сентября 2015)
Радует, что на сайте снова начинают появляться такие статьи. Спасибо.
Посмотреть профиль Sonra

0
№:1 от Gvinpin
69418
| Гражданин | в 11:08 (25 Сентября 2015)
Спасибо за статью! показанный метод вполне рабочий - проверено, тестовые испытания геометрии столкновений пройдены  good
Посмотреть профиль Gvinpin

0
№:2 от Gamlih
45744
| Модмейкер | в 11:13 (25 Сентября 2015)
Вам спасибо за помощь в оформлении.
Посмотреть профиль Gamlih
Помочь cайту

Набор в команду сайта
Наши конкурсы
Каталог файлов
Skyrim Special Edition [264]
Fallout 4 [710]
Моды в разработке [52]
TES V: Skyrim [4086]
TES IV: Oblivion [547]
Fallout: New Vegas [2098]
Fallout 3 [1060]
Dragon Age: Inquisition [223]
Dragon Age 2 [246]
Dragon Age: Origins [617]
Ведьмак 3 [105]
GTA 5 [41]
GTA 4 [131]
GTA SA [95]
S.T.A.L.K.E.R. Зов Припяти [70]
S.T.A.L.K.E.R. Чистое Небо [43]
S.T.A.L.K.E.R. Тени Чернобыля [95]
Другие разделы

Подразделы:


Общая [33]
Adobe Photoshop [16]
Для мододелов [43]


Последние рецензии
Elex
Cuphead. Великое творение безумцев.
Hand of fate
Mass Effect: Andromeda
Crossout – тачки, металлолом и куча стволов
Gwent. Лучший бета-тест на моей памяти.
Anima: Gate of Memories
Tyranny - когда плохим быть не плохо
Следите за нами:





Статистика
Онлайн всего: 257
Гостей: 115
Пользователей: 142




Вверх Вниз