Я пытался изменить цвет фона моего холста по умолчанию с черного на прозрачный / любой другой цвет, но безуспешно.
Мой 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/
Есть идеи, как перезаписать черный по умолчанию?
function init() {
ваш холст красный! Three.js меняет его на черный с помощьюsetClearColorHex
!Ответы:
Я столкнулся с этим, когда начал использовать three.js. На самом деле это проблема с javascript. В настоящее время у вас есть:
в вашей
threejs
функции инициализации. Измените его на:Обновление: Спасибо HdN8 за обновленное решение:
Обновление №2: как указал WestLangley в другом аналогичном вопросе - теперь вы должны использовать приведенный ниже код при создании нового экземпляра WebGLRenderer в сочетании с
setClearColor()
функцией:Обновление №3: г-н Дуб указывает, что, поскольку
r78
вы можете альтернативно использовать приведенный ниже код, чтобы установить цвет фона сцены:источник
r78
вы можете просто сделатьscene.background = new THREE.Color( 0xff0000 );
Полный ответ: (Проверено на r71)
Чтобы установить цвет фона, используйте:
Если вам нужен прозрачный фон, вам сначала нужно включить альфа-канал в вашем рендерере:
Просмотрите документы для получения дополнительной информации.
источник
Для прозрачности это также обязательно:
renderer = new THREE.WebGLRenderer( { alpha: true } )
через Transparent background с three.jsисточник
Я обнаружил, что когда я создавал сцену с помощью редактора three.js, мне нужно было не только использовать правильный код ответа (см. Выше), чтобы настроить средство визуализации с альфа-значением и четким цветом, мне пришлось войти в приложение .json файл и найти «фона» атрибут объекта «сцена» и установить его:
"background: null"
.При экспорте из редактора Three.js изначально было установлено значение "background": 0
источник
В 2020 году с использованием r115 он очень хорошо работает с этим:
const renderer = new THREE.WebGLRenderer({ alpha: true }); const scene = new THREE.Scene(); scene.background = null;
источник
Я также хотел бы добавить, что при использовании редактора three.js не забудьте также установить цвет фона в index.html.
источник