Merge remote-tracking branch 'origin/brothermechanic/cad_cg_pipeline' into cad2engine
This commit is contained in:
commit
ded08827a5
6 changed files with 47 additions and 1 deletions
45
docs/technologies/cad_cg_pipeline.md
Normal file
45
docs/technologies/cad_cg_pipeline.md
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
---
|
||||||
|
id: cad_cg_pipeline
|
||||||
|
title: 'Подбор алгоритмов и параметров обработки САПР моделей детали в 3д ассет'
|
||||||
|
---
|
||||||
|
|
||||||
|
## Процесс подготовки САПР моделей в виртуальные среды, симуляторы
|
||||||
|
|
||||||
|
1. Тесселяция САПР модели.
|
||||||
|
2. Ретопология результата тесселяции модели.
|
||||||
|
3. Физические свойства материала результата ретопологии модели (шейдинг).
|
||||||
|
4. Текстурирование физического материала результата шейдинга модели.
|
||||||
|
5. Запекание растровых текстур физического материала результата текстурирования модели.
|
||||||
|
6. В результате получается **3D ассет** - полигональная модель с материалом + набор текстур.
|
||||||
|
|
||||||
|
Качественный 3D ассет имеет хороший баланс между точностью геометрии и реcурсоёмкостью. То есть, хочется точность геометрии иметь выше, а ресурсоемкость - ниже.
|
||||||
|
|
||||||
|
## Выбор алгоритма тесселяции
|
||||||
|
Основываясь на статье [Алгоритмы тесселяции моделей САПР](https://dev.opencascade.org/doc/overview/html/occt_user_guides__mesh.html) для виртуальных сред, симуляторов и прочих целей визуального характера выбираем **Алгоритм триангуляции Делоне с помощью алгоритма Ватсона** в виде его реализации BRepMesh_IncrementalMesh.
|
||||||
|
|
||||||
|
### Обход недостаточной предсказуемости алгоритмов тесселяции при высоких отклонениях
|
||||||
|
Для наглядного примера возьмем символ "O" шрифта Arial:
|
||||||
|
|
||||||
|

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

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

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

|
||||||
|
|
||||||
|
На примере выше видно, что и при таком минимуме способ показывает свою состоятельность. Результат получился симметричнее, так как кривизна левой и правой стороны, если не близка, то очень похожа. То есть результат предсказуемый.
|
||||||
|
Для производственного 3д ассета нужно, конечно, выбирать уровень ретопологии с большим количеством полигонов, таким, чтобы обеспечить минимальное отклонение геометрии от САПР модели.
|
||||||
|
|
||||||
|
**Вывод**. Проводить тесселяцию с минимальным допуском отклонения от истинной геометрии САПР модели, в ущерб ресурсоемкости.
|
||||||
|
|
||||||
|
## Выбор алгоритма ретопологии
|
BIN
docs/technologies/img/O1.jpg
Normal file
BIN
docs/technologies/img/O1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
BIN
docs/technologies/img/O2.jpg
Normal file
BIN
docs/technologies/img/O2.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
BIN
docs/technologies/img/O3.jpg
Normal file
BIN
docs/technologies/img/O3.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 110 KiB |
BIN
docs/technologies/img/O4.jpg
Normal file
BIN
docs/technologies/img/O4.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 53 KiB |
|
@ -32,7 +32,8 @@ module.exports = {
|
||||||
'technologies/tesselation',
|
'technologies/tesselation',
|
||||||
'technologies/wood',
|
'technologies/wood',
|
||||||
'technologies/recycling',
|
'technologies/recycling',
|
||||||
'technologies/knowledge-management'
|
'technologies/knowledge-management',
|
||||||
|
'technologies/cad_cg_pipeline'
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
/* {
|
/* {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue