Примитив <a-cylinder> представляет собой
трехмерный объект в форме цилиндра, который широко используется для
моделирования колонн, труб, столбов, деревьев и других объектов с
круглым сечением. В A-Frame этот примитив позволяет управлять как
базовыми геометрическими свойствами цилиндра, так и его визуальными
характеристиками через материал.
1.1.36.1.true/false), определяющий, закрыты ли торцы
цилиндра. По умолчанию false, то есть торцы закрыты.Пример использования с базовыми параметрами:
<a-scene>
<a-cylinder position="0 1 0" radius="0.5" height="2" color="#4CC3D9"></a-cylinder>
</a-scene>
В этом примере создается цилиндр радиусом 0.5, высотой
2 и с голубым цветом.
Цилиндр можно перемещать и трансформировать с помощью стандартных
атрибутов position, rotation и
scale:
radius и height.Пример с трансформацией:
<a-cylinder position="1 0.5 -2" rotation="0 45 0" scale="1 2 1" color="#FFC65D"></a-cylinder>
Здесь цилиндр повернут на 45 градусов вокруг оси Y и вытянут в два раза по высоте.
Атрибут material предоставляет возможность задавать цвет, текстуру, прозрачность и отражающие свойства цилиндра:
Пример применения текстуры:
<a-cylinder position="0 1 0" radius="0.5" height="2" src="#woodTexture"></a-cylinder>
Текстура накладывается на боковую поверхность цилиндра и на торцы.
Для корректного отображения текстуры можно использовать дополнительные
UV-настройки через компонент geometry.
Цилиндры могут быть анимированы с использованием компонента
<a-animation> или системы animation в
A-Frame 1.0+:
Пример вращающегося цилиндра:
<a-cylinder position="0 1 0" radius="0.5" height="2" color="#7BC8A4"
animation="property: rotation; to: 0 360 0; loop: true; dur: 5000">
</a-cylinder>
Цилиндры можно использовать как коллайдеры для взаимодействия с
другими объектами через компонент physics. Например,
интеграция с системой ammo.js или cannon.js
позволяет цилиндру реагировать на столкновения и гравитацию. Для этого
достаточно добавить компоненты dynamic-body или
static-body:
<a-cylinder position="0 1 0" radius="0.5" height="2" color="#EF2D5E"
dynamic-body></a-cylinder>
Атрибут open-ended="true" делает цилиндр пустым внутри,
что полезно для создания труб или полых колонн:
<a-cylinder position="0 1 0" radius="0.5" height="2" color="#AAA" open-ended="true"></a-cylinder>
Комбинируя open-ended с текстурами и материалами, можно
создать реалистичные внутренние поверхности цилиндров.
segments-radial до 48–64 для более гладкой
поверхности.segments-height) или
использование кривых анимации (easing).Использование <a-cylinder> в A-Frame позволяет
создавать как статические архитектурные элементы, так и интерактивные
объекты, комбинируя геометрию, материал, анимации и физику. Это один из
самых гибких примитивов для трехмерного моделирования с круглым
сечением.