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

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

На Форуме

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

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

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

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

Музилище


{modal http://i017.radikal.ru/1410/9d/5744b9c82b92.jpg|group=gallery}{/modal}
Туториал по созданию моделей столкновения

Мне известно два способа добавления коллизий моделям. Первый – с помощью редактора 3ds Max, второй – с помощью утилиты ChunkMerge, которая в совокупности с утилитами NifConvert и ChunkExtract объединены в программе NifUtilsSuite, имеющей удобный графический интерфейс и просмотрщик моделей и коллизий. В данной теме я попробую разобрать оба способа.

Создание моделей с коллизиями в программе 3ds Max.

В составе Nif-плагина для 3ds Max есть консольная утилита NifMopp.exe, которая при экспорте модели с коллизией генерирует MOPP данные в блоке bhkMoppBvTreeShape. Однако из нескольких версий плагина, которые я опробовал, корректно работает только плагин для 3ds Max 2013 от товарища Ehamloptiran. Плагин находится в постоянной доработке, и может быть скачан по ссылке внизу сообщения. Поговаривают, что он работает и с 2014 версией редактора, однако я не пробовал. К слову, эта версия плагина вполне корректно экспортирует настройки шейдера, даже если в редакторе материал не настроен, тангент и бинормали, сводя последующие настройки модели в NifSkope к минимуму, а также правильно масштабирует коллизии как при импорте, так и при экспорте.

Таким образом для данного туториала подготавливать модели я буду в программе 3ds Max 2013 х64 с установленным вышеозначенным плагином.



Коллизии сложной формы для статичных объектов.

Начнем с создания коллизий сложной формы для статичных объектов, и для примера я воспользуюсь моделью дерева, сделав из него static, хотя модели деревьев в Skyrim имеют другую структуру. Процесс сводится к созданию меша, который будет играть роль модели столкновения, и добавления к нему модификатора bhkRigidBody. В идеале геометрия модели столкновения должна быть предельно простой, но при этом соответствовать геометрической форме модели, для которой создается. Можно, конечно, создать копию исходной модели, можно скопировать её сетку, для этого в модификаторе bhkRigidBody есть соответствующая кнопка, но подобные коллизии будут инициировать ненужные расчеты столкновений, что может негативно сказаться на производительности в игре. Я изобретать новую сетку не стал, скопировал с исходной модели. После импорта модели первым делом я свелдил все вершины с порогом 0,001 и назначил все фейсы на одну группу сглаживания. Далее накидываем модификатор bhkRigidBody, ограничение объема выбираем Packed Strips Shape, и нажимаем кнопку Clone Mesh.

{modal http://s52.radikal.ru/i138/1410/0d/07ba835866b3.jpg|group=gallery}{/modal} {modal http://s017.radikal.ru/i420/1410/65/f06c419e9f11.jpg|group=gallery}{/modal}

В результате у нас копируется сетка красного цвета, которую мы и будем использовать в качестве модели столкновения. Можно переименовать её например в collision, и применяем к ней модификатор bhkRigidBody (у дерева этот модификатор после копирования сетки необходимо удалить!) с ограничением объема опять же Packed Strips Shape.

{modal http://i017.radikal.ru/1410/9d/5744b9c82b92.jpg|group=gallery}{/modal} {modal http://s019.radikal.ru/i625/1410/47/12987eef42d6.jpg|group=gallery}{/modal}

Остальные параметры можно не менять, на данный момент (версия плагина от 11/08/2014) они не работают. По этой причине данным способом нельзя создать коллизии с несколькими материалами, только с одним. Будем надеяться, что разработчик плагина в будущем добавит поддержку материалов.

Можно экспортировать модель, не забыв отметить чекбокс Collision.

{modal http://s017.radikal.ru/i402/1410/68/28cbb6e77140.jpg|group=gallery}{/modal}

Открываем модель в NifScope и донастраиваем несколько пунктов. У меня экспортировалось вот в таком замечательном виде.

{modal http://s020.radikal.ru/i722/1410/d3/39e4d8dde478.jpg|group=gallery}{/modal}

Из настроек надо отредактировать флаги BSXFlags, выбрать материал в блоке bhkCompressedMeshShapeData, и включить отображение цвета вертексов в геометрии модели, с последующим обновлением массива вершин. Особенность плагина такова, что при экспорте цвет вертексов будет включен только при наличии у модели модификатора VertexPaint.

{modal http://s017.radikal.ru/i420/1410/b0/7d9ddee23eef.jpg|group=gallery}{/modal} {modal http://s017.radikal.ru/i406/1410/11/60021c120152.jpg|group=gallery}{/modal}

 

{modal http://s57.radikal.ru/i155/1410/93/6a644e03724e.jpg|group=gallery}{/modal}

Основные настройки шейдера находятся в приемлемом виде сразу после экспорта, однако если необходимо поменять какие либо параметры, то заглядываем и туда. Посмотреть коллизии можно с помощью вьювера программы NifUtilsSuite, там видно все коллизии, даже те, которые не отображает NifSkope.

{modal http://s017.radikal.ru/i413/1410/e4/0cf90e92ad12.jpg|group=gallery}{/modal}

Правда этот вьювер некорректно масштабирует коллизии, в результате чего они не совпадают с моделью.

Теперь переходим в Creation Kit и помещаем наше дерево в игровой мир.

{modal http://s017.radikal.ru/i433/1410/6e/154515504900.jpg|group=gallery}{/modal}

И далее смотрим в игре. Можно видеть, как в дерево втыкаются стрелы.

{modal http://s014.radikal.ru/i329/1410/b7/05cadf15a353.jpg|group=gallery}{/modal} {modal http://s45.radikal.ru/i109/1410/13/aff5751286f6.jpg|group=gallery}{/modal}



Коллизии формы выпуклого многогранника для объектов с поддержкой физики

Теперь создадим модель столкновений, имеющую форму выпуклого многогранника, называемого convex shape. Этот многогранник должен условно повторять форму модели, для которой создаётся, и не должен содержать вогнутых поверхностей. Коллизии вогнутой формы можно создать из нескольких выпуклых. В расчетах столкновений такие коллизии проще, поэтому используются в основном для различных предметов с поддержкой физики, хотя иногда используются и для статичных объектов.
Создавать коллизию будем на примере классического для подобных случаев объекта – чайника.

{modal http://s019.radikal.ru/i613/1411/77/e1ab0fd34aaa.jpg|group=gallery}{/modal}

Для создания convex shape воспользуемся модификатором MassFX Rigid Body. Из настроек достаточно изменить только количество вертексов, из которых будет состоять наш многогранник. В зависимости от сложности геометрических форм модели оно должно составлять в большинстве случаев от 10 до 30 вершин, однако встречаются модели и с большим числом. Например, convex shape Звезды Азуры состоит из 68 вертексов. Их число должно быть по возможности минимальным, но чтобы форма получающегося многогранника соответствовала форме исходной модели. Здесь же мы должны посмотреть центр тяжести многогранника, и выписать эти цифры, позже понадобятся. Теперь нажимаем кнопку Convert to Custom Shape и получаем отдельный меш, из которого и сделаем коллизию, путем добавления ему модификатора bhkRigidBody с ограничением объема Convex Shape.

{modal http://s009.radikal.ru/i307/1411/66/d3b8d6f3a28c.jpg|group=gallery}{/modal} {modal http://s04.radikal.ru/i177/1411/bd/cf946863cab2.jpg|group=gallery}{/modal}

Модификатор MassFX Rigid Body у чайника необходимо удалить, и можно экспортировать модель в nif формат. Дальнейшую настройку произведем в NifSkope. Настроить надо BSX флаги, некоторые параметры, отвечающие за физические взаимодействия, материал модели, а так же включить вертексное освещение в геометрии модели.

{modal http://s04.radikal.ru/i177/1411/4b/addc5af83cf7.jpg|group=gallery}{/modal} {modal http://s60.radikal.ru/i169/1411/01/96136763d7f4.jpg|group=gallery}{/modal}

 

{modal http://s019.radikal.ru/i605/1411/24/b488ac3cc51d.jpg|group=gallery}{/modal} {modal http://i074.radikal.ru/1411/81/404d4394ea3e.jpg|group=gallery}{/modal}

Кое что о параметрах.

Layer – на физику не влияет, отвечает за цвет сетки в Oblivion Construction Set. Нужно ли его менять в моделях для Skyrim?
Center – центр тяжести модели. Сюда заносим результаты расчетов центра тяжести модификатора MassFX Rigid Body разделенные на 70. Однако есть некоторые нюансы. Например, для чайника я пренебрег смещениями по осям x и y, поскольку первое вызвано длиной носика, а второе несимметричностью многогранника. Смещение же по оси z я уменьшил, сместив центр тяжести вниз, чтобы чайник при падении вставал преимущественно на дно. Чем ниже центр тяжести – там больше такая вероятность. При нулевом значении он из любого положения будет вставать на дно, по принципу неваляшки.
Mass – масса модели. Нулевое значение делает модель неподвижной в игре.
Max Linear Velocity и Max Angular Velocity – максимальные линейная и угловая скорости соответственно. Поставил значения близкие к ванильным.
Motion System – система движения. В большинстве ванильных моделей с поддержкой физики используется MO_SYS_SPHERE_INERTIA или MO_SYS_SPHERE, однако с этими системами чайник неестественно долго раскачивается, мне больше понравился MO_SYS_BOX_STABILIZED. В видеороликах можно увидеть разницу.
Inertia – инерция движения модели. Информации нет, в большинстве моделей ненулевые значения присвоены только атрибутам m11, m22, m33. Чем меньше значение – тем быстрее будут колебания и раскачивания модели.
Radius – радиус действия системы движения. По моим наблюдениям значение должно составлять 1/400 – 1/800 часть от минимального габарита модели.
Остальные параметры как на скриншотах.

Ну и собственно результат
В первом ролике использована система движения MO_SYS_SPHERE_INERTIA, во втором - MO_SYS_BOX_STABILIZED.


Продолжение следует.

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


Ресурсы:


NifUtilsSuite
Nif плагин для 3ds Max 2013


+ 11



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

Комментарии   

Котик
#11 Котик 22.03.2016 21:14
Цитирую Aksyonov:
раз два и готово
это тебе щас так кажется, а для меня :eek:
Aksyonov
#10 Aksyonov 22.03.2016 19:30
Цитирую Котик:
нифига непонил :lol: но интересно.


Да что там понимать раз два и готово, хотя просто если честно надо немного поковыряться в этом самостоятельно если инфа не понятна значит мало ещё опыта.
Котик
#9 Котик 22.03.2016 18:45
нифига непонил :lol: но интересно.
Aksyonov
+1 #8 Aksyonov 02.10.2015 06:01
@perture !!! да это первый урок который пояснил мне реально как сделать коллизию !!! спасибо спасибо огромное - я благодаря тебе только научился делать статики и здания )) а также с нуля коллизии для оружия )
Artemida-blade
+1 #7 Artemida-blade 16.05.2015 15:32
просто шикарно, спасибо за такое объяснение
Dmitrii
+1 #6 Dmitrii 16.05.2015 10:51
Можно через хавок сделать
Havok Content Tools - Physics - Open Convex Hull Utility - Generate Hull
Revil
+1 #5 Revil 15.05.2015 11:56
Цитирую @perture:
Только я не знаю, когда время для этого найду. Пока можешь здесь почитать.modgames.net/forum/216-12653-1136086-16-1414737622

Спасибо!
@perture
+2 #4 @perture 15.05.2015 11:30
Только я не знаю, когда время для этого найду. Пока можешь здесь почитать.modgames.net/forum/216-12653-1136086-16-1414737622
Revil
+1 #3 Revil 15.05.2015 10:58
Цитирую @perture:
Да, вполне подойдет. Есть способ создания Convex Shape коллизии непосредственно в NifSkope, позже добавлю.

Было бы неплохо. Заранее спасибо :-)
@perture
+2 #2 @perture 15.05.2015 10:50
Да, вполне подойдет. Есть способ создания Convex Shape коллизии непосредственно в NifSkope, позже добавлю.
Revil
+1 #1 Revil 15.05.2015 09:59
Convex shape, же подойдет для создания граунд-модели брони/одежды? А то я чувствую себя подозрительно, делая ее копипастой.

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