Three.js:制服值未更新

Three.js: Uniforms value not updating

我正在使用 Tween.js 在单击按钮时为着色器的制服值设置动画。这是我拥有的:

Shader.uniforms.threshold.needsUpdate = true;

function fadeIn() {
  new TWEEN.Tween( Shader.uniforms.threshold )
  .to( { value : 0.6 }, 100 )
  .start();
}

function fadeOut() {
  new TWEEN.Tween( Shader.uniforms.threshold )
  .to( { value : 2 }, 100 )
  .start();
}

document.getElementById("FadeIn").onclick = function() {
   fadeIn();
}

document.getElementById("FadeOut").onclick = function() {
   fadeOut();
}

以上方法无效。当我尝试刷新页面时,值确实发生了变化,但单击按钮什么也没做。有谁知道我实施中的错误? Tween.js可以这样用还是有更好的方法?谢谢

好的,这就是我的工作方式。似乎改变 "Shader" 本身的值是原因。当我更改单个对象的制服值时,以上内容有效。所以我没有 Shader.uniforms.threshold,而是这样做的:

myObject.material.uniforms.threshold,有效。