Los contenedores de UI dentro de la experiencia contienen GuiObjects que deseas mostrar dentro del mundo 3D de tu experiencia.
- Un SurfaceGui permite la representación de objetos UI en la superficie de una parte en el mundo 3D mientras también permite que ocurra una interacción básica del usuario.
- Un BillboardGui es un contenedor para que los objetos UI aparezcan en el espacio 3D pero siempre enfrenten a la cámara.
UI en la Superficie
Similar a Decals y Textures, los objetos UI como TextLabels y ImageLabels parentados a un SurfaceGui enfrentan la misma dirección que la superficie en la que se encuentran, editable a través de la propiedad SurfaceGui.Face.

Para aplicar un SurfaceGui a una BasePart en la experiencia, simplemente colócalo como hijo de esa parte y ajusta la propiedad SurfaceGui.Face. Los objetos UI hijos aparecerán entonces en esa cara de la parte padre.


Alternativamente, puedes colocar el SurfaceGui dentro de un contenedor como StarterGui y luego ajustar su propiedad Adornee a cualquier BasePart, así como la cara de destino Face. Ajustar Adornee reemplaza la asociación directa con el padre, permitiendo más flexibilidad en la colocación, ya que puede ser ajustado desde un script durante el tiempo de ejecución.


Tamaño y posición
El "lienzo" de un SurfaceGui ocupa toda la Face de la parte padre o Adornee. Como mejor práctica, se recomienda usar valores de escala para el tamaño y posición de objetos UI hijos como ImageLabels. También puedes aplicar un UIAspectRatioConstraint a los hijos del SurfaceGui para mantener su relación de aspecto deseada independientemente del tamaño de la cara.
Modo de oclusión
La propiedad AlwaysOnTop determina si el SurfaceGui se renderizará sobre el contenido 3D o será ocluido por él. Cuando se establece en false (predeterminado), el SurfaceGui se renderiza como otro contenido 3D y es ocluido por otros objetos 3D. Cuando se establece en true, siempre se renderiza sobre el contenido 3D y no se ve influenciado por brillo/luz en el entorno 3D.
Brillo e influencia de la luz
Brightness y LightInfluence trabajan en conjunto para determinar cómo la luz ambiental afecta el contenido UI del SurfaceGui.
Brightness determina el factor por el cual se escala la luz emitida en un rango de 0 a 1000, permitiéndote ajustar el SurfaceGui a su entorno. Por ejemplo, un cartel de video puede ser iluminado dentro de una sala oscura aumentando el Brightness a 10.
LightInfluence controla cuánto es influenciado el SurfaceGui por la iluminación en el lugar, en un rango de 0 a 1. Establecer esto en 1 significa que la iluminación circundante tiene control total sobre la apariencia, mientras que establecerlo en 0 significa que la iluminación no tiene efecto.

Visibilidad de distancia
MaxDistance controla qué tan lejos de la cámara se mostrará el SurfaceGui antes de que deje de renderizarse. Un valor de 0 significa que no hay límite y se renderizará infinitamente lejos. El valor predeterminado de 1000 funciona bien para la mayoría de los casos.
Para SurfaceGuis que aparecen al aire libre, se recomienda que MaxDistance sea lo suficientemente alto para garantizar que la UI del contenedor sea lo suficientemente pequeña en la pantalla cuando aparece o desaparece, minimizando el efecto repentino de aparición/desaparición.
Orden de visualización
Si existen múltiples contenedores SurfaceGui en la misma cara, puedes apilarlos por índice Z a través de su propiedad ZOffset (cambiar esto no "levanta" visualmente ni "hundirá" el contenedor de la superficie).
UI de Cartelera
El contenedor BillboardGui muestra objetos UI en el espacio 3D, pero, a diferencia de SurfaceGui, los hijos de un BillboardGui siempre enfrentan a la cámara. Este contenedor es útil para mostrar información orientada hacia el frente sobre objetos en la experiencia, como medidores de salud o nombres sobre personajes jugadores, marcadores para guiar a los jugadores hacia un objeto en el mundo 3D, y más.

Para vincular un BillboardGui a una BasePart o Attachment en la experiencia, simplemente colócalo como hijo de esa parte o adjunto y, si lo deseas, ajusta su tamaño/posición.


Alternativamente, puedes colocar el BillboardGui dentro de un contenedor como StarterGui y luego ajustar su propiedad Adornee a cualquier BasePart o Attachment. Este método ofrece más flexibilidad en la colocación ya que Adornee puede ser ajustado desde un script durante el tiempo de ejecución, por ejemplo, para colocar un BillboardGui sobre la cabeza de los personajes jugadores durante el tiempo de ejecución.
Tamaño y posición
Para el tamaño de la cartelera, los componentes de escala de la propiedad Size establecen el tamaño en studs de la cartelera en el espacio 3D. Por ejemplo, un ajuste de {10, 0},{2, 0} (UDim2.fromScale(10, 2)) forma una cartelera con una relación de aspecto de 10:2 que escala más grande o más pequeña dependiendo de su distancia a la cámara.
Para la posición, la propiedad StudsOffset desplaza el lienzo de la cartelera en el eje X (izquierda/derecha), eje Y (arriba/abajo) y eje Z (adelante/atrás) en relación con la cámara.
Modo de oclusión
La propiedad AlwaysOnTop determina si el BillboardGui se renderizará sobre el contenido 3D o será ocluido por él. Cuando se establece en false (predeterminado), el BillboardGui se renderiza como otro contenido 3D y es ocluido por otros objetos 3D. Cuando se establece en true, siempre se renderiza sobre el contenido 3D y no se ve influenciado por brillo/luz en el entorno 3D.
Brillo e influencia de la luz
Brightness y LightInfluence trabajan en conjunto para determinar cómo la luz ambiental afecta el contenido UI del BillboardGui.
Brightness determina el factor por el cual se escala la luz emitida en un rango de 0 a 1000, permitiéndote ajustar el BillboardGui a su entorno. Por ejemplo, un cartel de video puede ser iluminado dentro de una sala oscura aumentando el Brightness a 10.
LightInfluence controla cuánto es influenciado el BillboardGui por la iluminación en el lugar, en un rango de 0 a 1. Establecer esto en 1 significa que la iluminación circundante tiene control total sobre la apariencia, mientras que establecerlo en 0 significa que la iluminación no tiene efecto.

Visibilidad de distancia
MaxDistance controla qué tan lejos de la cámara se mostrará el BillboardGui antes de que deje de renderizarse. Un valor de 0 o inf (predeterminado) significa que no hay límite y se renderizará infinitamente lejos.