Unity 6.3
0 онлайн 85 гостей 3 в системе
Вход
Физика Шаг 94 из 99

Ткань

Компонент Cloth работает с Skinned Mesh Renderer, чтобы обеспечить решение на основе физики для симулирования тканей. Он специально разработан для одежды персонажей и работает только с Skinned Mesh Renderer. Если вы добавите компонент Cloth в GameObject с обычным Mesh Renderer, Unity удалит Mesh Renderer и добавит Skinned Mesh Renderer.

Чтобы прикрепить компонент Cloth к GameObject, который имеет Skinned Mesh Renderer, выберите GameObject в Редакторе, нажмите кнопку Добавить компонент в окне Inspector и выберите Физика > Ткань. Компонент появится в Inspector.

Компонент Cloth.
Компонент Cloth.

Свойства

Свойство Описание
Жесткость растяжения Растяжная жесткость ткани.
Жесткость изгиба Жесткость ткани при изгибе.
Используйте тетеры Применять ограничения, которые помогают предотвратить движущиеся частицы ткани слишком далеко от фиксированных. Это помогает уменьшить избыточную растяжение.
Использование гравитации Должно ли к ткани применяться ускорение гравитации?
Амортизация Коэффициент амортизации движения.
Внешнее ускорение Постоянное внешнее ускорение, действующее на ткань.
Случайное ускорение Случайное внешнее ускорение, приложенное к ткани.
Всемирная шкала скорости Насколько пространственно-мировое перемещение персонажа повлияет на вершины ткани.
Всемирная шкала ускорения Насколько ускорение персонажа в пространстве мира повлияет на вершины ткани.
Фрикция Трение ткани при столкновении с характером.
Масса столкновения Насколько увеличить массу столкнувшихся частиц.
Используйте непрерывное столкновение Включить непрерывное столкновение для повышения стабильности столкновения.
Использовать виртуальные частицы Добавлять по одной виртуальной частице на треугольник для повышения стабильности столкновений.
Частота решения Число итераций решателя в секунду.
Порог сна Порог сна ткани.
Коллайдеры капсул Массив CapsuleColliders, с которым должен столкнуться экземпляр Cloth.
Коллайдеры сферы Массив ClothSphereColliderPairs, с которым должен столкнуться экземпляр Cloth.
Виртуальные веса частиц Барицентрические координаты виртуальных частиц относительно трёх соседних обычных частиц ткани. (Как правило, подстраивать эти веса не требуется.)

Подробности

Ткань не реагирует на все коллайдеры в сцене, и не применяет силы обратно к миру. Когда она добавлена, компонент Ткань не будет реагировать или влиять на другие тела вообще. Таким образом, Ткань и мир не распознают и не видят друг друга, пока вы вручную не добавите коллайдеры из мира в компонент Ткань. Даже после этого, симуляция по-прежнему является односторонней: ткань реагирует на эти тела, но не применяет силы обратно.

Кроме того, вы можете использовать только три типа коллайдеров с тканью: коллайдеры сферы, капсулы и конической капсулы, построенные с использованием двух коллайдеров сферы. Все эти ограничения существуют для повышения производительности.

Инструмент редактирования ограничений

Вы можете применять ограничения к конкретным вершинам ткани, чтобы дать им больше или меньше свободы движения.

В Inspector выберите Изменить ограничения ткани (верхняя левая кнопка) в компоненте ткани. Когда инструмент активен, в представлении Scene на всех вершинах сетки появляются небольшие сферы. Они представляют частицы ткани, к которым можно применить ограничения. Цвет частицы представляет относительное значение ее ограничения в ткани, в соответствии с типом выбранного ограничения.

Инструмент ограничений ткани, используемый на рендеринге сетки со слоем кожи.
Инструмент ограничений ткани, используемый на рендеринге сетки со слоем кожи.

Окно инструмента Ограничения ткани также появляется в правом нижнем углу представления Scene.

Инструмент «Ограничения ткани»
Инструмент «Ограничения ткани»

Инструмент «Ограничения ткани» имеет следующие параметры:

