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

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

21. ragumah - 24 Января, 2018 - 22:52:48 - перейти к сообщению
Антон, приветствую. Можешь поподробнее описать как можно прописать систему высоких каблуков к обуви? Недавно вышла Физика HDT SMP + HDT HighHeel для Скайрим SE 1.5.23.08. Физика работает, а как НН пользоваться не пойму.
И еще вопрос. Если у меня 2 NPC с разными телами UUNP и CBBE, можно ли сделать чтоб физика у них обеих работала?
22. Anton - 25 Января, 2018 - 06:13:22 - перейти к сообщению
ragumah, я знаю эту систему только в Skyrim LE. Там это устроено так. Есть 2 скрипта:

hdtHighHeelShoes.pex вешается на обувь с высоким каблуком:

Scriptname hdtHighHeelShoes extends ObjectReference

SPELL Property hdtHighHeelSpell Auto
int Property SexFlag = 1 Auto; // 0 for male only, 1 for female only, 2 for both
bool Property isUnequipped = false Auto hidden;

Event OnEquipped(Actor akActor)
isUnequipped = false;
Utility.Wait(0.1);
if(!isUnequipped)
ActorBase base = akActor.GetLeveledActorBase() as ActorBase;
if( SexFlag == base.GetSex() || SexFlag == 2 )
akActor.AddSpell(hdtHighHeelSpell, false)
endif
endif
endEvent

Event OnUnequipped(Actor akActor)
akActor.removeSpell(hdtHighHeelSpell)
isUnequipped = true;
endEvent

Он проверяет, одета ли обувь и, если одета, накладывает на базового персонажа этого героя (у базового персонажа в игре может быть не одна копия и сработает на всех) заклятие высокого каблука hdtHighHeelSpell. Скрипт чувствителен к полу персонажа. Обувь должна быть спроектирована с расчётом на подъём персонажа на 6 единиц.

hdtHighHeelEffect.pex - вешается на заклятие высокого каблука hdtHighHeelSpell. Этот скрипт большой и его текст не привожу. Он подключает библиотеку высокого каблука и регулирует заклятие в зависимости от используемой персонажем фурнитуры.
23. ragumah - 26 Января, 2018 - 15:18:11 - перейти к сообщению
Тогда вопрос, повешать скрипт нужно через СК или можно через нифскоп?
И еще вопрос, не подскажешь как можно hdt физику настроить?
24. Anton - 26 Января, 2018 - 17:19:37 - перейти к сообщению
Скрипты устанавливаются через CK. Только там.

Я знаю HDT-физику только для Skyrim LE. Для SE ещё не разбирался. На него буду переходить, только когда закончу основную работу в LE. Иначе я окажусь с тысячью моделей, которые надо открывать и сохранять извращёнными способами, вместо налаженных процедур.
25. ragumah - 26 Января, 2018 - 19:29:56 - перейти к сообщению
Но, все таки. Я сомневаюсь, что HDT в LE и SE очень сильно разнятся. Мне главное хотя бы принцип понять, а дальше разберусь.
26. Anton - 26 Января, 2018 - 20:15:49 - перейти к сообщению
Тогда так. Вся физика заключается в скелете и конфигурационном файле hdtPhysicsExtensionsDefaultBBP.x ml. Ну и конечно в DLL-ке физики.
В скелете должны присутствовать новые кости - грудь, попа, живот. Какой скелет - не важно, только должны быть эти кости.
В принципе, для физики можно даже использовать кости, которых нет в человеческом скелете. Так, например, устроены волосы и плащи. Тогда скелет этих костей встраивают в модель волос или плаща.
Взаимосвязь костей (масссы, упругости), коллизии находятся в конфигурационном файле. Файл этот достаточно сложен и для начала надо использовать тот, что идёт в комплекте с физикой.
Если используется нестандартный конфигурационный файл, то путь к нему прописывается в НИФе тела в узле типа NiStringsExtraData или NiStringExtraData с именем HDT Havok Path.
Собственно говоря, это всё. Одежда и тела должны быть отскинены с использованием новых костей. Т.е. грудь привязана к костям груди и т.д. В игре всё само начинает двигаться как надо.
27. ragumah - 27 Января, 2018 - 21:02:27 - перейти к сообщению
В общем, более-менее получилось немного подправить физику так как мне нужно, но возникли некоторые вопросы. Действительно, настройки находятся в xml файле (к примеру cbbe-tbbp.xml) и в них есть такие параметры:

<linearLowerLimit x="-1" y="-1" z="-9"/>
<linearUpperLimit x="1" y="2" z="7"/>
<angularLowerLimit x="-0.1" y="-0.1" z="-0.3"/>
<angularUpperLimit x="0.1" y="0.1" z="0.3"/>
<linearStiffness x="246.74" y="246.74" z="246.74"/>
<angularStiffness x="1096.62" y="1096.62" z="1096.62"/>
<linearDamping x="1" y="1" z="1"/>
<angularDamping x="4" y="4" z="4"/>
<linearEquilibrium x="0" y="0.5" z="-4"/>
<angularEquilibrium x="0" y="0" z="0"/>
<linearBounce x="0.7" y="0.7" z="0.7"/>
<angularBounce x="0.7" y="0.7" z="0.7"/>

и вот здесь не совсем понял за что отвечают параметры с приставкой angular и linearBounce. Антон, не подскажешь где можно почитать про эти параметры?
28. ragumah - 28 Января, 2018 - 12:56:33 - перейти к сообщению
К стати, hh работает и высота нормально регулируется.
29. Anton - 28 Января, 2018 - 20:42:43 - перейти к сообщению
Описания всех этих переменных я нигде не видел. Но существует утилита, которая читает конфигурационные файлы и позволяет их редактировать - just for fun full v4. По ней можно предположить назначение некоторых из этих переменных.
30. ragumah - 28 Января, 2018 - 23:51:38 - перейти к сообщению
Дык, вроде через блокнот в xml файле вполне редактируется или я чего то не понимаю? По крайней мере грудь и ягодицы подправил, чтоб не тряслись как желе по 5 минут, ну и амплитуду по оси Z добавил.
Globe Globe Mask
Число посетителей, Время, Дата

Script Execution time: 0.0223     Gzipped