Ich habe versucht, die scheinbar voreingestellte Hintergrundfarbe meiner Leinwand von schwarz auf transparent/jede andere Farbe zu ändern - aber kein Glück.
Mein HTML:
<canvas id="canvasColor">
Mein CSS:
<style type="text/css">
#canvasColor {
z-index: 998;
opacity:1;
background: red;
}
</style>
Wie Sie im folgenden Online-Beispiel sehen können, habe ich eine Animation an die Leinwand angehängt, so dass Sie nicht einfach eine Deckkraft verwenden können: 0; auf der id.
Live-Vorschau: http://devsgs.com/preview/test/particle/
Irgendwelche Ideen, wie man das Standardschwarz überschreibt?
Ich bin auf dieses Problem gestoßen, als ich gleich mit three.js angefangen habe. Es ist eigentlich ein Javascript-Problem. Du hast im Moment:
renderer.setClearColorHex( 0x000000, 1 );
in Ihrer threejs
init-Funktion. Ändern Sie es in:
renderer.setClearColorHex( 0xffffff, 1 );
Update: Danke an HdN8 für die aktualisierte Lösung:
renderer.setClearColor( 0xffffff, 0);
Update # 2: Wie von WestLangley in einer anderen, ähnlichen Frage - darauf hingewiesen, müssen Sie jetzt den folgenden Code verwenden, wenn Sie eine neue WebGLRenderer-Instanz in Verbindung mit der setClearColor()
-Funktion erstellen:
var renderer = new THREE.WebGLRenderer({ alpha: true });
Update # 3: Mr.doob weist darauf hin, dass Sie seit r78
alternativ den folgenden Code verwenden können, um die Hintergrundfarbe Ihrer Szene festzulegen:
var scene = new THREE.Scene(); // initialising the scene
scene.background = new THREE.Color( 0xff0000 );
Für Transparenz ist dies ebenfalls zwingend: renderer = new THREE.WebGLRenderer( { alpha: true } )
via Transparenter Hintergrund mit three.js
Eine vollständige Antwort: (Mit r71 getestet)
Um eine Hintergrundfarbe festzulegen, verwenden Sie:
renderer.setClearColor( 0xffffff ); // white background - replace ffffff with any hex color
Wenn Sie einen transparenten Hintergrund wünschen, müssen Sie zunächst Alpha in Ihrem Renderer aktivieren:
renderer = new THREE.WebGLRenderer( { alpha: true } ); // init like this
renderer.setClearColor( 0xffffff, 0 ); // second param is opacity, 0 => transparent
Sehen Sie sich die Dokumente an für weitere Informationen.
Ich stellte fest, dass ich beim Erstellen einer Szene über den three.js-Editor nicht nur den korrekten Antwortcode verwenden musste (oben), sondern den Renderer mit einem Alpha-Wert und einer klaren Farbe einrichten musste. Ich musste in die App gehen .json-Datei, suchen Sie das Attribut "background" des Objekts "Scene" und setzen Sie es auf: "background: null"
.
Beim Export aus dem Three.js-Editor war es ursprünglich auf "Hintergrund" gesetzt: 0
Ich möchte auch hinzufügen, dass bei Verwendung des three.js-Editors die Hintergrundfarbe in der index.html ebenfalls auf clear gesetzt wird.
background-color:#00000000