【发布时间】:2021-09-12 10:07:01
【问题描述】:
在开发者指南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, 0)
});
const geometry = new THREE.BufferGeometry();
geometry.addAttribute('position', new THREE.BufferAttribute([0, 0, 0], 3));
geometry.isPoints = true;
let mesh = new THREE.Mesh(geometry, red);
mesh.matrix = new THREE.Matrix4().compose(
new THREE.Vector3(0, 0, 0),
new THREE.Quaternion(0, 0, 0, 1),
new THREE.Vector3(1, 1, 1)
);
mesh.dbId = 234543;
modelBuilder.addMesh(mesh);
}
但我在查看器中看不到任何点。在 Model 浏览器中,我可以看到该项目已添加,如果单击该项目,则查看器似乎导航到该项目。但除了枢轴点,我什么都看不到。可能是我没有设置点大小。我找不到任何方法来设置点的大小。如何设置点的大小并将其显示在查看器中?如果我需要添加更多点(100-200),那么正确的方法是什么? TIA
【问题讨论】:
标签: autodesk-forge autodesk-viewer