Membuat lapisan layar penuh tempat kontrol GUI ditambahkan, digambar di atas seluruh kanvas di depan scene jika foreground bernilai true; adaptiveScaling menskalakan lapisan mengikuti kerapatan piksel layar.
Nama, flag latar depan dan flag penskalaan adaptif
Tekstur UI layar penuh
const ui = bitbybit.babylon.gui.advancedDynamicTexture.createFullScreenUI({ name: "ui", foreground: true, adaptiveScaling: false });
const panel = bitbybit.babylon.gui.stackPanel.createStackPanel({ name: "panel", isVertical: true, spacing: 8, width: "300px", height: "400px", color: "#00000000", background: "#00000055" });
ui.addControl(panel);
Membuat tekstur GUI yang dibungkuskan ke sebuah mesh, sehingga kontrol yang ditambahkan padanya tampil di permukaan mesh dalam scene; mesh memerlukan koordinat tekstur, dan bidang datar adalah pilihan yang biasa.
width dan height mengatur ukuran tekstur dalam piksel, supportPointerMove membiarkan kontrol bereaksi terhadap hover, dan onlyAlphaTesting menggambarnya tanpa pencampuran.
Mesh, ukuran tekstur, serta opsi pointer, alpha, pembalikan dan sampling
Tekstur GUI pada mesh
const plane = bitbybit.babylon.meshBuilder.createRectanglePlane({ width: 4, height: 2, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: false });
const ui = bitbybit.babylon.gui.advancedDynamicTexture.createForMesh({ mesh: plane, width: 1024, height: 512, supportPointerMove: true, onlyAlphaTesting: false, invertY: true, sampling: Bit.Inputs.BabylonTexture.samplingModeEnum.trilinear });
Permukaan tempat kontrol GUI digambar: lapisan layar penuh di atas kanvas, atau tekstur yang dibungkus pada mesh sehingga kontrol berada di dalam scene 3D. Setiap kontrol harus ditambahkan ke salah satunya, langsung atau melalui wadah, sebelum tampil.