Конференция Призма » Программирование » Плагины для Skyrim » Создание модов для Skyrim SE

Страниц (7): [1] 2 3 4 5 6 7 »
 

1. Anton - 16 Декабря, 2017 - 17:41:54 - перейти к сообщению
Я ещё подумал, и решил, что отдельную тему для модов под SE всё же создать стоит. Улыбка Будущее всё же за 64-битным Скайримом.
2. ragumah - 17 Декабря, 2017 - 21:47:28 - перейти к сообщению
Ура! Мой перфекционизм ликует Радость
Теперь по теме. Антон, есть интересный вопрос: возможно ли в расе прописать физику тела?
3. Anton - 17 Декабря, 2017 - 23:31:22 - перейти к сообщению
ragumah, вот только не знаю, как это будет в SE. В LE физика это свойство скелета. А скелет задаётся как раз в свойствах расы. В скелет добавляются кости, которые будут двигаться по законам физики. Тело и одежда привязываются к этим подвижным костям. В принципе, скелет вместе с подвижными костями может быть вставлен внутрь НИФ-файла тела. Тогда физику можно задавать индивидуально для каждого персонажа. Ведь скин задаётся в свойствах персонажа. Примерно тут находится граница моих знаний о физике тела. Сейчас я встраиваю её всем персонажам и осталась нерешённая проблема как отключать физику при одевании жёсткой брони. Ведь грудь не должна вылетать за пределы кирасы ни при каких прыжках.
4. ragumah - 20 Декабря, 2017 - 13:32:01 - перейти к сообщению
Антон, подскажи пожалуйста роль FNIS в физике тела и зачем в файлах к скелету лежит hkx файлы, я думал физика это не анимация -
https://gamer-mods.ru/load/skyri..._se/164-1-0-6314

Попробовал поставить без него и получил довольно интересный результат. Голое тело не использует физику, тогда как при одетой броне (не всей, а только некоторой, видать которая перекочевала из LE) физика есть, но есть один косяк - живот, то нормальный, то выпирает, то внутрь проваливается.
5. Anton - 20 Декабря, 2017 - 14:26:16 - перейти к сообщению
ragumah, помню об этом моде под SE. У меня в предыдущей версии Sky Castle Body тела фалмерок и дреморок полностью поддерживали физику, остальные расы её не имели. Причина проста - ни у кого нет женских персонажей фалмерок и дреморок и я мог экспериментировать не опасаясь конфликтов. Но позже решил единообразно сделать полную поддержку физики. Будут конфликты, так как физика у всех разная и все уже себе разного понаставили. Будет ругань, потерплю, так как тела в новом моде стоят того, чтобы от других отказаться Улыбка Это я так издалека начал, чтобы было понятно, чем сейчас по уши загружен. Я переделываю всю свою одежду под физику и под единую систему переодевания. Пока не закончу переделку всего что было в SCB под физику в LE, разбираться с недофизикой в SE не буду. Чтобы переходить к следующему этапу, нужно завершить предыдущий.
ФНИС в принципе предназначен для того, чтобы подружить вместе анимации из разных модов. Одна беда, ему удаётся это сделать только если мод специально под него и разрабатывался. У меня же принцип - не заставлять пользователя ставить сторонние моды, поэтому я не использую такие вещи как ФНИС. Сделал исключение для SKSE и теперь имею кучу проблем с его отсутствием в SE.
Раз там требуется ФНИС, значит, они сделали физику через анимацию. Вообще то в анимации есть некоторое подобие физики. Когда я игрался с анимированным забралом к шлему, то обнаружил, что оно дёргается при прыжках. Т.е. там есть инерция и упругость. Но нет коллизий. Болтающийся предмет ни с чем не соударяется и ни с чем не взаимодействует.
Мне непонятно, что именно ты поставил в SE. В LE это работало так: В папке плагинов под SKSE лежала ДЛЛ-ка, которая обеспечивала физику. Ещё там был конфигурационный файл hdtPhysicsExtensionsDefaultBBP.x ml. Это дефолтная конфигурация, которая описывает веса костей и их связи и коллизии. Игрок мог ставить тела и броню не задумываясь о конфигурационном файле, так как при его отсутствии в составе тела или брони, использовался дефолтный. Но для специальных тел и брони мододелы создавали специальные конфигурационные файлы, путь к которым прописывается в НИФе. Тогда используются именно они.
Так вот у меня вопрос: что именно ты поставил в игру, что вдруг заработала старая физика? Пусть частично, ведь это только начало пути. Понятно, SKSE нет, ДЛЛка старая вроде не должна работать. А что тогда работает? Какай кофигурационный файл (xml) используется? В какой броне он прописан? Старая физика анимацию вроде не использует...
6. ragumah - 20 Декабря, 2017 - 23:40:06 - перейти к сообщению
В общем, что у меня стоит:
- основной реплейсер LB
- SKSE64
- компаньоны с телами CBBE и UNP - созданы отдельные расы для каждой прописан скелет XPMSSE
- в папку дата закинут SKSE/Plugins/CBPConfig.txt, SKSE/Plugins/cbp.dll
- "броня" (сложно броней назвать Улыбка ) - Amazing World of Bikini Armor, портирована из LE
Длл работает (проверял), в конфиге прописаны настройки - там же проблема с животом решается.
(Добавление)
SKSE64 тоже в работе участвует, без него физика не запускается
(Добавление)
Вопрос возникает, где в нифе прописывается привязка к конфигурационным файлам, как через нифскоп это посмотреть можно?
(Добавление)
и можно ли самому привязать физику к другой броне?
7. Anton - 21 Декабря, 2017 - 06:58:30 - перейти к сообщению
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. В НИФскопе нет инструментов для управления привязкой к костям. Но сами кости там можно переименовывать.
В расширенном скелете есть специальные кости (и не одна, он сильно избыточен) груди, попы и живота. Но можно обойтись и без него. Перечисленные кости могут быть встроены непосредственно в НИФ брони. Такая тебе тоже может попасться.
8. ragumah - 21 Декабря, 2017 - 10:14:38 - перейти к сообщению
Спасибо за оценку моей деятельности. Есть вопрос: уточни, пожалуйста, как называется вертекс в нифе, где указывается коэффициент?
"Перечисленные кости могут быть встроены непосредственно в НИФ брони." - как это можно определить и как это можно сделать?
9. Anton - 21 Декабря, 2017 - 15:24:46 - перейти к сообщению
ragumah,
Вертекс это точка модели. Модель состоит из точек, которые соединены в треугольники. На треугольники натягивается текстура. Чтобы повернуть или сместить модель надо все точки её повернуть или сместить, тогда при рисовании сцены она окажется в другом месте.

