我希望你能够创建一个具有透明背景的three.js画布。我正在创建一个渲染器,如下所示:
当我调用
# coffeescript
r = new THREE.WebGLRenderer alpha: true
当我调用
r.render()
时,它按预期工作,对象出现在透明的背景上。然而,当我尝试添加EffectComposer的后处理时,如下所示:cmp = new THREE.EffectComposer r
cmp.addPass new THREE.RenderPass scene, camera
effect = new THREE.FilmPass 0.9, 2, 2048, true
effect.renderToScreen = true
cmp.addPass effect
cmp.render 3
新的结果是场景如预期地渲染(对象已正确应用Film效果),但背景不再是所需的透明,而是黑色和不透明。为什么?我如何防止后处理影响我的透明背景?