我通过向上或向下移动顶点来实现WebGL中的简单变形,但偶然发现了三角形布局的问题。
我正在使用three.js
中的PlaneGeometry
,并使用following layout作为三角形:
indices.push( a, b, d )
indices.push( b, c, d )
向上或向下移动顶点会导致左侧的图像,其中,在移动顶点后,变形会逐渐消失。蓝点代表中心顶点。 我决定使用以下代码交替使用三角形:
if ( ( ix + iy ) % 2 === 0 ) {
// Even segment
indices.push( a, b, d )
indices.push( b, c, d )
} else {
// Odd segment
indices.push( a, b, c )
indices.push( a, c, d )
}
正如您在右侧看到的 ,它给了我更好的结果。