Contêineres de UI em experiência armazenam GuiObjects que você deseja exibir dentro do mundo 3D da sua experiência.
- Um SurfaceGui permite a renderização de objetos de UI na superfície de uma parte no mundo 3D, permitindo também a interação básica do usuário.
- 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 que são parentados a um SurfaceGui enfrentam a mesma direção da superfície em que estão, editável por meio da propriedade SurfaceGui.Face.

Para aplicar um SurfaceGui a um BasePart dentro da experiência, basta parentá-lo a essa parte e definir a propriedade SurfaceGui.Face. Objetos de UI filhos aparecem então na 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 propriedade alvo Face. Definir Adornee substitui a associação direta de parentesco, permitindo maior flexibilidade na colocação, já que pode ser definida 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 Adornee. Como melhor prática, recomenda-se que você use valores de escala para o tamanho e posição dos objetos de UI filhos como ImageLabels. Você também pode aplicar um UIAspectRatioConstraint aos filhos do SurfaceGui para manter a proporção desejada independente do tamanho da face.
Modo de oclusão
A propriedade AlwaysOnTop determina se o SurfaceGui será renderizado acima do conteúdo 3D ou será ocluído por ele. Quando definido como false (padrão), o SurfaceGui renderiza como outro conteúdo 3D e é ocluído por outros objetos 3D. Quando definido como true, ele sempre renderiza sobre o conteúdo 3D e não é influenciado pela iluminação/luz no ambiente 3D.
Influência da luminosidade e da luz
Brightness e LightInfluence funcionam 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 clareado dentro de uma sala escura aumentando Brightness para 10.
LightInfluence controla quanto o SurfaceGui é influenciado pela iluminação do 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 deixar de renderizar. Um valor de 0 significa que não há limite e renderizará infinitamente longe. O valor padrão de 1000 funciona bem para a maioria dos casos.
Para SurfaceGuis que aparecem ao ar livre, recomenda-se 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 surgimento/desaparecimento súbito.
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 em experiência, 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 um BasePart ou Attachment dentro da experiência, 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 acima da 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 stud 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 a posição, a propriedade StudsOffset desloca a tela do billboard no eixo X (esquerda/direita), eixo Y (cima/baixo) e eixo Z (frente/atras) em relação à câmera.
Modo de oclusão
A propriedade AlwaysOnTop determina se o BillboardGui será renderizado acima do conteúdo 3D ou será ocluído por ele. Quando definido como false (padrão), o BillboardGui renderiza como outro conteúdo 3D e é ocluído por outros objetos 3D. Quando definido como true, ele sempre renderiza sobre o conteúdo 3D e não é influenciado pela iluminação/luz no ambiente 3D.
Influência da luminosidade e da luz
Brightness e LightInfluence funcionam 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 clareado dentro de uma sala escura aumentando Brightness para 10.
LightInfluence controla quanto o BillboardGui é influenciado pela iluminação do 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 deixar de renderizar. Um valor de 0 ou inf (padrão) significa que não há limite e ele renderizará infinitamente longe.