Bitbybit Docs
    Preparing search index...

    Class BabylonScene

    Scene BabylonJS secara keseluruhan: kamera aktif dan batasnya, cahaya dengan bayangan, skybox dan pencahayaan lingkungan, kabut, fisika, event pointer, latar belakang kanvas dan pembersihan semua yang digambar. Sebuah scene menampung setiap mesh, cahaya dan kamera; sebagian besar skrip menyentuhnya untuk menyiapkan pencahayaan dan kamera sekali lalu menggambar ke dalamnya.

    Index

    Constructors

    background

    • Melukis nilai CSS background-image apa pun di belakang scene, gradien atau gambar, dengan membuat warna clear scene transparan dan menata gaya kanvas.

      Parameters

      Returns { backgroundImage: string }

      Gaya yang diterapkan

      bitbybit.babylon.scene.canvasCSSBackgroundImage({ cssBackgroundImage: "linear-gradient(to top, #1a1c1f 0%, #93aacd 100%)" });
      
    • Melukis gradien lurus antara dua warna di belakang scene, ke arah yang diberikan, dengan titik hentinya sebagai persentase di sepanjangnya.

      Parameters

      Returns { backgroundImage: string }

      Gaya yang diterapkan

      bitbybit.babylon.scene.twoColorLinearGradientBackground({ colorFrom: "#1a1c1f", colorTo: "#93aacd", direction: Bit.Inputs.Base.gradientDirectionEnum.toBottom, stopFrom: 0, stopTo: 100 });
      
    • Melukis gradien bulat antara dua warna di belakang scene, menyebar dari position dalam shape yang diberikan, dengan titik hentinya sebagai persentase dari pusat.

      Parameters

      Returns { backgroundImage: string }

      Gaya yang diterapkan

      bitbybit.babylon.scene.twoColorRadialGradientBackground({ colorFrom: "#1a1c1f", colorTo: "#93aacd", position: Bit.Inputs.Base.gradientPositionEnum.center, stopFrom: 0, stopTo: 100, shape: Bit.Inputs.Base.gradientShapeEnum.circle });
      
    • Melukis gradien lurus melalui beberapa warna di belakang scene, masing-masing pada persentase titik hentinya sendiri; colors dan stops harus sama panjang, atau objek error yang dikembalikan.

      Parameters

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

      Gaya yang diterapkan, atau pesan kesalahan jika panjang daftarnya berbeda

      bitbybit.babylon.scene.multiColorLinearGradientBackground({ colors: ["#1a1c1f", "#4a5a7a", "#93aacd"], stops: [0, 50, 100], direction: Bit.Inputs.Base.gradientDirectionEnum.toTop });
      
    • Melukis gradien bulat melalui beberapa warna di belakang scene, masing-masing pada persentase titik hentinya sendiri; colors dan stops harus sama panjang, atau objek error yang dikembalikan.

      Parameters

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

      Gaya yang diterapkan, atau pesan kesalahan jika panjang daftarnya berbeda

      bitbybit.babylon.scene.multiColorRadialGradientBackground({ colors: ["#1a1c1f", "#93aacd"], stops: [0, 100], position: Bit.Inputs.Base.gradientPositionEnum.center, shape: Bit.Inputs.Base.gradientShapeEnum.circle });
      
    • Menampilkan gambar di belakang scene dengan opsi latar belakang CSS untuk cara pengulangan, penskalaan, penempatan dan pengguliran; warna clear scene menjadi transparan sehingga gambar tampak.

      Parameters

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

      Gaya yang diterapkan

      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 });
      
    • Mengisi latar belakang scene dengan satu warna polos dan menghapus gambar atau gradien latar belakang kanvas apa pun yang disetel sebelumnya.

      Parameters

      Returns void

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

    camera

    • Menjadikan sebuah kamera sebagai kamera yang dipakai scene untuk merender, dengan melepaskan kontrol kamera yang sebelumnya aktif.

      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 });
    • Memberikan kamera yang saat ini dipakai scene untuk merender.

      Returns Camera

      Kamera aktif

    • Menempatkan ulang kamera orbit default, yang bernama Camera, dan menyetel batas-batas serta sensitivitasnya.

      Kamera ditempatkan di position melihat lookAt; batas radius, alpha dan beta membatasi seberapa jauh kamera dapat men-zoom dan mengorbit, sudut dalam derajat, dan sensibilitasnya menyetel seberapa cepat kamera bereaksi, lebih rendah berarti lebih cepat.

      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

    • Menghapus semua yang digambar dari scene: mesh, material, tekstur, cahaya selain cahaya hemisferik default, node transformasi, generator bayangan, kabut dan tekstur lingkungan, dan memulihkan kamera default jika kamera lain sedang aktif.

      Returns void

      bitbybit.babylon.scene.clearAllDrawn();
      
    • Mengelilingi scene dengan salah satu skybox bawaan dan memakainya sebagai pencahayaan lingkungan yang ditangkap material reflektif.

      blur melembutkan langit yang terlihat, environmentIntensity menskalakan seberapa besar langit menerangi scene, dan hideSkybox mempertahankan pencahayaan sambil menyembunyikan langit itu sendiri.

      Parameters

      • inputs: SkyboxDto

        Skybox bawaan, ukurannya, blur, intensitas lingkungan dan visibilitas

      Returns void

      bitbybit.babylon.scene.enableSkybox({ skybox: Bit.Inputs.Base.skyboxEnum.clearSky, size: 1000, blur: 0.1, environmentIntensity: 0.7, hideSkybox: false });
      
    • Mengelilingi scene dengan skybox yang dimuat dari tekstur Anda sendiri dan memakainya sebagai pencahayaan lingkungan.

      textureUrl dapat menunjuk ke file .hdr, file .env atau root dari enam gambar muka kubus; tidak terjadi apa pun tanpanya. hideSkybox mempertahankan pencahayaan sambil menyembunyikan langit itu sendiri.

      Parameters

      • inputs: SkyboxCustomTextureDto

        URL dan ukuran tekstur, ukuran skybox, blur, intensitas lingkungan dan visibilitas

      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 });
      
    • Mengelilingi scene dengan skybox yang dibangun dari tekstur kubus yang Anda muat sendiri dan memakainya sebagai pencahayaan lingkungan.

      texture dapat berasal dari file .hdr atau .env. hideSkybox mempertahankan pencahayaan sambil menyembunyikan langit; enableGroundProjection meratakan langit bagian bawah menjadi tanah tempat model berdiri.

      Parameters

      • inputs: SkyboxFromTextureDto

        Tekstur kubus, ukuran skybox, blur, intensitas lingkungan, visibilitas dan proyeksi tanah

      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 });
    • Memudarkan geometri yang jauh ke dalam suatu warna, seperti kabut tipis.

      linear memudar dari start sampai end dalam satuan scene; exponential dan exponentialSquared memudar menurut density, mengabaikan jarak; none mematikan kabut.

      Parameters

      • inputs: FogDto

        Mode kabut, warna, kepadatan serta jarak awal dan akhir

      Returns void

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

    lights

    • Menambahkan cahaya titik ke scene, seperti drawPointLight, tanpa mengembalikannya; untuk skrip yang hanya perlu cahaya itu ada.

      Parameters

      • inputs: PointLightDto

        Posisi, warna, intensitas, jari-jari bohlam dan pengaturan bayangan cahaya

      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 });
      
    • Mencantumkan generator bayangan dari cahaya-cahaya yang dibuat melalui pustaka ini, satu per cahaya dengan bayangan aktif; mesh yang digambar didaftarkan padanya sebagai pemancar bayangan.

      Returns ShadowGenerator[]

      Generator bayangan, atau daftar kosong

    • Menambahkan cahaya yang bersinar ke segala arah dari sebuah titik, seperti bohlam, dengan bola kecil bercahaya opsional di posisinya.

      Dengan enableShadows bernilai true, generator bayangan dibuat dan setiap mesh yang sudah ada di scene memancarkan dan menerima bayangan; intensity adalah daya cahaya, jadi nilai dalam ribuan adalah hal yang normal.

      Parameters

      • inputs: PointLightDto

        Posisi, warna, intensitas, jari-jari bohlam dan pengaturan bayangan cahaya

      Returns PointLight

      Cahaya titik

      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 });
      
    • Menambahkan cahaya terarah ke scene, seperti drawDirectionalLight, tanpa mengembalikannya; untuk skrip yang hanya perlu cahaya itu ada.

      Parameters

      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 });
      
    • Menambahkan cahaya yang bersinar dengan cara yang sama di mana-mana, seperti matahari, sepanjang direction.

      Dengan enableShadows bernilai true, generator bayangan dibuat dan setiap mesh yang sudah ada di scene memancarkan dan menerima bayangan; intensity adalah faktor polos di mana 1 berarti kekuatan penuh.

      Parameters

      Returns DirectionalLight

      Cahaya terarah

      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

    • Mengalihkan scene antara sistem koordinat tangan kiri yang dipakai BabylonJS secara default dan sistem tangan kanan, konvensi sebagian besar alat CAD dan glTF; kamera aktif disegarkan agar sesuai.

      Parameters

      Returns void

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