关于Three.js文档中画线(Drawing lines)中的Geometry()修改成BufferGeometry()

334 阅读1分钟

image.png

官方文档中的这一段,var geometry = new THREE.Geometry(),在目前版本的浏览器中运行,是会直接报错的,报错内容为:THREE.Geometry is not a constructor

image.png

发现是因为版本的问题,125版本就不再支持这个api了,如果还需要就用他的子类BufferGeometry。 所以更新代码如下,就可以正常运行了:

// var geometry = new THREE.Geometry();

// geometry.vertices.push(new THREE.Vector3(-10, 0, 0));

// geometry.vertices.push(new THREE.Vector3(0, 10, 0));

// geometry.vertices.push(new THREE.Vector3(10, 0, 0));

var geometry = new THREE.BufferGeometry();

var vertices = new Float32Array([-10, 0, 0, 0, 10, 0, 10, 0, 0]);

geometry.setAttribute('position', new THREE.BufferAttribute(vertices, 3));

image.png

image.png