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

From Valve Developer Community
Jump to: navigation, search
English
Статичная модель (красная сетка модели вокруг объекта)
Сетка столкновений с сочленениями нескольких частей (желтая сетка)

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

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

Пояснения

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

Сглаживание

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

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. Build a collision mesh out of primitives such as boxes and cylinders. As noted above, make sure each primitive is entirely solid and a separate object.
  2. Hit Q to add the mesh to a new surface, and give it a name.
  3. In the Surface Editor (F5), select the new surface, and check the smoothing checkbox. Give it a smoothing threshold of 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.

См. также