Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Стабильность Joint and Ragdoll

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

  • Избегайте малых углов соединения Угловой предел Y и Угловой предел Z. В зависимости от вашей установки, минимальные углы должны составлять от 5 до 15 градусов, чтобы быть стабильным. Вместо использования небольшого угла попробуйте установить угол равным нулю. Это блокирует ось и обеспечивает стабильное моделирование.
  • Снимите флажок со свойства Включить предварительную обработку для соединения. Отключение предварительной обработки может помочь предотвратить разделение или беспорядочное перемещение соединений, если они вынуждены находиться в ситуациях, когда невозможно удовлетворить ограничения соединения. Это может произойти, если Rigidbodyкомпонент, позволяющий воздействовать на GameObject смоделированная гравитация и другие силы. Подробнее
    См. в Словарь
    . static столкновениеСтолкновение происходит, когда физический движок обнаруживает, что коллайдеры двух игровых объектов соприкасаются или перекрываются, когда хотя бы один имеет Компонент Rigibody и находится в движении. Подробнее
    См. в Словарь
    геометрию (например, порождение Ragdoll частично внутри стены) .
  • В экстремальных условиях (например, частичное возрождение внутри стены или толчок с большой силой) решатель соединений не может удерживать компоненты Rigidbody Ragdoll вместе. Это может привести к растяжению. Чтобы справиться с этим, включите проекцию на соединения с помощью ConfigurableJoint.projectionMode или CharacterJoint.enableProjection.
  • Если компоненты Rigidbody, связанные с соединениями, дрожат, откройте окно Physics (Edit > Настройки проектаОбширный набор настроек, которые позволяют настроить поведение физики, звука, сети, графики, ввода и многих других областей вашего проекта. < a href="comp-ManagerGroup">Подробнее
    См. Словарь
    , затем выберите категорию Физика ) и попробуйте увеличить значение Итерации решателя по умолчанию от 10 до 20.
  • Если компоненты Rigidbody, связанные с соединениями, неправильно реагируют на отскоки, откройте окно Physics (Редактировать > Настройки проекта, затем выберите категорию Physics__) и попробуйте увеличить значение скорости итераций решателя по умолчанию__ от 10 до 20.
  • Никогда не используйте прямой доступ к преобразованию с компонентами Kinematic Rigidbody, соединенными соединениями с другими компонентами Rigidbody. При этом пропускается шаг, на котором PhysX вычисляет внутренние скорости соответствующих компонентов Rigidbody, в результате чего решатель выдает нежелательные результаты. Распространенным примером плохой практики является использование прямого доступа к преобразованию в 2D-проектах для переворачивания символов путем изменения Transform.TransformDirection в корневом элементе установки. Это работает намного лучше, если вы используете Rigidbody2D.MovePosition и Rigidbody2D.MoveRotation вместо этого.
  • Избегайте больших различий в массах между компонентами Rigidbody, соединенными соединениями. Это нормально, когда одно твердое тело имеет вдвое большую массу, чем другое, но когда одна масса в десять раз больше другой, симуляция может стать нестабильной.
  • Старайтесь избегать масштабирования, отличного от 1, в Transform, содержащем Rigidbody или Joint. Масштабирование может быть ненадежным во всех случаях.
  • Если компоненты Rigidbody перекрываются при вставке в мир, и вы не можете избежать перекрытия, попробуйте уменьшить Rigidbody.maxDepenetrationVelocity, чтобы Rigidbody компоненты выходят друг из друга более плавно.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3