Three.js动画换色控件

时间:2019-08-08 04:15:15

标签: javascript animation three.js

我正在努力为Three.js中的动画赋予正确的色调颜色。即使我应用了正确的色泽,例如:#008080,实际的颜色也不是绿色,而是蓝色或其他颜色。看起来有一些高光颜色的计算。如何关闭或控制它?

  const PARTICLE_SIZE = 1;
  const textureAttr = {
    resolution: 64,
    radius: 32,
    color: '#008080'
  };

此处的工作示例:

https://jsfiddle.net/6cq1re9o/

1 个答案:

答案 0 :(得分:2)

颜色已由片段着色器修改:

// noise RGB values
float r = 1. - 2.0 * noise;
float g = 0.0;
float b = 1. - 1.0 * noise;
vec3 foo = vec3(r*2.0, g, b*1.5);

// calculate a new color using the above noise
gl_FragColor = vec4( foo, 1.0 ) * texture2D( texture, gl_PointCoord );


由于您只需要提供的十六进制颜色,因此请取消注释并使用以下位:

// grab the textel
gl_FragColor = texture2D( texture, vec2(pos.x, pos.y) );
// or just use the noisy bit without the noise
// gl_FragColor = texture2D( texture, gl_PointCoord );

texture2D文档Lockable Trait。它只是返回纹理上点的颜色。

在此here中进行检查。


如果要“控制”它,则需要修改foo用作噪声的RGB颜色。


这可能只是我的意见,但是此webpack blob高度不可读。下次,请尝试制作fiddle