In-game UI-containers houden GuiObjects vast die je binnen de 3D-wereld van je game wilt weergeven.
- Een SurfaceGui maakt het mogelijk om UI-objecten op het oppervlak van een onderdeel in de 3D-wereld weer te geven, terwijl ook basisgebruikersinteractie mogelijk is.
- Een BillboardGui is een container voor UI-objecten die in de 3D-ruimte verschijnen, maar altijd naar de camera zijn gericht.
Oppervlakte UI
Vergelijkbaar met Decals en Textures, zijn UI-objecten zoals TextLabels en ImageLabels die aan een SurfaceGui zijn gekoppeld, gericht in dezelfde richting als het oppervlak waarop ze zich bevinden, bewerkbaar via de SurfaceGui.Face-eigenschap.

Om een SurfaceGui toe te passen op een in-game BasePart, koppel je het eenvoudig aan dat onderdeel en stel je de SurfaceGui.Face-eigenschap in. Kind UI-objecten verschijnen dan op dat vlak van het bovenliggende onderdeel.


Alternatief kun je de SurfaceGui in een container zoals StarterGui plaatsen en vervolgens de Adornee-eigenschap instellen op een willekeurige BasePart, evenals de doel Face. Het instellen van Adornee overschrijft de directe ouderrelatie, waardoor er meer flexibiliteit in plaatsing is, aangezien het vanuit een script tijdens runtime kan worden ingesteld.


Grootte en positie
Het "canvas" van een SurfaceGui beslaat het volledige Face van het bovenliggende of Adornee-onderdeel. Als beste praktijk wordt aanbevolen om schaal waarden te gebruiken voor de grootte en positie van kind UI-objecten zoals ImageLabels. Je kunt ook een UIAspectRatioConstraint toepassen op kinderen van de SurfaceGui om hun gewenste beeldverhouding te behouden, ongeacht de grootte van het vlak.
Occlusiemodus
De AlwaysOnTop-eigenschap bepaalt of de SurfaceGui bovenop 3D-inhoud wordt weergegeven of door deze wordt occludeerd. Wanneer ingesteld op false (standaard), wordt de SurfaceGui weergegeven zoals andere 3D-inhoud en wordt deze occludeerd door andere 3D-objecten. Wanneer ingesteld op true, wordt deze altijd bovenop 3D-inhoud weergegeven en wordt deze niet beïnvloed door helderheid/licht in de 3D-omgeving.
Helderheid en lichtinvloed
Brightness en LightInfluence werken samen om te bepalen hoe omgevingslicht de UI-inhoud van de SurfaceGui beïnvloedt.
Brightness bepaalt de factor waarmee uitgezonden licht wordt geschaald in een bereik van 0 tot 1000, zodat je de SurfaceGui kunt afstemmen op zijn omgeving. Bijvoorbeeld, een videobillboard kan worden verhelderd in een donkere kamer door Brightness in te stellen op 10.
LightInfluence controleert hoeveel de SurfaceGui wordt beïnvloed door verlichting in de plaats, in een bereik van 0 tot 1. Dit op 1 instellen betekent dat omringende verlichting volledige controle heeft over het uiterlijk, terwijl het instellen op 0 betekent dat de verlichting geen effect heeft.

Afstandszichtbaarheid
MaxDistance controleert hoe ver van de camera de SurfaceGui wordt weergegeven voordat deze stopt met renderen. Een waarde van 0 betekent dat er geen limiet is en dat deze oneindig ver weg zal renderen. De standaardwaarde van 1000 werkt goed voor de meeste gevallen.
Voor SurfaceGuis die buiten verschijnen, wordt aanbevolen dat MaxDistance hoog genoeg is om ervoor te zorgen dat de UI van de container voldoende klein op het scherm is wanneer deze verschijnt of verdwijnt, waardoor het plotselinge pop-in/out-effect wordt geminimaliseerd.
Weergavevolgorde
Als er meerdere SurfaceGui-containers op hetzelfde vlak bestaan, kun je ze stapelen op basis van de Z-index via hun ZOffset-eigenschap (het wijzigen hiervan "tilt" of "sink" de container visueel niet van het oppervlak).
Billboard UI
De BillboardGui-container toont UI-objecten in de 3D-ruimte, maar in tegenstelling tot SurfaceGui zijn kinderen van een BillboardGui altijd naar de camera gericht. Deze container is nuttig voor het weergeven van frontale informatie boven in-game objecten zoals gezondheidsmeters of namen boven spelerspersonages, markeringen om spelers naar een object in de 3D-wereld te leiden, en meer.

Om een BillboardGui te koppelen aan een in-game BasePart of Attachment, koppel je het eenvoudig aan dat onderdeel of die bevestiging en, indien gewenst, pas je de grootte/positie aan.


Alternatief kun je de BillboardGui in een container zoals StarterGui plaatsen en vervolgens de Adornee-eigenschap instellen op een willekeurige BasePart of Attachment. Deze methode biedt meer flexibiliteit in plaatsing, aangezien Adornee vanuit een script tijdens runtime kan worden ingesteld, bijvoorbeeld om een BillboardGui boven het hoofd van spelerspersonages te plaatsen tijdens runtime.
Grootte en positie
Voor de grootte van de billboard stellen de schaal componenten van de Size-eigenschap de studgrootte van de billboard in de 3D-ruimte in. Bijvoorbeeld, een instelling van {10, 0},{2, 0} (UDim2.fromScale(10, 2)) vormt een billboard met een 10:2 beeldverhouding die groter of kleiner schaalt, afhankelijk van de afstand tot de camera.
Voor positionering verschuift de StudsOffset-eigenschap het billboardcanvas op de X-as (links/rechts), Y-as (omhoog/omlaag) en Z-as (vooruit/achteruit) ten opzichte van de camera.
Occlusiemodus
De AlwaysOnTop-eigenschap bepaalt of de BillboardGui bovenop 3D-inhoud wordt weergegeven of door deze wordt occludeerd. Wanneer ingesteld op false (standaard), wordt de BillboardGui weergegeven zoals andere 3D-inhoud en wordt deze occludeerd door andere 3D-objecten. Wanneer ingesteld op true, wordt deze altijd bovenop 3D-inhoud weergegeven en wordt deze niet beïnvloed door helderheid/licht in de 3D-omgeving.
Helderheid en lichtinvloed
Brightness en LightInfluence werken samen om te bepalen hoe omgevingslicht de UI-inhoud van de BillboardGui beïnvloedt.
Brightness bepaalt de factor waarmee uitgezonden licht wordt geschaald in een bereik van 0 tot 1000, zodat je de BillboardGui kunt afstemmen op zijn omgeving. Bijvoorbeeld, een videobillboard kan worden verhelderd in een donkere kamer door Brightness in te stellen op 10.
LightInfluence controleert hoeveel de BillboardGui wordt beïnvloed door verlichting in de plaats, in een bereik van 0 tot 1. Dit op 1 instellen betekent dat omringende verlichting volledige controle heeft over het uiterlijk, terwijl het instellen op 0 betekent dat de verlichting geen effect heeft.

Afstandszichtbaarheid
MaxDistance controleert hoe ver van de camera de BillboardGui wordt weergegeven voordat deze stopt met renderen. Een waarde van 0 of inf (standaard) betekent dat er geen limiet is en dat deze oneindig ver weg zal renderen.