我想将场景淡入灰度,但这也适用于我想淡入或淡出的其他后处理效果。
所以对于这个例子,我使用了 THREE.ColorifyShader,但是当激活它时,整个场景会立即接收到预期的颜色
如何“应用不透明度/alpha”进行后期处理?
代码示例:
var effectColorify,
copyPass;
effectColorify = new THREE.ShaderPass(THREE.ColorifyShader);
effectColorify.uniforms['color'].value.setRGB(0.8, 0.8, 0.8); // Grayscale
copyPass = new THREE.ShaderPass(THREE.CopyShader);
copyPass.renderToScreen = true;
this.composerGrayscale = new THREE.EffectComposer(this.engine.renderer);
this.composerGrayscale.addPass(this.renderPass);
this.composerGrayscale.addPass(effectColorify);
this.composerGrayscale.addPass(copyPass);