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