[로블록스]#6 - 입력 처리 & 카메라 제어
Unity 개발자에게 입력 처리와 카메라는 익숙한 영역이다.
하지만 로블록스에서는 어디서 처리하느냐가 전부다.
이번 글에서는 입력과 카메라를 LocalScript 기준으로 정리한다.
1. 입력은 왜 LocalScript에서만 처리할까?
Unity에서는 입력을 어디서 처리해도 큰 제약이 없다.
하지만 로블록스에서는 다르다.
입력은 플레이어 개인 정보다.
그래서 클라이언트(LocalScript)에서만 처리한다.
서버는 “결과”만 받아 판단하고, 입력 그 자체는 관여하지 않는다.
2. 입력을 처리할 수 있는 위치
LocalScript는 아무 곳에서나 동작하지 않는다.
- StarterPlayerScripts
- StarterCharacterScripts
- StarterGui
이 위치에 있는 LocalScript만 키보드, 마우스, 터치 입력을 받을 수 있다.
Workspace에 있는 LocalScript는
입력을 받지 못한다.
3. UserInputService 기본 사용법
로블록스에서 입력을 받을 때 가장 기본이 되는 서비스는 UserInputService다.
local UIS = game:GetService("UserInputService")
UIS.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.Space then
print("점프 입력")
end
end)
Unity의 Input.GetKeyDown과 비슷하지만, UI가 입력을 소비했는지를 항상 확인해야 한다.
4. 모바일 입력은 자동으로 통합된다
로블록스의 큰 장점 중 하나는 모바일 입력을 따로 나누지 않아도 된다는 점이다.
- 키보드
- 마우스
- 터치
이 모든 입력이 UserInputService로 통합된다.
플랫폼 분기 코드가 거의 필요 없다.
5. 카메라는 “직접 만들지 않는다”
Unity 개발자는 카메라를 직접 제어하는 데 익숙하다.
하지만 로블록스에서는 기본 카메라 시스템을 최대한 존중하는 게 정답이다.
- CameraType : CameraType으로 동작 방식이 결정된다.
- CameraSubject : Unity Cinemachine의 FollowTarget 느낌
- CameraMode : Unity의 projection 설정

대부분의 경우, CameraSubject를 Humanoid로 두는 것이 가장 안정적이다.
| 구분 | Unity | Roblox |
| 소유자 | Scene | 플레이어 |
| 개수 | 여러 개 가능 | 플레이어당 1개 |
| 조작 위치 | 서버/클라 구분 없음 | LocalScript만 가능 |
6. 1인칭 / 3인칭 전환은 이렇게 생각하자
로블록스에서는 1인칭과 3인칭 전환도 이미 준비돼 있다.
- CameraMode = LockFirstPerson
- CameraMode = Classic
Unity처럼 카메라를 새로 만드는 대신, 모드를 전환하는 방식을 사용한다.
“덜 만드는 게 더 안정적이다”
7. ⚠️ Unity 개발자가 가장 많이 하는 실수
- 입력을 서버 Script에서 처리하려 한다
- 카메라를 Workspace에 새로 만든다
- 모든 움직임을 직접 계산하려 한다
- LocalScript 위치를 신경 쓰지 않는다
- 여러 Camera를 만들어 전환하려 함(Cinemachine....)
- Update/LateUpdate 개념을 사용하려 함
로블록스에서는 이미 만들어진 흐름을 거스르지 않는 것이 중요하다.
8. 입력 & 카메라 핵심 요약
- 입력은 LocalScript에서만 처리
- Starter 위치를 반드시 지킬 것
- UserInputService가 기본
- 카메라는 최대한 기본 구조 활용
9. 다음 글 예고
다음 글에서는 UI 시스템(ScreenGui)을 다룰 예정이다.
버튼, 텍스트, 프레임을 어떻게 구성하고, Unity UI와 어떤 차이가 있는지 정리해본다.
로블록스 게임의 절반은 UI다
'■ 로블록스 개발 노트 > 개발일지' 카테고리의 다른 글
| [로블록스]#8 - RemoteEvent & 서버 통신 (0) | 2025.12.30 |
|---|---|
| [로블록스]#7 - ScreenGUI (0) | 2025.12.30 |
| [로블록스]#5 - 캐릭터 & Humanoid (0) | 2025.12.29 |
| [로블록스]#4 - Lua 문법 (0) | 2025.12.29 |
| [로블록스]#3 - Script 구조 (0) | 2025.12.29 |
댓글