Crea la capa a pantalla completa a la que se añaden los controles de GUI, dibujada sobre todo el lienzo por
delante de la escena cuando foreground es true; adaptiveScaling escala la capa con la
densidad de píxeles de la pantalla.
El nombre, el indicador de primer plano y el indicador de escalado adaptativo
La textura de interfaz a pantalla completa
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);
Crea una textura de GUI envuelta sobre una malla, de modo que los controles añadidos a ella aparecen en la superficie de la malla en la escena; la malla necesita coordenadas de textura, siendo un plano la elección habitual.
width y height dimensionan la textura en píxeles, supportPointerMove permite que los controles reaccionen al
paso del puntero, y onlyAlphaTesting la dibuja sin mezcla.
La malla, el tamaño de la textura y las opciones de puntero, alfa, volteo y muestreo
La textura de interfaz sobre la malla
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 });
La superficie sobre la que se dibujan los controles de la interfaz: una capa a pantalla completa sobre el lienzo, o una textura envuelta sobre una malla para que los controles se sitúen en la escena 3D. Cada control tiene que añadirse a una de estas, directamente o a través de un contenedor, antes de mostrarse.