gpt4 book ai didi

three.js - 未捕获的类型错误 : Cannot read property 'push' of undefined in three. js

转载 作者:行者123 更新时间:2023-12-04 14:58:02 25 4
gpt4 key购买 nike

所以我开始学习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 ) );
更多信息 Geometry在以下移除 three.js论坛主题:
https://discourse.threejs.org/t/three-geometry-will-be-removed-from-core-with-r125/22401

关于three.js - 未捕获的类型错误 : Cannot read property 'push' of undefined in three. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67566899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com