Примитив <a-cone> используется для создания
конусов в 3D-сценах A-Frame. Конус представляет собой геометрическую
фигуру с круговой базой и вершиной, соединённой с этой базой. В отличие
от <a-cylinder> или <a-box>,
<a-cone> имеет естественное направление оси — вершина
указывает вдоль оси Y по умолчанию. Это делает его удобным для
моделирования стрел, башен, деревьев и других объектов с заострённой
верхушкой.
radius-bottom — радиус основания
конуса. По умолчанию равен 1. Управляет шириной базы и,
соответственно, визуальным масштабом объекта по горизонтали.
radius-top — радиус вершины конуса. По
умолчанию 0, что делает форму классическим конусом. Если
задать значение больше нуля, получится усечённый конус (трапециевидная
форма).
height — высота конуса. По умолчанию
1. Влияет на вертикальный размер фигуры.
segments-radial — количество сегментов
по окружности основания. Чем выше значение, тем более гладкая
поверхность. По умолчанию 32.
segments-height — количество сегментов
по высоте. Позволяет управлять детализацией поверхности вдоль
вертикальной оси. По умолчанию 1.
color — цвет конуса. Можно использовать
стандартные CSS-цвета или шестнадцатеричный формат. Пример:
color: red; или color: #ff0000;.
position — позиция объекта в
3D-пространстве. Атрибут принимает значения по осям x y z.
Пример: position="0 1 -5".
rotation — вращение объекта вокруг
осей. Формат: rotation="x y z". Для изменения ориентации
конуса относительно сцены.
scale — масштабирование по осям.
Позволяет изменять размеры конуса без изменения его геометрических
атрибутов.
Создание стандартного конуса с вершиной, направленной вверх:
<a-scene>
<a-cone height="2" radius-bottom="1" color="#FF5733" position="0 1 -5"></a-cone>
</a-scene>
Создание усечённого конуса (пирамидальная форма с плоской верхушкой):
<a-scene>
<a-cone height="3" radius-bottom="1.5" radius-top="0.5" color="#33FF57" position="2 1 -5"></a-cone>
</a-scene>
Изменение количества сегментов для сглаживания поверхности:
<a-scene>
<a-cone height="2" radius-bottom="1" segments-radial="64" color="#3357FF" position="-2 1 -5"></a-cone>
</a-scene>
animation — позволяет анимировать
свойства конуса, такие как rotation, position
или scale. Например, вращение конуса вокруг оси Y:<a-cone height="2" radius-bottom="1" color="#FFD700" position="0 1 -3"
animation="property: rotation; to: 0 360 0; loop: true; dur: 3000">
</a-cone>
material — дополнительно управляет
внешним видом поверхности: shader, opacity,
metalness, roughness. Пример с полупрозрачным
конусом:<a-cone height="2" radius-bottom="1" color="#00FFFF" position="0 1 -4"
material="opacity: 0.5; transparent: true;"></a-cone>
event-set и другие события позволяют
реагировать на клики, наведение курсора или столкновения с другими
объектами. Например, изменение цвета при наведении:<a-cone height="2" radius-bottom="1" color="#FF0000" position="0 1 -5"
event-set__mouseenter="material.color: #00FF00"
event-set__mouseleave="material.color: #FF0000">
</a-cone>
segments-radial и
segments-height) снижает нагрузку на GPU. Для объектов,
которые находятся далеко от камеры, можно использовать минимальные
значения.opacity < 1) может
требовать включения сортировки объектов для корректного рендеринга
сцены.Использование <a-cone> в сочетании с другими
примитивами и компонентами A-Frame позволяет создавать разнообразные и
динамичные 3D-сцены с высокой детализацией и интерактивностью. Контроль
над геометрией, материалами и анимацией делает его одним из ключевых
инструментов при разработке визуальных элементов виртуальной
реальности.