Saya telah mencoba untuk mengubah apa yang tampaknya menjadi warna latar belakang default kanvas saya dari hitam menjadi transparan / warna lain - tetapi tidak berhasil.
HTML saya:
<canvas id="canvasColor">
CSS saya:
<style type="text/css">
#canvasColor {
z-index: 998;
opacity:1;
background: red;
}
</style>
Seperti yang Anda lihat pada contoh online berikut, saya memiliki beberapa animasi yang ditambahkan ke kanvas, jadi tidak bisa hanya melakukan opacity: 0; di id.
Pratinjau langsung: http://devsgs.com/preview/test/particle/
Ada ide bagaimana menimpa hitam default?
function init() {
, kanvas Anda berwarna merah! Three.js mengubahnya menjadi hitam dengansetClearColorHex
!Jawaban:
Saya menemukan ini ketika saya mulai menggunakan three.js juga. Ini sebenarnya masalah javascript. Anda saat ini memiliki:
dalam
threejs
fungsi init Anda . Ubah menjadi:Pembaruan: Terima kasih kepada HdN8 untuk solusi yang diperbarui:
Pembaruan # 2: Seperti yang ditunjukkan oleh WestLangley di pertanyaan lain yang serupa - Anda sekarang harus menggunakan kode di bawah ini saat membuat instance WebGLRenderer baru dalam hubungannya dengan
setClearColor()
fungsi:Pembaruan # 3: Mr. doob menunjukkan bahwa karena
r78
Anda dapat menggunakan kode di bawah ini untuk mengatur warna latar belakang adegan Anda:sumber
r78
Anda dapat melakukannyascene.background = new THREE.Color( 0xff0000 );
Jawaban lengkap: (Diuji dengan r71)
Untuk mengatur penggunaan warna latar belakang:
Jika Anda menginginkan latar belakang transparan, Anda harus mengaktifkan alfa di perender Anda terlebih dahulu:
Lihat dokumen untuk info lebih lanjut.
sumber
Untuk transparansi, ini juga wajib:
renderer = new THREE.WebGLRenderer( { alpha: true } )
melalui latar belakang Transparan dengan three.jssumber
Saya menemukan bahwa ketika saya membuat adegan melalui editor three.js, saya tidak hanya harus menggunakan kode jawaban yang benar (di atas), untuk menyiapkan perender dengan nilai alfa dan warna yang jelas, saya harus masuk ke aplikasi .json dan temukan atribut "Scene" Object's "background" dan setel ke:
"background: null"
.Ekspor dari editor Three.js awalnya disetel ke "background": 0
sumber
Pada tahun 2020 menggunakan r115 ini bekerja sangat baik dengan ini:
const renderer = new THREE.WebGLRenderer({ alpha: true }); const scene = new THREE.Scene(); scene.background = null;
sumber
Saya juga ingin menambahkan bahwa jika menggunakan editor three.js jangan lupa untuk mengatur warna latar belakang menjadi jelas juga di index.html.
sumber