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

Компонент 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 для выбора и размещения пейзажей, персонажей, камер, источников света и всех других типов игровых объектов. Подробнее
См. в Словарь
обо всех вершинах меша. Они представляют частицы ткани, к которым можно применить ограничения. Окно инструмента «Ограничения ткани» также отображается в правом нижнем углу окна «Сцена».

Инструмент Cloth Constraints Tool используется в Skinned Mesh Renderer.
Инструмент Cloth Constraints Tool используется в Skinned Mesh Renderer.

Типы и цвета ограничений

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

Цвет частицы представляет относительное значение ее ограничения в пределах ткани в соответствии с выбранным типом ограничения.

Визуализация ограничений

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

Режимы редактирования ограничений

Вы можете использовать 3 разных режима для редактирования значений ограничения ткани.

Режим Описание
Select Позволяет применить фиксированное значение ограничения к предварительно выбранной группе частиц.
Paint Позволяет применять фиксированное значение ограничения, рисуя частицы ткани кистью.
Gradient Позволяет применить линейный градиент значений ограничений слева направо к предварительно выбранной группе частиц..

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

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

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

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

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

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

Кнопка Self Collision and Intercollision в Инспекторе тканей
Кнопка Self Collision and Intercollision в Инспекторе тканей

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

Окно самостолкновений и взаимостолкновений ткани
Окно самостолкновений и взаимостолкновений ткани

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

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

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

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

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

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

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

Выбранные частицы ткани окрашены в синий цвет.
Выбранные частицы ткани окрашены в синий цвет.

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

Флажок Self Collision и Intercollision
Флажок Self Collision и Intercollision

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

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

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

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

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

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

Режимы

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

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

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

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

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

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

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

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

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

Столкновение с коллайдером

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

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


  • Cloth self collision и intercollision добавлен в 2017.3
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3