Ru/Collision mesh: Difference between revisions
< Ru
Jump to navigation
Jump to search
Kestrelguy (talk | contribs) m (Kestrelguy moved page Collision model:ru to Collision mesh:ru: moved to match location of English page.) |
Kestrelguy (talk | contribs) (updated language bar. still needs some translation done.) |
||
Line 1: | Line 1: | ||
{{ | {{lang|title=Сетка столкновений|Collision mesh}} | ||
|title=Сетка столкновений | {{translate:ru}} | ||
| | |||
}} | |||
[[Image:Collisionmesh static.jpg|right|150px|Статичная модель (красная сетка модели вокруг объекта)]] | [[Image:Collisionmesh static.jpg|right|150px|Статичная модель (красная сетка модели вокруг объекта)]] | ||
[[Image:Collisionmesh jointed.jpg|right|150px|Сетка столкновений с сочленениями нескольких частей (желтая сетка)]] | [[Image:Collisionmesh jointed.jpg|right|150px|Сетка столкновений с сочленениями нескольких частей (желтая сетка)]] | ||
'''Сетка столкновений''' - [[cheap|простая]] 3D-модель, использующая [[VPhysics|физические взаимодействия]]. Иногда её называют моделью столкновений. После того, как объект C++ будет загружен в движок, создаётся [[model|модель]], вершины которой привязываются к сетке. | '''Сетка столкновений''' - [[cheap:ru|простая]] 3D-модель, использующая [[VPhysics|физические взаимодействия]] {{en}}. Иногда её называют моделью столкновений. После того, как объект C++ будет загружен в движок, создаётся [[model:ru|модель]], вершины которой привязываются к сетке. | ||
Сетка столкновений невидима, и должна быть сильно проще видимых компонентов модели (см. две картинки справа). Недостаток точности незаметен, кроме того, что он не приводит симуляцию в ступор. | Сетка столкновений невидима, и должна быть сильно проще видимых компонентов модели (см. две картинки справа). Недостаток точности незаметен, кроме того, что он не приводит симуляцию в ступор. | ||
Line 13: | Line 10: | ||
== Пояснения == | == Пояснения == | ||
; Сетки столкновений состоят только из [[Wikipedia: | ; Сетки столкновений состоят только из [[Wikipedia:ru:Выпуклое множество|выпуклых]] элементов | ||
: Чтобы создать вогнутую сетку, соберите отдельные выпуклые объекты, пересекающие друг друга (если необходимо), и скомпилируйте с помощью [[$collisionmodel|$concave]]. Каждая выпуклая часть бережно относится к ресурсам симуляции. | : Чтобы создать вогнутую сетку, соберите отдельные выпуклые объекты, пересекающие друг друга (если необходимо), и скомпилируйте с помощью <code>[[$collisionmodel|$concave]]</code>{{en}}. Каждая выпуклая часть бережно относится к ресурсам симуляции. | ||
; Все элементы столкновений должны быть изолированы | ; Все элементы столкновений должны быть изолированы | ||
: Там вообще может не быть никаких отверстий. Это условие вычисляется путём изучения [[vertex normal|нормалей вершин]], поэтому все края должны быть гладкими. Если studiomdl говорит: "Model has 2-dimensional geometry" (модель имеет 2-х мерную геометрию) - вы сделали ошибку (или должны слегка уплотнить сетку). | : Там вообще может не быть никаких отверстий. Это условие вычисляется путём изучения [[vertex normal|нормалей вершин]] {{en}}, поэтому все края должны быть гладкими. Если studiomdl говорит: "Model has 2-dimensional geometry" (модель имеет 2-х мерную геометрию) - вы сделали ошибку (или должны слегка уплотнить сетку). | ||
== Сглаживание == | == Сглаживание == | ||
Этот раздел расскажет о том, как создать сглаженную сетку столкновений в различных программах моделирования. Помните, что ни в одной выпуклой форме не должно быть отверстий. | Этот раздел расскажет о том, как создать сглаженную сетку столкновений в различных программах моделирования. Помните, что ни в одной выпуклой форме не должно быть отверстий. | ||
=== | === {{blender|4|suf=:ru}} === | ||
# В {{IconLabel|File:BlenderObject.png|Object Mode}}, запустите оператор "Shade Smooth" на вашей сетке. | # В {{IconLabel|File:BlenderObject.png|Object Mode}}, запустите оператор "Shade Smooth" на вашей сетке. | ||
# Удалите модификатор {{IconLabel|File:BlenderModEdgeSplit.png|Edge Split}}, если ранее вы добавили его. | # Удалите модификатор {{IconLabel|File:BlenderModEdgeSplit.png|Edge Split}}, если ранее вы добавили его. | ||
=== Maya === | === Maya === | ||
# Воспользуйтесь командой Combine, чтобы объединить все части в одну редактируемую сетку. | # Воспользуйтесь командой Combine, чтобы объединить все части в одну редактируемую сетку. | ||
# НЕ добавляйте края или слитые вершины после использования команды Combine. | # НЕ добавляйте края или слитые вершины после использования команды Combine. | ||
Line 35: | Line 29: | ||
=== XSI === | === XSI === | ||
[[Image:Xsicollision.jpg|thumb|Сетка столкновений, созданная в XSI 6.01. Для наглядности она сдвинута в сторону.]] | [[Image:Xsicollision.jpg|thumb|Сетка столкновений, созданная в XSI 6.01. Для наглядности она сдвинута в сторону.]] | ||
Line 43: | Line 36: | ||
=== 3DS Max === | === 3DS Max === | ||
# Use the Attach function to combine every part into a single editable mesh. (optional) | # 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. | # 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. | ||
Line 50: | Line 42: | ||
=== SketchUp === | === SketchUp === | ||
# Build a collision mesh out of one or more groups of faces. Each group must form a solid convex shape. | # 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. | # 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. | ||
Line 58: | Line 49: | ||
=== Lightwave === | === Lightwave === | ||
# 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. | # 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. | ||
# Hit Q to add the mesh to a new surface, and give it a name. | # Hit Q to add the mesh to a new surface, and give it a name. | ||
Line 64: | Line 54: | ||
=== Cinema 4D === | === Cinema 4D === | ||
# Build a collision mesh out of primitives. Each group must form a solid convex shape. | # 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. | # Create a new Connect Object and drag every primitive into it. | ||
Line 71: | Line 60: | ||
== См. также == | == См. также == | ||
*[[Physics and Ragdolls|Физика и рэгдоллы]] {{en}} | |||
*[[Physics and Ragdolls|Физика и рэгдоллы]] | *{{ent:ru|$collisionmodel}} - [[QC command:ru|QC-команда]] для сетки коллижена ''без'' каких-либо подвижных частей | ||
* | *{{ent:ru|$collisionjoints}} - команда для коллижен-мешей ''с наличием'' подвижных частей | ||
* | [[Category:Modeling:ru]][[Category:Glossary:ru]][[Category:Physics:ru]] | ||
[[Category:Modeling:ru]] | |||
[[Category:Glossary:ru]] |
Revision as of 07:58, 9 May 2022
Сетка столкновений - простая 3D-модель, использующая физические взаимодействия . Иногда её называют моделью столкновений. После того, как объект C++ будет загружен в движок, создаётся модель, вершины которой привязываются к сетке.
Сетка столкновений невидима, и должна быть сильно проще видимых компонентов модели (см. две картинки справа). Недостаток точности незаметен, кроме того, что он не приводит симуляцию в ступор.
Пояснения
- Сетки столкновений состоят только из выпуклых элементов
- Чтобы создать вогнутую сетку, соберите отдельные выпуклые объекты, пересекающие друг друга (если необходимо), и скомпилируйте с помощью
$concave
. Каждая выпуклая часть бережно относится к ресурсам симуляции.
- Все элементы столкновений должны быть изолированы
- Там вообще может не быть никаких отверстий. Это условие вычисляется путём изучения нормалей вершин
, поэтому все края должны быть гладкими. Если studiomdl говорит: "Model has 2-dimensional geometry" (модель имеет 2-х мерную геометрию) - вы сделали ошибку (или должны слегка уплотнить сетку).
Сглаживание
Этот раздел расскажет о том, как создать сглаженную сетку столкновений в различных программах моделирования. Помните, что ни в одной выпуклой форме не должно быть отверстий.
Blender
- В
Object Mode, запустите оператор "Shade Smooth" на вашей сетке.
- Удалите модификатор
Edge Split, если ранее вы добавили его.
Maya
- Воспользуйтесь командой Combine, чтобы объединить все части в одну редактируемую сетку.
- НЕ добавляйте края или слитые вершины после использования команды Combine.
- Установите режим выбора на Edges, затем выберите все грани у вашей сетки столкновений, далее, щёлкните по меню Normals и Soften Edge.
- Настройте основную карту UVW, например, Automatic unwrap.
XSI
- Выделите каждую из частей сетки столкновений, и примените Model -> Create -> Polymesh -> Merge, чтобы объединить их в один объект.
- Вызовите Render -> Get-> Property-> Geometry Approximation. Во вкладке Polygon Mesh снимите галочку Discontinuity: Automatic. У модели исчезнут все жёсткие рёбра.
- Нанесите текстуру и проекцию сетки столкновений.
3DS Max
- 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.
Lightwave
- 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.
- Hit Q to add the mesh to a new surface, and give it a name.
- In the Surface Editor (F5), select the new surface, and check the smoothing checkbox. Give it a smoothing threshold of 180.
Cinema 4D
- 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.
См. также
- Физика и рэгдоллы
- $collisionmodel - QC-команда для сетки коллижена без каких-либо подвижных частей
- $collisionjoints - команда для коллижен-мешей с наличием подвижных частей