Введение в компоненты ограничений
Компонент Constraint связывает позицию, вращение или масштаб GameObject с другим GameObject. Ограниченный GameObject перемещается, вращаясь или масштабируясь, как и GameObject, с которым он связан.
Unity поддерживает следующие типы компонентов ограничений:
Нацеливание: Поворот ограниченного GameObject так, чтобы он стал лицом к связанному GameObject.
Посмотри на: Поворот ограниченного GameObject к связанным GameObject (упрощенное ограничение цели).
Parent: Перемещение и вращение ограниченного GameObject с связанным GameObject.
Положение: Переместить ограниченный GameObject как связанный GameObject.
Ротация: Поворот ограниченного GameObject как связанные GameObject.
Масштаб: Масштабировать ограниченный GameObject как связанный GameObject.
Ссылка на GameObjects
Используйте список Источники в компоненте Constraint, чтобы указать GameObjects для ссылки.
Например, чтобы сделать так, чтобы перекресток следовал за космическим кораблем игрока в 2D шутере, добавьте компонент Position Constraint к перекрестку. Чтобы связать перекресток с космическим кораблем, перейдите к компоненту Position Constraint и добавьте космический корабль GameObject в список Источники. Когда игрок перемещает космический корабль, перекресток следует за ним.
Ограничение может быть связано с несколькими источниками GameObjects. В этом случае ограничение использует усредненное положение, вращение или масштаб своего источника GameObjects. Например, чтобы направить Свет на группу GameObjects, добавить Целевое ограничение компонент к Свету GameObject. Затем добавить GameObjects для освещения в Источники перечень. Целевое ограничение направляет свет так, чтобы он обращался к среднему положению его источников.
Unity оценивает источник GameObjects в том порядке, в котором они фигурируют в Источники Этот приказ не имеет никакого действия в отношении Позиция и Масштабные ограниченияОднако порядок оказывает воздействие на Родители, Ротация, и Ограничения цели. Чтобы получить желаемый результат, измените порядок Источники списка путем перетаскивания элементов.
Вы можете ограничить серию GameObjects. Например, если вы хотите, чтобы утятники следовали за своей матерью последовательно, вы добавляете компонент Position Constraint к GameObject Duckling1. В списке Источники вы создаете ссылку на MotherDuck. Затем вы добавляете Position Constraint к Duckling2, который связывает Duckling1. Так как MotherDuck GameObject перемещается в Scene, Duckling1 следует за MotherDuck, и Duckling2 следует за Duckling1.
Не создавайте цикл ограничений, так как это приведет к непредсказуемым обновлениям во время игры.
Установка свойств ограничения
Используйте окно Inspector для изменения общих свойств в Ограничении.
Используйте Вес для изменения влияния Ограничения. Вес 1 заставляет Ограничение обновлять GameObject с той же скоростью, что и его источник GameObjects. Вес 0 полностью устраняет влияние Ограничения. Каждый источник GameObject также имеет индивидуальный вес.
В Установках ограниченийиспользуйте свойства В покое для указания значений X, Y и Z, которые будут использоваться, когда Вес равен 0 или когда соответствующее свойство в Заморозить оси не установлено.
Используйте свойства Смещение в Параметры ограничений для указания значений X, Y и Z, которые будут использоваться при ограничении GameObject.
Используйте настройки Заморозить оси для переключения осей, которые ограничение может изменить.
Активация и блокировка ограничений
Существует два аспекта работы с Ограничениями: активация и блокировка.
Вы активируете Ограничение, чтобы позволить ему оценивать положение, вращение или масштаб ограниченного GameObject. Unity не оценивает неактивные Ограничения.
Вы блокируете ограничение, чтобы позволить ему перемещать, поворачивать или масштабировать GameObject. Заблокированное ограничение принимает контроль над соответствующими частями Transform 1998 года GameObject. Вы не можете вручную перемещать, поворачивать или масштабировать GameObject с заблокированным ограничением. Вы также не можете редактировать Параметры ограничений.
Чтобы вручную изменить положение, поворот или масштаб объекта, GameObject, разблокирует его Ограничение. Если Ограничение активно, пока оно разблокировано, Ограничение обновляется Параметры ограничений для вас, как вы двигаетесь, поворачиваетесь, или взбираетесь на ограниченный GameObject или его источник GameObjects.
Когда вы добавляете компонент ограничения к GameObject, ограничение по умолчанию неактивно и разблокировано. Это позволяет вам точно настроить позицию, вращение и масштаб ограниченного и исходного GameObjects перед активацией и блокировкой ограничения.
Для удобства кнопки Активировать и Нулевой обновляют Настройки ограничений для вас:
Активация: Сохраняет текущее смещение от источника GameObjects, затем активирует и блокирует ограниченный GameObject.
Нуль: Сброс позиции, вращения или масштаба для соответствия источнику GameObjects, затем активация и блокировка ограниченного GameObject.
Анимация и комбинирование ограничений
Используйте анимационные клипы для модификации источника GameObjects, на который ссылается ваше ограничение GameObject. По мере того, как анимация модифицирует источник GameObjects, ограничение модифицирует ваше ограничение GameObject.
Вы также можете анимировать свойства в компоненте ограничения. Например, используйте родительское ограничение, чтобы переместить меч персонажа из руки на спину. Сначала добавьте родительское ограничение к мечу GameObject. В списке Источники связайте ограничение с рукой персонажа и спиной персонажа. Чтобы анимировать меч, добавьте ключевые кадры для веса каждого источника. Чтобы анимировать меч, двигающийся от спины к руке, добавьте ключевые кадры для изменения веса руки с 0 на 1 с ключевыми кадрами для веса спины с 1 на 0.
В один и тот же GameObject можно добавить более одного типа компонента ограничения. При обновлении GameObject, Unity оценивает компоненты ограничения от первого до последнего, как они отображаются в окне Inspector. GameObject может содержать только один компонент ограничения одного типа. Например, нельзя добавить более одного ограничения позиции.
Импорт ограничений
При импорте файлов FBX в Unity Editor из Autodesk® Maya® и MotionBuilder® можно включить ограничения. Нажмите на вкладку Animation окна Настройки импорта и отметьте Импорт ограничений:
Для каждого ограничения в файле FBX, Unity автоматически добавляет соответствующий компонент Constraint и связывает его с правильным GameObjects.
Добавление и редактирование ограничений
Чтобы добавить компонент ограничения:
Выберите GameObject для ограничения.
В окне Inspector нажмите Добавить Компонент, чтобы найти тип ограничения, которое вы хотите добавить, и нажмите на него, чтобы добавить его.
Чтобы добавить источник GameObject в новое ограничение, перетащите GameObject из представления Hierarchy (или из представления Scene) в список Источники.
Перемещение, вращение или масштабирование ограниченного GameObject и его источника GameObjects.
Чтобы активировать ограничение, нажмите Активировать или Нуль, или отметьте Активировано и Блокировка.
Чтобы изменить компонент ограничения:
Выберите ограниченный GameObject в Редакторе.
Для корректировки В покое или Смещение поле, используйте Inspector окно для расширения Параметры ограничений, снять флажок Блокировка, а затем измените значения.
Чтобы указать оси, которые будут обновляться ограничением, разверните Установки ограничения, а затем проверьте свойства в Замораживание осей.
-
Чтобы добавить источник GameObject в ограничение:
Если в списке источников нет пустых мест, нажмите + в нижней части списка.
Перетащите GameObject, который вы хотите использовать в качестве источника ограничений, из вашей сцены в список Источники.
Чтобы удалить источник GameObject, выберите его в списке Источники и нажмите на символ минус (-) в нижней части списка.
-
Чтобы переупорядочить источник GameObjects в 2000 году Источники список, нажмите на значок двойной полосы слева от каждого GameObject вы хотите переместить, и перетащите его вверх или вниз.
Примечание: В списке Источников порядок не влияет на ограничения Положения, Поворота и Масштаба. Однако порядок влияет на то, как родительские и целевые ограничения перемещают или поворачивают GameObject.
Проверить Активный и Блокировка.