[로블록스]#5 - 캐릭터 & Humanoid
로블록스를 하며 가장 충격적이었던 부분은
캐릭터 시스템이 이미 완성된 상태라는 점이었다.
Unity 개발자 입장에서 이 구조를 제대로 이해하지 못하면, 계속 “왜 이렇게 되어 있지?”라는 의문만 남는다.
CharacterConroller보다 더더더 많이 완성된 상태!?
1. 캐릭터를 “만든다”는 개념부터 다르다
Unity에서 캐릭터를 만든다는 것은 보통 이런 작업을 의미한다.
- 컨트롤러 구성
- 이동, 점프, 회전 로직 작성
- 카메라 연동
하지만 로블록스에서는 이 모든 과정이 기본 제공이다.
로블록스에서 캐릭터는
“만드는 것”이 아니라 “받아들이는 것”에 가깝다.
2. Character 구조 한눈에 보기
플레이어가 게임에 들어오면 자동으로 Character 모델이 생성된다.
Player
└─ Character
├─ Humanoid
├─ HumanoidRootPart
├─ Head
├─ UpperTorso / LowerTorso
├─ LeftArm / RightArm
└─ ...
이 구조는 거의 모든 로블록스 게임에서 동일하다.
3. Humanoid는 캐릭터의 핵심
Humanoid는 로블록스 캐릭터 시스템의 심장이다.
이동, 점프, 체력, 애니메이션 상태까지 거의 모든 기본 동작을 담당한다.
- WalkSpeed
- JumpPower
- Health / MaxHealth
- MoveDirection
- State

Unity에서 직접 만들던
“CharacterController + 상태머신”이
Humanoid 하나로 묶여 있다.
4. HumanoidRootPart의 역할
캐릭터 이동의 기준점은 HumanoidRootPart다.
이 파트는 다음 역할을 맡는다.
- 캐릭터 위치 기준
- 네트워크 동기화 중심
- 물리 계산의 기준점
Unity로 치면 루트 트랜스폼 + 네트워크 앵커에 가깝다.

5. 애니메이션은 이미 연결돼 있다
로블록스 캐릭터는 기본 애니메이션 시스템이 이미 포함돼 있다.
- Idle
- Walk
- Run
- Jump
- Fall
Animator와 Animation Controller가 자동으로 연결되어 있으며, 개발자는 교체만 하면 된다.
“애니메이션이 왜 재생되지 않지?”라는 고민이
거의 발생하지 않는다.
6. StarterCharacter / StarterPlayer 구조
캐릭터를 커스터마이징하고 싶다면 StarterCharacter를 사용한다.
- StarterCharacterScripts
- StarterPlayerScripts
여기 들어간 스크립트들은 캐릭터 생성 시 자동으로 복사된다.
“캐릭터가 생성될 때 항상 실행돼야 하는 코드”는
여기에 둔다.
7. Unity 개발자가 주의할 점
- 이동 로직을 직접 만들려 하지 말 것
- Humanoid를 우회하지 말 것
- 물리 이동보다 Humanoid API를 우선 사용
- 캐릭터는 서버 기준으로 관리
로블록스 캐릭터 시스템은 싸워서 이기는 구조가 아니라, 믿고 쓰는 구조다.
8. 캐릭터 구조 핵심 요약
- Character는 자동 생성된다
- Humanoid가 모든 기본 동작을 담당
- HumanoidRootPart는 기준점
- 애니메이션은 이미 연결돼 있다
- Starter 구조를 적극 활용하자
9. 다음 글 예고
다음 글에서는 입력 처리 & 카메라 제어를 다룰 예정이다.
LocalScript 기준으로 키 입력, 마우스, 모바일 터치를 어떻게 처리하는지, Unity와 어떤 차이가 있는지 정리해본다.
입력은 클라이언트에서,
판단은 서버에서
'■ 로블록스 개발 노트 > 개발일지' 카테고리의 다른 글
| [로블록스]#7 - ScreenGUI (0) | 2025.12.30 |
|---|---|
| [로블록스]#6 - 입력 처리 & 카메라 제어 (1) | 2025.12.30 |
| [로블록스]#4 - Lua 문법 (0) | 2025.12.29 |
| [로블록스]#3 - Script 구조 (0) | 2025.12.29 |
| [로블록스]#2 - 인터페이스 (0) | 2025.12.29 |
댓글