1

我有一条线“在我的场景中走来走去”(某种 3D 蛇),我希望实现的下一个目标是在它的头部周围设置一个框。该行bufferGeometry

        var positions1 = new Float32Array( MAX_POINTS * 3 ); // 3 vertices per point
        var positions2 = new Float32Array( MAX_POINTS * 3 ); // 3 vertices per point
        buffGeometry1.addAttribute( 'position', new THREE.BufferAttribute( positions1, 3 ) );
        buffGeometry2.addAttribute( 'position', new THREE.BufferAttribute( positions2, 3 ) );

我选择boxGeometry在它周围设置一个立方体(对象),并使用以下代码行来尝试实现它:

            var positioning = buffGeometry1.getAttribute('position');
            cube.position.x = positioning[0];//(line1.geometry.attributes.position.array[drawCount]);
            cube.position.y = positioning[1];//(line1.geometry.attributes.position.array[drawCount + 1]);
            cube.position.z = positioning[2];

当我调试时,我看到我的positioning数组是未定义的。所以我想那里出了点问题。

谢谢。

4

1 回答 1

5

尝试:

console.log(buffGeometry1.getAttribute('position'))

我的 THREE.BufferGeometry 向我展示了verticles存储在positioning.array中,因此您应该通过以下方式访问它们:

positioning.array[0]
positioning.array[1]
positioning.array[2]
于 2015-12-11T02:57:55.120 回答