【问题标题】:Aframe: getting vertices of any objectAframe:获取任何对象的顶点
【发布时间】:2018-09-10 04:34:42
【问题描述】:

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

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

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

【问题讨论】:

    标签: three.js aframe


    【解决方案1】:

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

    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...
      }
    });
    

    【讨论】:

    • 谢谢@ngokevin。可能在 gltf 的情况下,我必须在获得顶点之前获得一个有界框。应该可以往前走。谢谢
    猜你喜欢
    • 2013-09-28
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多