我一生都无法弄清楚出了什么问题(尤其是这两个 .js 文件的无证性),但我已将 EffectComposer 和 BloomPass 包含在我的项目中,并试图这样称呼它:
parameters = { bloomStrength: 1.3, bloomFactor: 1.0,}
var renderPass = new THREE.RenderPass(scene, camera);
var copyPass = new THREE.ShaderPass(THREE.CopyShader);
copyPass.renderToScreen = true;
composer = new THREE.EffectComposer ( renderer );
composer.addPass(renderPass);
composer.addPass(copyPass);
var effectBloom = new THREE.BloomPass ( 3, 25, 5, 256);
composer.addPass (effectBloom);
BloomPass.js 自己抛出一个错误(不在我的代码中),指出“Uncaught TypeError: Cannot read property 'prototype' of undefined at BloomPass.js:76”BloomPass 76 行如下:
THREE.BloomPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), {
我相信由于这个原因,EffectComposer 也会为该
composer.addPass(effectBloom);
行抛出一个错误: Uncaught TypeError: pass.setSize is not a function at THREE.EffectComposer.addPass
pass.setSize( size.width, size.height );
知道我做错了什么吗?根据几个例子,我正在正确设置一切......非常感谢任何帮助!