Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript bufferGeometry的THREE.js颜色和位置属性使用不同的顶点,很难进行比较_Javascript_Three.js_Mesh_Vertices - Fatal编程技术网

Javascript bufferGeometry的THREE.js颜色和位置属性使用不同的顶点,很难进行比较

Javascript bufferGeometry的THREE.js颜色和位置属性使用不同的顶点,很难进行比较,javascript,three.js,mesh,vertices,Javascript,Three.js,Mesh,Vertices,我有一架400乘400的飞机。 定义所有顶点的y位置时,我会这样做 var position = floorGeometry.attributes.position; for ( var i = 0; i <= complexity + 1; i ++ ) { for (var i2 = 0; i2 <= complexity; i2 ++) { vertex.fromBufferAttribute( position, i * comple

我有一架400乘400的飞机。 定义所有顶点的y位置时,我会这样做

var position = floorGeometry.attributes.position;    

for ( var i = 0; i <= complexity + 1; i ++ ) {
        for (var i2 = 0; i2 <= complexity; i2 ++) {
        vertex.fromBufferAttribute( position, i * complexity + i2);
        var x = vertex.x;
        var y = vertex.z;
        vertex.y = noise(x,y)
        position.setXYZ(i * complexity + i2, vertex.x, vertex.y, vertex.z );
        }
    }
var position=floorGeometry.attributes.position;

对于(var i=0;i而言,简单的解决方案是不使用:

vertex.fromBufferAttribute( position, index );
因为它使用了我在问题中讨论过的正方形系统,所以使用:

geometry.attributes.position.getY(i);

或者
.getX(i)
或者
.getZ(i)
,因为它们使用了tris的顶点!

看看这个。谢谢,我看到了他是如何使用floorGeometry.attributes.position.setY(i,val)方法引用每个tri顶点的,我意识到它也必须有一个getY方法,现在它看起来非常平滑。谢谢!
geometry.attributes.position.getY(i);