В NiSkinData находятся несколько списков всех вертексов, на которые влияет некоторая кость. Точнее это список весов (коэффициентов влияния) данной кости на вертекс. В игре движок рассчитывает положение каждой точки (вертекса) модели с учётом положения камеры, модели и костей, которые влияют на вертекс.

Внутри BSDismemberSkinInstance содержится список всех костей, которые влияют на данную модель.

Внутри корневого NiNode находятся все кости, которые мододел включил в данный НИФ. Он может туда включить и лишние кости. От этого нет вреда, кроме роста веса файла. А вот если игра не найдёт там кости, к которой привязан некоторой вертекс, вылетит на рабочий стол. Обычно кости там идут плоским списком, в котором подряд перечислены хорошо известные кости скелета. В принципе, кости могут там быть не плоским списком, а ветвистой структурой как они находятся внутри файла скелета. Если мододел включил физику внутрь брони, то там кости будут представлены именно в виде иерархического дерева, в котором могут оказаться узлы (кости) с нестандартными названиями. В частности, там будут кости Breast (грудь) и т.д.
10. ragumah - 22 Декабря, 2017 - 19:39:29 - перейти к сообщению
Антон. Очень все подробно изложил. По твоим ответам можно книгу для мододелов писать Улыбка
Можешь уточнить по некоторым вопросам:
- "по 4 коэффициента привязки к костям" имеешь ввиду NiSkinPartition/Vertex Data/Bone Indices
- "В NiSkinData находятся несколько списков всех вертексов, на которые влияет некоторая кость. Точнее это список весов (коэффициентов влияния) данной кости на вертекс." т.е. вот этот список NiSkinData/Bone List/Bone List/Vertex Weights/Vertex Weights(последних очень много)?
- "кости будут представлены именно в виде иерархического дерева" напротив, список простой, т.е. не ветвистый - 0 NiNode/Children/список костей (в модели которую смотрел их 26)
Globe Globe Mask
Число посетителей, Время, Дата

Script Execution time: 0.0409     Gzipped