Автор: Alisacat007
Система моделирования ткани использует альфа-каналы вершин мешей (alpha channels of vertices of meshes). Значения в альфа-канале представляют, насколько вершина может отойти от своего исходного положения.
0,1 альфа-канала означает, что вершина может быть перемещена на 0,1 единицы от своего исходного положения с помощью моделирования ткани. Если вы установите ноль в альфа-значение, это означает, что вершина будет зафиксирована на своем месте и не будет обновляться при моделировании.
Черные части управляются системой скининга (skinning system), в то время как белые части моделируются.
Стоит отметить, что вычисления скиннинга выполняются для всех вершин, независимо от того, фиксированы они или нет.
Позиции skinned vertices (очищенных вершин) используются в качестве опорных точек для моделируемых вершин (simulated vertices).
Вы можете представить, что смоделированная вершина (simulated vertex) может перемещаться только внутри сферы с радиусом R и центром C. Здесь в качестве радиуса используется альфа-канал цвета вершины (vertex color), а в качестве центра - skinned position.
Direct simulation (Прямое моделирование):
При прямом моделировании вершины визуализируемой сетки (vertices of rendered mesh) моделируются непосредственно с помощью моделирования ткани.
Этот метод может быть использован для мешей с простой топологией (например, решетка, сетка и т.п.) и небольшим количеством вершин.
По мере увеличения числа вершин затраты на производительность моделирования будет больше.
Mapped simulation (Отображенное моделирование):
В некоторых случаях ваш меш может не подходить для моделирования ткани. Некоторые примеры - это доспехи с двусторонними полигонами (double sided polygons), одежда с более чем одним слоем или меши с большим количеством полигонов. В таких случаях для моделирования может быть использована отдельный меш (separate mesh). Если используется отдельный моделируемый меш (separate simulation mesh), то вершины этого меша моделируются имитацией ткани. Вершины исходного меша (original mesh) будут сопоставлены с моделируемым мешем (simulated mesh) и перемещаться вместе с ней.
На приведенных выше изображениях меши с правой стороны используются для моделирования, а левые визуализируются в соответствии с моделируемыми результатами. Для достижения реалистичных результатов ваш моделируемный меш (simulation mesh) должен плотно сопоставляться с мешем рендеринга и никогда не должен его перекрывать. Другими словами, меш рендеринга никогда не должен проникать в меш моделирования. Если это так, то, поскольку расчеты коллизий выполняются для моделирования меша, вы можете увидеть артефакты коллизии (simulation mesh), такие как проникновение ног в броню.
Чтобы включить имитацию ткани для мешей (cloth simulation for a mesh), необходимо настроить некоторые игровые настройки. Редактор ткани (Cloth Editor) используется для настройки мешей для моделирования. Редактор ткани можно открыть из меню панели инструментов в Редакторе ( toolbar menu in editor).
Preview mesh (Предварительный просмотр мешей):
Чтобы начать работу с мешами, вы должны зайти в Preview mesh menu (меню предварительного просмотра мешей) и выбрать sub meshes, которые будут моделироваться на Render mesh cloth properties panel (панели свойств ткани Render mesh). Если альфа-каналы меша окрашены правильно, то он должна начать моделироваться в окне предварительного просмотра.
Simulation mesh (Моделируемый меш):
Если вы хотите использовать отдельный Simulation mesh, выберите его в Simulation mesh menu (меню моделирования мешей). Альфа-канал этого меша также должен быть окрашен, потому что это фактически моделируемый меш. В этом случае альфа-канал Preview mesh (предварительного просмотра мешей) используется для определения того, будет ли вершина отображена в меше моделирования или она будет визуализирована с исходными данными скининга (rendered with original skinning data).
Альфа-значения больше нуля означают, что вершина должна быть сопоставлена с моделируемым мешем.
Вершины с нулевыми альфа-значениями будут использовать исходные данные скининга.
Поскольку моделируемый меш (Simulation mesh) имеет меньшее количество полигонов, чем оригинальный меш, это может быть использовано для повышения качества скиннинга (skinning) оригинального меша для non-simulated parts (немоделированных деталей).
Helper mesh (Вспомогательный меш):
Вы можете выбрать вспомогательный меш для предварительного просмотра фактического моделируемого меша с произвольным мешем. Хорошим примером является выбор меша лошади для моделирования меша гривы коня.
Preview skeleton (Предварительный просмотр скелета):
Если вы хотите работать с skinned mesh и просматривать оболочки коллизий и анимации, вы должны выбрать соответствующий скелет.
Preview body (Предварительный просмотр тела):
Вы можете назначить уже имеющееся collision body в меню Preview body. Модифицированная collision bodies может быть выполнена из Cloth Bodies panel.
Preview animation name (Предварительный просмотр анимации):
Вы можете потестить свою ткань с помощью анимации. Вы должны будете написать его имя в папке asset, а не в animations*.xml, а также его начальные и конечные номера кадров и продолжительность. Вы можете запускать и останавливать анимацию с помощью кнопки Toggle Animation (переключения анимации).
Scene update coef (Коэффициент обновления сцены):
Замедленное движение можно смоделировать, уменьшив это значение. Значение по умолчанию равно 1, что означает, что все моделирования выполняются с нормальной скоростью.
Render mesh cloth properties (Рендеринг свойств мешей ткани):
Вы можете выбрать, какие submeshes будут моделироваться, установив флажок рядом с каждой submesh. Различные материалы ткани могут быть назначены каждой submesh в графе Cloth material.
Коэффициент максимального расстояния (Max distance multiplier) используется для масштабирования вершин мешей (scale vertex color paintings), которая контролирует, сколько вершин может отойти от своей первоначальной позиции.
Значение 0.5 вершины альфа (vertex alpha) с максимальное значение коэффициента расстояния 3.0 означает, что вершина сдвинется на 1,5 единицы от своей первоначальной позиции.
Если вы используете раздельный моделируемый меш, то максимальное значение расстояния и материал ткани моделируемого меша отменяют эти настройки. Все сабмеши (submeshes) будут использовать один и тот же материал, назначенный для моделируемого меша.
Simulation mesh cloth properties (Свойства ткани моделируемого меша):
Если вы используете отдельный моделируеый меш, вы можете настроить его параметры здесь так же, как и свойства мешей рендеринга (render mesh properties), упомянутые выше. Выбранный здесь материал ткани и максимальное значение расстояния будут использоваться для всех submeshes рендеринга.
Коллизии можно создавать и изменять в окне Collision bodies. Его можно открыть через Edit > Edit collision bodies.
Оболочка\капсула (capsule) состоит из двух конечных точек. С ними можно работать отдельно, назначив кости и вес. Одна точка оболочки\капсулы затрагивает не более чем две кости. Как и при скиннинге мешей, вес (weights) используются для определения влияния этой кости на выбранную капсулу.
Все параметры моделирования для настройки поведения ткани поставляются вместе с материалами тканей. Пресеты\настройки материалов ткани можно создавать и изменять в окне Material templates (Шаблоны материалов).
Это окно можно открыть в меню Edit (Правка) > Edit merial templates (Правка шаблонов материала). Материалы, показанные в этом окне, являются пресетами, поэтому изменение этих пресетов не влияет на конфигурацию существующих мешей ткани. Чтобы изменить параметры существующего меша ткани, вы можете нажать кнопку Change parameters (Изменить параметры) на панелях Simulation/Render mesh cloth properties (Моделирование/рендеринг свойств мешей) и настроить все параметры в окне Mesh specific parameters (конкретных параметров меша).
Эти конкретные параметры меша следующие:
Bending (Изгиб)
Stretching (Растяжение)
Shearing (Смещение)
Stiffness (Жесткость)
Они определяет, насколько ограничение материала будет противостоять соответствующему на него внешнему воздействию в игре.
Anchor Stiffness (Жесткость):
Этот параметр строго ограничивает свободу вершины (vertex). Он пытается поддерживать постоянные расстояния между моделируемыми и фиксированными вершинами. Вы можете попытаться увеличить это значение, если ваша сетка растягивается слишком сильно.
Damping (Затухание):
Значения амортизации для вершин. Определяет долю скорости текущего кадра (frame) для перехода к следующему кадру.
Linear Inertia (Линейная инерция):
Поскольку ваша моделируемая ткань выполняется в локальном пространстве, глобальные изменения кадра переносятся на ткань виртуально. Это значение определяет, какая часть ускорения объекта будет перенесена на ткань. Вы можете проверить это, добавив меш ткани в сцену и случайным образом потрясти ее сущность.
Air drag (Сопротивление воздуха):
Для меша ткани, движущегося с постоянной скоростью, это значение определяет, насколько сильно сила сопротивления воздуха будет воздействовать на ее вершины.
Wind (Ветер):
Вы можете контролировать, сколько силы ветра будет использовать ткань. Это значение является множителем для фактической силы ветра сцены. Если в сцене нет ветра, то увеличение этого значения не будет иметь никакого эффекта.
Gravity (Гравитация):
Постоянная сила тяжести, действующая на каждую моделируемую вершину. Вы можете уменьшить это значение, чтобы добиться шелковистого поведения ткани.
Iteration Frequency (Частота повторения):
Определяет сколько раз меш ткани будет смоделирован за секунду. Вы можете оставить этот параметр со значением по умолчанию, если только ваш меш не имеет больших треугольников или он не движется так быстро, что капсулы коллизий (collision capsules) не смогут поймать смоделированные вершины. Увеличение этого значения приводит к более стабильному поведению при коллизиях, но производительность удара также линейно возрастает.
Precise Simulation (Точность моделированя):
Мы меняем качество на производительность в игре, делая некоторые сжатия во время моделирования. В результате моделируемый меш может немного перейти в другое состояние, чем был в состоянии покоя. Если эта точность важна для вашего меша, вы можете включить эту опцию, чтобы получить более правильные качественные результаты.
Dummy Collision Particles (Фиктивные частицы коллизий):
Если моделируемый меш имеет большие размеры треугольников по отношению к капсулам коллизий (collision capsules), капсулы могут не сталкиваться с мешем ткани должным образом. Чтобы преодолеть это, мы помещаем фиктивные вершины (dummy vertices) в каждый треугольник меша. Эти вершины не моделируются, а используются только на стадии коллизии. Эта опция наносит большой удар по производительности вашей системы компьютера, поэтому вам следует стараться избегать ее включения.
Наша система моделирования генерирует два файла с расширениями *.tcc и *.tcm. Файлы .tcc содержат предварительно обработанные данные, используемые при моделировании ткани, такие как индексы ограничений (constraint indices), длины ограничений (constraint lengths) и т. д. Файлы .tcm содержат данные преобразования мешей рендеринга в моделируемые меши. Вы должны сохранить оба этих файла в Plastic SCM, чтобы гарантировать, что никто не ждет завершения процесса их приготовления на этапе загрузки сцены.
Preparing Mesh (Подготовка мешей)
Система моделирования ткани использует альфа-каналы вершин мешей (alpha channels of vertices of meshes). Значения в альфа-канале представляют, насколько вершина может отойти от своего исходного положения.
0,1 альфа-канала означает, что вершина может быть перемещена на 0,1 единицы от своего исходного положения с помощью моделирования ткани. Если вы установите ноль в альфа-значение, это означает, что вершина будет зафиксирована на своем месте и не будет обновляться при моделировании.
(Shaded) | (Vertex Alpha) |
Черные части управляются системой скининга (skinning system), в то время как белые части моделируются.
Стоит отметить, что вычисления скиннинга выполняются для всех вершин, независимо от того, фиксированы они или нет.
Позиции skinned vertices (очищенных вершин) используются в качестве опорных точек для моделируемых вершин (simulated vertices).
Вы можете представить, что смоделированная вершина (simulated vertex) может перемещаться только внутри сферы с радиусом R и центром C. Здесь в качестве радиуса используется альфа-канал цвета вершины (vertex color), а в качестве центра - skinned position.
(Shaded) | (Vertex Alpha) |
Simulation Types (Типы моделирования)
Direct simulation (Прямое моделирование):
При прямом моделировании вершины визуализируемой сетки (vertices of rendered mesh) моделируются непосредственно с помощью моделирования ткани.
Этот метод может быть использован для мешей с простой топологией (например, решетка, сетка и т.п.) и небольшим количеством вершин.
По мере увеличения числа вершин затраты на производительность моделирования будет больше.
Mapped simulation (Отображенное моделирование):
В некоторых случаях ваш меш может не подходить для моделирования ткани. Некоторые примеры - это доспехи с двусторонними полигонами (double sided polygons), одежда с более чем одним слоем или меши с большим количеством полигонов. В таких случаях для моделирования может быть использована отдельный меш (separate mesh). Если используется отдельный моделируемый меш (separate simulation mesh), то вершины этого меша моделируются имитацией ткани. Вершины исходного меша (original mesh) будут сопоставлены с моделируемым мешем (simulated mesh) и перемещаться вместе с ней.
На приведенных выше изображениях меши с правой стороны используются для моделирования, а левые визуализируются в соответствии с моделируемыми результатами. Для достижения реалистичных результатов ваш моделируемный меш (simulation mesh) должен плотно сопоставляться с мешем рендеринга и никогда не должен его перекрывать. Другими словами, меш рендеринга никогда не должен проникать в меш моделирования. Если это так, то, поскольку расчеты коллизий выполняются для моделирования меша, вы можете увидеть артефакты коллизии (simulation mesh), такие как проникновение ног в броню.
Cloth Editor (Редактор Ткани)
Чтобы включить имитацию ткани для мешей (cloth simulation for a mesh), необходимо настроить некоторые игровые настройки. Редактор ткани (Cloth Editor) используется для настройки мешей для моделирования. Редактор ткани можно открыть из меню панели инструментов в Редакторе ( toolbar menu in editor).
Preview properties (Свойства предварительного просмотра)
Preview mesh (Предварительный просмотр мешей):
Чтобы начать работу с мешами, вы должны зайти в Preview mesh menu (меню предварительного просмотра мешей) и выбрать sub meshes, которые будут моделироваться на Render mesh cloth properties panel (панели свойств ткани Render mesh). Если альфа-каналы меша окрашены правильно, то он должна начать моделироваться в окне предварительного просмотра.
Simulation mesh (Моделируемый меш):
Если вы хотите использовать отдельный Simulation mesh, выберите его в Simulation mesh menu (меню моделирования мешей). Альфа-канал этого меша также должен быть окрашен, потому что это фактически моделируемый меш. В этом случае альфа-канал Preview mesh (предварительного просмотра мешей) используется для определения того, будет ли вершина отображена в меше моделирования или она будет визуализирована с исходными данными скининга (rendered with original skinning data).
Альфа-значения больше нуля означают, что вершина должна быть сопоставлена с моделируемым мешем.
Вершины с нулевыми альфа-значениями будут использовать исходные данные скининга.
Поскольку моделируемый меш (Simulation mesh) имеет меньшее количество полигонов, чем оригинальный меш, это может быть использовано для повышения качества скиннинга (skinning) оригинального меша для non-simulated parts (немоделированных деталей).
Helper mesh (Вспомогательный меш):
Вы можете выбрать вспомогательный меш для предварительного просмотра фактического моделируемого меша с произвольным мешем. Хорошим примером является выбор меша лошади для моделирования меша гривы коня.
Preview skeleton (Предварительный просмотр скелета):
Если вы хотите работать с skinned mesh и просматривать оболочки коллизий и анимации, вы должны выбрать соответствующий скелет.
Preview body (Предварительный просмотр тела):
Вы можете назначить уже имеющееся collision body в меню Preview body. Модифицированная collision bodies может быть выполнена из Cloth Bodies panel.
Preview animation name (Предварительный просмотр анимации):
Вы можете потестить свою ткань с помощью анимации. Вы должны будете написать его имя в папке asset, а не в animations*.xml, а также его начальные и конечные номера кадров и продолжительность. Вы можете запускать и останавливать анимацию с помощью кнопки Toggle Animation (переключения анимации).
Scene update coef (Коэффициент обновления сцены):
Замедленное движение можно смоделировать, уменьшив это значение. Значение по умолчанию равно 1, что означает, что все моделирования выполняются с нормальной скоростью.
Render mesh cloth properties (Рендеринг свойств мешей ткани):
Вы можете выбрать, какие submeshes будут моделироваться, установив флажок рядом с каждой submesh. Различные материалы ткани могут быть назначены каждой submesh в графе Cloth material.
Коэффициент максимального расстояния (Max distance multiplier) используется для масштабирования вершин мешей (scale vertex color paintings), которая контролирует, сколько вершин может отойти от своей первоначальной позиции.
Значение 0.5 вершины альфа (vertex alpha) с максимальное значение коэффициента расстояния 3.0 означает, что вершина сдвинется на 1,5 единицы от своей первоначальной позиции.
Если вы используете раздельный моделируемый меш, то максимальное значение расстояния и материал ткани моделируемого меша отменяют эти настройки. Все сабмеши (submeshes) будут использовать один и тот же материал, назначенный для моделируемого меша.
Simulation mesh cloth properties (Свойства ткани моделируемого меша):
Если вы используете отдельный моделируеый меш, вы можете настроить его параметры здесь так же, как и свойства мешей рендеринга (render mesh properties), упомянутые выше. Выбранный здесь материал ткани и максимальное значение расстояния будут использоваться для всех submeshes рендеринга.
ВАЖНО! Вы должны сохранить свои настройки, нажав кнопку Save mesh settings (Сохранить настройки мешей).
Collision Bodies (Коллизии)
Коллизии можно создавать и изменять в окне Collision bodies. Его можно открыть через Edit > Edit collision bodies.
Оболочка\капсула (capsule) состоит из двух конечных точек. С ними можно работать отдельно, назначив кости и вес. Одна точка оболочки\капсулы затрагивает не более чем две кости. Как и при скиннинге мешей, вес (weights) используются для определения влияния этой кости на выбранную капсулу.
Cloth materials (Материал ткани)
Все параметры моделирования для настройки поведения ткани поставляются вместе с материалами тканей. Пресеты\настройки материалов ткани можно создавать и изменять в окне Material templates (Шаблоны материалов).
Это окно можно открыть в меню Edit (Правка) > Edit merial templates (Правка шаблонов материала). Материалы, показанные в этом окне, являются пресетами, поэтому изменение этих пресетов не влияет на конфигурацию существующих мешей ткани. Чтобы изменить параметры существующего меша ткани, вы можете нажать кнопку Change parameters (Изменить параметры) на панелях Simulation/Render mesh cloth properties (Моделирование/рендеринг свойств мешей) и настроить все параметры в окне Mesh specific parameters (конкретных параметров меша).
Эти конкретные параметры меша следующие:
Bending (Изгиб)
Stretching (Растяжение)
Shearing (Смещение)
Stiffness (Жесткость)
Они определяет, насколько ограничение материала будет противостоять соответствующему на него внешнему воздействию в игре.
Anchor Stiffness (Жесткость):
Этот параметр строго ограничивает свободу вершины (vertex). Он пытается поддерживать постоянные расстояния между моделируемыми и фиксированными вершинами. Вы можете попытаться увеличить это значение, если ваша сетка растягивается слишком сильно.
Damping (Затухание):
Значения амортизации для вершин. Определяет долю скорости текущего кадра (frame) для перехода к следующему кадру.
Linear Inertia (Линейная инерция):
Поскольку ваша моделируемая ткань выполняется в локальном пространстве, глобальные изменения кадра переносятся на ткань виртуально. Это значение определяет, какая часть ускорения объекта будет перенесена на ткань. Вы можете проверить это, добавив меш ткани в сцену и случайным образом потрясти ее сущность.
Air drag (Сопротивление воздуха):
Для меша ткани, движущегося с постоянной скоростью, это значение определяет, насколько сильно сила сопротивления воздуха будет воздействовать на ее вершины.
Wind (Ветер):
Вы можете контролировать, сколько силы ветра будет использовать ткань. Это значение является множителем для фактической силы ветра сцены. Если в сцене нет ветра, то увеличение этого значения не будет иметь никакого эффекта.
Gravity (Гравитация):
Постоянная сила тяжести, действующая на каждую моделируемую вершину. Вы можете уменьшить это значение, чтобы добиться шелковистого поведения ткани.
Iteration Frequency (Частота повторения):
Определяет сколько раз меш ткани будет смоделирован за секунду. Вы можете оставить этот параметр со значением по умолчанию, если только ваш меш не имеет больших треугольников или он не движется так быстро, что капсулы коллизий (collision capsules) не смогут поймать смоделированные вершины. Увеличение этого значения приводит к более стабильному поведению при коллизиях, но производительность удара также линейно возрастает.
Precise Simulation (Точность моделированя):
Мы меняем качество на производительность в игре, делая некоторые сжатия во время моделирования. В результате моделируемый меш может немного перейти в другое состояние, чем был в состоянии покоя. Если эта точность важна для вашего меша, вы можете включить эту опцию, чтобы получить более правильные качественные результаты.
Dummy Collision Particles (Фиктивные частицы коллизий):
Если моделируемый меш имеет большие размеры треугольников по отношению к капсулам коллизий (collision capsules), капсулы могут не сталкиваться с мешем ткани должным образом. Чтобы преодолеть это, мы помещаем фиктивные вершины (dummy vertices) в каждый треугольник меша. Эти вершины не моделируются, а используются только на стадии коллизии. Эта опция наносит большой удар по производительности вашей системы компьютера, поэтому вам следует стараться избегать ее включения.
Cloth Content Files (Файлы контента тканей)
Наша система моделирования генерирует два файла с расширениями *.tcc и *.tcm. Файлы .tcc содержат предварительно обработанные данные, используемые при моделировании ткани, такие как индексы ограничений (constraint indices), длины ограничений (constraint lengths) и т. д. Файлы .tcm содержат данные преобразования мешей рендеринга в моделируемые меши. Вы должны сохранить оба этих файла в Plastic SCM, чтобы гарантировать, что никто не ждет завершения процесса их приготовления на этапе загрузки сцены.