Wireframe — это режим отображения 3D-объектов, в котором видны только ребра полигональной сетки модели, без заливки поверхности. В A-Frame он используется для анализа геометрии, отладки сцены и визуализации структуры моделей.
Основной способ активировать wireframe — настройка свойства
wireframe у материала (material). Любой
примитив или объект с компонентом material может
использовать этот режим:
<a-box position="0 1 -3" rotation="0 45 0" width="1" height="1" depth="1"
material="color: blue; wireframe: true"></a-box>
color задает цвет линий сетки.wireframe: true включает режим каркаса.wireframe: false объект отображается как обычная
поверхность.Wireframe работает с любыми базовыми примитивами: a-box,
a-sphere, a-cylinder, a-plane и с
импортированными моделями через a-asset-item.
Режим wireframe можно сочетать с другими свойствами материала:
<a-sphere position="2 1 -4" radius="1.5"
material="color: red; wireframe: true; opacity: 0.5"></a-sphere>
<a-box position="-2 1 -3" material="color: green; wireframe: true; linewidth: 3"></a-box>
const box = document.querySelector('a-box');
box.setAttribute('material', 'color', 'yellow');
Для моделей в формате .glTF или .obj
wireframe можно включить через компонент material на
дочерних мешах:
const model = document.querySelector('#model');
model.addEventListener('model-loaded', () => {
model.object3D.traverse(node => {
if (node.isMesh) {
node.material.wireframe = true;
}
});
});
traverse позволяет пройтись по всем узлам
3D-модели.node.isMesh проверяет, что текущий узел является
мешем.Wireframe можно переключать в процессе работы сцены с помощью Jav * aScript:
const sphere = document.querySelector('a-sphere');
let wireframeEnabled = true;
function toggleWireframe() {
wireframeEnabled = !wireframeEnabled;
sphere.setAttribute('material', 'wireframe', wireframeEnabled);
}
setInterval(toggleWireframe, 2000);
linewidth зависит от движка WebGL и
браузера.wireframe на каждый материал.Wireframe можно использовать совместно с:
Пример:
<a-box position="0 1 -3" rotation="0 45 0" width="1" height="1" depth="1"
material="color: blue; wireframe: true; opacity: 0.7"
animation="property: rotation; to: 0 405 0; loop: true; dur: 5000"></a-box>
Wireframe-режим является эффективным инструментом для визуализации внутренней структуры объектов, анализа сложности модели и создания интерактивных визуальных эффектов в A-Frame.