首页 > 解决方案 > Aframe:获取任何对象的顶点

问题描述

有没有一种方法可以获取场景中对象的顶点。这既适用于原始模型,也适用于加载的模型。例如

<a-entity geometry='primitive:box' rotation='0 30 0'></a-entity>

或者

<a-entity gltf-model='#model'></a-entity>

标签: three.jsaframe

解决方案


对于几何图形,默认为包含在以下内容中的缓冲区属性(数组中的顶点):

el.getObject3D('mesh').geometry.attributes

为了更易于管理,设置为非缓冲 ( geometry="primitive: box; buffer: false") 并从以下位置获取:

el.getObject3D('mesh').geometry.vertices

对于 gltf-model,它还有一个 geometr(ies)(缓冲几何):

el.getObject3D('mesh').traverse(node => {
  if (node.geometry) {
    // node.geometry.attributes...
  }
});

推荐阅读