Javascript bufferGeometry的THREE.js颜色和位置属性使用不同的顶点,很难进行比较
我有一架400乘400的飞机。 定义所有顶点的y位置时,我会这样做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
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);