一尘不染

将three.js背景更改为透明或其他颜色

css

我一直在尝试将画布的默认背景颜色从黑色更改为透明/其他任何颜色-但没有运气。

我的HTML:

<canvas id="canvasColor">

我的CSS:

<style type="text/css">
#canvasColor {
 z-index: 998;
opacity:1;
background: red;
}
</style>

正如您在下面的在线示例中看到的那样,我在画布上附加了一些动画,因此不能仅执行不透明度:0; 在id上。

实时预览:http
//devsgs.com/preview/test/particle/

任何想法如何覆盖默认黑色?


阅读 1539

收藏
2020-05-16

共1个答案

一尘不染

当我也开始使用three.js时,我遇到了这个问题。这实际上是一个JavaScript问题。您目前有:

renderer.setClearColorHex( 0x000000, 1 );

在您的threejsinit函数中。更改为:

renderer.setClearColorHex( 0xffffff, 1 );

更新: 感谢HdN8提供的更新解决方案:

renderer.setClearColor( 0xffffff, 0);

更新#2:
正如WestLangley在[另一个类似的问题中]指出的那样-现在,在与setClearColor()功能一起创建新的WebGLRenderer实例时,必须使用以下代码:

var renderer = new THREE.WebGLRenderer({ alpha: true });

更新#3:
doob先生指出,由于r78您可以选择使用以下代码来设置场景的背景色,因此:

var scene = new THREE.Scene(); // initialising the scene
scene.background = new THREE.Color( 0xff0000 );
2020-05-16