use*_*561 112 css html5 canvas three.js html5-canvas
我一直试图改变我的画布的默认背景颜色,从黑色到透明/任何其他颜色 - 但没有运气.
我的HTML:
<canvas id="canvasColor">
Run Code Online (Sandbox Code Playgroud)
我的CSS:
<style type="text/css">
#canvasColor {
z-index: 998;
opacity:1;
background: red;
}
</style>
Run Code Online (Sandbox Code Playgroud)
正如您在下面的在线示例中所看到的,我在画布上附加了一些动画,所以不能只做一个不透明度:0; 在id上.
实时预览:http: //devsgs.com/preview/test/particle/
有任何想法如何覆盖默认黑色?
Joe*_*Joe 217
当我开始使用three.js时,我遇到了这个问题.这实际上是一个javascript问题.你目前有:
renderer.setClearColorHex( 0x000000, 1 );
Run Code Online (Sandbox Code Playgroud)
在你的threejsinit函数中.将其更改为:
renderer.setClearColorHex( 0xffffff, 1 );
Run Code Online (Sandbox Code Playgroud)
更新:感谢HdN8提供的更新解决方案:
renderer.setClearColor( 0xffffff, 0);
Run Code Online (Sandbox Code Playgroud)
更新#2:正如WestLangley在另一个类似的问题中指出的那样- 在与setClearColor()函数一起创建新的WebGLRenderer实例时,您现在必须使用以下代码:
var renderer = new THREE.WebGLRenderer({ alpha: true });
Run Code Online (Sandbox Code Playgroud)
更新#3: Mr.doob指出,因为r78您可以使用下面的代码来设置场景的背景颜色:
var scene = new THREE.Scene(); // initialising the scene
scene.background = new THREE.Color( 0xff0000 );
Run Code Online (Sandbox Code Playgroud)
Yot*_*mer 18
一个完整的答案:(用r71测试)
要设置背景颜色,请使用:
renderer.setClearColor( 0xffffff ); // white background - replace ffffff with any hex color
Run Code Online (Sandbox Code Playgroud)
如果您想要透明背景,则必须先在渲染器中启用Alpha:
renderer = new THREE.WebGLRenderer( { alpha: true } ); // init like this
renderer.setClearColor( 0xffffff, 0 ); // second param is opacity, 0 => transparent
Run Code Online (Sandbox Code Playgroud)
查看文档以获取更多信息.
小智 5
在 2020 年,使用 r115 可以很好地解决这个问题:
const renderer = new THREE.WebGLRenderer({ alpha: true });
const scene = new THREE.Scene();
scene.background = null;