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

Para aplicar un SurfaceGui a un BasePart en el juego, simplemente parentéalo a esa parte y establece la propiedad SurfaceGui.Face. Los objetos de UI hijos aparecerán en esa cara de la parte padre.


Alternativamente, puedes colocar el SurfaceGui dentro de un contenedor como StarterGui y luego establecer su propiedad Adornee a cualquier BasePart, así como la cara objetivo Face. Establecer Adornee anula la asociación directa de padre, permitiendo más flexibilidad en la colocación, ya que se puede establecer 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 de la parte Adornee. Como mejor práctica, se recomienda que uses valores de escala para el tamaño y posición de los objetos de 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.
Influencia de brillo y luz
Brightness y LightInfluence trabajan en conjunto para determinar cómo la luz ambiental afecta el contenido de 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 habitación oscura aumentando Brightness a 10.
LightInfluence controla cuánto se ve 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 a 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 asegurar que la UI del contenedor sea lo suficientemente pequeña en la pantalla cuando aparece o desaparece, minimizando el efecto de aparición/desaparición repentina.
Orden de visualización
Si existen múltiples contenedores SurfaceGui en la misma cara, puedes superponerlos mediante el índice Z a través de su propiedad ZOffset (cambiar esto no "eleva" o "hundirá" visualmente el contenedor de la superficie).
UI de Billboard
El contenedor BillboardGui muestra objetos de UI en el espacio 3D, pero, a diferencia de SurfaceGui, los hijos de un BillboardGui siempre miran hacia la cámara. Este contenedor es útil para mostrar información frontal sobre objetos en el juego, como medidores de salud o nombres sobre personajes de jugadores, marcadores para guiar a los jugadores hacia un objeto en el mundo 3D, y más.

Para vincular un BillboardGui a un BasePart o Attachment en el juego, simplemente parentéalo a 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 establecer su propiedad Adornee a cualquier BasePart o Attachment. Este método ofrece más flexibilidad en la colocación, ya que Adornee se puede establecer desde un script durante el tiempo de ejecución, por ejemplo, para colocar un BillboardGui sobre la cabeza de los personajes de los jugadores durante el tiempo de ejecución.
Tamaño y posición
Para el tamaño del cartel, los componentes de escala de la propiedad Size establecen el tamaño del cartel en el espacio 3D. Por ejemplo, una configuración de {10, 0},{2, 0} (UDim2.fromScale(10, 2)) forma un cartel con una relación de aspecto de 10:2 que se escala más grande o más pequeño dependiendo de su distancia de la cámara.
Para la posición, la propiedad StudsOffset desplaza el lienzo del cartel 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.
Influencia de brillo y luz
Brightness y LightInfluence trabajan en conjunto para determinar cómo la luz ambiental afecta el contenido de 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 habitación oscura aumentando Brightness a 10.
LightInfluence controla cuánto se ve 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 a 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.