Bitbybit Docs
    Preparing search index...

    Class BabylonScene

    A cena BabylonJS como um todo: a câmara ativa e os seus limites, luzes com sombras, o skybox e a iluminação de ambiente, o nevoeiro, a física, os eventos de ponteiro, o fundo do canvas e a limpeza de tudo o que foi desenhado. Uma cena contém todas as malhas, luzes e câmaras; a maioria dos scripts toca-lhe para configurar a iluminação e a câmara uma vez e depois desenhar nela.

    Index

    Constructors

    background

    • Pinta qualquer valor de background-image CSS atrás da cena, um gradiente ou uma imagem, tornando a cor de limpeza da cena transparente e estilizando a tela de desenho.

      Parameters

      Returns { backgroundImage: string }

      O estilo que foi aplicado

      bitbybit.babylon.scene.canvasCSSBackgroundImage({ cssBackgroundImage: "linear-gradient(to top, #1a1c1f 0%, #93aacd 100%)" });
      
    • Pinta um gradiente reto entre duas cores atrás da cena, na direção dada, com as paragens como percentagens ao longo dele.

      Parameters

      Returns { backgroundImage: string }

      O estilo que foi aplicado

      bitbybit.babylon.scene.twoColorLinearGradientBackground({ colorFrom: "#1a1c1f", colorTo: "#93aacd", direction: Bit.Inputs.Base.gradientDirectionEnum.toBottom, stopFrom: 0, stopTo: 100 });
      
    • Pinta um gradiente redondo entre duas cores atrás da cena, a espalhar-se a partir de position na shape dada, com as paragens como percentagens a partir do centro.

      Parameters

      Returns { backgroundImage: string }

      O estilo que foi aplicado

      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 um gradiente reto através de várias cores atrás da cena, cada uma na sua própria percentagem de paragem; colors e stops têm de ter o mesmo comprimento, ou volta um objeto de erro em vez disso.

      Parameters

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

      O estilo que foi aplicado, ou uma mensagem de erro quando as listas diferem em comprimento

      bitbybit.babylon.scene.multiColorLinearGradientBackground({ colors: ["#1a1c1f", "#4a5a7a", "#93aacd"], stops: [0, 50, 100], direction: Bit.Inputs.Base.gradientDirectionEnum.toTop });
      
    • Pinta um gradiente redondo através de várias cores atrás da cena, cada uma na sua própria percentagem de paragem; colors e stops têm de ter o mesmo comprimento, ou volta um objeto de erro em vez disso.

      Parameters

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

      O estilo que foi aplicado, ou uma mensagem de erro quando as listas diferem em comprimento

      bitbybit.babylon.scene.multiColorRadialGradientBackground({ colors: ["#1a1c1f", "#93aacd"], stops: [0, 100], position: Bit.Inputs.Base.gradientPositionEnum.center, shape: Bit.Inputs.Base.gradientShapeEnum.circle });
      
    • Mostra uma imagem atrás da cena com as opções de fundo CSS para como se repete, escala, posiciona e desloca; a cor de limpeza da cena torna-se transparente para que a imagem se veja.

      Parameters

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

      O estilo que foi aplicado

      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 });
      
    • Preenche o fundo da cena com uma só cor lisa e remove qualquer imagem ou gradiente de fundo da tela de desenho definido antes.

      Parameters

      Returns void

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

    camera

    • Torna uma câmara aquela através da qual a cena é renderizada, desligando os controlos da câmara que estava ativa 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 });
    • Dá a câmara através da qual a cena é atualmente renderizada.

      Returns Camera

      A câmara ativa

    • Reposiciona a câmara orbital predefinida, a que se chama Camera, e define os seus limites e sensibilidades.

      A câmara é colocada em position a olhar para lookAt; os limites de raio, alfa e beta delimitam até onde pode aproximar e orbitar, ângulos em graus, e as sensibilidades definem quão depressa reage, mais baixo sendo mais rápido.

      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

    • Remove tudo o que foi desenhado da cena: malhas, materiais, texturas, luzes além da hemisférica predefinida, nós de transformação, geradores de sombras, nevoeiro e a textura de ambiente, e restaura a câmara predefinida quando outra estava ativa.

      Returns void

      bitbybit.babylon.scene.clearAllDrawn();
      
    • Envolve a cena com um dos skyboxes incorporados e usa-o como a iluminação de ambiente que os materiais refletores captam.

      blur suaviza o céu visível, environmentIntensity escala quanto ele ilumina a cena, e hideSkybox mantém a iluminação enquanto oculta o próprio céu.

      Parameters

      • inputs: SkyboxDto

        O skybox integrado, o seu tamanho, desfoque, intensidade de ambiente e visibilidade

      Returns void

      bitbybit.babylon.scene.enableSkybox({ skybox: Bit.Inputs.Base.skyboxEnum.clearSky, size: 1000, blur: 0.1, environmentIntensity: 0.7, hideSkybox: false });
      
    • Envolve a cena com um skybox carregado a partir da sua própria textura e usa-o como a iluminação de ambiente.

      textureUrl pode apontar para um ficheiro .hdr, um ficheiro .env ou a raiz de seis imagens de faces de cubo; nada acontece sem ele. hideSkybox mantém a iluminação enquanto oculta o próprio céu.

      Parameters

      • inputs: SkyboxCustomTextureDto

        O URL e o tamanho da textura, o tamanho do skybox, o desfoque, a intensidade de ambiente e a visibilidade

      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 });
      
    • Envolve a cena com um skybox construído a partir de uma textura de cubo carregada por si e usa-o como a iluminação de ambiente.

      texture pode vir de um ficheiro .hdr ou .env. hideSkybox mantém a iluminação enquanto oculta o céu; enableGroundProjection achata o céu inferior num chão sobre o qual o modelo assenta.

      Parameters

      • inputs: SkyboxFromTextureDto

        A textura de cubo, o tamanho do skybox, o desfoque, a intensidade de ambiente, a visibilidade e a projeção do chão

      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 });
    • Desvanece a geometria distante numa cor, como a neblina faz.

      linear desvanece de start a end em unidades de cena; exponential e exponentialSquared desvanecem por density, ignorando as distâncias; none desliga o nevoeiro.

      Parameters

      • inputs: FogDto

        O modo, a cor, a densidade do nevoeiro e as distâncias de início e fim

      Returns void

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

    lights

    • Adiciona uma luz pontual à cena, tal como drawPointLight faz, sem a devolver; para scripts que só precisam que a luz exista.

      Parameters

      • inputs: PointLightDto

        A posição, as cores, a intensidade, o raio da lâmpada e as definições de sombra da 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 os geradores de sombras das luzes criadas através desta biblioteca, um por luz com sombras ativas; as malhas desenhadas são registadas neles como projetoras.

      Returns ShadowGenerator[]

      Os geradores de sombra, ou uma lista vazia

    • Adiciona uma luz que brilha em todas as direções a partir de um ponto, como uma lâmpada, com uma pequena esfera luminosa opcional na sua posição.

      Com enableShadows verdadeiro é criado um gerador de sombras e todas as malhas já na cena projetam e recebem sombras; intensity é potência luminosa, por isso valores na casa dos milhares são normais.

      Parameters

      • inputs: PointLightDto

        A posição, as cores, a intensidade, o raio da lâmpada e as definições de sombra da luz

      Returns PointLight

      A luz pontual

      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 });
      
    • Adiciona uma luz direcional à cena, tal como drawDirectionalLight faz, sem a devolver; para scripts que só precisam que a luz exista.

      Parameters

      • inputs: DirectionalLightDto

        A direção, as cores, a intensidade e as definições de sombra da 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 });
      
    • Adiciona uma luz que brilha da mesma maneira em todo o lado, como o sol, ao longo de direction.

      Com enableShadows verdadeiro é criado um gerador de sombras e todas as malhas já na cena projetam e recebem sombras; intensity é um simples fator em que 1 é a força total.

      Parameters

      • inputs: DirectionalLightDto

        A direção, as cores, a intensidade e as definições de sombra da luz

      Returns DirectionalLight

      A luz direcional

      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

    • Alterna a cena entre o sistema de coordenadas esquerdo que o BabylonJS usa por predefinição e um destro, a convenção da maioria das ferramentas CAD e do glTF; a câmara ativa é atualizada para corresponder.

      Parameters

      Returns void

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