Компонент Cloth работает с Skinned Meshосновным графическим примитивом Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в Словарь Рендерер для предоставления решения, основанного на физике для имитации тканей. Он специально разработан для одежды персонажей и работает только со Skinned Mesh Rendererсетевым компонентом, который берет геометрию из Mesh Filter. и визуализирует его в позиции, определенной компонентом Transform объекта. Подробнее
См. в Словарь. Если вы добавите компонент Cloth к GameObjectфундаментальному объекту в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь с обычным средством визуализации сетки, Unity удаляет средство визуализации сетки и добавляет рендеринг Skinned Mesh Renderer.
Чтобы прикрепить компонент Cloth к GameObject, имеющему Skinned Mesh Renderer, выберите GameObject в редакторе, нажмите кнопку Add Component в окне Inspector и выберите Physics > Ткань. Компонент появится в Инспекторе.

Свойства
Свойства | Функции |
---|---|
Stretching Stiffness | Растягивающая жесткость ткани. |
Bending Stiffness | Жесткость ткани на изгиб. |
Use Tethers | Применяйте ограничения, которые помогают предотвратить слишком большое удаление движущихся частиц ткани от неподвижных. Это помогает уменьшить избыточную растяжку. |
Use Gravity | Следует ли прикладывать к ткани гравитационное ускорение? |
Damping | Коэффициент демпфирования движения. |
External Acceleration | К ткани приложено постоянное внешнее ускорение. |
Random Acceleration | Случайное внешнее ускорение, приложенное к ткани. |
World Velocity Scale | Насколько перемещение персонажа в мировом пространстве повлияет на вершины ткани. |
World Acceleration Scale | Насколько ускорение персонажа в мировом пространстве повлияет на вершины ткани. |
Friction | Трение ткани при столкновении с персонажем. |
Collision Mass Scale | На сколько увеличить массу сталкивающихся частиц. |
Use Continuous Collision | Включить непрерывное столкновениеСтолкновение происходит, когда физический движок обнаруживает, что коллайдеры двух игровых объектов соприкасаются или перекрываются, когда хотя бы один компонент Rigidbody и находится в движении. Подробнее См. в Словарь, чтобы улучшить стабильность столкновений. |
Use Virtual Particles | Добавьте одну виртуальную частицу на треугольник, чтобы улучшить устойчивость к столкновениям. |
Solver Frequency | Количество итераций решателя в секунду. |
Sleep Threshold | Порог сна ткани. |
Capsule CollidersКомпонент коллайдера в форме капсулы, который обрабатывает столкновения для игровых объектов, таких как бочки и конечности персонажей. Подробнее См. в Словарь |
Массив CapsuleColliders, с которыми должен сталкиваться этот экземпляр Cloth.. |
Sphere CollidersКомпонент коллайдера в форме сферы, который обрабатывает столкновения для игровых объектов, таких как мячи или другие объекты, которые можно приблизительно представить как сферу для целей физики. Подробнее См. в Словарь |
Массив ClothSphereColliderPairs, с которыми должен сталкиваться этот экземпляр Cloth. |
Подробнее
Ткань не реагирует на все коллайдерыНевидимая форма, используемая для обработки физических столкновений объекта. Коллайдер не обязательно должен быть точно такой же формы, как сетка объекта — грубое приближение часто бывает более эффективным и неразличимым в игровом процессе. Подробнее
См. в Словарь в sceneСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь, и не применяет силы обратно к миру. Когда он будет добавлен, компонент Cloth вообще не будет реагировать или влиять на какие-либо другие тела. Таким образом, Cloth и мир не узнают и не видят друг друга, пока вы вручную не добавите коллайдеры из мира в компонент Cloth. Даже после этого симуляция по-прежнему односторонняя: ткань реагирует на эти тела, но не применяет силы в ответ.
Кроме того, вы можете использовать только три типа коллайдеров с тканью: сфера, капсула и коллайдер конической капсулы, построенный с использованием двух коллайдеров сфер. Все эти ограничения существуют для повышения производительности.
Инструмент редактирования ограничений
Вы можете наложить ограничения на определенные вершины ткани, чтобы дать им большую или меньшую свободу движения.
В Инспектореокне Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта, что позволяет вам проверять и отредактируйте значения. Дополнительная информация
См. в Словарь, выберите Редактировать ограничения ткани (кнопка вверху слева) в компоненте «Ткань». Когда инструмент активен, в виде сценыинтерактивном представлении мира, который вы создаете, появляются маленькие сферы. Вы используете Scene View для выбора и размещения пейзажей, персонажей, камер, источников света и всех других типов игровых объектов. Подробнее
См. в Словарь обо всех вершинах меша. Они представляют частицы ткани, к которым можно применить ограничения. Окно инструмента «Ограничения ткани» также отображается в правом нижнем углу окна «Сцена».

Типы и цвета ограничений
Для каждой частицы ткани можно установить и отобразить два типа ограничений: * Max Distance — максимальное расстояние, на которое частица ткани может пройти от своей вершины. * Surface Penetration — насколько глубоко частица ткани может проникнуть в сетку.
Цвет частицы представляет относительное значение ее ограничения в пределах ткани в соответствии с выбранным типом ограничения.
Визуализация ограничений

