• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

3D-моделинг и анимация: общие вопросы.

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
  • Первое сообщение
  • #1
Здесь обсуждаем все вопросы по созданию и редактированию любого вида анимации в 3д-редакторах... :)
 

Oleg1995

Участник форума
Регистрация
12 Янв 2022
Сообщения
29
Благодарности
40
Баллы
50
Приветствую,может кто подсказать как перенести свою модель арбалета в замен существующей в готику 2,или где об этом почитать можно, спасибо.
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
Готовой инструкции по этому поводу я не припоминаю, а в двух словах на твой вопрос ответить невозможно.

Попробуй разбить свой вопрос на несколько этапов. При этом более подробно описывай свои цели. Пока твой вопрос подразумевает варианты, предполагающие разные наборы действий. :)
 

Oleg1995

Участник форума
Регистрация
12 Янв 2022
Сообщения
29
Благодарности
40
Баллы
50
Понял вас,вот что я сделал на данный момент: есть достанная из мода для skyrim модель арбалета в формате 3ds, которым я хочу заменить арбалет драконоборца из Готика2 новый баланс(я его декомпилировал там 3 файла 2 ASC и 1 MMs),что мне надо делать дальше со всем этим?
 

Oleg1995

Участник форума
Регистрация
12 Янв 2022
Сообщения
29
Благодарности
40
Баллы
50
Как из 3ds модели сделать ASC morphmesh? и ещё один вопрос если я заменю только статичный меш модель арбалета в игре поменяется или надо оба ASC переделывать?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
Арбалет в Готике - это, как ни странно, анимированная модель. Разрабы накосячили, и нормально в игре анимации арбалета не работают. Но, с точки зрения движка, моделька арбалета рассматривается именно, как анимированная модель и требует не только файл геометрии модели, но и файл её анимации, а также скрипт с описанием данных анимаций.

я его декомпилировал там 3 файла 2 ASC и 1 MMs
Для примера взята модель арбалета из Г1.

ITRWCROSSBOW4.ASC - файл самой модели арбалета. Его можно получить, если загрузить 3ds-модель в Макс, отцентровать, отмасштабировать её и экспортировать в asc-формат.

ITRWCROSSBOW4SHOOT.ASC - файл анимации модели. Его придётся делать вручную, используя в качестве образца анимацию декомпилированной модели.

ITRWCROSSBOW4.MMS - файл скрипта с описанием анимаций. Если название модели не меняется, и asc-файлы новой модели названы также, как декомпилированные файлы старой модели, то этот файл можно использовать и для новой модели без изменений.

Арбалет-1.jpg
Арбалет-2.jpg


Если сможешь получить все эти исходники, то следующим этапом можно переходить к компиляции модели. Компиляция производится движком игры. Или редактором игрового мира.
 

Oleg1995

Участник форума
Регистрация
12 Янв 2022
Сообщения
29
Благодарности
40
Баллы
50
Арбалет в Готике - это, как ни странно, анимированная модель. Разрабы накосячили, и нормально в игре анимации арбалета не работают. Но, с точки зрения движка, моделька арбалета рассматривается именно, как анимированная модель и требует не только файл геометрии модели, но и файл её анимации, а также скрипт с описанием данных анимаций.


Для примера взята модель арбалета из Г1.

ITRWCROSSBOW4.ASC - файл самой модели арбалета. Его можно получить, если загрузить 3ds-модель в Макс, отцентровать, отмасштабировать её и экспортировать в asc-формат.

ITRWCROSSBOW4SHOOT.ASC - файл анимации модели. Его придётся делать вручную, используя в качестве образца анимацию декомпилированной модели.

ITRWCROSSBOW4.MMS - файл скрипта с описанием анимаций. Если название модели не меняется, и asc-файлы новой модели названы также, как декомпилированные файлы старой модели, то этот файл можно использовать и для новой модели без изменений.

Посмотреть вложение 116311 Посмотреть вложение 116312

Если сможешь получить все эти исходники, то следующим этапом можно переходить к компиляции модели. Компиляция производится движком игры. Или редактором игрового мира.
Спасибо,если не сложно можно по подробнее расписать что делать с 3ds моделью в 3ds максе(не хочет её экспортер в asc экспортировать,в окне объектов для экспорта почемуто пусто),и не как нельзя привязать анимацию с аналогичной модели к этой привязать,если нет то как анимацию тогда сделать?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
не хочет её экспортер в asc экспортировать,в окне объектов для экспорта почемуто пусто
Важное значение имеет название объекта в редакторе. Если не путаю, название должно начинаться с префикса "zm_". Посмотреть точно сейчас не могу, нет досупа к компу с Максом. Можешь посмотреть сам у декомпилированной модели.

нельзя привязать анимацию с аналогичной модели к этой
Разумеется, нельзя. Это же разные модели, у них разное количество вершин.

