所以我开始学习 Three.js 并且我正在一步一步地遵循教程,但是我收到了上面的错误。
这是有问题的代码: const Geometry = new THREE.BufferGeometry()
const vertex1 = new THREE.Vector3(0, 0, 0) Geometry.vertices.push(vertex1)
const vertex2 = new THREE.Vector3(0, 1, 0) Geometry.vertices.push('vertex2')
const vertex3 = new THREE.Vector3(1, 0, 0) Geometry.vertices.push('vertex3')
有人可以解释一下为什么推送不起作用吗?即使我定义了一个空数组。
另外,本教程使用 const Geometry = new THREE.Geometry(),但我收到一条错误消息,指出 Geometry 不是构造函数。有任何想法吗?
Geometry
已弃用,不再是库核心的一部分。你必须使用BufferGeometry
. 但是,由于顶点数据以缓冲区属性的形式管理,因此BufferGeometry
没有属性。vertices
上面的代码应该如下所示:
const geometry = new THREE.BufferGeometry();
const vertices = [];
vertices.push( 0, 0, 0 );
vertices.push( 0, 1, 0 );
vertices.push( 1, 0, 0 );
geometry.setAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );
Run Code Online (Sandbox Code Playgroud)
有关删除的更多信息,Geometry
请参阅以下three.js
论坛主题:
https://discourse. Threejs.org/t/ Three-geometry-will-be-removed-from-core-with-r125/22401
归档时间: |
|
查看次数: |
1313 次 |
最近记录: |