> For the complete documentation index, see [llms.txt](https://docs.overdare.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overdare.com/korean/development/api-reference/classes/surfacegui.md).

# SurfaceGui

SurfaceGui : `SurfaceGuiBase`

## Overview

SurfaceGui는 BasePart의 한 면에 2D UI 요소(GuiObject)를 붙여 표시하는 UI 컨테이너입니다. 표시할 면은 Face 속성으로 지정하며, 카메라를 향해 회전하는 BillboardGui와 달리 부착된 면의 방향을 그대로 따릅니다.

이 컨테이너의 위치는 연결된 BasePart 또는 지정된 Adornee를 기준으로 결정됩니다.

또한 성능 최적화를 위해 SurfaceGui는 내부적으로 렌더링 결과를 캐싱하여 변화가 없을 때는 이를 재사용합니다. 그러나 SurfaceGui 자체의 속성 변화, 자식 요소의 속성 변경, 또는 자식 요소의 추가/삭제가 발생하면 캐시가 무효화되며, 다음 렌더링 프레임에서 화면 정보가 다시 계산됩니다.

SurfaceGui는 **클라이언트 환경에서만 제어**할 수 있습니다.

## Properties

### Face

`Enum.NormalId`

SurfaceGui를 렌더링되는 오브젝트의 어떤 면에 표시할지를 지정합니다.

#### Code Samples

```lua
local SurfaceGui = script.Parent

SurfaceGui.Face = Enum.NormalId.Top
```

### PixelsPerUnit

`number`

부착된 면의 1 단위(cm)에 사용할 UI 픽셀 수를 지정합니다.

SurfaceGui 하위 UI 요소의 픽셀 크기는 이 값을 기준으로 면 위의 크기로 환산되며, 값이 클수록 같은 픽셀 크기의 UI 요소가 면 위에서 더 작게 표시됩니다.

기본값은 1이며, 0.01보다 작은 값은 0.01로 처리됩니다.

#### Code Samples

```lua
local SurfaceGui = script.Parent

SurfaceGui.PixelsPerUnit = 2
```

### ZOffset

`number`

동일한 면에 배치된 여러 SurfaceGui가 어떤 순서로 겹쳐 그려질지를 지정합니다.

#### Code Samples

```lua
local SurfaceGui = script.Parent

SurfaceGui.ZOffset = 2
```

## Methods

## Events

## See also

{% content-ref url="/pages/K1g0tEWDJhh6a6E4UURk" %}
[GUI](/korean/manual/studio-manual/gui.md)
{% endcontent-ref %}
