A-Frame предоставляет набор стандартных примитивов для построения трехмерных сцен. Каждый примитив представляет собой заранее определённую геометрию с набором настраиваемых параметров, которые позволяют изменять форму, размер и детали объектов. Среди наиболее часто используемых примитивов — box, sphere, cylinder, plane, ring, torus. Их правильное использование упрощает создание сцен и ускоряет разработку.
Примитив <a-box> создаёт кубоид или прямоугольный
параллелепипед.
Основные параметры:
width — ширина вдоль оси X (по умолчанию 1).height — высота вдоль оси Y (по умолчанию 1).depth — глубина вдоль оси Z (по умолчанию 1).color — цвет поверхности, поддерживает как цветовые
имена, так и HEX-коды.position — координаты центра объекта
[x, y, z].rotation — вращение объекта вокруг осей
[x, y, z] в градусах.Пример использования:
<a-box width="2" height="1" depth="3" color="#4CC3D9" position="0 1 -5" rotation="0 45 0"></a-box>
Примитив <a-sphere> создаёт сферу или сегмент
сферы.
Ключевые параметры:
radius — радиус сферы (по умолчанию 1).segments-width — количество сегментов по горизонтали
(чем больше, тем гладче поверхность).segments-height — количество сегментов по
вертикали.phi-start и phi-length — определяют
угловой диапазон по горизонтали.theta-start и theta-length — определяют
угловой диапазон по вертикали.color — цвет сферы.position — расположение центра сферы.rotation — вращение объекта.Пример использования:
<a-sphere radius="1.5" segments-width="32" segments-height="32" color="#EF2D5E" position="0 1.25 -3"></a-sphere>
Примитив <a-cylinder> создаёт цилиндр или конус
(если верхний и нижний радиусы различны).
Параметры:
radius — радиус основания (для конуса верхний радиус
можно задавать через radius-top).radius-top и radius-bottom — верхний и
нижний радиусы.height — высота цилиндра.segments-radial — количество сегментов по
окружности.segments-height — количество сегментов вдоль
высоты.open-ended — флаг, показывающий, закрыт цилиндр или
нет.color, position, rotation —
стандартные параметры.Пример использования:
<a-cylinder radius="0.5" radius-top="0.2" height="2" segments-radial="16" color="#FFC65D" position="1 1 -3"></a-cylinder>
Примитив <a-plane> создаёт плоскую
поверхность.
Параметры:
width и height — размеры плоскости.segments-width и segments-height —
количество сегментов по ширине и высоте.color — цвет.position и rotation — позволяют
расположить и наклонить плоскость.side — определяет, с какой стороны видна плоскость:
front, back или double.Пример использования:
<a-plane width="4" height="2" color="#7BC8A4" position="0 0 -4" rotation="-90 0 0"></a-plane>
Примитив <a-ring> создаёт кольцо.
Параметры:
radius-inner — внутренний радиус.radius-outer — внешний радиус.segments-theta — количество сегментов по
окружности.theta-start и theta-length — задают часть
окружности (для создания дуги).color, position, rotation —
стандартные параметры.Пример использования:
<a-ring radius-inner="0.5" radius-outer="1" color="#FFC0CB" position="0 1 -3" rotation="-90 0 0"></a-ring>
Примитив <a-torus> создаёт тор (бублик) с
возможностью настройки толщины и радиуса.
Параметры:
radius — радиус центрального круга тора.radius-tubular — радиус трубки тора.segments-radial — количество сегментов по радиусу
трубки.segments-tubular — количество сегментов вдоль
трубы.color, position, rotation —
стандартные параметры.Пример использования:
<a-torus radius="1" radius-tubular="0.2" segments-radial="16" segments-tubular="32" color="#00FF00" position="2 1 -5"></a-torus>
material, задавая текстуры, прозрачность, блеск, отражение.
Например:<a-box material="color: red; opacity: 0.7; metalness: 0.5"></a-box>
<a-animation> или компонент animation.
Например: вращение:<a-box rotation="0 0 0" animation="property: rotation; to: 0 360 0; loop: true; dur: 5000"></a-box>
aframe-physics-system.segments-width,
segments-height, segments-radial) улучшает
визуальное качество, но повышает нагрузку на рендеринг. Для сцен с
множеством объектов рекомендуется балансировать детальность.side="double" на плоскостях и кольцах
помогает избежать визуальных пропаданий при вращении камеры.<a-entity> с вложенными примитивами и
корректной трансформацией.Создание базовой сцены с несколькими примитивами:
<a-scene>
<a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
<a-plane position="0 0 -4" rotation="-90 0 0" width="6" height="6" color="#7BC8A4"></a-plane>
<a-ring position="0 2 -3" rotation="-90 0 0" radius-inner="0.3" radius-outer="0.6" color="#FFC0CB"></a-ring>
<a-torus position="2 1 -5" radius="1" radius-tubular="0.2" color="#00FF00"></a-torus>
</a-scene>
Эта комбинация демонстрирует работу всех ключевых примитивов с различными размерами, цветами и положением в пространстве сцены.