Для примера взята модель арбалета из Г1.я его декомпилировал там 3 файла 2 ASC и 1 MMs
Спасибо,если не сложно можно по подробнее расписать что делать с 3ds моделью в 3ds максе(не хочет её экспортер в asc экспортировать,в окне объектов для экспорта почемуто пусто),и не как нельзя привязать анимацию с аналогичной модели к этой привязать,если нет то как анимацию тогда сделать?Арбалет в Готике - это, как ни странно, анимированная модель. Разрабы накосячили, и нормально в игре анимации арбалета не работают. Но, с точки зрения движка, моделька арбалета рассматривается именно, как анимированная модель и требует не только файл геометрии модели, но и файл её анимации, а также скрипт с описанием данных анимаций.
Для примера взята модель арбалета из Г1.
ITRWCROSSBOW4.ASC - файл самой модели арбалета. Его можно получить, если загрузить 3ds-модель в Макс, отцентровать, отмасштабировать её и экспортировать в asc-формат.
ITRWCROSSBOW4SHOOT.ASC - файл анимации модели. Его придётся делать вручную, используя в качестве образца анимацию декомпилированной модели.
ITRWCROSSBOW4.MMS - файл скрипта с описанием анимаций. Если название модели не меняется, и asc-файлы новой модели названы также, как декомпилированные файлы старой модели, то этот файл можно использовать и для новой модели без изменений.
Посмотреть вложение 116311 Посмотреть вложение 116312
Если сможешь получить все эти исходники, то следующим этапом можно переходить к компиляции модели. Компиляция производится движком игры. Или редактором игрового мира.
Важное значение имеет название объекта в редакторе. Если не путаю, название должно начинаться с префикса "zm_". Посмотреть точно сейчас не могу, нет досупа к компу с Максом. Можешь посмотреть сам у декомпилированной модели.не хочет её экспортер в asc экспортировать,в окне объектов для экспорта почемуто пусто
Разумеется, нельзя. Это же разные модели, у них разное количество вершин.нельзя привязать анимацию с аналогичной модели к этой
Когда я занимался подобной задачей, давно уже, я владел Максом на уровне начинающего новичка. Тогда я наделал скринов анимации образца и с использованием скринов делал анимацию новой модели.как анимацию тогда сделать?
Как и я, когда захотел разобраться с арбалетами. Потом получилось не просто разобраться, но и анимации арбалетов в игру вернуть.я просто нубас полный в плане анимаций
Есть масса уроков в Сети по основам анимации. Я сейчас, не имея Макса под рукой, даже картинку для пояснения процесса сделать не смогу.как вообще анимка арбалетная делается
Как вариант можно начать с этого.А как вообще анимка арбалетная делается, я просто нубас полный в плане анимаций?
Некоторые модели в игре обладают такой же особенностью. Например, кузнечный горн. Я так понимаю, это касается объектов, в которых есть привязка отдельных вершин к разным костям, за счёт чего не просто перемещаются, друг относительно друга, разные части модели, но меняется форма модели.В игре не оказалось динамической коллизии( ГГ пробегает сквозь).В редакторе мира динамика выставлена в TRUE.
Что такое "CAT кости", не знаю, но слои у анимаций Готики есть.в анимациях готики есть слои
Во время проигрывания этой анимации из скриптов может быть запущено проигрывание рандомной анимации, которая проигрывается во втором слое и имеет более высокий приоритет:ani ("s_Chair_S1" 1 "s_Chair_S1" 0.0 0.0 MI "Hum_SitChair_M01.asc" F 40 79 FPS:10)
В этой анимации могут быть задействованы не все кости модели, а только часть из них. Например, в Г1 в этой анимке задействованы только спина, щея, голова, плечи и руки. Остальные кости остаются под управлением анимации s_Chair_S1.ani ("R_Chair_Random_1" 2 "" 0.3 0.3 M. "Hum_SitBench_Random_M01.asc" F 1 45 FPS:10)
Движок игры, насколько я знаю, не предусматривает одновременное взаимодействие и с объектом, и с предметом. Можно попробовать имитировать взаимодействие с предметом во время взаимодействия с объектом, но здесь придётся костылить не только с самими анимациями, но и с эвентами (появление предмета в слоте, удаление предмета из слота и т. д.), прописанными в их сценариях. Если просто прописать эти эвенты в анимациях, то движок их проигнорирует.употребления еды сидя
Helpers - CAT Objects - CATParent - Base HumanЧто такое "CAT кости", не знаю, но слои у анимаций Готики есть.
Я тоже это понял, когда решил вставить анимацию сидячей игры на лютне в игру.Движок игры, насколько я знаю, не предусматривает одновременное взаимодействие и с объектом, и с предметом. Можно попробовать имитировать взаимодействие с предметом во время взаимодействия с объектом, но здесь придётся костылить не только с самими анимациями, но и с эвентами (появление предмета в слоте, удаление предмета из слота и т. д.), прописанными в их сценариях. Если просто прописать эти эвенты в анимациях, то движок их проигнорирует.
Ну, я не настолько продвинут в работе с анимациями в Максе.Судя по-всему можно просто открыть две анимации: сидения и игры на лютне. У сидения удалить верхнюю часть, а у игры на лютне удалить ноги. Далее примержить к анимации сидения ног анимацию торса, играющему на лютне, и прилинковать кости. По итогу: по крайней мере в максе все работает корректно.
У меня в мод-фиксе средствами Union реализована функция AI_PlayAniWithEvents, как раз позволяющая воспроизводить события при проигрывании анимаций. Автор плагина камрад Slavemaster.Я тоже это понял,
Да вроде не должно. Торс я перенес без включенного AutoKey так что все последующие анимации тоже переместились. А расположение в игре зависит от положение кости Bip01, а не от положения костей относительно координат.Но в описанном алгоритме мне видится один изъян. Думаю, положение костей спины у персонажа, играющего на лютне сидя, должно быть иным, нежели у персонажа, играющего на лютне стоя. Как следствие, положение всех остальных костей верхней половины тела тоже должно быть иным.
ani ("t_Bench_Stand_2_S0" 1 "s_Bench_S0" 0.2 0.0 M. "Hum_SitBench_M01.asc" F 0 4)
ani ("s_Bench_S0" 1 "s_Bench_S0" 0.0 0.0 M. "Hum_SitBench_M01.asc" F 5 5)
aniAlias ("t_Bench_S0_2_Stand" 1 "" 0.0 0.2 M. "t_Bench_Stand_2_S0" R)
ani ("t_Bench_S0_2_S1" 1 "s_Bench_S1" 0.0 0.0 M. "Hum_SitBench_M01.asc" F 6 39)
{
*eventTag (7 "DEF_INV_TORCH")
*eventSFX (36 "CHAIR_USE" R:1000 EMPTY_SLOT )
}
ani ("s_Bench_S1" 1 "s_Bench_S1" 0.0 0.0 MI "Hum_SitBench_M01.asc" F 40 90 FPS:10)
aniAlias ("t_Bench_S1_2_S0" 1 "s_Bench_S0" 0.0 0.0 M. "t_Bench_S0_2_S1" R)
А есть примеры с этой функцией?AI_PlayAniWithEvents,
Я имел в виду, что когда персонаж стоит, то спина у него более-менее прямая, а когда персонаж сидит, то спина выгнута дугой. Да и ноги, кстати, могут быть расположены иначе, чем у просто сидящего персонажа.Да вроде не должно.
Да. Но чтобы движок скомпилил анимки, может потребоваться наличие обладателя этих анимок в игровом мире.Я получается просто могу вписать новую анимацию в HumanS.mds и она должны появиться в игре
Копия существующей уже анимации. Причём, копия может быть развёрнута задом-наперёд. Для копии анимка не компилируется.aniAlias
Событие, происходящее в определённый момент проигрывания анимации.*eventTag
В том числе, проигрывание звукового эффекта.*eventSFX
Вперёд и назад.F -
R -
Уроки: здесь и здесь.Цифры в конце я так понял это номера кадров?
Hum_SitBench_M01.asc - это понятно, номера файлов
t_Bench_Stand_2_S0 и s_Bench_S0 - а это? типо внутренние переменные MDSа?
А это 0.0 0.0 M. ?
Завтра.А есть примеры с этой функцией?
Думаю, в любое место можно. Но в твоём случае, для использования лютни в сидящем положении, наверное, нужно делать оверлей для носителя данного распорядка. Про оверлеи позже, когда освоишь другие вещи.И еще вопрос новые анимации надо вставлять в определённые места в HumanS.mds или можно все в конец фигачить?