Contêineres de UI no jogo contêm GuiObjects que você deseja exibir dentro do mundo 3D do seu jogo.
- Um SurfaceGui permite a renderização de objetos de UI na superfície de uma parte no mundo 3D, permitindo também que a interação básica do usuário ocorra.
- Um BillboardGui é um contêiner para objetos de UI que aparecem no espaço 3D, mas sempre voltados para a câmera.
UI de Superfície
Semelhante a Decals e Textures, objetos de UI como TextLabels e ImageLabels parentados a um SurfaceGui ficam voltados na mesma direção que a superfície em que estão, editável através da propriedade SurfaceGui.Face.

Para aplicar um SurfaceGui a uma BasePart no jogo, basta parentá-lo a essa parte e definir a propriedade SurfaceGui.Face. Objetos de UI filhos então aparecem nessa face da parte pai.


Alternativamente, você pode colocar o SurfaceGui dentro de um contêiner como StarterGui e então definir sua propriedade Adornee para qualquer BasePart, assim como a Face alvo. Definir Adornee substitui a associação direta de pai, permitindo mais flexibilidade na colocação, já que pode ser definido a partir de um script durante a execução.


Tamanho e posição
A "tela" de um SurfaceGui ocupa toda a Face da parte pai ou da parte Adornee. Como uma boa prática, é recomendado que você use valores de escala para o tamanho e posição de objetos de UI filhos como ImageLabels. Você também pode aplicar um UIAspectRatioConstraint aos filhos do SurfaceGui para manter sua proporção desejada independentemente do tamanho da face.
Modo de oclusão
A propriedade AlwaysOnTop determina se o SurfaceGui será renderizado sobre o conteúdo 3D ou será ocluído por ele. Quando definido como false (padrão), o SurfaceGui é renderizado como outro conteúdo 3D e é ocluído por outros objetos 3D. Quando definido como true, ele sempre é renderizado sobre o conteúdo 3D e não é influenciado por brilho/luz no ambiente 3D.
Influência de brilho e luz
Brightness e LightInfluence trabalham em conjunto para determinar como a luz ambiental afeta o conteúdo de UI do SurfaceGui.
Brightness determina o fator pelo qual a luz emitida é escalada em uma faixa de 0 a 1000, permitindo que você ajuste o SurfaceGui ao seu ambiente. Por exemplo, um outdoor de vídeo pode ser iluminado dentro de uma sala escura aumentando Brightness para 10.
LightInfluence controla quanto o SurfaceGui é influenciado pela iluminação no lugar, em uma faixa de 0 a 1. Definir isso como 1 significa que a iluminação ao redor tem controle total sobre a aparência, enquanto definir como 0 significa que a iluminação não tem efeito.

Visibilidade de distância
MaxDistance controla quão longe da câmera o SurfaceGui será exibido antes de parar de renderizar. Um valor de 0 significa que não há limite e ele será renderizado infinitamente longe. O valor padrão de 1000 funciona bem para a maioria dos casos.
Para SurfaceGuis que aparecem ao ar livre, é recomendado que MaxDistance seja alto o suficiente para garantir que a UI do contêiner seja suficientemente pequena na tela quando aparece ou desaparece, minimizando o efeito de pop‑in/out repentino.
Ordem de exibição
Se múltiplos contêineres SurfaceGui existirem na mesma face, você pode empilhá-los pelo índice Z através da propriedade ZOffset (alterar isso não "levanta" ou "afunda" visualmente o contêiner da superfície).
UI de Billboard
O contêiner BillboardGui exibe objetos de UI no espaço 3D, mas, ao contrário do SurfaceGui, os filhos de um BillboardGui sempre ficam voltados para a câmera. Este contêiner é útil para exibir informações voltadas para a frente acima de objetos no jogo, como medidores de saúde ou nomes acima de personagens jogadores, marcadores para guiar jogadores a um objeto no mundo 3D, e mais.

Para vincular um BillboardGui a uma BasePart ou Attachment no jogo, basta parentá-lo a essa parte ou anexo e, se desejado, ajustar seu tamanho/posição.


Alternativamente, você pode colocar o BillboardGui dentro de um contêiner como StarterGui e então definir sua propriedade Adornee para qualquer BasePart ou Attachment. Este método oferece mais flexibilidade na colocação, já que Adornee pode ser definido a partir de um script durante a execução, por exemplo, para colocar um BillboardGui sobre a cabeça de personagens jogadores durante a execução.
Tamanho e posição
Para o dimensionamento do billboard, os componentes de escala da propriedade Size definem o tamanho do billboard em studs no espaço 3D. Por exemplo, uma configuração de {10, 0},{2, 0} (UDim2.fromScale(10, 2)) forma um billboard com uma proporção de 10:2 que escala maior ou menor dependendo da distância da câmera.
Para posicionamento, a propriedade StudsOffset desloca a tela do billboard no eixo X (esquerda/direita), eixo Y (cima/baixo) e eixo Z (frente/trás) em relação à câmera.
Modo de oclusão
A propriedade AlwaysOnTop determina se o BillboardGui será renderizado sobre o conteúdo 3D ou será ocluído por ele. Quando definido como false (padrão), o BillboardGui é renderizado como outro conteúdo 3D e é ocluído por outros objetos 3D. Quando definido como true, ele sempre é renderizado sobre o conteúdo 3D e não é influenciado por brilho/luz no ambiente 3D.
Influência de brilho e luz
Brightness e LightInfluence trabalham em conjunto para determinar como a luz ambiental afeta o conteúdo de UI do BillboardGui.
Brightness determina o fator pelo qual a luz emitida é escalada em uma faixa de 0 a 1000, permitindo que você ajuste o BillboardGui ao seu ambiente. Por exemplo, um outdoor de vídeo pode ser iluminado dentro de uma sala escura aumentando Brightness para 10.
LightInfluence controla quanto o BillboardGui é influenciado pela iluminação no lugar, em uma faixa de 0 a 1. Definir isso como 1 significa que a iluminação ao redor tem controle total sobre a aparência, enquanto definir como 0 significa que a iluminação não tem efeito.

Visibilidade de distância
MaxDistance controla quão longe da câmera o BillboardGui será exibido antes de parar de renderizar. Um valor de 0 ou inf (padrão) significa que não há limite e ele será renderizado infinitamente longe.