0

1 つの Buffer Geometry にランダムに配置された多数の円があります。中心からのオーディオ入力に基づいてそれぞれをスケーリングしようとしていますが、シーンの中心に向かってスケーリングを続けています。半径が大きくなってじっとしているのではなく、大きくなるだけでなく、中心から離れていきます。

uniform float scale;
varying vec3 color;
void main() 
{

  mat4 sPos = mat4(vec4(scale,0.0,0.0,0.0),
               vec4(0.0,scale,0.0,0.0),
               vec4(0.0,0.0,1.0,0.0),
               vec4(0.0,0.0,0.0,1.0));
  vec3 pos = position * normal;
  vec4 modelViewPosition = modelViewMatrix * sPos * vec4(pos, 1.0) ;

  gl_Position = projectionMatrix * modelViewPosition;
}

これが私が試みていることです。シーンの他の側面を台無しにすることなく、原点を各円の中心に移動できるマトリックス変換はありますか?

小スケール値 小スケール値

より大きなスケール値 より大きなスケール値

4

1 に答える 1