본문 바로가기
■ 로블록스 개발 노트/개발일지

[로블록스]#7 - ScreenGUI

by Popbox 2025. 12. 30.

[로블록스]#7 - ScreenGUI

로블록스 게임을 처음 켰을 때 드는 인상은
“그래픽보다 UI가 먼저 보인다”는 것이다.
이번 글에서는 로블록스 UI의 중심인 ScreenGui를 Unity UI와 비교하며 정리해본다.


 

 

1. 로블록스 게임에서 UI가 중요한 이유

Unity 게임에서는 UI가 “보조 요소”인 경우가 많다.

하지만 로블록스에서는 다르다.

로블록스에서 UI는
게임의 절반이다.

상점, 스킨, 로비, 매칭, 퀘스트, 보상.
대부분의 상호작용이 UI에서 시작된다.

 

 

 


2. ScreenGui = Unity의 Canvas

ScreenGui는 Unity의 Canvas와 거의 같은 개념이다.

Unity Roblox
Canvas ScreenGui
Button TextButton / ImageButton
Text TextLabel

ScreenGui는 항상 플레이어 개인에게만 보인다는 점이 다르다.

explorer/ScreenGui

 

 

 


3. UI는 반드시 LocalScript로 제어한다

UI는 입력과 직결되기 때문에 LocalScript에서만 제어한다.

local button = script.Parent

button.MouseButton1Click:Connect(function()
    print("버튼 클릭")
end)
    

Script(서버)에서 UI를 건드리려 하면 아무 일도 일어나지 않는다.

 

 

 


4. 기본 UI 구성 요소

로블록스 UI는 생각보다 단순한 요소들로 구성된다.

  • Frame : UI 패널
  • TextLabel : 텍스트 표시
  • TextButton : 버튼
  • ImageLabel : 이미지
  • UIStroke / UICorner : 스타일

화려한 UI도 결국은 Frame과 Button의 조합이다.

 

 

 


5. 해상도 대응 – Scale이 핵심이다

로블록스는 PC, 모바일, 태블릿이 모두 섞여 있다.

그래서 UI는 반드시 Scale 기반으로 만들어야 한다.

Offset 위주의 UI는
반드시 망가진다.

UDim2에서 Scale을 기본으로, Offset은 미세 조정 용도로만 사용하자.

UDim2.new(xScale, xOffset, yScale, yOffset)
    

 

개념 Roblox Unity
비율 Scale Anchor
픽셀 Offset Offset
기준점 AnchorPoint Pivot
좌표 타입 UDim2 RectTransform

 

 

 


6. UI는 “숨겼다 보여준다”

로블록스 UI는 파괴(Create/Destroy)보다 Visible 제어가 기본이다.

frame.Visible = false
    

로비, 상점, 설정창 등 대부분의 UI는 미리 만들어두고 필요할 때만 보여준다.

(enable/disable)

 

 

 


7. Unity 개발자가 자주 하는 실수

  • UI를 서버 Script에서 제어하려 한다
  • Offset으로만 레이아웃을 잡는다
  • UI를 자주 생성/삭제한다
  • UI와 게임 로직을 섞어 쓴다

UI는 클라이언트 전용 레이어라는 인식을 반드시 가져야 한다.

 

 

 


8. UI 시스템 핵심 요약

  • ScreenGui는 플레이어 전용
  • UI 제어는 LocalScript에서
  • Frame이 모든 UI의 기본
  • Scale 기반 레이아웃 필수
  • Visible로 상태를 관리하자

 

 

 


9. 다음 글 예고

다음 글에서는 UI와 서버를 연결하는 방법, 즉 RemoteEvent를 다룬다.

버튼을 눌렀는데
서버에서 반응하려면?


반응형

댓글