Рисует любое значение CSS background-image позади сцены, градиент или изображение, делая цвет очистки сцены прозрачным и стилизуя холст.
Значение фонового изображения CSS
Примененный стиль
Рисует прямой градиент между двумя цветами позади сцены, в заданном направлении, с остановками как процентами вдоль него.
Два цвета, направление и две точки перехода
Примененный стиль
Рисует круглый градиент между двумя цветами позади сцены, расходящийся из position в заданной shape, с остановками как процентами от центра.
Два цвета, позиция центра, две точки перехода и форма
Примененный стиль
Рисует прямой градиент через несколько цветов позади сцены, каждый на своем проценте остановки; colors и stops должны быть одной длины, иначе вместо этого возвращается объект ошибки.
Цвета, их точки перехода и направление
Примененный стиль или сообщение об ошибке, если списки различаются по длине
Рисует круглый градиент через несколько цветов позади сцены, каждый на своем проценте остановки; colors и stops должны быть одной длины, иначе вместо этого возвращается объект ошибки.
Цвета, их точки перехода, позиция центра и форма
Примененный стиль или сообщение об ошибке, если списки различаются по длине
Показывает изображение позади сцены с параметрами фона CSS для того, как оно повторяется, масштабируется, располагается и прокручивается; цвет очистки сцены становится прозрачным, чтобы изображение просвечивало.
URL изображения и параметры повторения, размера, позиции, привязки, начала координат и обрезки
Примененный стиль
bitbybit.babylon.scene.canvasBackgroundImage({ imageUrl: "https://example.com/backdrop.jpg", repeat: Bit.Inputs.Base.backgroundRepeatEnum.noRepeat, size: Bit.Inputs.Base.backgroundSizeEnum.cover, position: Bit.Inputs.Base.gradientPositionEnum.center, attachment: Bit.Inputs.Base.backgroundAttachmentEnum.scroll, origin: Bit.Inputs.Base.backgroundOriginClipEnum.paddingBox, clip: Bit.Inputs.Base.backgroundOriginClipEnum.borderBox });
Заливает фон сцены одним простым цветом и убирает любое фоновое изображение или градиент холста, заданные ранее.
Цвет в формате hex
Делает камеру той, через которую рендерится сцена, отсоединяя управление камеры, которая была активна до этого.
Камера, которую нужно активировать
const camera = bitbybit.babylon.camera.arcRotate.create({ radius: 20, target: [0, 0, 0], alpha: 45, beta: 70, lowerBetaLimit: 1, upperBetaLimit: 179, angularSensibilityX: 1000, angularSensibilityY: 1000, panningSensibility: 1000, wheelPrecision: 3, maxZ: 1000 });
bitbybit.babylon.scene.activateCamera({ camera });
Дает камеру, через которую сцена сейчас рендерится.
Активная камера
Переставляет стандартную орбитальную камеру, ту, что называется Camera, и задает ее пределы и чувствительности.
Камера размещается в position, смотря на lookAt; пределы радиуса, alpha и beta ограничивают, как далеко она может приближать и обращаться, углы в градусах, а чувствительности задают, как быстро она реагирует, меньше - быстрее.
Позиция, цель и необязательные ограничения и чувствительности
bitbybit.babylon.scene.adjustActiveArcRotateCamera({ position: [20, 20, 20], lookAt: [0, 0, 0], lowerRadiusLimit: 5, upperRadiusLimit: 100, lowerBetaLimit: 1, upperBetaLimit: 179, angularSensibilityX: 1000, angularSensibilityY: 1000, panningSensibility: 1000, wheelPrecision: 3, maxZ: 1000 });
Удаляет из сцены все нарисованное: меши, материалы, текстуры, источники света кроме стандартного полусферического, узлы преобразования, генераторы теней, туман и текстуру окружения, и восстанавливает стандартную камеру, если была активна другая.
Окружает сцену одним из встроенных скайбоксов и использует его как освещение окружения, которое подхватывают отражающие материалы.
blur смягчает видимое небо, environmentIntensity масштабирует, насколько оно освещает сцену, а hideSkybox сохраняет освещение, скрывая само небо.
Встроенный скайбокс, его размер, размытие, интенсивность окружения и видимость
Окружает сцену скайбоксом, загруженным из вашей собственной текстуры, и использует его как освещение окружения.
textureUrl может указывать на файл .hdr, файл .env или корень шести изображений граней куба; без него ничего не происходит. hideSkybox сохраняет освещение, скрывая само небо.
URL и размер текстуры, размер скайбокса, размытие, интенсивность окружения и видимость
Окружает сцену скайбоксом, построенным из кубической текстуры, которую вы загрузили сами, и использует его как освещение окружения.
texture может быть получена из файла .hdr или .env. hideSkybox сохраняет освещение, скрывая небо; enableGroundProjection сплющивает нижнюю часть неба в землю, на которой стоит модель.
Кубическая текстура, размер скайбокса, размытие, интенсивность окружения, видимость и проекция земли
const texture = new BABYLON.CubeTexture("https://example.com/env/studio", bitbybit.babylon.scene.getScene());
bitbybit.babylon.scene.enableSkyboxFromTexture({ texture, size: 1000, blur: 0.1, environmentIntensity: 0.7, hideSkybox: false, enableGroundProjection: true, projectedGroundRadius: 20, projectedGroundHeight: 3 });
Растворяет далекую геометрию в цвете, как это делает дымка.
linear растворяет от start до end в единицах сцены; exponential и exponentialSquared растворяют по density, игнорируя расстояния; none выключает туман.
Режим тумана, цвет, плотность и начальная и конечная дистанции
Добавляет в сцену точечный источник света, как drawPointLight, не возвращая его; для скриптов, которым нужно только, чтобы свет существовал.
Позиция, цвета, интенсивность, радиус лампы и настройки теней источника света
bitbybit.babylon.scene.drawPointLightNoReturn({ position: [10, 20, 10], intensity: 2000, diffuse: "#ffffff", specular: "#ffffff", radius: 0.5, enableShadows: true, shadowGeneratorMapSize: 1024, shadowDarkness: 0, transparencyShadow: false, shadowUsePercentageCloserFiltering: true, shadowContactHardeningLightSizeUVRatio: 0.2, shadowBias: 0.0001, shadowNormalBias: 0.002, shadowMaxZ: 1000, shadowMinZ: 0.1, shadowRefreshRate: 1 });
Перечисляет генераторы теней источников света, созданных через эту библиотеку, по одному на источник с включенными тенями; нарисованные меши регистрируются в них как отбрасывающие тени.
Генераторы теней или пустой список
Добавляет свет, который светит во все стороны из точки, как лампочка, с необязательной маленькой светящейся сферой в его позиции.
При enableShadows равном true создается генератор теней, и каждый меш, уже находящийся в сцене, отбрасывает и принимает тени; intensity - световая мощность, так что значения в тысячах нормальны.
Позиция, цвета, интенсивность, радиус лампы и настройки теней источника света
Точечный источник света
const light = bitbybit.babylon.scene.drawPointLight({ position: [10, 20, 10], intensity: 2000, diffuse: "#ffffff", specular: "#ffffff", radius: 0.5, enableShadows: true, shadowGeneratorMapSize: 1024, shadowDarkness: 0, transparencyShadow: false, shadowUsePercentageCloserFiltering: true, shadowContactHardeningLightSizeUVRatio: 0.2, shadowBias: 0.0001, shadowNormalBias: 0.002, shadowMaxZ: 1000, shadowMinZ: 0.1, shadowRefreshRate: 1 });
Добавляет в сцену направленный источник света, как drawDirectionalLight, не возвращая его; для скриптов, которым нужно только, чтобы свет существовал.
Направление, цвета, интенсивность и настройки теней источника света
bitbybit.babylon.scene.drawDirectionalLightNoReturn({ direction: [-100, -100, -100], intensity: 0.5, diffuse: "#ffffff", specular: "#ffffff", enableShadows: true, shadowGeneratorMapSize: 1024, shadowDarkness: 0, transparencyShadow: false, shadowUsePercentageCloserFiltering: true, shadowContactHardeningLightSizeUVRatio: 0.2, shadowBias: 0.0001, shadowNormalBias: 0.002, shadowMaxZ: 1000, shadowMinZ: 0, shadowRefreshRate: 1 });
Добавляет свет, который светит одинаково везде, как солнце, вдоль direction.
При enableShadows равном true создается генератор теней, и каждый меш, уже находящийся в сцене, отбрасывает и принимает тени; intensity - простой коэффициент, где 1 - полная сила.
Направление, цвета, интенсивность и настройки теней источника света
Направленный источник света
const sun = bitbybit.babylon.scene.drawDirectionalLight({ direction: [-100, -100, -100], intensity: 0.5, diffuse: "#ffffff", specular: "#ffffff", enableShadows: true, shadowGeneratorMapSize: 1024, shadowDarkness: 0, transparencyShadow: false, shadowUsePercentageCloserFiltering: true, shadowContactHardeningLightSizeUVRatio: 0.2, shadowBias: 0.0001, shadowNormalBias: 0.002, shadowMaxZ: 1000, shadowMinZ: 0, shadowRefreshRate: 1 });
Переключает сцену между левосторонней системой координат, которую BabylonJS использует по умолчанию, и правосторонней, соглашением большинства CAD-инструментов и glTF; активная камера обновляется соответственно.
Использовать ли правостороннюю систему координат
Сцена BabylonJS в целом: активная камера и ее ограничения, источники света с тенями, скайбокс и освещение окружения, туман, физика, события указателя, фон холста и очистка всего нарисованного. Сцена содержит каждый меш, источник света и камеру; большинство скриптов обращаются к ней, чтобы один раз настроить освещение и камеру, а затем рисовать в ней.