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

Свойства: | Функции: | |
---|---|---|
Edit Joint Angular Limits | Добавляет визуальный гизмографическое наложение, связанное с игровым объектом в сцене и отображаемое в представлении сцены. Встроенные инструменты сцены, такие как инструмент перемещения, представляют собой гизмо, и вы можете создавать собственные гизмо, используя текстуры или сценарии. Некоторые гизмо отрисовываются только при выборе игрового объекта, в то время как другие гизмо отрисовываются редактором независимо от того, какие игровые объекты выбраны. Подробнее См. в Словарь до СценаСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее См. в представлении Словарь, помогающем редактировать пределы углов соединения. Чтобы использовать этот гизмо, установите для параметра Угловое перемещение по осям X, Y, Z значение Ограниченное, после чего появятся маркеры, позволяющие перетаскивать и регулировать пространство вращения соединения. |
|
Connected Body | RigidbodyКомпонент, позволяющий воздействовать на GameObject смоделированной гравитацией и другими силами. Подробнее См. в Словарь объект, к которому соединяется соединение. Вы можете установить для этого параметра значение None, чтобы указать, что соединение прикрепляется к фиксированному положению в пространстве, а не к другому Rigidbody.. |
|
AnchorИнструмент макета пользовательского интерфейса, который фиксирует элемент пользовательского интерфейса в родительском элементе. Якоря отображаются в виде четырех маленьких треугольных маркеров в представлении «Сцена», а информация об якорях также отображается в Инспекторе. Подробнее См. в Словарь |
Точка, определяющая центр сустава. Все основанные на физике симуляции используют эту точку в качестве центра расчетов. | |
Axis | Локальная ось, определяющая естественное вращение объекта на основе физического моделирования. | |
Auto Configure Connected Anchor | Включите этот параметр, чтобы автоматически вычислять позицию подключенной привязки в соответствии с глобальной позицией свойства привязки. Это значение по умолчанию. Отключите его, чтобы настроить положение подключенного якоря вручную. | |
Connected Anchor | Вручную настройте положение подключенной привязки. | |
Secondary Axis | Ось и Вторичная ось определяют локальную систему координат соединения. Третья ось ортогональна двум другим. | |
X, Y, Z Motion | Установите для движения по осям X, Y или Z значение Свободное, полностью Заблокированное или Ограниченное в соответствии со свойствами ограничения, описанными ниже.. | |
Angular X, Y, Z Motion | Установите для вращения вокруг осей X, Y или Z значение Свободное, полностью Заблокированное или Ограниченное в соответствии со свойствами ограничения, описанными ниже.. | |
Linear Limit Spring | Примените усилие пружины, чтобы оттянуть объект назад, когда он пройдет предельное положение. | |
Spring | Сила пружины. Установите это значение равным нулю, чтобы сделать предел непреодолимым. Значение, отличное от нуля, делает предел эластичным. | |
Damper | Уменьшение силы пружины пропорционально скорости движения сустава. Установите значение выше нуля, чтобы сустав мог «гасить» колебания, которые в противном случае продолжались бы бесконечно. | |
Linear Limit | Установите ограничение на линейное перемещение соединения (т. е. перемещение на расстояние, а не вращение), указанное как расстояние от начала соединения. | |
Limit | Расстояние в мировых единицах от начала до предела. | |
Bounciness | Установите силу отскока, применяемую к объекту, чтобы оттолкнуть его, когда он достигнет предельного расстояния.. | |
Contact DistanceСвойство ограничения соединения, которое задает допуск на минимальное расстояние между положением соединения и пределом, при котором ограничение будет применяться. Подробнее См. в Словарь |
Минимальный допуск на расстояние между положением соединения и пределом для принудительного соблюдения предела. Высокий допуск означает, что предел не будет нарушен при быстром движении объекта. Однако это требует более частого учета ограничения при моделировании физики и немного снижает производительность. | |
Angular X Limit Spring | Примените крутящий момент пружины, чтобы повернуть объект назад, когда он превысит предельный угол соединения. | |
Spring | Момент пружины. Установите это значение равным нулю, чтобы сделать предел непреодолимым. Установите значение, отличное от нуля, чтобы сделать предел эластичным. | |
Damper | Уменьшение крутящего момента пружины пропорционально скорости вращения сустава. Установите значение выше нуля, чтобы сустав мог «гасить» колебания, которые в противном случае продолжались бы бесконечно. | |
Low Angular X Limit | Нижний предел вращения соединения вокруг оси x в виде угла от исходного вращения соединения. | |
Limit | Предельный угол. | |
Bounciness | Установите крутящий момент отскока, который будет применяться к объекту, когда его вращение достигает предельного угла.. | |
Contact Distance | Минимальный угловой допуск (между углом соединения и пределом), при котором предел будет применяться. Высокий допуск реже нарушает предел, когда объект движется быстро. Однако это требует, чтобы симуляция физики чаще учитывала предел, и немного снижает производительность. | |
High Angular XLimit | Это похоже на свойство Low Angular X Limit, описанное выше, но оно определяет верхний угловой предел вращения сустава, а не нижний предел. | |
Angular YZ Limit Spring | Это похоже на описанную выше пружину ограничения по оси X, но применяется к вращению вокруг осей Y и Z. | |
Angular Y Limit | Это похоже на свойство Angular X Limit, описанное выше, но применяет ограничение к оси Y и считает верхний и нижний угловые пределы одинаковыми. | |
Angular Z Limit | Это похоже на свойство Угловой предел X, описанное выше, но применяет ограничение к оси Z и считает верхний и нижний угловые пределы одинаковыми. | |
Target Position | Целевое положение, в которое перемещается движущая сила сустава. | |
Target Velocity | Желаемая скорость, с которой сустав перемещается в целевое положение под действием движущей силы.. | |
XDrive | Задайте силу, которую Unity использует для поворота соединения вокруг локальной оси X с помощью приводных крутящих моментов Позиционной пружины и Позиционного демпфера. Параметр Maximum Force ограничивает силу. Это свойство доступно, только если для свойства Rotation Drive Mode установлено значение X & YZ. Дополнительную информацию см. в разделе Движущая сила ниже. | |
Position Spring | Крутящий момент пружины, который Unity использует для поворота соединения из его текущего положения в целевое положение. | |
Position Damper | Уменьшает крутящий момент пружины пропорционально разнице между текущей скоростью сустава и его целевой скоростью. Это снижает скорость движения сустава. Установите значение выше нуля, чтобы сустав мог гасить колебания, которые в противном случае продолжались бы бесконечно. | |
Maximum Force | Ограничивает силу, которую может применить привод. Чтобы привод прикладывал рассчитанное усилие, установите для этого параметра высокое значение, которое привод вряд ли вычислит. | |
YDrive | Это похоже на X Drive, описанный выше, но применяется к оси Y сустава.. | |
ZDrive | Это похоже на X Drive, описанный выше, но относится к оси Z сустава. | |
Target Rotation | Ориентация, к которой поворачивается привод вращения соединения, заданная как кватернионСтандартный способ Unity для представления поворотов в виде данных. При написании кода, имеющего дело с поворотами, обычно следует использовать класс Quaternion и его методы. Подробнее См. в Словарь. Целевое вращение относится к телу, к которому присоединено соединение, если не установлен параметр Swap Bodies, в этом случае оно относится к якорю соединенного тела. |
|
Target Angular Velocity | Угловая скорость, которую должен достичь вращательный привод сустава. Свойство указано как вектор. Длина вектора определяет скорость вращения, а направление определяет ось вращения. | |
Rotation Drive Mode | Установите, как Unity применяет движущую силу к объекту, чтобы повернуть его в целевую ориентацию. Установите режим X и YZ, чтобы применить крутящий момент вокруг осей, как указано в свойствах Angular X/YZ Drive, описанных ниже. Если вы используете режим Slerp, свойства Slerp Drive определяют крутящий момент привода. | |
Angular X Drive | Это определяет, как приводной крутящий момент вращает соединение вокруг его локальной оси x. Это свойство доступно только в том случае, если для свойства Rotation Drive Mode, описанного выше, установлено значение X & YZ. Дополнительную информацию см. в разделе Движущая сила ниже. | |
Position Spring | Крутящий момент пружины, который Unity использует для поворота соединения из его текущего положения в целевое положение. | |
Position Damper | Уменьшает крутящий момент пружины пропорционально разнице между текущей скоростью сустава и его целевой скоростью. Это снижает скорость движения сустава. Установите значение выше нуля, чтобы сустав мог гасить колебания, которые в противном случае продолжались бы бесконечно. | |
Maximum Force | Ограничивает силу, которую может применить привод. Чтобы привод прикладывал рассчитанное усилие, установите для этого параметра высокое значение, которое привод вряд ли вычислит. | |
Angular YZDrive | Это похоже на Angular X Drive, описанный выше, но применимо как к осям Y, так и к осям Z. | |
Slerp Drive | Это определяет, как крутящий момент привода вращает соединение вокруг всех локальных осей. Свойство доступно только в том случае, если для свойства Rotation Drive Mode, описанного выше, установлено значение Slerp. Дополнительную информацию см. в разделе Slerp Drive ниже. | |
Position Spring | Крутящий момент пружины, который Unity использует для поворота соединения из его текущего положения в целевое положение.. | |
Position Damper | Уменьшает крутящий момент пружины пропорционально разнице между текущей скоростью сустава и его целевой скоростью. Это снижает скорость движения сустава. Установите значение выше нуля, чтобы сустав мог гасить колебания, которые в противном случае продолжались бы бесконечно. | |
Maximum Force | Ограничивает силу, которую может применить привод. Чтобы привод прикладывал рассчитанное усилие, установите для этого параметра высокое значение, которое привод вряд ли вычислит. | |
Projection Mode | Это определяет, как соединение возвращается к своим ограничениям, когда оно неожиданно выходит за их пределы, потому что физический движоксистема, моделирующая аспекты физические системы, чтобы объекты могли правильно ускоряться и подвергаться воздействию столкновений, гравитации и других сил. Подробнее См. Словарь не может согласовать текущую комбинацию сил в моделировании. Возможные варианты: Нет и Положение и поворот. |
|
Projection Distance | Расстояние, на которое сустав должен выйти за свои ограничения, прежде чем физический движок попытается вернуть его в приемлемое положение. | |
Projection Angle | Угол, на который сустав должен повернуться за пределы своих ограничений, прежде чем физический движок попытается вернуть его в приемлемое положение. | |
Configured in World Space | Включите это свойство, чтобы вычислять значения, заданные различными свойствами цели и привода, в мировом пространстве, а не в локальном пространстве объекта. | |
Swap Bodies | Включите это свойство, чтобы изменить порядок, в котором физический движок обрабатывает твердые тела, задействованные в соединении. Это приводит к различному движению суставов, но не влияет на твердые тела и анкеры. | |
Break Force | Если сила, превышающая это значение, выталкивает соединение за его ограничения, то соединение навсегда «сломается» и удаляется. Break Torque разрывает соединение, только если его оси Ограничены или Заблокированы (см. раздел Ограничение движения ниже).. | |
Break Torque | Если крутящий момент, превышающий это значение, поворачивает соединение за его ограничения, то соединение навсегда «сломается» и будет удалено. Разрывная сила может сломать соединение независимо от того, являются ли его оси свободными, ограниченными или заблокированными (см. Ограничение движение ниже). | |
Enable Collision | Включите это свойство, чтобы объект с соединением сталкивался с объектом, к которому он подключен. Если это отключено, соединение и объект будут проходить друг через друга. | |
Enable Preprocessing | Если предварительная обработка отключена, то некоторые «невозможные» конфигурации соединения остаются более стабильными, а не выходят из-под контроля. | |
Mass Scale | Масштаб, применяемый к перевернутой массе и тензору инерции твердого тела, в диапазоне от 0,00001 до бесконечности. Это полезно, когда соединение соединяет два Rigidbody с сильно разной массой. Решатель физики дает лучшие результаты, когда соединенные твердые тела имеют одинаковую массу. Если ваши соединенные твердые тела различаются по массе, используйте это свойство вместе со свойством Connect Mass Scale, чтобы применить поддельные массы, чтобы сделать их примерно равными друг другу. Это обеспечивает высококачественную и стабильную симуляцию, но снижает физическое поведение твердых тел. | |
Connected Mass Scale | Масштаб, применяемый к перевернутой массе и тензору инерции связанного твердого тела, в диапазоне от 0,00001 до бесконечности. |
Подробнее
Как и другие соединения, конфигурируемое соединение можно использовать для ограничения движения объекта, но вы также можете использовать его для приведения его к целевой скорости или положению с помощью сил. Поскольку существует множество вариантов конфигурации, вам может потребоваться поэкспериментировать с ними, чтобы соединение работало именно так, как вы хотите.
Ограничение движения
Вы можете ограничивать как поступательное движение, так и вращение по каждой оси сустава независимо, используя свойства Движение по осям X, Y, Z и Поворот по осям X, Y, Z. Включите Configured In World Space, чтобы ограничить движения мировыми осями, а не локальными осями объекта. Для каждого из этих свойств можно установить значение Заблокировано, Ограничено или Бесплатно:
- Ось Заблокирована ограничивает все движения, поэтому сустав вообще не может двигаться. Например, объект, заблокированный на мировой оси Y, не может двигаться вверх или вниз.
- Ось Limited позволяет свободно перемещаться между предопределенными пределами, как описано ниже. Например, орудийной башне можно задать ограниченный сектор обстрела, ограничив ее вращение по оси Y определенным угловым диапазоном.
- Свободная ось допускает любое движение.
Вы можете ограничить поступательное перемещение с помощью свойства Linear Limit, которое определяет максимальное расстояние, на которое сустав может перемещаться от исходной точки (измеряемое по каждой оси отдельно). Например, вы можете ограничить шайбу для аэрохоккейного стола, заблокировав соединение по оси Y (в мировом пространстве), оставив его свободным по оси Z и установив ограничение по оси X, чтобы оно соответствовало ширине Таблица; после этого шайба вынуждена оставаться в пределах игровой площадки.
Вы также можете ограничить вращение, используя свойства Angular Limit. В отличие от линейного предела, с помощью этого свойства вы можете указать разные предельные значения для каждой оси. Вы также можете определить отдельные верхний и нижний пределы угла поворота для оси x; две другие оси используют один и тот же угол по обе стороны от исходного поворота. Например, вы можете построить "качающийся стол", используя плоскую плоскость с шарниром, ограниченным так, чтобы допускать небольшой наклон в направлениях X и Z, оставляя вращение Y заблокированным.
Пружинность и упругость
По умолчанию сустав перестает двигаться, когда достигает своего предела. Однако неупругое столкновениестолкновение происходит, когда физический движок обнаруживает, что коллайдеры двух игровых объектов соприкасаются или перекрываются, когда по крайней мере один имеет компонент Rigidbody и находится в движении. Подробнее
См. в Словарь, так как это редкость в реальном мире и поэтому полезно чтобы добавить ощущение упругости в сжатом суставе. Чтобы заставить ограниченный объект отскакивать после того, как он достигает своего предела, используйте свойство Bounciness линейного и углового пределов. Большинство столкновений выглядят более естественно с небольшим количеством отскока, но вы также можете установить это свойство выше, чтобы имитировать необычно упругие границы, такие как подушки бильярдного стола.
Чтобы еще больше смягчить пределы соединения, используйте свойства пружины: Linear Limit Spring для перемещения и Angular X/YZ Limit Spring для поворота. Если вы установите для свойства Spring значение выше нуля, соединение не перестанет резко двигаться, когда достигнет предела, а вернется в предельное положение под действием силы пружины. Сила силы определяется значением Spring. По умолчанию пружина абсолютно эластична и отбрасывает сустав назад в направлении, противоположном столкновению.
Вы можете использовать свойство Damper, чтобы уменьшить эластичность и более плавно вернуть соединение к пределу. Например, вы можете использовать пружинное соединениетип соединения, который соединяет вместе два компонента Rigidbody, но позволяет изменять расстояние между ними по мере хотя они были соединены пружиной. Подробнее
См. в Словарь, как создать рычаг, который можно тянуть влево или вправо , но затем он возвращается в вертикальное положение. Если пружины абсолютно эластичны, то после отпускания рычаг будет колебаться взад и вперед вокруг центральной точки. Однако, если вы добавите достаточное демпфирование, пружина быстро установится в нейтральное положение.
Движущие силы
Сустав может не только реагировать на движения объекта, к которому он прикреплен, но также может активно применять движущие силы для приведения объекта в движение. Некоторые суставы должны поддерживать движение объекта с постоянной скоростью, например, роторный двигатель, вращающий лопасть вентилятора. Используйте свойства Целевая скорость и Целевая угловая скорость, чтобы установить желаемую скорость для таких суставов.
Возможно, вам придется использовать суставы, которые перемещают свой объект в определенное положение в пространстве или в определенную ориентацию. Используйте свойства Целевое положение и Целевое вращение, чтобы установить эту функцию. Например, чтобы реализовать вилочный погрузчик, установите вилы на настраиваемый шарнир, а затем задайте целевую высоту, чтобы поднять их из сценария.
При установленной цели свойства X, Y, Z Drive и Angular X/YZ Drive (или, альтернативно, Slerp Drive) указывают сила, которую нужно использовать, чтобы подтолкнуть сустав к нему. Свойство Mode Drives определяет, должно ли соединение искать целевое положение, скорость или и то, и другое. Пружина положения и демпфер положения работают так же, как и ограничения сустава, когда они ищут целевое положение. В режиме скорости сила пружины зависит от «расстояния» между текущей скоростью и целевой скоростью; демпфер помогает скорости установиться на выбранном значении, а не бесконечно колебаться вокруг него. Например, формула для силы XDrive выглядит следующим образом:
force = PositionSpring * (target position - position) + PositionDamper * (targetVelocity - velocity)
Итак, сила растет пропорционально разнице между текущим значением и целевым значением, и уменьшается демпфером пропорционально разнице между текущей скоростью и целевой. Unity применяет силу как к позиционным, так и к вращательным приводам.
Свойство Максимальная сила — это последнее уточнение, которое предотвращает превышение предельного значения силы, приложенной пружиной, независимо от того, насколько далеко соединение находится от цели. Это не позволяет суставу, который вы растягиваете далеко от цели, быстро и неконтролируемым образом возвращать объект обратно.
Когда вы используете любую движущую силу (кроме Slerp Drive, описанной ниже), сустав применяет силу к объекту отдельно по каждой оси. Например, вы можете реализовать космический корабль, который имеет высокую скорость полета вперед, но относительно низкую скорость при движении вбок.
Слерп Драйв
В отличие от других режимов привода, в которых силы применяются по отдельным осям, Slerp Drive использует сферическую интерполяцию кватерниона или функцию «slerp» для изменения ориентации сустава. Вместо того, чтобы изолировать отдельные оси, процесс slerp находит минимальное общее вращение, которое переводит объект из текущей ориентации в целевую, и при необходимости применяет его ко всем осям. Привод Slerp немного проще настроить, но вы не можете указать разные приводные усилия для осей X и Y/Z.
Чтобы включить Slerp, измените свойство Rotation Drive Mode с X и YZ на Slerp. Соединение может использовать либо значения Angular X/YZ Drive, либо значения Slerp Drive, но не оба одновременно.