Свойства | Функции | |
---|---|---|
Visualization | Позволяет выбрать, какой тип ограничения и какие частицы отображать. | |
Max Distance | Отображает только значения максимального расстояния частиц ткани. | |
Surface Penetration | Отображает только значения проникновения поверхности частиц ткани. | |
Manipulate Backfaces | Включите эту опцию, чтобы визуализировать и манипулировать частицами, которые могут быть скрыты за текущей лицевой частью ткани.. | |
[ Color spectrum ] | Обеспечивает соответствие между цветами частиц и значениями ограничения для выбранного выше типа ограничения в соответствии с минимальным и максимальным значениями, применяемыми в настоящее время для всей ткани. Черный всегда означает, что частица не имеет ограничения. | |
Constraint Size | Отображаемый размер сфер, представляющих частицы ткани. Отрегулируйте это значение по своему усмотрению, чтобы упростить редактирование ограничений. Это свойство не влияет на сами ограничения. |
Режимы редактирования ограничений
Вы можете использовать 3 разных режима для редактирования значений ограничения ткани.
Режим | Описание |
---|---|
Select | Позволяет применить фиксированное значение ограничения к предварительно выбранной группе частиц. |
Paint | Позволяет применять фиксированное значение ограничения, рисуя частицы ткани кистью. |
Gradient | Позволяет применить линейный градиент значений ограничений слева направо к предварительно выбранной группе частиц.. |
Свойства инструмента и шаги, которые необходимо выполнить, различаются в зависимости от используемого режима. Во всех случаях последний шаг соответствует действию, которое применяет значения ограничения.
В режиме Выбрать:

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

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

- Обязательно включите режим 2D в представлении "Сцена" (инструмент не может применить градиент в режиме 3D-представления).
- Используйте курсор мыши, чтобы нарисовать рамку выбора, или нажимайте на частицы по одной.
- Установите предельные значения градиента, который вы хотите применить слева направо в выбранном диапазоне: Начало градиента и Конец градиента.
- Включите тип ограничения, который вы хотите применить к своему выбору: Максимальное расстояние, Проникновение в поверхность или оба варианта.
Самостолкновение и взаимное столкновение
Столкновение тканей делает движение одежды персонажей и других тканей в игре более реалистичным. В Unity ткань состоит из нескольких частиц ткани, которые обрабатывают коллизии. Вы можете настроить частицы ткани для:
- Само-столкновение, которое предотвращает проникновение ткани внутрь себя.
- Взаимное столкновение, которое позволяет частицам ткани сталкиваться друг с другом.
Чтобы настроить частицы столкновения для ткани, нажмите кнопку Самостолкновение и взаимное столкновение в инспекторе ткани:

В представлении «Сцена» появится окно Столкновение и взаимное столкновение ткани:

Частицы ткани появляются автоматически для сеток со скинами, содержащих компонент ткани. Изначально ни одна из частиц ткани не использует столкновение. Эти неиспользуемые частицы выглядят черными:

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

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

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

Отметьте флажок Self Collision and Intercollision, чтобы применить столкновение к выбранным частицам:

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

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

Свойства: | Функции: |
---|---|
Distance | Диаметр сферы вокруг каждой частицы. Unity гарантирует, что эти сферы не перекрываются во время моделирования. Расстояние должно быть меньше наименьшего расстояния между двумя частицами в конфигурации. Если расстояние больше, самостолкновение может нарушить некоторые ограничения расстояния и привести к дрожанию. |
Stiffness | Насколько сильным должен быть разделяющий импульс между частицами. Решатель ткани вычисляет это, и этого должно быть достаточно, чтобы разделить частицы.. |
Самостолкновение и взаимное столкновение могут занимать значительную часть общего времени симуляции. Рассмотрите возможность сохранения небольшого расстояния столкновения и использования индексов самостолкновений, чтобы уменьшить количество частиц, сталкивающихся друг с другом.
Самостолкновение использует вершины, а не треугольники, поэтому не ожидайте, что самостолкновение будет работать идеально для мешей с треугольниками, намного превышающими толщину ткани.
РежимыPaint и Erase позволяют добавлять или удалять частицы для использования при столкновении, удерживая левую кнопку мыши и перетаскивая отдельные частицы ткани:

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

Столкновение тканей
Вы указываете частицы для взаимостолкновений так же, как вы указываете частицы для самостолкновений, как описано выше. Как и в случае с самостолкновением, вы указываете один набор частиц для взаимного столкновения.
Чтобы включить поведение взаимного столкновения, откройте настройки Physics (в главном меню Unity: Edit > Настройки проектаБольшой набор настроек, которые позволяют настроить поведение физики, звука, сети, графики, ввода и многих других областей вашего проекта. Подробнее
См. Словарь, затем выберите категорию Физика ) и установите ненулевые значения для параметров Distance и Stiffness в разделе Cloth InterCollision:

Свойства взаимостолкновений ткани Расстояние и Жесткость имеют ту же функцию, что и свойства расстояния и жесткости самостолкновений, описанные выше.
Столкновение с коллайдером
Ткань не может просто сталкиваться с произвольной геометрией мира и теперь будет взаимодействовать только с коллайдерами, указанными в коллайдерах капсул или массивы сферических коллайдеров.
Массив сферических коллайдеров может содержать либо один действительный экземпляр SphereCollider (второй экземпляр имеет значение null), либо пару. В первых случаях ClothSphereColliderPair просто представляет один сферический коллайдер, с которым сталкивается ткань. В последнем случае он представляет собой коническую форму капсулы, определяемую двумя сферами и конусом, соединяющим их. Конические капсулы удобны для моделирования конечностей персонажа.
- Cloth self collision и intercollision добавлен в 2017.3