как анимацию тогда сделать?
Когда я занимался подобной задачей, давно уже, я владел Максом на уровне начинающего новичка. Тогда я наделал скринов анимации образца и с использованием скринов делал анимацию новой модели. :rolleyes:


В сцену можно загрузить две модели. У каждой будет своя анимация. Модели могут отличатся префиксом.
 

Oleg1995

Участник форума
Регистрация
12 Янв 2022
Сообщения
29
Благодарности
40
Баллы
50
А как вообще анимка арбалетная делается, я просто нубас полный в плане анимаций?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
я просто нубас полный в плане анимаций
Как и я, когда захотел разобраться с арбалетами. Потом получилось не просто разобраться, но и анимации арбалетов в игру вернуть. ;)

как вообще анимка арбалетная делается
Есть масса уроков в Сети по основам анимации. Я сейчас, не имея Макса под рукой, даже картинку для пояснения процесса сделать не смогу.

Нужно, двигая вершины модели, изменить форму модели в отдельных кадрах с активированным режимом автоматического создания ключей. В промежуточных кадрах положение вершин будет просчитано автоматически.
Попробуй для тренировки импортировать в Макс декомпилированную модель арбалета, а затем анимацию для неё. Поэкспериментируй с этой анимацией, попробуй изменить её и сохранить изменения.

Удачи. :)
 

Vlad_Torop

Участник форума
Регистрация
2 Май 2014
Сообщения
871
Благодарности
500
Баллы
230
Приветствую. Переделал ASC модель саркофага на старых костях с заменой мешей.
В игре не оказалось динамической коллизии( ГГ пробегает сквозь).В редакторе мира динамика выставлена в TRUE.
С оригинальным саркофагом такого нет.Предыдущие мои переделки других ASC(кровати в основном) такой ерундой не страдают.
Думаю,что упустил что-то в 3д Максе. В чем может проблема быть зарыта?
 
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
В игре не оказалось динамической коллизии( ГГ пробегает сквозь).В редакторе мира динамика выставлена в TRUE.
Некоторые модели в игре обладают такой же особенностью. Например, кузнечный горн. Я так понимаю, это касается объектов, в которых есть привязка отдельных вершин к разным костям, за счёт чего не просто перемещаются, друг относительно друга, разные части модели, но меняется форма модели.

Посмотри в Спейсере положение бокса у новой скомпилированной модели. Если он смещён, относительно самой модели, то, думаю, у тебя как раз описанный выше случай.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
ASC ASC'у рознь. У морфов ваще помойму не может быть коллизий, он настолько неудобный для перебора, что на кучу кода там просто плюнули.
 

Vlad_Torop

Участник форума
Регистрация
2 Май 2014
Сообщения
871
Благодарности
500
Баллы
230
Использую всеми известные модели GRAVE_ORC_1.MDS(с откидывающейся крышкой), и ORCPRIESTGRAVE_HOR.MDS(с открывающейся )
Распиливаю GRAVE_ORC_1.MDS(с коллизиями у модели все в порядке) на запчасти(гроб.3ds и крышка.3ds)
2023-11-05_23-00-03.png

Меняю запчасти саркофага ORCPRIESTGRAVE_HOR.MDS(с коллизиями тоже все в порядке) на запчасти от GRAVE_ORC_1 (гроб.3ds и крышка.3ds)
2023-11-05_23-06-11.png

Новая модель работает,и бокс присутствует,динамика в TRUE. Привязано все к тем же костям, что и в ORCPRIESTGRAVE_HOR. Иерархия та же.
2023-11-05_23-01-18.png

А в итоге:
2023-11-05_23-22-48.png
 

Oxbow

Участник форума
Регистрация
22 Дек 2017
Сообщения
265
Благодарности
33
Баллы
200
Год назад, я интересовался насчет объединения анимаций в Готике, например: употребления еды сидя, игра на лютне сидя, выпивание сидя. Мне сказали, что в анимациях готики есть слои (как у CAT костей), чет я не могу их найти. Во вкладке Motion нет менеджера слоев.
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
в анимациях готики есть слои
Что такое "CAT кости", не знаю, но слои у анимаций Готики есть.

Работает это так. Большинство анимаций проигрывается в первом слое (наименьший приоритет). Слой указывается в mds-файле анимаций (на примере анимки сидения на стуле):
ani ("s_Chair_S1" 1 "s_Chair_S1" 0.0 0.0 MI "Hum_SitChair_M01.asc" F 40 79 FPS:10)
Во время проигрывания этой анимации из скриптов может быть запущено проигрывание рандомной анимации, которая проигрывается во втором слое и имеет более высокий приоритет:
ani ("R_Chair_Random_1" 2 "" 0.3 0.3 M. "Hum_SitBench_Random_M01.asc" F 1 45 FPS:10)
В этой анимации могут быть задействованы не все кости модели, а только часть из них. Например, в Г1 в этой анимке задействованы только спина, щея, голова, плечи и руки. Остальные кости остаются под управлением анимации s_Chair_S1.

