こんにちは、これを手伝ってくれる人はいますか?このシェーダーがあります。THREE.Mesh では機能しますが、THREE.Particlesystem では機能しませんか?
各パーティクルに特定のマップ (テクスチャ) の一部を持たせ、それに応じて位置を変更するようにします。
<script id="vs" type="x-shader/x-vertex">
uniform sampler2D map;
varying vec2 vUv;
void main() {
vUv = uv;
vec4 color = texture2D( map, vUv );
float value = ( color.r + color.g + color.b ) / 3.0;
vec4 pos = vec4( position.xy, value * 100.0, 1.0 );
gl_PointSize = 20.0;
gl_Position = projectionMatrix * modelViewMatrix * pos;
}
</script>
<script id="fs" type="x-shader/x-fragment">
uniform sampler2D map;
varying vec2 vUv;
void main() {
gl_FragColor = texture2D( map, vUv );
}
</script>