Перейти к содержанию

VitSu

Участник
  • Публикаций

    42
  • Зарегистрирован

  • Посещение

Весь контент VitSu

  1. Кто-нибудь знает, как в OUTFIT STUDIO при создании проекта делать недеформирующиеся предметы, типа пуговиц? Нужно, чтобы они только перемещались в соответствии с формой сисек тела при выборе пресета, но не деформировались.
  2. Надо бы закончить тутор. Наверняка многие уже заждались. (Сказал VitSu, оглядывая пустую аудиторию с дремавшим где-то на галерке SBelyi).🙂 Итак, немного о виде самой программы. Если выбран Layout Graph Editing, то слева вверху будет поле Сharacters - дерево проекта, где будут представлены не только файлы проекта, но и содержимое бехавиор файла. Дальше идет поле Graph View. Тут будет находится содержимое бехавиор файла в графическом виде. Следом идет 3d Viewport. Там должен быть наш человечек, чтобы визуально наблюдать, что мы делаем, но мы его использовать не будем, ибо это тема отдельного тутора. Примерное представление об этом можно получить из урока по анимации сфер от Дмитрия Апёнова (@perture). Внизу находятся поле для логов и настроек блоков бехавиор файла. Переходим в поле Characters - ПКМ по папке Characters и выбираем New character. В появившемся окне нужно ввести имя файла. Про этот файл я тоже писал в предыдущей части. Называем его, как и в игре, defaultmale. Под папкой Characters появились два новых файла defaultmale.hkc и Behavior00.hkb, а в поле Graph View появился новый блок Reference Pose. Выделяем файл Behavior00.hkb, ПКМ - Rename и переименовываем его на FNIS_MyTest_Behavior.hkb. Переходим в поле Graph View. Удаляем блок Reference Pose, т.к. это ничто иное, как т-поза. Теперь ПКМ - Create New - Clips. В появившемся окошке выбираем наш файл анимации. Анимацию добавили, теперь нужно присоединить к ней команду, по которой она будет вызываться из скрипта или из консоли: ПКМ по блоку - Add Transition - WildCard. Видим, как появилась стрелка, идущая к нашему блоку. Щелкаем мышкой по этой стрелке и переходим в поле настроек. Там мы видим имя нашего перехода и две вкладки настроек: Basic и Advanced. Нам нужна Basic: справа в поле WildCard Setting отмечаем Global. Global это значит, что команда будет услышана из вне нашего бехавиор файла, например из консоли в игре или из скрипта. Теперь исправим имя ивента, ибо он получился слишком длинным и неудобным. Переходим в поле Event и щелкаем по значку карадаша с листочком бумаги. Нас перебросило в настройки ивента. Там переименовываем ивент во что-нибудь удобное. Для теста можно просто "aaa". Вот, в общем-то, и всё. Мы создали самый простой (проще не бывает) бехавиор файл. Осталось только его экспортировать. В главном меню нажимаем File - Export All. В появившемся окне жмем на Save All. Всё. Программа нам больше не нужна, закрываем. Осталось немного. Идем в директорию проекта и в папке Behaviors видим файл FNIS_MyTest_Behavior.xml. Нужно сконвертировать его в бинарный. Но, этот файл у нас другой версии, не скайримовской, поэтому открываем его в текстовом редакторе и во второй строке переименовываем classversion="11" на classversion="8". Вот так просто мы сконвертировали файл из одной версии хавока в другой.) Теперь конвертируем этот xml файл в бинарный и заменяем им файл в нашем моде. И последний штрих - заходим в игру, открываем консоль, тыкаем курсором в какого-нибудь непися и вводим: sae aaa. Любуемся, как непись делает вид, что подметает - метлы-то у него нет.🙂 А вот как вручить ему метлу, отключить слежение головой или плечами(как в фурнитурной анимации), рандомно переключать анимации и др. можно посмотреть в ванильном mt_behavior с помощью программы Skyrim Behavior Tool (ссылка есть где-то в моих предыдущих постах).
  3. Господа довакины, есть какой-нибудь гайд по трансформации игрока в другую расу? Можно, конечно, в модах посмотреть или в самой игре как игрок превращается в вервольфа, но хотелось бы именно гайд, чтобы самому не тратить время на разбирательство. Ну и следующий вопрос: возможно-ли сменить не только расу, но и пол игрока?
  4. Немного ошибся - осталось не на один пост а на два... надеюсь.) Займемся практикой. Для начала создадим свой мод. В Animations создаем новую папку, обзываем ее как-нибудь, например, MyTest, и копируем туда любую анимацию. Хотя я пару постов назад и спрашивал про выбор анимаций, но поскольку гайд будет коротким, то можно взять любой файл анимации из мода или ванильный. Я взял ванильный animobjectsweepingidlevar1.hkx, т.к. давеча экспериментировал с ним. Итак, копируем animobjectsweepingidlevar1.hkx в папку MyTest. Теперь нужно создать фнис-лист: в этой-же папке создаем текстовый файл, называем его FNIS_MyTest_List.txt и вписываем туда такую строку: b aaa animobjectsweepingidlevar1.hkx ("b" - простая одиночная idle-анимация; "aaa" - ивент, или команда, по которой будет вызываться эта анимация. Для настоящего мода лучше назвать это ивент, конечно, более осмысленно. А нам для теста и так сойдет.)) Теперь сгенерируем бехавиор файл программой GenerateFNISforModders и зарегистрируем нашу анимацию с помощью GenerateFNISforUsers (именно в такой последовательности). Заглянем в папку behaviors и увидим там наш только что сгенерированный FNIS_MyTest_Behavior.hkx. Вот его и будем менять. Но попозже. Наконец, пришло время для Havok Animation Tool (НАТ в дальнейшем). Но, сначала на рабочем столе создадим новую папку и назовем ее, скажем, "ProjectsHAT". Набор файлов, который создает НАТ, называется проектом. Запускаем программу! Выскочит окошко на введение какого-то кода, которого нет. Поэтому просто его закрываем. Нажимаем на кнопку "Creates a new project". Появится окно для создания нового проекта, которое сейчас разберем подробнее: Location - папка с проектами. Нажимаем на кнопку "Browse..." и выбираем нашу папку на рабочем столе "ProjectsHAT". Sub-folder - отдельная папка для нашего проекта. Можно оставить как есть, но мы впишем туда название мода: MyTest. Убедитесь, что галка стоит. Name - если галка не стоит, то файл проекта будет называться так-же, как и папка проекта. Кстати, о файле проекта: помните, я писал о самом главном файле, который лежит в BSA архиве, в предыдущей части гайда? Это он и есть. Можно оставить как есть, но мы назовем его, как в игре: ставим галку и вписываем defaultmale.hkp (или defaultfemale.hkp). Настроим папки проекта - жмем на "Configure the new project...". В левой части появившегося нового окошка находится список папок проекта. Узнаете?) Ну так скайримовские бехавиоры создавались на этой программе, только другой версии и с дополнительными модулями на беседковские модификаторы. Жаль, что их нигде не достать. В правой части находятся настройки для папок. По порядку будем тыкать на названия папок в левой части и настраивать в правой. CharacterAssets - папка, на которой часто спотыкаются начинающие бехавиористы.) Дело в том, что "CharacterAssets" в игре пишется с пробелом между двух слов - "Character Assets", а тут, как видим, слитно. Можно оставить как есть, т.к. этот файл для нашего мода не нужен, а можно исправить - жмем на кнопку с тремя точками в поле Include Path, в появившемся окне жмем на Edit и вставляем пробел. В поле Export Options ставим галку по желанию. Можно вообще никуда не ставить, т.к. для нашего мода этот экспортируемый файл не нужен. Но, если захочется посмотреть из чего он состоит, то ставим галку на Export XML Tagfiles. В Export to folder так-же вставляем в путь пробел и убираем Export\. Animations - жмем на кнопку с тремя точками в поле Include Path, в появившемся окне жмем на Edit и пишем туда наш путь Animations\MyTest\. В поле Export Options ни в коем случае не ставим никаких галок! Убираем их если есть, иначе придется править xml файл вручную - не знаю почему, но если стоит галка на экспорт анимации, то из бехавиора файла убирается путь до этой анимации. Папки Characters, Вehaviors и Project настраиваются одинаково - ставим галку на Export XML Tagfiles и из пути убираем Export\. Остальные папки не нужны. Вроде, все. ОКейнуем оба окна с настройками и сохраняемся. Теперь оставим ненадолго программу НАТ и скопируем в Animations\MyTest\ паки проекта файл animobjectsweepingidlevar1.hkx. Файл должен быть бинарным 32-битным, пэтому если вы делаете мод для SSE, нужно предварительно сконвертировать этот файл. Или взять из LE версии. Возвращаемся в HAT. Чтобы скопированный файл подхватился, нужно заново открыть проект. Надеюсь, как это сделать, объяснять не нужно. Настройте вид полей программы: в меню выберите View и пощелкайте по видам. Я выбрал Layout Graph Editing. Наконец-то начинаем само создание бехавиора! В следующий раз.
  5. Да тут осталось-то на один пост. Решил все-таки короткий гайд сделать и показать только как сделать простейшое управление одной анимацией и заменить ею фнисовское. Скоро выложу.
  6. Граждане Скайрима! Для дальнейшего написания тутора мне нужен ваш совет, какую группу анимаций использовать: мужское соло, женское соло (чтобы, так сказать, соответствовало тематике сайта), или просто нейтральную анимацию подметания, например. Заодно узнаю скольким, людям это интересно. Ибо этот раздел модостроения довольно специфичен, сюда и в лучшие-то времена редко кто забредал. В общем, чтобы не получилось так, как с моим тутором по анимации SOS, который оказался никому не нужен, и зря не терять время я решил так: если три человека и более выразят заинтересованность, то буду писать подробно, если меньше, то в следующем посте кратко напишу как заменить фнисовский бехавиор своим.
  7. Начну потихоньку. Сразу скажу, что я не программист, а туториалов по этой теме практически нет, поэтому некоторые термины могут быть неподходящими. Итак, что такое бехавиор файлы или файлы поведения? Это часть системы движка игры по управлению анимациями. Например, нажал на W, движок посылает ивент (или команду, проще говоря) этой системе на включение анимации бега. Замечу - только включение анимации. За перемещением игрока в пространстве отвечает совсем другая часть движка игры (наверняка все видели, когда забывали запустить FNIS, как игрок перемещается в Т-позе). Из чего состоит эта система? Самый главный файл это defaultmale.hkx (defaultfemale.hkx для женщин), который находится по пути meshes\actors\character. Т.к. он самый главный, то он практически ничего не делает (прям как в жизни!), поэтому его редко кто видит и он лежит себе спокойно в BSA архиве. Единственная его задача это ссылка на одноименный файл в папке сharacters (characters female). Ну и я его тоже трогать не буду, поэтому говоря о defaultmale.hkx, я буду иметь ввиду именно файл, находящийся в папке сharacters. Вот в этом файле уже содержится много чего: ссылки на все анимации в папке Animations, ссылка на 0_master.hkx в папке behaviors, ссылка на skeleton.HKX в папке character assets (skeleton_female.hkx в character assets female), а так-же куча информации о самом скелете, в которой я еще не разбирался. Бехавиор файлы являются общими для мужчин и женщин. Анимации в основном общие, но есть и раздельные. 0_master.hkx является главным в своей папке, как можно догадаться из названия. Помимо того, что он сам является бехавиор файлом, в нем еще находятся ссылки на другие бехавиор файлы в папке. В общем типичный "бугор".) Теперь немного разберемся как работает FNIS. Когда мододел делает свой мод, он копирует свои файлы анимаций в отдельную папку в Animations и составляет там т.н. FNIS-лист, в котором прописывает некоторые правила для анимаций. Затем запускает программу GenerateFNISforModders, которая читает FNIS-лист и в соответствии с ним создает бехавиор файл, копируя его в папку behaviors. Следующим этапом запускает GenerateFNISforUsers, которая также читает FNIS-лист, прописывает пути анимаций в defaultmale.hkx (defaultfemale.hkx) и так-же прописывает ссылку на сгенерированный бехавиор файл в 0_master.hkx. Это в общем случае для idle-анимаций. Управление фурнитурной анимации прописывается в файл mt_behavior.hkx, парная - в 0_master.hkx (есть еще другие типы анимаций, но я с ними не разбирался). Если FNIS-лист имеет только фурнитурную или парную анимацию, то GenerateFNISforModders сгенерирует пустой бехавиор файл (в смысле ничего не делающий). Для чего это сделано непонятно. Мы-же будем заниматься idle-анимациями и заменять бехавиор файл, сгенерированный GenerateFNISforModders, своим, созданным с помощью Havok Animation Tool. Но, об этом в следующий раз.
  8. Да я и сам-то более-менее научился только в idle анимациях разбираться. Проблема в том, что практически нигде нет туториалов по файлам поведения. Да и с инструментами бяда - НАТ, как я писал, не полный, а единственную недоделанную программу Skyrim Behavior Tool (ссылка) автор давно забросил (но с помощью нее удобно смотреть бехавиор файлы). В общем, посмотрю - возможно, небольшими кусками буду в этой теме выкладывать.
  9. Небольшой урок по созданию анимированных сфер с использованием Havok Content Tools и Havok Animation Tool: https://youtu.be/77GwOz8WNE8 ЗЫ Всё сам хотел написать туториал по HAT по исправлению FNIS-овских бехавиоров, да все никак руки не доходят.
  10. Оба подходят. В настройках только нужно выставить выходной файл в xml формате, который без проблем можно потом сконвертировать в бинарный файл 2010 скайримовской версии. Хорошая штука для начального изучения файлов поведения и создания простых бехавиоров. Проблема только в том, что у них нет фирменных беседковских модификаторов. Т.е. те блоки названия которых начинаются с BS, придется вручную вставлять в xml.
  11. Недавно вышел плагин, который может конвертировать 64-битные behavior файлы в xml. https://www.nexusmods.com/skyrimspecialedition/mods/43108 Файл от SOS плагин сконвертировал без проблем, а вот стандартный 0_master.hkx не смог. Возможно, размер слишком большой.)
  12. Понятно. Значит с подобной проблемой сталкиваться тебе еще не приходилось.🙂 Конечно, редкое явление, но все-же имей ввиду: так-же, как и невозможность скомпеллировать скрипт является отсутствие некоторых .psc файлов, так и невозможность открыть свойства скрипта в СК является отсутствие или нахождение в BSA архиве некоторых файлов .pex.
  13. Предположу, что именно так и есть, чтобы не углубляться в дебри скриптописания. SexLab хоть и является фреймворком, но все равно требует скриптовых знаний. А SexLabSolution позволяет обойтись только одной строкой в скрипте. С этим поосторожней. Иногда, особенно при ковырянии чужих скриптов в чужом моде, при нажатии на кнопку "Propirties" может вылезти ошибка, как на скриншоте у addplayer.
  14. Причины известны: в русской версии разделитель целой и дробной части чисел это запятая, а в американской точка. В системе, чтобы не менять весь формат, достаточно заменить этот разделитель на точку: За туториал благодарствую!👍
  15. Всем привет! Экспериментировал тут с бехавиор файлами и сделал небольшой модик-патчик для SOS LE. Может, кому понравится. В общем, мод меняет анимацию простого висения "на полшестого" на периодическое поднятие и опускание. Периодичность рандомная - примерно от 10 до 30 секунд. Устанавливать желательно с помощью менеджера. При ручной установке, сделать резервную копию файла Data\meshes\auxbones\SOS\Behaviors\SOSMaleBehavior.hkx. Мод имеет только один бехавиор файл, никаких скриптов и esp, поэтому удаление должно произвестись без проблем. PS Мод только для мужуков. Дя вампиров, женщин и оборотней нужны отдельные файлы. ViSu_SOS_Flaccid_patch.7z
  16. Ну напишу тогда заодно как вставлять в звук в анимацию на данном примере мода "Komotor". Чтоб уж все до кучи было. Кстати и сама беседка старается звуковые триггеры впихнуть в анимацию, а не в behavior. 1. Убираем лишние триггеры. Все анимационные файлы мода имеют триггеры звуков шагов. Вероятно, автор пользовался [3ds Max] Skeleton Controller Rigs от pornphile. Там по умолчания звуки шагов впихиваются в каждый файл и перед экспортом нужно их вручную удалять, на что автор мода забил. В общем, создаем новую папку и копируем туда папку KomAnimT2Pack из мода. Скачиваем hkanno и распаковываем туда-же программу (только одну программу, больше ничего). Создаем в папке пустой текстовый файл anno.txt. создаем еще один текстовый файл, называем его, скажем 123.bat и вписываем туда: for /r %%a in (*.hkx) do (hkanno.exe update -i anno.txt %%a) Т.е. будет браться каждый hkx-файл, даже если он в папке, и в него будут вставляться триггеры из anno.txt. А поскольку anno.txt пустой, триггеры просто удалятся. Запускаем батник и ждем. Теперь, когда анимации очищены перемещаем папку KomAnimT2Pack обратно в мод, т.е в нашей созданной папке должны остаться только три файла. 2. Вставляем триггеры. Копируем файл Kom_KinkyHound_A1_S1.hkx в нашу папку. Открываем файл anno.txt и вписываем туда: 0.0 SoundPlay.AASKHoundSQS1 Запускаем батник. Таким образом в анимационный файл записался триггер SoundPlay.AASKHoundSQS1 со временем срабатывания 0сек. Затем перемещаем Kom_KinkyHound_A1_S1.hkx обратно в мод. 3. Генерируем behavior. Как я уже писал пару постов назад, звуки из анимаций не работают, если в behavior нет ивента SoundPlay, поэтому в моде открываем FNIS_KomAnimT2Pack_List.txt и в первую-же строку (ну или в какую больше нравится) вставляем триггер с этим ивентом. s -o,TSoundPlay\999.0 Kom_Duo_Street_Life_A1_S1 Kom_Duo_Street_Life_A1_S1.hkx AOKLightStreet Сам триггер не нужен, поэтому его время срабатывания выставил на 999сек. Триггер, понятно, никогда не сработает, но нужный ивент в behavior пропишет. Больше никаких ТSoundPlay в листе не должно быть. Генерируем новый behavior с помощью FNIS_for_modders. 4. Проверяем мод и в игре и если все нормально, повторяем пункт 2 для остальных файлов анимации.
  17. Это для случая, если бы звуковые триггеры стояли в анимационных файлах. Если, как сейчас, триггеры стоят в Behavior, то это не нужно. ЗЫ Еще немного информации: Согласно документации FNIS, по неизвестной причине звуковые триггеры не работают с фурнитурной анимацией. Т.е. придется вставлять эти триггеры в саму анимацию. Если время срабатывания триггера в листе поставить со знаком минус, то FNIS автоматически переместит этот триггер в конец анимации. Цифры можно ставить любые.
  18. Благодарствую! Ужасно.🙂 Но начну с того, что я оказался не прав. Все-таки Behavior был сгенерирован с помощью FNIS-а. Но зачем автор убрал из FNIS листа триггеры? Есть два предположения: или он, когда собирал свой мод в архив, забыл этот лист обновить и по ошибке запхнул старый, или специально "чтоб никто не догадался". Теперь по самому листу: автор, похоже, невнимательно читал документацию по FNIS-у и не знает, что для групповой анимации достаточно поставить модификатор только на первую анимацию и он будет действовать для всей группы. Это не критично, но создаются пустые модификаторы для каждой анимации (см. мой предыдущий пост), которые ни на что не влияют. Но зачем в Behavior запихивать всякий мусор, он и так глючный (впрочем, что в скайриме не глючное?🙂). В общем я тебе составил новый блок из листа: ' Kom_KinkyHound s -o,AVbHumanoidFootIKDisable,TSoundPlay.AASKHoundSQS1/0.0 Kom_KinkyHound_A1_S1 Kom_KinkyHound_A1_S1.hkx AOKKinkyHoundS1 + -o,TSoundPlay.AASKHoundSQS2/0.0 Kom_KinkyHound_A1_S2 Kom_KinkyHound_A1_S2.hkx AOKKinkyHoundS2 + -o,TSoundPlay.AASKHoundSQS3/0.0 Kom_KinkyHound_A1_S3 Kom_KinkyHound_A1_S3.hkx AOKKinkyHoundS3 + -o,TSoundPlay.AASKHoundSQS4/0.0 Kom_KinkyHound_A1_S4 Kom_KinkyHound_A1_S4.hkx AOKKinkyHoundS4 + -o,TSoundPlay.AASKHoundSQS5/0.0 Kom_KinkyHound_A1_S5 Kom_KinkyHound_A1_S5.hkx AOKKinkyHoundS5 + -o,TSoundPlay.AASKHoundSQS6/0.0 Kom_KinkyHound_A1_S6 Kom_KinkyHound_A1_S6.hkx AOKKinkyHoundS6 + -o,TSoundPlay.AASKHoundSQS7/0.0 Kom_KinkyHound_A1_S7 Kom_KinkyHound_A1_S7.hkx AOKKinkyHoundS7 + -o,TSoundPlay.AASKHoundSQS8/0.0 Kom_KinkyHound_A1_S8 Kom_KinkyHound_A1_S8.hkx AOKKinkyHoundS8 + -o,TSoundPlay.AASKHoundSQS9/0.0 Kom_KinkyHound_A1_S9 Kom_KinkyHound_A1_S9.hkx AOKKinkyHoundS9 + -o,TSoundPlay.AASKHoundSQS10/0.0 Kom_KinkyHound_A1_S10 Kom_KinkyHound_A1_S10.hkx AOKKinkyHoundS10 + -o,TSoundPlay.AASKHoundSQS11/0.0 Kom_KinkyHound_A1_S11 Kom_KinkyHound_A1_S11.hkx AOKKinkyHoundS11 + -o,TSoundPlay.AASKHoundSQS12/0.0 Kom_KinkyHound_A1_S12 Kom_KinkyHound_A1_S12.hkx AOKKinkyHoundS12 + -o,TSoundPlay.AASKHoundSQS13/0.0 Kom_KinkyHound_A1_S13 Kom_KinkyHound_A1_S13.hkx AOKKinkyHoundS13 + -o,TSoundPlay.AASKHoundSQS14/0.0 Kom_KinkyHound_A1_S14 Kom_KinkyHound_A1_S14.hkx AOKKinkyHoundS14 Замени этот блок на аналогичный во FNIS листе и сгенерируй новый Behavior с помощью FNIS_for_modders. Он тебе выдаст ошибки и желательно их исправить, удалив отсутствующие файлы из листа. Должно все работать. ЗЫ Но ты же хотел звуки вставить в анимацию? Или и так сойдет?🙂
  19. Давай. ЗЫ Я тут вспомнил вот: года два назад встречал на нексусе программу для добавления звука в анимационные файлы. Сейчас пошарил и нашел: https://www.nexusmods.com/skyrim/mods/89435?tab=description Программа предназначена для добавления в анимацию звуков шагов, но можно и свои звуки вставлять. Посмотри, может пригодится. ЗЗЫ Кстати, в пользу моего предположения о том, что Behavior составлен не FNIS-ом говорит и тот факт, что в нем практически на каждой анимации висят модификаторы BSIsActiveModifier, но к ним не подключена ни одна переменная. Т.е. по сути эти модификаторы бесполезны. Зачем это сделано? Непонятно.
  20. "Komotor" у меня нет, поэтому могу лишь предположить, что если в листе FNIS нет что-нибудь типа TSoundPlay.blablabla/0.0, то Behavior был составлен какой-нибудь другой программой, не FNIS-ом, а сам лист используется только для регистрации анимационных файлов в characters\defaultmale.hkx. Это да. Вручную ковырять xml файлы то еще удовольствие. Интересно. Можно ссылку?
  21. Попробуй открыть тело в nifscope и в "NiTriShape(Normal) - BSDismemberSkinInstance - Partitions - Partitions" изменить "Body Part" на "SBP_32_Body".
  22. Потом напиши результат.🙂 К сожалению, автор FNISa не предусмотрел отдельного добавления ивентов, как он это сделал с переменными, поэтому приходится, как говорится, с бубном немного плясать. PS Забыл написать, что триггера достаточно одного на весь FNIS-лист (ну или иначе говоря: на один бехавиор файл), независимо от того, сколько там анимаций.
  23. Немного дополнительной информации Оказывается звук из анимационного файла не работает, если в бехавиор файле нет ивента SoundPlay. А как вставить отдельно ивент без анимации? Я тут нашел один способ с помощью триггера. Для примера возьмем анимацию подметания и для FNIS составим лист: s -a,k,TSoundPlay/20.0 aa1 ..\animobjectsweepingidlestart.hkx + -o,k bb1 ..\animobjectsweepingidlevar1.hkx AnimObjectSweeping Как видно, в первой анимации установлен триггер на 20й секунде. Сама анимация доставания метлы из-за спины будет проигрываться всего пару секунд и триггер никогда не сработает, но нам это и не надо - главное ивент SoundPlay прописался в бехавиоре и вторая анимация самого подметания будет проигрываться со звуком.
  24. Вроде, не встречал нигде такого, поэтому решил поделиться своим опытом. Для тех, кто более-менее уже знаком с 3д максом и основными инструментами для мододельства Скайрима. Подойдет любая версия макса с установленным nif-плагином и Havok Content Tools. Буду краток (с). В моде SOS помимо стандартных ивентов SOSFlassid, SOSErect и т.д. есть еще пустые, без файлов анимации SOSCustom00....09. Используем один из них. Итак, переводим в xml файл Meshes\auxbones\SOS\Character Assets\SOSSkeleton.HKX, открываем его и переписываем по порядку названия костей в блокнот: Сохраняем файл и называем его, например, SOS.txt. Чуть выше увидите цифры -1 0 0 2 3 4 5 6. Это иерархия костей. Т.е. 6 кость крепится к 5 и т.д. Две нулевые кости крепятся к -1. Запомним пока это. Загружаем в 3d max Meshes\actors\character\character assets\SOS\VectorPlexus Regular\malegenitals_0.nif (или аналогичный) со скелетом Meshes\actors\character\character assets\SOSskeleton.nif Нажимаем на панели инструментов кнопку с рисунком цепи Select and Link и линкуем кости согласно информации из xml файла (ну и здравого смысла, конечно - кончик члена к яйцам навряд-ли кто прилинкует). Должно получится так: Выделяем все кости, жмем alt+ПКМ и выбираем Freeze transform. Теперь, в будущем, если вам не понравится результат ваших экспериментов, вы можете снова нажать alt+ПКМ, выбрать Transform To Zero и кости встанут на исходную позицию. Немного теории: SOS анимация это смешанная анимация, состоящая из обычной анимации и добавочной. В чем преимущество? В том, что не надо делать для мужчин, женщин, вампиров и вервольфов свои отдельные анимации, достаточно сделать по одной для каждого обычную анимацию (SOSOffset.HKX), которая просто позиционирует член относительно тела, а остальные добавочные анимации уже общие для всех. Но есть и существенный недостаток - первый (или нулевой) кадр должен быть всегда референсной позой. Т.е. нельзя делать зацикленную анимацию. Мы это еще увидим. Продолжим. Ничего не двигаем и не крутим, ставим ползунок на нулевой кадр (1) выделяем кости (2), которые мы будем анимировать (остальные выделять не надо), включаем анимацию (3) и жмем на ключ (4). Нулевой кадр готов. Сдвигаем ползунок на первый кадр... ну и включаем фантазию и двигаем-вертим кости, как захочется. Затем снова выделяем кости и жмем на ключ. В общем-то все. Получилась, конечно, не анимация, а поза, или, скорее, состояние стояния, но это сейчас неважно. Жмем на кнопку Havok Kontent Tool, настраиваем как на скриншотах и жмем Run Configuration. (Обратите внимание: на первой вкладке Create Scekeleton используется наш SOS.txt). Как сконвертировать получившийся TAGXML в hkx? Покажу на примере своего HavokContentTools_2014-1-1 который у меня на 3d max. Сначала сконвертируем TAGXML в простой xml. Запускаем программу C:\Program Files\Havok\HavokContentTools\ToolStandAlone.exe, File - Open (в правой части окна должен появиться наш файл), сразу идем File - Save, жмем на Вrowse, выбираем расширение xml, выбираем наш файл, Сохранить. Формат выбираем xml, убираем галочку с Meta Data и OK. Открываем в блокноте этот файл и во второй строке меняем classversion="11" на classversion="8". Всё, теперь этот xml можно конвертировать в hkx любой стандартной программой (наверное можно...у меня hkxcmdGUI). Копируем файл в Meshes\auxbones\SOS\Animations\. Запускаем игру и вводим в консоли sae SOSCustom00: Теперь мы видим в чем недостаток добавочной анимации. Из-за нулевого кадра член периодически дергается, поскольку в моде стоит циклическая анимация. К сожалению, мододел не подумал об этом, когда делал свой мод. Будем исправлять сами: Конвертируем Meshes\auxbones\SOS\Behaviors\SOSMaleBehavior.hkx (или другой, какой хотите из этой папки) в xml и открываем в блокноте. Находим SOSCustom00.hkx и несколькими строками ниже видим строку <hkparam name="mode">MODE_LOOPING</hkparam> Меняем MODE_LOOPING на MODE_SINGLE_PLAY Конвертируем обратно в hkx, запускаем игру... Вот теперь все нормально.
×
×
  • Создать...