48 lines
5.2 KiB
Markdown
48 lines
5.2 KiB
Markdown
![]() |
---
|
|||
|
id: cad_cg_pipeline
|
|||
|
title: 'Подбор алгоритмов и параметров обработки САПР моделей детали в 3д ассет'
|
|||
|
---
|
|||
|
|
|||
|
## Схема технического процесса подготовки САПР моделей в 3д виртуальные среды, симуляторы
|
|||
|
Мы предлагаем следующий вариант такой схемы:
|
|||
|
|
|||
|
0. Тесселяция САПР модели.
|
|||
|
0. Ретопология результата тесселяции модели.
|
|||
|
0. Физические свойства материала результата ретопологии модели (шейдинг).
|
|||
|
0. Текстурирование физического материала результата шейдинга модели.
|
|||
|
0. Запекание растровых текстур физического материала результата текстурирования модели.
|
|||
|
В результате получается **3д ассет**, 3д полигональная модель с материалом + набор текстур.
|
|||
|
|
|||
|
Качественный 3д ассет имеет хороший баланс между точностью геометрии и реусрсоемкостью. То есть, хочется точность геометрии иметь выше, а реусрсоемкость - ниже.
|
|||
|
|
|||
|
#### 1. Выбор алгоритма тесселяции
|
|||
|
Основываясь на странице [Алгоритмы тесселяции моделей САПР](https://dev.opencascade.org/doc/overview/html/occt_user_guides__mesh.html) для 3д виртуальных сред, симуляторов и прочих целей визуального характера выбираем **Алгоритм триангуляции Делоне с помощью алгоритма Ватсона** в виде его реализации BRepMesh_IncrementalMesh
|
|||
|
##### Обход недостаточной предсказуемости алгоритмов тесселяции при высоких отклонениях
|
|||
|
Для наглядного примера возьмем символ "O" шрифта Arial:
|
|||
|
|
|||
|

|
|||
|
|
|||
|
Доведем ситуацию до абсурда, чтоб было нагляднее, - выставим нулевой уровень тесселяции контура:
|
|||
|
|
|||
|

|
|||
|
|
|||
|
Мы знаем этот символ, он должен быть симметричным, а сейчас мы видим что он симметричен только на высоких уровнях тесселяции. Это происходит вледствие **разного расстояния** и **разной кривизны** между ключевыми точками. И вообщем не возможно добиваться на производственных моделях равномерности расстояния и кривизны между точками.
|
|||
|
|
|||
|
Поэтому, мы предлагаем следующиц способ - проводить тесселяцию с минимальным допуском отклонения от истинной геометрии САПР модели, в ущерб ресурсоемкости!
|
|||
|
|
|||
|

|
|||
|
|
|||
|
- минусом будет **повышенная ресурсоемкость** на этапе ретопологии (где она и будет снижена)
|
|||
|
+ плюсом будет **предсказуемая точность** полигональной модели 3д ассета.
|
|||
|
|
|||
|
Забегая вперед, посмотрим на следующий пример ретопологии:
|
|||
|
|
|||
|

|
|||
|
|
|||
|
Это лабораторная ситуация, создана с целью показать что и при таком минимуме, способ показывает свою состоятельность. Результат получился симметричнее, так как кривизна левой и правой стороны, если не близка, то очень похожа, то есть результат - предсказуемый.
|
|||
|
Для производственного 3д ассета нужно, конечно, выбирать уровень ретопологии с большим количеством полигонов, таким, чтобы обеспечить минимальное отклонение геометрии от САПР модели.
|
|||
|
|
|||
|
**Вывод**. Проводить тесселяцию с минимальным допуском отклонения от истинной геометрии САПР модели, в ущерб ресурсоемкости.
|
|||
|
|
|||
|
#### 0. Выбор алгоритма ретопологии
|