ragumah |
Отправлено: 20 Декабря, 2017 - 13:32:01
|
Junior Member
Сообщений всего: 97
Дата рег-ции: Июнь 2017
|
Антон, подскажи пожалуйста роль FNIS в физике тела и зачем в файлах к скелету лежит hkx файлы, я думал физика это не анимация -
https://gamer-mods.ru/load/skyri..._se/164-1-0-6314
Попробовал поставить без него и получил довольно интересный результат. Голое тело не использует физику, тогда как при одетой броне (не всей, а только некоторой, видать которая перекочевала из LE) физика есть, но есть один косяк - живот, то нормальный, то выпирает, то внутрь проваливается. |
|
|
Anton |
Отправлено: 20 Декабря, 2017 - 14:26:16
|
Advanced Member
Сообщений всего: 426
Дата рег-ции: Авг. 2011
Откуда: Москва
|
ragumah, помню об этом моде под SE. У меня в предыдущей версии Sky Castle Body тела фалмерок и дреморок полностью поддерживали физику, остальные расы её не имели. Причина проста - ни у кого нет женских персонажей фалмерок и дреморок и я мог экспериментировать не опасаясь конфликтов. Но позже решил единообразно сделать полную поддержку физики. Будут конфликты, так как физика у всех разная и все уже себе разного понаставили. Будет ругань, потерплю, так как тела в новом моде стоят того, чтобы от других отказаться Это я так издалека начал, чтобы было понятно, чем сейчас по уши загружен. Я переделываю всю свою одежду под физику и под единую систему переодевания. Пока не закончу переделку всего что было в SCB под физику в LE, разбираться с недофизикой в SE не буду. Чтобы переходить к следующему этапу, нужно завершить предыдущий.
ФНИС в принципе предназначен для того, чтобы подружить вместе анимации из разных модов. Одна беда, ему удаётся это сделать только если мод специально под него и разрабатывался. У меня же принцип - не заставлять пользователя ставить сторонние моды, поэтому я не использую такие вещи как ФНИС. Сделал исключение для SKSE и теперь имею кучу проблем с его отсутствием в SE.
Раз там требуется ФНИС, значит, они сделали физику через анимацию. Вообще то в анимации есть некоторое подобие физики. Когда я игрался с анимированным забралом к шлему, то обнаружил, что оно дёргается при прыжках. Т.е. там есть инерция и упругость. Но нет коллизий. Болтающийся предмет ни с чем не соударяется и ни с чем не взаимодействует.
Мне непонятно, что именно ты поставил в SE. В LE это работало так: В папке плагинов под SKSE лежала ДЛЛ-ка, которая обеспечивала физику. Ещё там был конфигурационный файл hdtPhysicsExtensionsDefaultBBP.x ml. Это дефолтная конфигурация, которая описывает веса костей и их связи и коллизии. Игрок мог ставить тела и броню не задумываясь о конфигурационном файле, так как при его отсутствии в составе тела или брони, использовался дефолтный. Но для специальных тел и брони мододелы создавали специальные конфигурационные файлы, путь к которым прописывается в НИФе. Тогда используются именно они.
Так вот у меня вопрос: что именно ты поставил в игру, что вдруг заработала старая физика? Пусть частично, ведь это только начало пути. Понятно, SKSE нет, ДЛЛка старая вроде не должна работать. А что тогда работает? Какай кофигурационный файл (xml) используется? В какой броне он прописан? Старая физика анимацию вроде не использует... |
|
|
Anton |
Отправлено: 21 Декабря, 2017 - 06:58:30
|
Advanced Member
Сообщений всего: 426
Дата рег-ции: Авг. 2011
Откуда: Москва
|
ragumah, Отлично!
Значит, не через ФНИС, не через анимацию. Это меня радует. Ведь мне же всё, что я сейчас делаю, надо будет переносить в SE.
Этот твой опыт очень ценен для меня. Значит:
1.) SKSE работает в достаточной мере, чтобы запускать ДЛЛ-ки.
2.) Зачатки физики работают. Скорее всего и народ работает над продолжением. Дело в том, что физика для LE была сделана давно и, судя по всему, тогда же ДЛЛ-ка была заброшена автором, а там остались досадные глюки.
Теперь о привязке. Рассказываю я, естественно, основываясь на том, как это сделано в LE. В НИФе одним из узлов (обычно первым) является строковый параметр NiStringsExtraData (бывает NiStringExtraData, разница не велика). У него есть имя HDT Havok Path. А его строки (Data), указывают на конфигурационные файлы, вроде: Data\SKSE\Plugins\SkyCastleHDT\hdtBody.xml. Сами эти файлы можно (но очень неудобно) читать блокнотом. Ещё для этого существует специальная утилита just for fun full v4.
Привязка к костям находится в BSDismemberSkinInstance. Там для каждого вертекса находятся по 4 коэффициента привязки к костям. Если он привязан к меньшему числу костей, остальные коэффициенты - 0. Скайрим работает только с привязкой до 4 костей. Сумма коэффициентов для каждого вертекса = 1. В НИФскопе нет инструментов для управления привязкой к костям. Но сами кости там можно переименовывать.
В расширенном скелете есть специальные кости (и не одна, он сильно избыточен) груди, попы и живота. Но можно обойтись и без него. Перечисленные кости могут быть встроены непосредственно в НИФ брони. Такая тебе тоже может попасться. |
|
|
Anton |
Отправлено: 21 Декабря, 2017 - 15:24:46
|
Advanced Member
Сообщений всего: 426
Дата рег-ции: Авг. 2011
Откуда: Москва
|
ragumah,
Вертекс это точка модели. Модель состоит из точек, которые соединены в треугольники. На треугольники натягивается текстура. Чтобы повернуть или сместить модель надо все точки её повернуть или сместить, тогда при рисовании сцены она окажется в другом месте.
В NiSkinData находятся несколько списков всех вертексов, на которые влияет некоторая кость. Точнее это список весов (коэффициентов влияния) данной кости на вертекс. В игре движок рассчитывает положение каждой точки (вертекса) модели с учётом положения камеры, модели и костей, которые влияют на вертекс.
Внутри BSDismemberSkinInstance содержится список всех костей, которые влияют на данную модель.
Внутри корневого NiNode находятся все кости, которые мододел включил в данный НИФ. Он может туда включить и лишние кости. От этого нет вреда, кроме роста веса файла. А вот если игра не найдёт там кости, к которой привязан некоторой вертекс, вылетит на рабочий стол. Обычно кости там идут плоским списком, в котором подряд перечислены хорошо известные кости скелета. В принципе, кости могут там быть не плоским списком, а ветвистой структурой как они находятся внутри файла скелета. Если мододел включил физику внутрь брони, то там кости будут представлены именно в виде иерархического дерева, в котором могут оказаться узлы (кости) с нестандартными названиями. В частности, там будут кости Breast (грудь) и т.д. |
|
|
|