He estado tratando de cambiar lo que parece ser el color de fondo predeterminado de mi lienzo de negro a transparente / cualquier otro color, pero no tuve suerte.
Mi HTML:
<canvas id="canvasColor">
Mi CSS:
<style type="text/css">
#canvasColor {
z-index: 998;
opacity:1;
background: red;
}
</style>
Como puede ver en el siguiente ejemplo en línea, tengo algunas animaciones adjuntas al lienzo, así que no puedo hacer una opacidad: 0; en la id.
Vista previa en vivo: http://devsgs.com/preview/test/particle/
¿Alguna idea de cómo sobrescribir el negro predeterminado?
function init() {
, su lienzo es rojo! Three.js lo cambia a negro consetClearColorHex
!Respuestas:
Me encontré con esto cuando comencé a usar three.js también. En realidad es un problema de JavaScript. Tu Actualmente tienes:
en tu
threejs
función init. Cámbielo a:Actualización: Gracias a HdN8 por la solución actualizada:
Actualización n. ° 2: como señaló WestLangley en otra pregunta similar, ahora debe usar el código siguiente al crear una nueva instancia de WebGLRenderer junto con la
setClearColor()
función:Actualización n. ° 3: Mr.doob señala que, como
r78
alternativa, puede usar el siguiente código para establecer el color de fondo de su escena:fuente
r78
que simplemente puedes hacerloscene.background = new THREE.Color( 0xff0000 );
Una respuesta completa: (Probado con r71)
Para establecer un color de fondo use:
Si desea un fondo transparente, primero deberá habilitar alfa en su renderizador:
Ver los documentos para más información.
fuente
Para la transparencia, esto también es obligatorio: a
renderer = new THREE.WebGLRenderer( { alpha: true } )
través de fondo transparente con three.jsfuente
Descubrí que cuando creé una escena a través del editor three.js, no solo tuve que usar el código de respuesta correcto (arriba), para configurar el renderizador con un valor alfa y el color claro, tuve que ingresar a la aplicación .json archivo y encontrar atributo "fondo" de la "escena" del objeto y ponerlo a:
"background: null"
.La exportación del editor Three.js lo tenía configurado originalmente como "fondo": 0
fuente
En 2020 usando r115 funciona muy bien con esto:
const renderer = new THREE.WebGLRenderer({ alpha: true }); const scene = new THREE.Scene(); scene.background = null;
fuente
También me gustaría agregar que si usa el editor three.js, no olvide establecer el color de fondo para borrar también en el index.html.
fuente