Announcement

Collapse
No announcement yet.

Пайплайн каскадера

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Пайплайн каскадера

    Привет друзья!

    Крутую работу проделали над каскадером!
    Выглядит приятно, фичи вроде редактируемых траекторий и баллистики очень понравились. Конечно есть некоторые претензии к юзабилити, но это микро проблемы, а хочется поговорить о макро проблемах.

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

    Наши реалии таковы, что в любом более-менее серьезном проекте у персонажей есть комплексный риг:
    трансформ кости, которые двигают вершины меша и экспортятся в игровые движки и тд, но напрямую особо не анимируются;
    вспомогательные кости для IK/FK анимирования, которые управляют как трансформ костями, так и огромным количеством морф таргетов меша (мышцы, жировые складки, проблемные места на сгибах локтей/коленей/пальцев и всякое такое) и параметрами материалов, и при экспорте обычно безвозвратно утрачиваются т.к. форматы вроде fbx не позволят таскать весь сетап рига отдельно взятой программы (блендер/мая) туда-обратно, всё тупо бейкается покадрово для использования в следующем софте в пайплайне.
    Соответственно получается что традиционный риг и то как он анимируется в принципе не совместим с подходом каскадера, который обмажет трансформ кости своим кастомным физическим ригом поверх.

    Быстро приходим к тому, что нужно весь пайплайн изначально строить вокруг каскадера?
    Но тогда не понятно как быть с морф таргетами, которые, насколько я могу видеть, не поддерживаются?
    Но даже если бы и поддерживались сами по себе как-то, не было бы возможности их создавать и модифицировать на лету, т.к. моделинга в каскадере нет.
    Всяких там драйверов для управления параметров материалами тоже не сделать. Например задействовать разные нормал/дисплейс текстуры для морщин и складок в зависимости от положения определенных костей.
    Экспортировать анимацию из каскадера в виде трансформ-костей и потом вручную проставлять все подобные значения через кейфреймы для каждой анимации звучит не очень продуктивно на длинной дистанции (одних только морф таргетов у меша гуманоида под сотню, без учета того что для лицевой анимации может потребоваться).

    У меня пока что не было возможности сделать что-то серьезное в каскадере чтобы оценить насколько это будет быстрее чем в том же блендере. Это надо пару недель выделять и серьезно тестить.
    Если предположить что окажется прямо намного быстрее и приятнее, можно было бы рассмотреть вариант из двух проходов, сперва в каскадере сделать общую анимацию, а потом в точности её повторить поверх ригом со всеми сложными настройками в блендере/мае, вручную.
    Но что-то мне подсказывает, что это не тот подход который предполагают разработчики.
    Собственно вот, хотелось бы услышать каким разработчики видят итоговый пайплайн каскадера для сложных случаев.

  • #2
    Тут та ж самая история как и с мокапом получается. Загнать модель в каскадер, создать риг, заанимировать, выгнать fbx затем уже в 3д пакете отретаргетить анимацию костей на контролы. Если я правильно понял вопрос

    Comment


    • #3
      Я такой же вариант и описал по сути:
      Originally posted by Kirin View Post
      можно было бы рассмотреть вариант из двух проходов, сперва в каскадере сделать общую анимацию, а потом в точности её повторить поверх ригом со всеми сложными настройками в блендере/мае, вручную.
      Но что-то мне подсказывает, что это не тот подход который предполагают разработчики.
      Можно конечно частично автоматизировать этот процесс через скрипты, но это уже детали реализации. Сам подход звучит несколько сомнительно.

      Comment


      • #4
        Ну зачем вручную то? Это называется ретаргет и ничего в этом сомнительного нет. Обычная практика

        Comment


        • #5
          Потому что ретаргетинг это перенос анимации трансформ костей одного скелета на трансформ кости другого скелета?
          По крайней мере в контексте bvh мокап данных и в анриле оно примерно так звучит. Может быть ты что-то другое подразумеваешь.

          В анимационном продакшене вряд ли кто-то будет оперировать трансформ костями напрямую без крайней необходимости.
          Аниматору риггер передает подобный сетап:
          https://i.imgur.com/M76fDYE.mp4
          "В лоб" на такой риг уже не отретаргетишь, не сломав контролы, констрейны, морфы, материалы управляемые костями..
          В итоге придется писать скрипт который будет максимально точно воспроизводить анимацию читая данные о трансформ костях после каскадера, и транслировать их на конкретный продакшн риг. И не всегда это будет некий типовой гуманоид, чтобы один раз скрипт написать/заказать и забыть.

          Comment


          • #6
            Originally posted by Kirin View Post
            Потому что ретаргетинг это перенос анимации трансформ костей одного скелета на трансформ кости другого скелета?
            на контролы рига
            https://www.youtube.com/watch?v=k5wcLtIAsz4

            Comment


            • #7
              Ну, здорово что у маи уже есть продвинутый скрипт для подобных задач (условно допустим что он может работать не только с гуманоидами).
              А что остальным делать?

              В принципе если разработчики скажут что так оно и задумано, то нет вопросов. Просто я в этом сомневаюсь.

              Comment


              • #8
                Originally posted by Kirin View Post
                Ну, здорово что у маи уже есть продвинутый скрипт для подобных задач (условно допустим что он может работать не только с гуманоидами).
                А что остальным делать?
                какой ещё продвинутый скрипт? там принцип в констрейнах. Привязка рук и ног в IK. На локти и колени кастомный pole vector. Всё остальное в FK. В других софтах такого нет?

                Comment


                • #9
                  Самого ретаргета для мокапа нету подобного.
                  Чтобы вот так настраивать соответствия скелетов визуально и, что еще важнее, чтобы можно было нарушения пропорций исправлять (реюзать анимации для разных по пропорциям персонажей).

                  То есть ваша версия пайплайна каскадера (пишу отчасти для тех, кто не хочет смотреть 30 минут видео):
                  экспортнуть меш и трансформ кости, их заригать в каскадере и сделать анимацию, экспортнуть из каскадера как fbx/dae, заимпортить обратно, констрейнами заставить исходный контрол риг следовать за этим импортом, забейкать контрол риг, снять констрейнты и доводить руками где требуется?

                  Comment


                  • #10
                    Originally posted by Kirin View Post
                    Самого ретаргета для мокапа нету подобного.
                    Чтобы вот так настраивать соответствия скелетов визуально и, что еще важнее, чтобы можно было нарушения пропорций исправлять (реюзать анимации для разных по пропорциям персонажей).

                    То есть ваша версия пайплайна каскадера (пишу отчасти для тех, кто не хочет смотреть 30 минут видео):
                    экспортнуть меш и трансформ кости, их заригать в каскадере и сделать анимацию, экспортнуть из каскадера как fbx/dae, заимпортить обратно, констрейнами заставить исходный контрол риг следовать за этим импортом, забейкать контрол риг, снять констрейнты и доводить руками где требуется?
                    да. это не то что бы мой пайплайн, это работа с мокапом на готовом риге. Он замечательно подойдёт и для каскадёра. Достаточно один раз такую связку засэтапить, а далее просто обновлять анимацию на исходных костях да и всё.

                    Comment


                    • #11
                      Спасибо за инфу по мокап-подходу. Опробую на деле когда будет время.
                      Думаю многим это окажется полезным, а то разработчики так проигнорировали тему, будто вообще не рассматривали использование каскадера с сложными ригами.

                      Comment


                      • #12
                        На данный момент мы видим 2 подхода к интеграции Cascadeur в пайплайн.
                        1. Делать всю анимацию в Cascadeur, на выходе получая fbx , который и будет использоваться в игровых движках. Этот вариант подходит для ситуаций, когда не требуются лицевая анимация или другие виды сложной деформации меша. Например в мобильном гейминге. Мы сами используем именно этот подход, за исключением анимаций в катсценах. В дальнейшем мы планируем добавить поддержку вертексной анимации и python, что расширит область применения.
                        2. Делать базовую анимацию с упором на body mechanics в Cascadeur, затем отправляя её в другой 3d пакет для дальнейшей работы. Для этого необходимо специфическим образом настроить риг в используемом 3d пакете, так как в данном случае необходима возможность безболезненного переноса анимации с transform костей на fk цепочку рига. У нас есть опыт и в таком подходе, но нужно учитывать это на этапе создания рига. Из общения с другими студиями, занимающимися 3д, мы знаем, что такой функционал часто изначально в риге предусматривается (хотя бы для работы с мокапом). Но, конечно, если его нет и добавить его сложно, то это будет препятствием к использованию Cascadeur.
                        Last edited by Андрей Егоров; 04 August 2020, 18:19.

                        Comment


                        • #13
                          Значит все-таки мокап-подход. Посмотрим что получится.
                          Спасибо за ответ!

                          Comment

                          About us
                          Cascadeur is a standalone software for creating physically correct keyframe animations for characters, humanoid and otherwise. Make realistic animations from scratch or improve your mocap, while retaining full control over the results.
                          Join us
                          Working...
                          X