微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 SceneBuilder 和 BufferGeometry 在伪造查看器中创建点?

如何解决如何使用 SceneBuilder 和 BufferGeometry 在伪造查看器中创建点?

在开发者指南 here 中,forge 提到我们可以使用 SceneBuilder 扩展和 BufferGeometry 创建点。我们需要将 BufferGeometry 的 isPoint 设置为 true 来执行此操作。我在场景中只创建一个点的方法如下

async function addASinglePoint() {

await viewer.loadExtension('Autodesk.Viewing.SceneBuilder');
const ext = viewer.getExtension('Autodesk.Viewing.SceneBuilder');



modelBuilder = await ext.addNewModel({
    conserveMemory: false,modelNameOverride: 'A Single Marker'
  });

  const red = new THREE.MeshphongMaterial({
    color: new THREE.Color(1,0)
  }); 

  const geometry = new THREE.BufferGeometry();
  geometry.addAttribute('position',new THREE.BufferAttribute([0,0],3));
  geometry.isPoints = true; 

  let mesh = new THREE.Mesh(geometry,red);

  mesh.matrix = new THREE.Matrix4().compose(
    new THREE.Vector3(0,0),new THREE.Quaternion(0,1),new THREE.Vector3(1,1,1)
  );

  mesh.dbId = 234543;
  modelBuilder.addMesh(mesh);

}

但是我在查看器中看不到任何点。在 Model 浏览器中,我可以看到该项目已添加,如果我单击该项目,查看器似乎导航到该项目。但是除了枢轴点我什么都看不到。可能是我没有设置点大小。我找不到任何方法来设置点的大小。如何设置点的大小并在查看器中显示?如果我需要添加更多积分(100-200),那么正确的方法是什么? TIA

解决方法

如果您有兴趣向查看器添加点云,有以下几种选择:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。