Физика Одежды в Unity 3.0 (beta 4)

Оглавление.

  1. Варианты реализации.

    1. Interactive Cloth.

      1. Плюсы.

      2. Минусы.

      3. Возможности применения.

    2. Skinned Cloth.

      1. Принцип действия.

      2. Плюсы.
      3. Минусы.
      4. Возможности применения.

    3. Прочее.

  2. Реализация реалистичной модели физической симуляции одежды на базе Skinned Cloth
    1. Физика юбки.

      1. Моделлирование.

      2. Предподготовка физики :

        1. Rigidbody

        2. Colliders

        3. Joint.
  3. Применение коллайдеров для симуляции столкновений между различными частями одежды.

Варианты Реализации

Интерактивные Ткани (Interactive Cloth)

Компонент Interactive Cloth предоставляет готовую возможность симуляции реалистичного поведения тканей с учётом настраиваемых свойств тканей и столкновений с физическими объектами сцены. В том числе, подобная ткань может учитывать коллизии сама с собой.

ПЛЮСЫ :

  1. Реалистичное поведение.

  2. Сложная, богатая физическая реакция.

  3. Возможность «разрушения» ткани.

МИНУСЫ :

  1. Большая нагрузка на CPU
  2. Недостаточно реализован перехват исключительных значений, что приводит к фатальным ошибкам при инициализации приложения. Видимо, будет поправлено вскоре.

  3. Капризное, не всегда предсказуемое поведение в Редакторе Unity. Как и предыдущий пункт, вероятно это проблемы текущей Бета версии.
  4. Невозможно изменить Scale фактор симулируемой одежды.

ВОЗМОЖНОСТИ ПРИМЕНЕНИЯ :

  1. Применять для симуляции поведения одежды можно, но очень дорого в плане нагрузки на CPU
  2. Хорошо применимо для симуляции плащей, накидок, волос. Всего того, что максимально близко по форме к плоскости. Ленты, пряди, возможно верёвки.

Компонент Skinned Cloth

Компонент Skinned Cloth реализует упрощённую модель физики тканей, но, тем не менее, во многих аспектах, превосходящий Interactive Cloth по качеству симуляции и её результатам.

ПРИНЦИП ДЕЙСТВИЯ :

Компонент назначается только на скинированные объекты (имеющие компонент Skinned Mesh Renderer). Skinned Cloth берёт за основу информацию вершин скинированного объекта и добавляет к их поведению, настраиваемую степень свободы. Рассмотрим простейший пример на основе «резинового мячика». Если мы применим к нему компонент Skinned Cloth и бросим на землю, его «резиновое тело» до определённой степени продавится, как если бы с него выпустили часть воздуха. Степень свободы смещения вершин от позиций, заданных скиннингом (в том числе и анимацией), настраивается индивидуально для каждой вершины, в настройках компонента Skinned Cloth.

Так же, как и мячек, ведут себя любые другие скинированные объекты. То есть, если у нас есть юбка и анимация идущей женщины, сделанная для этой юбки, «ткань» юбки добавит к заданной анимации физическую свободу и реакцию на перемещения, в соответсвии с настройками компонента Skinned Cloth.

ПЛЮСЫ :

  1. Быстрая обработка.

  2. Отличное взаимодействие с анимациями.

  3. Тонко настраиваемое поведение каждой «части одежды» – то есть каждой отдельной вершины.

  4. Связь с костями SkinnedMesh, дающая возможность более глубокой симуляции физики.

МИНУСЫ :

  1. Ограниченная степень свободы вершин.

  2. Неразрушаемая ткань.

  3. Отсутствие коллизий с другими скинированными тканями.

ВОЗМОЖНОСТИ ПРИМЕНЕНИЯ :

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

ПРОЧЕЕ

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

Реализация реалистичной модели физической симуляции одежды на базе

Skinned Cloth


Как мы рассмотрели выше, Skinned Cloth имеет существенный недостаток — отсутствие коллизий между различными объектами одежды или тела персонажа. Преодолеть этот недостаток можно с помощью предания физического поведения костям SkinnedMesh, поведение которых управляет поведение вершин скинированного объекта, то есть, в данном исследовании — одежды персонажа.

ФИЗИКА ЮБКИ :

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

  1. Моделлирование :

На этапе моделлирования, создать радиальную группу «костей» идущую от пояса к подолу.

  1. Предподготовка физики :

    1. Предподготовка Rigidbody :

Добавить к «костям» компонент Rigidbody для регистрации их в физическом движке как подвижных физических объектов.

    1. Предподготовка коллайдеров (Colliders) :

Назначить «костям» юбки коллизионные примитивы (предпочтительнее всего — Capsule Collider).

    1. Предподготовка Сочленений (Joints) :

Соединить с помощью Joints все «кости» попарно для предотвращения их падения вниз под действием «силы тяжести». Так же сочленения (Joints) необходимы для настройки поведения сочленения костей. Задания степени свободы на изгиб и пружинистости.

  1. Предподготовка окружения.

Применение пунктов 2.1 и 2.2 ко всем объектам, с которыми данный объект (юбка) может войти в физическое соприкосновение.

По Умолчанию, тело персонажа заранее имеет все необходимые физические компоненты, как то : Colliders и Rigidbody

Таким образом, во время работы приложения, на подготовленные коллайдеры начнёт воздействовать физика, они займут положения, сообразно коллизиям, настройкам сочленений и силе тяжести, изменив конфигурацию Skinned Mesh, что в свою очередь, изменит состояние Skinned Cloth. В результате мы получим более реалистичное поведение ткани и учёт внешних коллизий.

Применение Коллайдеров для симуляции столкновений

между различными частями одежды.

Техника, описанная выше, так же применима для симуляции столкновений различных элементов одежды между собой. К примеру жакет и юбка, настроенные с применением коллайдеров, сочленений и ригидбоди, не «проникнут» ни в тело манекена ни в друг друга, потому что коллайдеры их костей не дадут им этого сделать.

Примечание : Не стоит злоупотреблять описанной методикой. Настройка всех параметров достаточно кропотливая работа и большой колличество физических объектов может повлиять на производительность приложения. Желательно применять методу только там, где это оправданно и необходимо, то есть там, где настроек только компонента Skinned Cloth недостаточно.

Copyright : Neodrop (2010)

VN:F [1.9.3_1094]
Rating: 9.8/10 (9 votes cast)
VN:F [1.9.3_1094]
Rating: +5 (from 5 votes)
Физика одежды в Unity 3.0 (небольшое эссе на тему Skinned Cloth), 9.8 out of 10 based on 9 ratings

Один комментарий на «Физика одежды в Unity 3.0 (небольшое эссе на тему Skinned Cloth)»

  1. Armando

    lewisohn@dora.progandist” rel=”nofollow”>.…

    спс….

    VA:F [1.9.3_1094]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 2 votes)

Ваш отзыв

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



Страница 1 of 0