употребления еды сидя
Движок игры, насколько я знаю, не предусматривает одновременное взаимодействие и с объектом, и с предметом. Можно попробовать имитировать взаимодействие с предметом во время взаимодействия с объектом, но здесь придётся костылить не только с самими анимациями, но и с эвентами (появление предмета в слоте, удаление предмета из слота и т. д.), прописанными в их сценариях. Если просто прописать эти эвенты в анимациях, то движок их проигнорирует.
 

Oxbow

Участник форума
Регистрация
22 Дек 2017
Сообщения
265
Благодарности
33
Баллы
200
Что такое "CAT кости", не знаю, но слои у анимаций Готики есть.
Helpers - CAT Objects - CATParent - Base Human
Когда создашь такой скелет во вкладке Motion появлется менеждер слоёв.
Эти слои упоминаются во всех туториалаз на ютубе связанными с анимациями в 3ds maxе.
Я думал вы говорили об этих слоях.

Я тут по экспериментировал... Судя по-всему можно просто открыть две анимации: сидения и игры на лютне. У сидения удалить верхнюю часть, а у игры на лютне удалить ноги. Далее примержить к анимации сидения ног анимацию торса, играющему на лютне, и прилинковать кости. По итогу: по крайней мере в максе все работает корректно.

Движок игры, насколько я знаю, не предусматривает одновременное взаимодействие и с объектом, и с предметом. Можно попробовать имитировать взаимодействие с предметом во время взаимодействия с объектом, но здесь придётся костылить не только с самими анимациями, но и с эвентами (появление предмета в слоте, удаление предмета из слота и т. д.), прописанными в их сценариях. Если просто прописать эти эвенты в анимациях, то движок их проигнорирует.
Я тоже это понял, когда решил вставить анимацию сидячей игры на лютне в игру.
 
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
Судя по-всему можно просто открыть две анимации: сидения и игры на лютне. У сидения удалить верхнюю часть, а у игры на лютне удалить ноги. Далее примержить к анимации сидения ног анимацию торса, играющему на лютне, и прилинковать кости. По итогу: по крайней мере в максе все работает корректно.
Ну, я не настолько продвинут в работе с анимациями в Максе. :)

Но в описанном алгоритме мне видится один изъян. Думаю, положение костей спины у персонажа, играющего на лютне сидя, должно быть иным, нежели у персонажа, играющего на лютне стоя. Как следствие, положение всех остальных костей верхней половины тела тоже должно быть иным.

Я тоже это понял,
У меня в мод-фиксе средствами Union реализована функция AI_PlayAniWithEvents, как раз позволяющая воспроизводить события при проигрывании анимаций. Автор плагина камрад Slavemaster.
 

Oxbow

Участник форума
Регистрация
22 Дек 2017
Сообщения
265
Благодарности
33
Баллы
200
Но в описанном алгоритме мне видится один изъян. Думаю, положение костей спины у персонажа, играющего на лютне сидя, должно быть иным, нежели у персонажа, играющего на лютне стоя. Как следствие, положение всех остальных костей верхней половины тела тоже должно быть иным.
Да вроде не должно. Торс я перенес без включенного AutoKey так что все последующие анимации тоже переместились. А расположение в игре зависит от положение кости Bip01, а не от положения костей относительно координат.
Я получается просто могу вписать новую анимацию в HumanS.mds и она должны появиться в игре
Пост автоматически объединён:


Код:
            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)

Подскажите что значит:
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 или можно все в конец фигачить?
 
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
Да вроде не должно.
Я имел в виду, что когда персонаж стоит, то спина у него более-менее прямая, а когда персонаж сидит, то спина выгнута дугой. Да и ноги, кстати, могут быть расположены иначе, чем у просто сидящего персонажа.

Я получается просто могу вписать новую анимацию в HumanS.mds и она должны появиться в игре
Да. Но чтобы движок скомпилил анимки, может потребоваться наличие обладателя этих анимок в игровом мире.

Копия существующей уже анимации. Причём, копия может быть развёрнута задом-наперёд. Для копии анимка не компилируется.

Событие, происходящее в определённый момент проигрывания анимации.

В том числе, проигрывание звукового эффекта.

Вперёд и назад.

Цифры в конце я так понял это номера кадров?
Hum_SitBench_M01.asc - это понятно, номера файлов
t_Bench_Stand_2_S0 и s_Bench_S0 - а это? типо внутренние переменные MDSа?
А это 0.0 0.0 M. ?
Уроки: здесь и здесь.

А есть примеры с этой функцией?
Завтра.

И еще вопрос новые анимации надо вставлять в определённые места в HumanS.mds или можно все в конец фигачить?
Думаю, в любое место можно. Но в твоём случае, для использования лютни в сидящем положении, наверное, нужно делать оверлей для носителя данного распорядка. Про оверлеи позже, когда освоишь другие вещи.
 
Сверху Снизу