Ru/Collision mesh: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (Kestrelguy moved page Collision model:ru to Collision mesh:ru: moved to match location of English page.)
(updated language bar. still needs some translation done.)
Line 1: Line 1:
{{otherlang2
{{lang|title=Сетка столкновений|Collision mesh}}
|title=Сетка столкновений
{{translate:ru}}
|en=Collision mesh
}}
 
[[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:Convex set|выпуклых]] элементов
; Сетки столкновений состоят только из [[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 ===
=== {{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-команда]] для сетки коллижена ''без'' каких-либо подвижных частей  
*[[$collisionmodel:ru]] - [[QC command:ru|QC-команда]] для сетки коллижена ''без'' каких-либо подвижных частей  
*{{ent:ru|$collisionjoints}} - команда для коллижен-мешей ''с наличием'' подвижных частей
*[[$collisionjoints:ru]] - команда для коллижен-мешей ''с наличием'' подвижных частей
[[Category:Modeling:ru]][[Category:Glossary:ru]][[Category:Physics:ru]]
 
[[Category:Modeling:ru]]
[[Category:Glossary:ru]]

Revision as of 07:58, 9 May 2022

English (en)Русский (ru)Translate (Translate)

Template:Translate:ru

Статичная модель (красная сетка модели вокруг объекта)
Сетка столкновений с сочленениями нескольких частей (желтая сетка)

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

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

Пояснения

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

Сглаживание

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

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. 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.

См. также