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

From Valve Developer Community
(Redirected from Collision model:ru)
Jump to: navigation, search
English (en)русский (ru)
... Icon-Important.png
Info content.png
This page needs to be translated.

This page either contains information that is only partially or incorrectly translated, or there isn't a translation yet.
If this page cannot be translated for some reason, or is left untranslated for an extended period of time after this notice is posted, the page should be requested to be deleted.

Also, please make sure the article tries to comply with the alternate languages guide.
Статичная модель (красная сетка модели вокруг объекта)
Сетка столкновений с сочленениями нескольких частей (желтая сетка)

Сетка столкновений - простая 3D-модель, использующая физические взаимодействия English. Иногда её называют моделью столкновений. После того, как объект C++ будет загружен в движок, создаётся модель, вершины которой привязываются к сетке.

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

Пояснения

Сетки столкновений состоят только из выпуклых элементов
Любые вогнутые элементы будут преобразованы в выпуклые с помощью метода "термоусадочной упаковки".
Чтобы создать вогнутую сетку, соберите отдельные выпуклые объекты, пересекающие друг друга (если необходимо), и скомпилируйте с помощью $concaveEnglish. Каждая выпуклая часть бережно относится к ресурсам симуляции.
Все элементы столкновений должны быть изолированы
Там вообще может не быть никаких отверстий. Это условие вычисляется путём изучения нормалей вершин English, поэтому все края должны быть гладкими. Если studiomdl говорит: "Model has 2-dimensional geometry" (модель имеет 2-х мерную геометрию) - вы сделали ошибку (или должны слегка уплотнить сетку).
Все элементы столкновений должны быть полностью гладкими и иметь одну и ту же текстуру
Source использует нормали вершин сетки, чтобы определить, является ли сетка изолированным элемент. Если модель имеет более одной текстуры, это также приведёт к ошибке "Model has 2-dimensional geometry".
Если вы создаёте модель столкновения для рэгдолла или любой модели с костями, то каждая часть должна быть полностью взвешена до одной кости.
Части столкновения должны иметь вес "1" только для одной кости. Если часть имеет вес сразу для нескольких костей, то при компиляции возникнет ошибка.

Сглаживание

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

Blender Blender

  1. В (Icon) Object Mode, запустите оператор "Shade Smooth" на вашей сетке.
  2. Удалите модификатор (Icon) Edge Split, если ранее вы добавили его.

Maya

  1. Воспользуйтесь командой Combine, чтобы объединить все части в одну редактируемую сетку.
  2. НЕ добавляйте края или слитые вершины после использования команды Combine.
  3. Установите режим выбора на Edges, затем выберите все грани у вашей сетки столкновений, далее, щёлкните по меню Normals и Soften Edge.
  4. Настройте основную карту UVW, например, Automatic unwrap.

XSI

Сетка столкновений, созданная в XSI 6.01. Для наглядности она сдвинута в сторону.
  1. Выделите каждую из частей сетки столкновений, и примените Model -> Create -> Polymesh -> Merge, чтобы объединить их в один объект.
  2. Вызовите Render -> Get-> Property-> Geometry Approximation. Во вкладке Polygon Mesh снимите галочку Discontinuity: Automatic. У модели исчезнут все жёсткие рёбра.
  3. Нанесите текстуру и проекцию сетки столкновений.

3DS Max

  1. Use the Attach function to combine every part into a single editable mesh. (optional)
  2. Do NOT weld vertices together after using the Attach function. All objects within the mesh should be individually selectable using the "Select Element" option within the Edit Mesh modifier.
  3. Select every element (in the mesh) individually and set them all to a different smoothing groups. If you work on a very complex model that requires more than 32 smoothing groups, you can create "additional smoothing groups" by combining them. For instance, an element set to smoothing groups 1 and 3 will be properly differentiated from elements set to smoothing groups 1 or 3.
  4. Apply your model's material to the collision mesh with at least a basic UWV map.

SketchUp

  1. Build a collision mesh out of one or more groups of faces. Each group must form a solid convex shape.
  2. Smooth each edge in the group by selecting all the faces inside and then right clicking and selecting "Smooth/Unsmooth edges". Set the slider to the 180 degrees to smooth all edges.
  3. Apply the same material to each face of the collision model. Note you must apply the material to each face, not the group as a whole.
  4. Combine multiple groups of faces into a single component.
  5. Set the axis of the component to the same as your reference model.

Lightwave

  1. Постройте сетку столкновений из примитивных фигур, таких как кубы и цилиндры. Как отмечалось выше, убедитесь, что каждая примитивная фигура полностью сплошная и представляет собой отдельный объект.
  2. Нажмите Q чтобы добавить сетку на новую поверхность и назовите её.
  3. В Surface Editor (F5) выберите новую поверхность и установите флажок на сглаживание. Установите порог сглаживания на 180.

Cinema 4D

  1. Build a collision mesh out of primitives. Each group must form a solid convex shape.
  2. Create a new Connect Object and drag every primitive into it.
  3. Remove all tags from the primitives (Phong, Textures..) except the UVW tag.
  4. Apply your model's material to the Connect Object and export as SMD.

См. также