ExtrudeGeometry - Руководство по Вердж3Д - Софт Эйт Софт
Description: Узнайте как использовать ExtrudeGeometry в интерактивных 3Д-веб-приложениях сделанных на Вердж3Д

BufferGeometry →

# ExtrudeGeometry

Создает экструдированный (выдавленный) геометрический элемент по контурной фигуре.

## Пример

`const length = 3, width = 2; const shape = new v3d.Shape(); shape.moveTo(-length/2, -width/2); shape.lineTo(-length/2, width/2); shape.lineTo(length/2, width/2); shape.lineTo(length/2, -width/2); shape.lineTo(-length/2, -width/2); const extrudeSettings = { steps: 2, depth: 2, bevelEnabled: true, bevelThickness: 0.5, bevelSize: 0.5, bevelOffset: 0, bevelSegments: 1 }; const geometry = new v3d.ExtrudeGeometry(shape, extrudeSettings); const material = new v3d.MeshStandardMaterial({ color: 0x8458b3 }); const mesh = new v3d.Mesh(geometry, material) ; app.scene.add(mesh);`

## Конструктор

### ExtrudeGeometry(shapes : Array, options : Object)

- shapes — фигура или массив фигур.
- options — объект, который может содержать следующие параметры:

- curveSegments — количество точек на кривых. Значение по умолчанию равно `12`.
- steps — количество точек для разделения сегментов по глубине выдавленного сплайна. По умолчанию равно `1`.
- depth — глубина выдавливания (рельефа) фигуры. По умолчанию `1`.
- bevelEnabled — применить фаску к фигуре. По умолчанию `true`.
- bevelThickness — насколько глубоко в исходную фигуру уходит фаска. По умолчанию `0.2`.
- bevelSize — расстояние от контура фигуры, на которое распространяется фаска. По умолчанию `bevelThickness - 0.1`.
- bevelOffset — расстояние от контура фигуры, на котором начинается фаска. По умолчанию `0`.
- bevelSegments — количество слоев фаски. По умолчанию `3`.
- extrudePath — 3Д-сплайн контура, по которому должна быть экструдирована фигура. Фаски не поддерживаются для экструзии контура.
- UVGenerator — объект, предоставляющий функции UV-генератора.

Этот объект экструдирует (выдавливает) 2Д-фигуру в 3Д-геометрию.

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

## Свойства

Смотрите свойства базового класса BufferGeometry.

### # .parameters : Object

Объект с параметрами, указанными в конструкторе. Модификация свойств этого объекта после вызова конструктора не изменяет получившуюся геометрию.

## Методы

Смотрите методы базового класса BufferGeometry.

## Исходный файл

О том как получить исходный код этого модуля читайте тут.