Свойство Описание
Визуализация Позволяет выбрать тип ограничения и частицы для отображения. Выберите из следующих вариантов:
  • Максимальное расстояние: Отображает только значения Max Distance частиц ткани.
  • Поверхностное проникновение: Отображает только значения поверхностного проникновения частиц ткани.
  • Манипулирование Backfaces: Включите эту опцию для визуализации и манипулирования частицами, которые могут быть скрыты за текущей поверхностью ткани.

Спектр цветов показывает соответствие между цветами частиц и значениями ограничений для выбранного типа ограничения, в соответствии с минимальными и максимальными значениями, применяемыми в настоящее время во всей ткани. Чёрный цвет всегда означает, что частицы не имеют ограничений.
Режим ограничения Выберите способ редактирования значений ограничений ткани из следующих параметров:
  • Выберите: Применить фиксированное значение ограничения к предварительно выбранной группе частиц. Дополнительные сведения см. в Выберите режим.
  • Краска: Применение фиксированного значения ограничения путем покраски частиц ткани кистью. Для более подробной информации см. Режим рисования.
  • Градиент: Применяет линейный градиент значений ограничений слева направо к предварительно выбранной группе частиц. Для более подробной информации см. Режим градиента.
Размер ограничения Размер отображаемых сфер, которые представляют частицы ткани. Настройте это значение по своему усмотрению, чтобы облегчить редактирование ограничений. Это свойство не влияет на сами ограничения.

Выберите режим

Для использования инструмента Ограничения ткани в режиме выбора:

  1. Выберите Выберите в окне Ограничения ткани.
  2. Используйте курсор мыши, чтобы нарисовать поле выбора или нажмите на частицы по одному за раз.
  3. Включите тип ограничения, который вы хотите применить к выбранному объекту: Максимальное расстояние, Проникновение поверхностиили оба.
  4. Установите значение в соответствии с только что включенным типом ограничения.
Инструмент ограничений ткани в режиме выбора.
Инструмент ограничений ткани в режиме выбора.

Режим рисования

Для использования инструмента Ограничения ткани в режиме рисования:

  1. Выберите Краска в окне Ограничения ткани.
  2. Корректировка Радиус кисти согласно области вам нужно покрыть с кистью.
  3. Включите тип ограничения, которое вы хотите применить: Максимальное расстояние, Проникновение поверхностиили оба.
  4. Установите значение рисунка в соответствии с только что включенным типом ограничения.
  5. Нарисуйте ограничения на частицах с помощью кисти.
Инструмент ограничений ткани в режиме рисования.
Инструмент ограничений ткани в режиме рисования.

Градиентный режим

Для использования инструмента Ограничения ткани в режиме Градиент:

  1. Выберите Градиент в окне Ограничения ткани.
  2. Включить представление 2D в представлении Scene (инструмент не может применять градиент в представлении 3D).
  3. Используйте курсор мыши, чтобы нарисовать поле выбора или нажмите на частицы по одному за раз.
  4. Установите предельные значения градиента, который вы хотите применить слева направо в выбранном пространстве: Начало градиента и Конец градиента.
  5. Включите тип ограничения, который вы хотите применить к выбранному объекту: Максимальное расстояние, Проникновение поверхностиили оба.
Инструмент ограничений ткани в режиме Градиент.
Инструмент ограничений ткани в режиме Градиент.

Самостолкновение и межстолкновение

Столкновение ткани делает одежду персонажа и другие ткани в вашей игре более реалистичными. В Unity, ткань имеет несколько частиц ткани, которые управляют столкновением. Вы можете настроить частицы ткани для:

  • Самостоятельство, которое препятствует проникновению ткани в себя.
  • Взаимное столкновение, которое позволяет частицам ткани столкнуться друг с другом.

Чтобы настроить частицы столкновения для ткани, выберите кнопку Собственное столкновение и Взаимное столкновение в инспекторе ткани:

Кнопка самостоятельного столкновения и взаимодействия в ткани Inspector
Кнопка самостоятельного столкновения и взаимодействия в ткани Inspector

В представлении Scene появляется окно Самостоятельство и взаимодействие ткани:

Окно самостоятельного столкновения и взаимного столкновения ткани
Окно самостоятельного столкновения и взаимного столкновения ткани

Частицы ткани появляются автоматически для мешей с компонентом ткани. Изначально ни одна из частиц ткани не настроена на использование столкновения. Эти неиспользуемые частицы появляются черными:

