【发布时间】:2020-02-24 14:38:25
【问题描述】:
我想为网格顶点和面编写正确的类型。
在第一个示例中,我创建了一个新的 Mesh,当我想从几何体中访问 Vertices 和 Faces 时,我遇到了一些错误:
const material = new THREE.MeshLambertMaterial({color: 0x00ff00});
const geometry = new THREE.Geometry();
const newMesh = new THREE.Mesh(geometry, material);
scene.add(newMesh);
const { vertices, faces } = newMesh.geometry;
// Error: Property 'vertices' does not exist on type 'BufferGeometry | Geometry'
// Error: Property 'faces' does not exist on type 'Geometry | BufferGeometry'.
newMesh.geometry.colorsNeedUpdate = true;
// Error: Property 'colorsNeedUpdate' does not exist on type 'Geometry | BufferGeometry'.
在第二个示例中,我从场景中获取 Mesh,然后出现以下错误:
const mesh = scene.getObjectByName('boxMesh');
const geometry = mesh.geometry;
// Property 'geometry' does not exist on type 'Object3D'.
【问题讨论】:
标签: typescript three.js geometry