游戏内 UI 容器包含 GuiObjects,您希望在游戏的 3D 世界中显示。
- SurfaceGui 允许在 3D 世界中将 UI 对象渲染到部件的表面上,同时允许基本的用户交互发生。
- BillboardGui 是一个容器,用于在 3D 空间中显示 UI 对象,但始终面向相机。
表面 UI
类似于 Decals 和 Textures,附加到 SurfaceGui 的 UI 对象,如 TextLabels 和 ImageLabels,面朝它们所在表面的相同方向,可以通过 SurfaceGui.Face 属性进行编辑。

要将 SurfaceGui 应用到游戏内的 BasePart,只需将其附加到该部件并设置 SurfaceGui.Face 属性。子 UI 对象将出现在父部件的该面上。


或者,您可以将 SurfaceGui 放置在像 StarterGui 这样的容器中,然后将其 Adornee 属性设置为任何 BasePart,以及目标 Face。设置 Adornee 会覆盖直接的父级关联,允许在放置时更灵活,因为它可以在运行时通过脚本进行设置。


尺寸和位置
SurfaceGui 的“画布”占据父部件或 Adornee 部件的整个 Face。作为最佳实践,建议您使用子 UI 对象(如 ImageLabels)的 大小 和 位置 的 比例 值。您还可以将 UIAspectRatioConstraint 应用到 SurfaceGui 的子项,以保持它们所需的纵横比,无论面大小如何。
遮挡模式
AlwaysOnTop 属性决定 SurfaceGui 是否会在 3D 内容上方渲染,或被其遮挡。当设置为 false(默认值)时,SurfaceGui 像其他 3D 内容一样渲染,并被其他 3D 对象遮挡。当设置为 true 时,它始终在 3D 内容上方渲染,并且不受 3D 环境中的 亮度/光线 影响。
亮度和光线影响
Brightness 和 LightInfluence 共同作用,以确定环境光如何影响 SurfaceGui 的 UI 内容。
Brightness 确定发射光的缩放因子,范围为 0 到 1000,让您将 SurfaceGui 与其环境匹配。例如,可以通过将 Brightness 增加到 10 来在黑暗的房间中增强视频广告牌的亮度。
LightInfluence 控制 SurfaceGui 在场所中受到光照的影响程度,范围从 0 到 1。将其设置为 1 意味着周围的光照完全控制外观,而将其设置为 0 意味着光照没有影响。

距离可见性
MaxDistance 控制 SurfaceGui 在距离相机多远时会停止渲染。值为 0 意味着没有限制,它将无限远地渲染。默认值 1000 在大多数情况下效果良好。
对于出现在户外的 SurfaceGuis,建议将 MaxDistance 设置得足够高,以确保容器的 UI 在出现或消失时在屏幕上足够小,从而最小化突然的弹出效果。
显示顺序
如果在同一面上存在多个 SurfaceGui 容器,您可以通过它们的 ZOffset 属性按 Z 索引进行分层(更改此属性不会在视觉上“抬起”或“沉入”容器)。
广告牌 UI
BillboardGui 容器在 3D 空间中显示 UI 对象,但与 SurfaceGui 不同,BillboardGui 的子项始终面向相机。此容器对于在游戏对象上方显示正面信息(如生命值计量器或玩家角色的名称、引导玩家到 3D 世界中的对象的标记等)非常有用。

要将 BillboardGui 链接到游戏内的 BasePart 或 Attachment,只需将其附加到该部件或附件上,并根据需要调整其 大小/位置。


或者,您可以将 BillboardGui 放置在像 StarterGui 这样的容器中,然后将其 Adornee 属性设置为任何 BasePart 或 Attachment。这种方法在放置时提供了更多灵活性,因为 Adornee 可以在运行时通过脚本进行设置,例如在运行时将 BillboardGui 放置在玩家角色的头上。
尺寸和位置
对于广告牌大小,Size 属性的 比例 组件设置广告牌在 3D 空间中的单位大小。例如,设置为 {10, 0},{2, 0} (UDim2.fromScale(10, 2)) 的广告牌具有 10:2 的纵横比,大小会根据与相机的距离而变大或变小。
对于定位,StudsOffset 属性在 X 轴(左右)、Y 轴(上下)和 Z 轴(前后)相对于相机移动广告牌画布。
遮挡模式
AlwaysOnTop 属性决定 BillboardGui 是否会在 3D 内容上方渲染,或被其遮挡。当设置为 false(默认值)时,BillboardGui 像其他 3D 内容一样渲染,并被其他 3D 对象遮挡。当设置为 true 时,它始终在 3D 内容上方渲染,并且不受 3D 环境中的 亮度/光线 影响。
亮度和光线影响
Brightness 和 LightInfluence 共同作用,以确定环境光如何影响 BillboardGui 的 UI 内容。
Brightness 确定发射光的缩放因子,范围为 0 到 1000,让您将 BillboardGui 与其环境匹配。例如,可以通过将 Brightness 增加到 10 来在黑暗的房间中增强视频广告牌的亮度。
LightInfluence 控制 BillboardGui 在场所中受到光照的影响程度,范围从 0 到 1。将其设置为 1 意味着周围的光照完全控制外观,而将其设置为 0 意味着光照没有影响。

距离可见性
MaxDistance 控制 BillboardGui 在距离相机多远时会停止渲染。值为 0 或 inf(默认值)意味着没有限制,它将无限远地渲染。