Неиспользованные частицы ткани
Неиспользованные частицы ткани

Чтобы применить самостолкновение или межстолкновение, необходимо выбрать один набор частиц, к которым будет применено столкновение. Чтобы выбрать набор частиц для столкновения, нажмите кнопку Выбрать:

Кнопка выбора частиц ткани
Кнопка выбора частиц ткани

Теперь нажмите левой кнопкой мыши и перетащите, чтобы выбрать частицы, к которым вы хотите применить столкновение:

Выбор частиц ткани с помощью клика и перетаскивания
Выбор частиц ткани с помощью клика и перетаскивания

Выбранные частицы отображаются синим цветом:

Выбранные частицы ткани синие
Выбранные частицы ткани синие

Установите флажок Самостолкновение и межстолкновение, чтобы применить столкновение к выбранным частицам:

Флажок " Взаимное столкновение и взаимное столкновение "
Флажок " Взаимное столкновение и взаимное столкновение "

Частицы, которые вы указываете для использования в столкновении, отображаются зеленым цветом:

Выбранные частицы зеленые
Выбранные частицы зеленые

Чтобы включить поведение самостолкновения для ткани, перейдите в раздел Самостолкновение окна ткани Inspector и установите Расстояние между столкновениями и Жесткость между столкновениями на ненулевые значения:

Параметры самостоятельных столкновений
Параметры самостоятельных столкновений
Свойство Функция
Расстояние между столкновениями Диаметр сферы вокруг каждой частицы. Unity обеспечивает, что эти сферы не перекрываются во время моделирования. Расстояние между столкновениями должно быть меньше, чем наименьшее расстояние между двумя частицами в конфигурации. Если расстояние больше, само столкновение может нарушить некоторые ограничения расстояния и привести к тремора.
Жесткость при межстолкновении Насколько сильным должен быть импульс разделения между частицами. Ткань Solver рассчитывает это, и это должно быть достаточно, чтобы держать частицы разделены.

Самостолкновение и взаимное столкновение могут занять значительную часть общего времени моделирования. Рассмотрите возможность сохранения расстояния столкновения небольшим и использования индексов самостолкновения для уменьшения числа частиц, столкнувшихся друг с другом.

Самостоятельное столкновение использует вершины, а не треугольники, так что не ожидайте, что самостоятельное столкновение будет работать идеально для мешей с треугольниками, намного больше, чем толщина ткани.

Режимы Краска и Erase позволяют добавлять или удалять частицы для использования в столкновении, удерживая левую кнопку мыши и перетаскивая отдельные частицы ткани:

Параметры самостоятельных столкновений
Параметры самостоятельных столкновений

В режиме Краска или Erase частицы, указанные для столкновения, зеленые, неуказанные частицы черные, а частицы под кистью синие:

Раскрашиваемые частицы синие
Раскрашиваемые частицы синие

Столкновение тканей

Вы указываете частицы для взаимного столкновения так же, как указываете частицы для самостолкновения, как описано выше. Как и в случае самостолкновения, вы указываете один набор частиц для взаимного столкновения.

Чтобы включить поведение коллизии, откройте настройки Физика (из главного меню в Unity: Изменить > Project Настройки, затем выберите Физика > Physics Settings > Ткань category) и установите Inter-Collision Distance и Inter-Collision Stiffness на ненулевые значения в разделе Cloth InterCollision:

Включить поведение столкновения в настройках физики
Включить поведение столкновения в настройках физики

Столкновение тканей Расстояние между столкновениями и Жесткость при межстолкновении Свойства имеют ту же функцию, что и свойства самостоятельных столкновений Расстояние и Жесткость, которые описаны выше.

Столкновение Collider

Платье не может просто столкнуться с произвольной геометрией мира, и теперь будет взаимодействовать только с коллайдерами, указанными либо в капсулярных коллайдерах, либо в сферических коллайдерах.

Массив сферических коллайдеров может содержать либо один допустимый экземпляр SphereCollider (со вторым нулевым), либо пару. В первом случае ClothSphereColliderPair представляет только один сферический коллайдер для столкновения ткани. В последнем случае он представляет коническую форму капсулы, определенную двумя сферами, и конус, соединяющий их. Конические формы капсулы полезны для моделирования конечностей персонажа.