Bitbybit Docs
    Preparing search index...

    Class BabylonScene

    La escena de BabylonJS en su conjunto: la cámara activa y sus límites, las luces con sombras, el skybox y la iluminación de entorno, la niebla, la física, los eventos del puntero, el fondo del lienzo y el borrado de todo lo dibujado. Una escena contiene todas las mallas, luces y cámaras; la mayoría de los scripts la tocan para configurar la iluminación y la cámara una vez y después dibujar en ella.

    Index

    Constructors

    background

    • Pinta cualquier valor CSS de background-image detrás de la escena, un degradado o una imagen, haciendo transparente el color de borrado de la escena y aplicando estilo al lienzo.

      Parameters

      Returns { backgroundImage: string }

      El estilo que se aplicó

      bitbybit.babylon.scene.canvasCSSBackgroundImage({ cssBackgroundImage: "linear-gradient(to top, #1a1c1f 0%, #93aacd 100%)" });
      
    • Pinta un degradado recto entre dos colores detrás de la escena, en la dirección dada, con las paradas como porcentajes a lo largo de él.

      Parameters

      Returns { backgroundImage: string }

      El estilo que se aplicó

      bitbybit.babylon.scene.twoColorLinearGradientBackground({ colorFrom: "#1a1c1f", colorTo: "#93aacd", direction: Bit.Inputs.Base.gradientDirectionEnum.toBottom, stopFrom: 0, stopTo: 100 });
      
    • Pinta un degradado redondo entre dos colores detrás de la escena, extendiéndose desde position con la shape dada, con las paradas como porcentajes desde el centro.

      Parameters

      Returns { backgroundImage: string }

      El estilo que se aplicó

      bitbybit.babylon.scene.twoColorRadialGradientBackground({ colorFrom: "#1a1c1f", colorTo: "#93aacd", position: Bit.Inputs.Base.gradientPositionEnum.center, stopFrom: 0, stopTo: 100, shape: Bit.Inputs.Base.gradientShapeEnum.circle });
      
    • Pinta un degradado recto a través de varios colores detrás de la escena, cada uno en su propio porcentaje de parada; colors y stops deben tener la misma longitud, o en su lugar vuelve un objeto de error.

      Parameters

      Returns { backgroundImage: string } | { error: string }

      El estilo que se aplicó, o un mensaje de error cuando las listas difieren en longitud

      bitbybit.babylon.scene.multiColorLinearGradientBackground({ colors: ["#1a1c1f", "#4a5a7a", "#93aacd"], stops: [0, 50, 100], direction: Bit.Inputs.Base.gradientDirectionEnum.toTop });
      
    • Pinta un degradado redondo a través de varios colores detrás de la escena, cada uno en su propio porcentaje de parada; colors y stops deben tener la misma longitud, o en su lugar vuelve un objeto de error.

      Parameters

      Returns { backgroundImage: string } | { error: string }

      El estilo que se aplicó, o un mensaje de error cuando las listas difieren en longitud

      bitbybit.babylon.scene.multiColorRadialGradientBackground({ colors: ["#1a1c1f", "#93aacd"], stops: [0, 100], position: Bit.Inputs.Base.gradientPositionEnum.center, shape: Bit.Inputs.Base.gradientShapeEnum.circle });
      
    • Muestra una imagen detrás de la escena con las opciones de fondo CSS para cómo se repite, se escala, se sitúa y se desplaza; el color de borrado de la escena se vuelve transparente para que la imagen se vea.

      Parameters

      Returns {
          backgroundImage: string;
          backgroundRepeat: string;
          backgroundSize: string;
          backgroundPosition: string;
          backgroundAttachment: string;
          backgroundOrigin: string;
          backgroundClip: string;
      }

      El estilo que se aplicó

      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 });
      
    • Rellena el fondo de la escena con un color liso y elimina cualquier imagen o degradado de fondo del lienzo establecido antes.

      Parameters

      Returns void

      bitbybit.babylon.scene.backgroundColour({ colour: "#1a1c1f" });
      

    camera

    • Hace que una cámara sea aquella a través de la cual renderiza la escena, desvinculando los controles de la cámara que estaba activa antes.

      Parameters

      Returns void

      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 });
    • Da la cámara a través de la cual renderiza la escena actualmente.

      Returns Camera

      La cámara activa

    • Recoloca la cámara orbital predeterminada, la llamada Camera, y establece sus límites y sensibilidades.

      La cámara se coloca en position mirando a lookAt; los límites de radio, alfa y beta acotan cuánto puede acercarse y orbitar, ángulos en grados, y las sensibilidades establecen a qué velocidad reacciona, siendo más baja más rápida.

      Parameters

      Returns void

      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 });
      

    environment

    • Elimina todo lo dibujado de la escena: mallas, materiales, texturas, luces distintas de la hemisférica predeterminada, nodos de transformación, generadores de sombras, niebla y la textura de entorno, y restaura la cámara predeterminada cuando otra estaba activa.

      Returns void

      bitbybit.babylon.scene.clearAllDrawn();
      
    • Rodea la escena con uno de los skyboxes integrados y lo usa como la iluminación de entorno que recogen los materiales reflectantes.

      blur suaviza el cielo visible, environmentIntensity escala cuánto ilumina la escena, y hideSkybox conserva la iluminación mientras oculta el cielo en sí.

      Parameters

      • inputs: SkyboxDto

        El skybox integrado, su tamaño, desenfoque, intensidad de entorno y visibilidad

      Returns void

      bitbybit.babylon.scene.enableSkybox({ skybox: Bit.Inputs.Base.skyboxEnum.clearSky, size: 1000, blur: 0.1, environmentIntensity: 0.7, hideSkybox: false });
      
    • Rodea la escena con un skybox cargado desde tu propia textura y lo usa como la iluminación de entorno.

      textureUrl puede apuntar a un archivo .hdr, un archivo .env o la raíz de seis imágenes de caras de cubo; sin ella no ocurre nada. hideSkybox conserva la iluminación mientras oculta el cielo en sí.

      Parameters

      • inputs: SkyboxCustomTextureDto

        La URL y el tamaño de la textura, el tamaño del skybox, el desenfoque, la intensidad de entorno y la visibilidad

      Returns void

      bitbybit.babylon.scene.enableSkyboxCustomTexture({ textureUrl: "https://example.com/env/studio.env", textureSize: 512, size: 1000, blur: 0.1, environmentIntensity: 0.7, hideSkybox: true });
      
    • Rodea la escena con un skybox construido a partir de una textura de cubo que cargaste tú mismo y lo usa como la iluminación de entorno.

      texture puede provenir de un archivo .hdr o .env. hideSkybox conserva la iluminación mientras oculta el cielo; enableGroundProjection aplana la parte inferior del cielo en un suelo sobre el que se apoya el modelo.

      Parameters

      • inputs: SkyboxFromTextureDto

        La textura de cubo, el tamaño del skybox, el desenfoque, la intensidad de entorno, la visibilidad y la proyección de suelo

      Returns void

      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 });
    • Funde la geometría lejana en un color, como hace la bruma.

      linear se funde de start a end en unidades de escena; exponential y exponentialSquared se funden según density en su lugar, ignorando las distancias; none desactiva la niebla.

      Parameters

      • inputs: FogDto

        El modo, el color y la densidad de la niebla y las distancias de inicio y fin

      Returns void

      bitbybit.babylon.scene.fog({ mode: Bit.Inputs.Base.fogModeEnum.linear, color: "#ffffff", density: 0.1, start: 50, end: 300 });
      

    lights

    • Añade una luz puntual a la escena, como hace drawPointLight, sin devolverla; para scripts que solo necesitan que la luz exista.

      Parameters

      • inputs: PointLightDto

        La posición, los colores, la intensidad, el radio de la bombilla y los ajustes de sombra de la luz

      Returns void

      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 });
      
    • Lista los generadores de sombras de las luces creadas mediante esta biblioteca, uno por luz con sombras activadas; las mallas dibujadas se registran en ellos como proyectoras.

      Returns ShadowGenerator[]

      Los generadores de sombras, o una lista vacía

    • Añade una luz que brilla en todas las direcciones desde un punto, como una bombilla, con una pequeña esfera brillante opcional en su posición.

      Con enableShadows en true se crea un generador de sombras y cada malla que ya está en la escena proyecta y recibe sombras; intensity es potencia luminosa, así que valores de miles son normales.

      Parameters

      • inputs: PointLightDto

        La posición, los colores, la intensidad, el radio de la bombilla y los ajustes de sombra de la luz

      Returns PointLight

      La luz puntual

      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 });
      
    • Añade una luz direccional a la escena, como hace drawDirectionalLight, sin devolverla; para scripts que solo necesitan que la luz exista.

      Parameters

      • inputs: DirectionalLightDto

        La dirección, los colores, la intensidad y los ajustes de sombra de la luz

      Returns void

      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 });
      
    • Añade una luz que brilla igual en todas partes, como el sol, a lo largo de direction.

      Con enableShadows en true se crea un generador de sombras y cada malla que ya está en la escena proyecta y recibe sombras; intensity es un factor simple donde 1 es la fuerza máxima.

      Parameters

      • inputs: DirectionalLightDto

        La dirección, los colores, la intensidad y los ajustes de sombra de la luz

      Returns DirectionalLight

      La luz direccional

      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 });
      

    system

    • Cambia la escena entre el sistema de coordenadas de mano izquierda que BabylonJS usa de forma predeterminada y uno de mano derecha, la convención de la mayoría de herramientas CAD y de glTF; la cámara activa se refresca para ajustarse.

      Parameters

      Returns void

      bitbybit.babylon.scene.useRightHandedSystem({ use: true });