我们试图在此示例中使用tessallation和explode修饰符(http://threejs.org/examples/#webgl_modifier_tessellation)将球体爆炸成矩形而不是三角形。
以下是我们的代码https://jsfiddle.net/cloacker/2dxp3ga8/
的链接在此代码块中计算面部的位移。我相信这是针对三个面计算的,但是如何定义相邻面或者是否可能?
for ( var f = 0; f < numFaces; f ++ ) {
var index = 9 * f;
var h = 0.2 * Math.random();
var s = 0.5 + 0.5 * Math.random();
var l = 0.5 + 0.5 * Math.random();
color.setHSL( h, s, l );
var d = 10 * ( 0.5 - Math.random() );
for ( var i = 0; i < 3; i ++ ) {
colors[ index + ( 3 * i ) ] = color.r;
colors[ index + ( 3 * i ) + 1 ] = color.g;
colors[ index + ( 3 * i ) + 2 ] = color.b;
displacement[ index + ( 3 * i ) ] = d;
displacement[ index + ( 3 * i ) + 1 ] = d;
displacement[ index + ( 3 * i ) + 2 ] = d;
}
}
编辑: 我不得不更改代码以使用numFaces / 4来使其适用于我的球体参数。