Ru/Collision mesh

Габарит столкновений (Collision mesh) - 3D-модель, использующая для . Иногда её называют моделью столкновений. После того, как объект C++ будет загружен в движок, создаётся , вершины которой привязываются к сетке.
Габарит столкновений невидим, и должен быть сильно проще видимых компонентов модели (см. две картинки справа). Недостаток точности незаметен, кроме того, что он не приводит симуляцию в ступор.
== Предостережения ==
; Габариты столкновений состоят только из элементов
: Любые вогнутые элементы будут преобразованы в выпуклые с помощью метода "термоусадочной упаковки".
: Чтобы создать вогнутую сетку, соберите отдельные выпуклые объекты, пересекающие друг друга (если необходимо), и скомпилируйте с помощью . Каждая выпуклая часть бережно относится к ресурсам симуляции.
; Все части габарита столкновений должны быть изолированы
: Там вообще может не быть никаких отверстий. Это условие вычисляется путём изучения , поэтому все края должны быть гладкими. Если studiomdl говорит: "Model has 2-dimensional geometry" (модель имеет 2-х мерную геометрию) - вы сделали ошибку (или должны слегка уплотнить сетку).
; Все части габарита столкновений должны быть полностью гладкими и иметь одну и ту же текстуру
: Source использует нормали вершин сетки, чтобы определить, является ли сетка изолированным элемент. Если модель имеет более одной текстуры, это также приведёт к ошибке "Model has 2-dimensional geometry".
; Если Вы создаёте габарит столкновений для куклы или любой модели с костями, то каждая часть должна быть полностью взвешена до одной кости.
: Части габарита столкновений должны иметь вес "1" только для одной кости. Если часть имеет вес сразу для нескольких костей, то при компиляции возникнет ошибка.
== Сглаживание ==
Этот раздел расскажет о том, как создать сглаженный габарит столкновений в различных программах моделирования. Помните, что ни в одной выпуклой форме не должно быть отверстий.
=== ===
# В , запустите оператор "Shade Smooth" на вашей сетке.
# Удалите модификатор , если ранее вы добавили его.
=== ===
# Воспользуйтесь командой Combine, чтобы объединить все части в одну редактируемую сетку.
# НЕ добавляйте края или слитые вершины после использования команды Combine.
# Установите режим выбора на Edges, затем выберите все грани у вашего габарита столкновений, далее, щёлкните по меню Normals и Soften Edge.
# Настройте основную карту UVW, например, Automatic unwrap.
=== ===
# Выделите каждую из частей габарита столкновений, и примените Model -> Create -> Polymesh -> Merge, чтобы объединить их в один объект.
# Вызовите Render -> Get-> Property-> Geometry Approximation. Во вкладке Polygon Mesh снимите галочку Discontinuity: Automatic. У модели исчезнут все жёсткие рёбра.
# Нанесите текстуру и проекцию габарита столкновений.
=== ===
# Use the Attach function to combine every part into a single editable mesh. (optional)
# 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.
# 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.
# Apply your model's material to the collision mesh with at least a basic UWV map.
=== SketchUp ===
# Build a collision mesh out of one or more groups of faces. Each group must form a solid convex shape.
# 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.
# 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.
# Combine multiple groups of faces into a single component.
# Set the axis of the component to the same as your reference model.
=== ===
# Постройте габарит столкновений из примитивных фигур, таких как кубы и цилиндры. Как отмечалось выше, убедитесь, что каждая примитивная фигура полностью сплошная и представляет собой отдельный объект.
# Нажмите Q чтобы добавить сетку на новую поверхность и назовите её.
# В Surface Editor (F5) выберите новую поверхность и установите флажок на сглаживание. Установите порог сглаживания на 180.
=== ===
# Build a collision mesh out of primitives. Each group must form a solid convex shape.
# Create a new Connect Object and drag every primitive into it.
# Remove all tags from the primitives (Phong, Textures..) except the UVW tag.
# Apply your model's material to the Connect Object and export as SMD.
=== ===
# Build your collision mesh. Each group must form a solid convex shape.
# Clear all smoothing groups and assign all your meshes into smoothing group 1.
# Export your smd.
== Creating Hulls in With Wall Worm ==
Wall Worm offers many ways to generate collision hulls if you are using 3ds Max. Below are a few methods. See the WW docs for complete information.
=== From a Reference Mesh ===
# Click Wall Worm > Wall Worm Model Tools > Hull Helper.
# Select the reference mesh.
# Click Prepare From Selection in Hull Helper.
# With the newly created mesh, selected parts that represent each hull and click the Detach button in Hull Helper.
# Repeat previous step until all parts are represented.
# Click the Create Hulls From Selection button.
=== From a WWMT Helper ===
Assuming that you want to make a hull from each element of each object of the model:
# Click Wall Worm > Wall Worm Model Tools > Wall Worm Model Tools.
# Click the Pick Model button and select the model or existing WWMT Helper in the viewport.
# In the Collision Model rollout, click the Quick Hull button.
== Смотрите также ==
* - для габарита столкновений без каких-либо подвижных частей 
* - команда для габаритов столкновений с наличием подвижных частей
* 
* 
* Collision Hulls in 3ds Max for Source