0
我在一个画布中有两个渲染器,我希望渲染器是透明的,我应用了下面的代码。但它没有成功。有人可以帮我吗?如何使渲染器在三个js轨迹球控制(r87)中透明?
var renderer = new THREE.WebGLRenderer({ alpha: true });
renderer.setClearColor(0x000000, 0);
我在一个画布中有两个渲染器,我希望渲染器是透明的,我应用了下面的代码。但它没有成功。有人可以帮我吗?如何使渲染器在三个js轨迹球控制(r87)中透明?
var renderer = new THREE.WebGLRenderer({ alpha: true });
renderer.setClearColor(0x000000, 0);
如果你想有一个透明背景,不要使用编辑:使用setClearColor
。它覆盖了alpha
,这是背景透明的原因。setClearColor
与WebGLRenderer.alpha
属性是好的。如果你想让背景透明,请记住包含alpha参数:renderer.setClearColor(hexColor, alphaValue);
虽然我不明白“一个画布中的两个渲染器”是什么意思。这听起来很危险,至多。如果您想要将两件东西绘制到同一个画布上,请考虑将它们组合成一个场景,或者使用相同的渲染器渲染两个场景。
(这也与TrackballControl
无关。)
这完全有道理。非常感谢您使用一个渲染器的建议。它解决了:) – Mhd
你为什么说“不要使用setClearColor ...它覆盖阿尔法”? 'setClearColor(0x000000,0);' – WestLangley
当时,我错过了Mhd函数调用中的第二个参数。调用'setClearColor(0x000000);'会导致黑色背景,因为'alpha'参数默认为'1'。我错了,因为错过了。 Mhd的代码可能是为了透明度而工作,而这正是造成问题的两个渲染器。 – TheJim01