Обновление 20190917: Добавлены возможные причины, по которым положение модели автоматически сбрасывается при воспроизведении анимации.
С помощью GIF мы можем обнаружить, что только при добавлении объекта TimeLine и щелчке по объекту информация TimeLine об объекте появится в окне TimeLine.
Если объект TimeLine не добавлен, в окне появится диалоговое окно для создания TimeLine.
1、Создайте новый пустой объектGameObject,Открыть окно временной шкалы,После выбора пустого объекта вы увидите опцию «Создать» в окне «TimeLine». Теперь создайте временную шкалу для этого пустого объекта.
2、общий характер Модель,Перетащите временную шкалу с панели «Иерархия»,Выберите «Добавить анимацию для отслеживания». Эта опция предназначена для создания анимированной временной шкалы.
3、Нажмите красную кнопку записи, чтобы записать модельанимацию.
К анимации человеческого тела можно добавить простое перемещение и другие анимации, но фактическое движение скелета добавить невозможно. Вам все равно придется полагаться на свою собственную анимацию для импорта в TimeLine Track.
Но мы обнаружим, что после того, как персонаж воспроизводит первую анимацию, он не воспроизводит следующую анимацию в текущей позиции, а автоматически возвращается в начало координат для воспроизведения второй анимации.
Причина 1:Apply Root Движение и запекание into Pose
Причина 2:TimeLineиAnimatorконфликт
Решение первое:
Проанализируйте теорию корневого движения:
Например, если у нас есть анимация ходьбы персонажа, давайте рассмотрим несколько ситуаций (здесь в качестве примера возьмем «Положение корневого преобразования (XZ)»)
1、Отметьте «Выпечка». into Поза", снимите флажок "Применить". Root Движение», отметьте «Запечь». into После Pose трансформация принадлежит Body Трансформировать, поэтому даже если здесь не установлен флажок «Применить» Root Motion», но анимация все равно будет отражаться в сцене, и персонаж будет ходить по пути анимации (но если мы наблюдаем параметр положения модели в Инспекторе, значение остается неизменным). А т.к. Apply не проверено Root Motion, поэтому после завершения анимации трансформация не будет применена к модели, поэтому, если вы в это время запустите новую анимацию, модель мгновенно вернется в исходное положение (когда начнется новая анимация, модель будет в позиция, в которой началась анимация ходьбы).
2、Отметьте «Выпечка». into Поза» и отметьте «Применить Root Motion",Единственное отличие здесь от приведенной выше ситуации состоит в том, что,После окончания анимации,Прежде чем начать новую анимацию,Преобразование будет применено к Модели. (Положение Модели изменится перед началом новой анимации.,Когда начинается новая анимация, модель находится в том положении, в котором анимация закончилась.)
3、不Отметьте «Выпечка». into Поза», отметьте «Применить Root Движение», в это время трансформация осуществляется как Root Transform, так как здесь установлен флажок Apply Root Motion,Преобразование будет применено к Модель(Положение модели постоянно меняется вместе с анимацией.),природа,Когда начинается новая анимация, модель находится в том положении, в котором анимация закончилась.。
4、不Отметьте «Выпечка». into Поза» и снимите флажок «Применить». Root Motion", изменение здесь все еще как Root Transform, но т.к. Apply не отмечен галочкой Root Motion, поэтому трансформация не будет применена, поэтому модель всегда останется локальной. Естественно, когда начнется новая анимация, модель будет в том положении, в котором началась анимация ходьбы.
Разобранная текстовая ссылка из блогаxak
Добавляем: Модель Animator Controller изначально пуста. Мы также можем добавить в модель Animator Controller, и конечный автомат будет управлять анимацией TimeLine, соответствующей пустой области модели (непустым областям, то есть анимации). мы записали, управляются записанной нами анимацией, а не слиянием)
Примечание. Вышеизложенная теория требует добавления конечного автомата Animator Controller, особенно при управлении началом следующей анимации, его необходимо добавлять из конечной позиции предыдущей анимации. Независимо от того, запекается ли он в позе или нет
bake into poseСоответствующие атрибуты(Например:root transform вращение), направление персонажа будет определяться непосредственно вращением персонажа или собственной трансформацией объекта (например, сценарий, непосредственно управляющий трансформацией персонажа). Угол поворота заставляет персонажа поворачиваться. Подходящая анимация — стоять на месте), в противном случае используйте анимацию. собственная информация для трансформации персонажа вращение (подходит для анимаций, в которых сама анимация вращения заставляет персонажа вращаться, например, анимация поворота на 45 градусов, анимация поворота на 90 градусов и т. д.)
Решение второе:
При необходимости выберите, следует ли отмечать флажок «Применить корневое движение».
Нажмите на дорожку анимации, которой необходимо управлять, в TimeLine и установите флажок «Применить смещения дорожки» в ее инспекторе. Его можно использовать для установки начального смещения (положения, поворота) объекта. Каждая анимация в объекте начнет двигаться отсюда. .
Однако каждая анимация начинает двигаться с этой позиции, а не с конца предыдущей анимации. Мы можем решить эту проблему, добавив к нему контроллер аниматора или установив значение смещения корня клипа для каждого инспектора анимации и изменив это значение. начальной позиции каждой анимации.
объединитьPre-ExtrapolationПриложение будет интереснее
Вот что я обнаружил во время этого проекта. Я не смог найти решение путем поиска информации в Интернете. Я проверю найденные мной причины и посмотрю, является ли это причиной.
причина:
В самой модели есть Аниматор и включен автозапуск.
После размещения измененной модели на TimeLine проблем с предварительным просмотром TimeLine не возникнет, но во время выполнения положение будет неправильным. Это связано с тем, что Animator и TimeLine работают одновременно во время выполнения. Вызывает проблемы с местоположением.
Решение:
Просто воспроизведите пустую анимацию во время входа аниматора.
Отслеживание активации: контролирует, активирован ли объект, обычно используется для установки того, активирована ли камера (время).
Анимационная дорожка: управляйте анимацией и записывайте анимацию объектов.
Аудио-трек: звуковая дорожка
Когда он был впервые добавлен, у него не было атрибутов для указания объекта.
Указанный им объект можно использовать для управления громкостью звука этого аудио и другого контента. Сначала нам нужно создать объект, соответствующий этому типу, то есть добавить к объекту компонент Audio Source.