Повороты в 3D-приложениях обычно представляются как кватернионыстандартный способ Unity для представления поворотов как данных. При написании кода, имеющего дело с поворотами, обычно следует использовать класс Quaternion и его методы. Подробнее
См. Словарь или углы Эйлера. По большей части Unity внутренне представляет повороты как кватернионы; однако важно иметь общее представление о повороте и ориентации в Unity.
При импорте файлов, содержащих анимацию из внешних источников, импортированные файлы обычно содержат ключевой кадркадр, отмечающий начало или конечная точка перехода в анимации. Кадры между ключевыми кадрами называются промежуточными.
См. в Словарь анимацию в формате Эйлера. Поведение Unity по умолчанию — передискретизировать эти анимации как значения Quaternion и генерировать новый ключевой кадр Quaternion для каждого кадра анимации. Это сводит к минимуму различия между исходной анимацией и тем, как она выглядит в Unity.
Все еще бывают ситуации, когда кватернионное представление импортированной анимации может не соответствовать оригиналу достаточно точно, даже с передискретизацией. По этой причине Unity предоставляет возможность отключить передискретизацию анимации. Это означает, что вы можете вместо этого использовать исходные ключевые кадры анимации Эйлера во время выполнения.
Примечание. Кривые Эйлера следует использовать только в крайнем случае, если интерполяция Quaternion по умолчанию между кадрами дает плохие результаты и вызывает проблемы.
Сохранение исходных кривых Эйлера в импортированных анимациях
Чтобы использовать исходные значения кривой Эйлера в файле анимации, снимите флажок Resample Curves на вкладке "Анимация":
Если вы отключите этот параметр, Unity сохранит кривую вращения с исходными ключевыми кадрами в режиме Эйлера или кватерниона в зависимости от типа кривой.
Примечание. FBX SDK автоматически выполняет передискретизацию любой кривой вращения в сочлененииФизический компонент, позволяющий динамическая связь между компонентами Rigidbody, обычно допускающая некоторую степень движения, например шарнир. Подробнее
Посмотрите в Словарь, где есть пре- или постротация. Это означает, что Unity автоматически импортирует их как кривые Quaternion.
Unity поддерживает большое количество импортируемых файлов и пытается максимально приблизить импортированные кривые к оригиналу. Для этого Unity поддерживает все обычные (неповторяющиеся) эйлеровы порядки вращения и импортирует кривые в исходном порядке вращения.
Значения Эйлера и движок Unity
При использовании оригинального вращения Эйлера (без передискретизации) вы можете увидеть очень небольшую визуальную разницу в воспроизведении анимации. Под капотом Unity сохраняет эти кривые в представлении Эйлера даже во время выполнения. Однако в конечном итоге Unity приходится преобразовывать значения вращения в кватернионы, поскольку движок работает только с кватернионами.
Когда вы отключаете параметр Resample Curves, Unity сохраняет значения поворота как значения Эйлера до тех пор, пока они не будут применены к GameObjectОсновной объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь. Это означает, что конечный результат должен выглядеть так же хорошо, как и оригинал, но с улучшением памяти, поскольку кривые вращения, которые не были запечены в программном обеспечении для разработки, занимают меньше памяти.
Ордера Эйлера не по умолчанию в инспекторе преобразования
По умолчанию Unity применяет углы Эйлера, которые отображаются в Инспектореокна Unity, в котором отображается информация о выбранном в данный момент GameObject, активы или настройки проекта, позволяющие просматривать и редактировать значения. Дополнительная информация
См. в Словарь в порядке Z,X,Y.
При воспроизведении или редактировании импортированных анимаций, содержащих кривые Эйлера с порядком вращения, отличным от установленного в Unity по умолчанию, Unity отображает индикатор разницы рядом с полями поворота:
При редактировании нескольких преобразований с разным порядком вращения Unity отображает предупреждающее сообщение о том, что одно и то же примененное вращение Эйлера даст разные результаты на кривых с разным порядком вращения: