← 모든 가이드
가이드 1

첫 번째 obby 만들기

용암, 체크포인트, 사라지는 발판, 결승선이 있는 장애물 코스예요.

무료45분 · 초급 · Roblox Studio
1
단계 1 / 10

새 플레이스 만들기

  1. Roblox Studio를 열고 로그인해요.
  2. New Experience를 누르고 Baseplate 템플릿을 골라요.
  3. 이제 평평한 회색 바닥이 생겼어요. 이 위에 코스를 만들 거예요.

더 자세히 보기

  • Roblox Studio는 Windows와 Mac에서 쓰는 무료 프로그램이에요. 아직 설치하지 않았다면 create.roblox.com에서 내려받고 Roblox 계정으로 로그인해요.
  • Baseplate 템플릿은 시작 화면의 템플릿 목록에 있어요. 빈 회색 바닥이 보이는 템플릿이에요.
  • 플레이스는 탭으로 열려요. 탭 이름이 내 플레이스의 이름이에요.
  • Mac에서는 이 가이드에 Ctrl이라고 나올 때마다 Cmd 키를 써요.
팁. File → Save to Roblox로 자주 저장해요. Studio가 예전 버전도 보관해 주니까 언제든 되돌릴 수 있어요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

2
단계 2 / 10

패널 세 개 알아보기

  1. 가운데 큰 3D 화면이 Viewport예요. 여기가 내 게임 세상이에요.
  2. Explorer에는 게임 속 모든 오브젝트가 나와요. Properties에는 선택한 오브젝트의 설정이 나와요.
  3. 카메라 움직이기: 마우스 오른쪽 버튼을 누른 채로 둘러보고, W A S D로 날아다니고, Q와 E로 내려가고 올라가요.
  4. 길을 잃었나요? 아무 part나 선택하고 F를 눌러요. 카메라가 그곳으로 날아가요.

더 자세히 보기

  • Explorer와 Properties는 창 오른쪽에 있어요. 위가 Explorer이고 그 아래가 Properties예요.
  • Viewport에서 오브젝트를 클릭하면 Explorer에서도 강조돼요. Explorer에서 이름을 클릭하면 Viewport에서도 선택돼요.
  • 동그란 표시가 있는 평평한 발판이 SpawnLocation이에요. 게임이 시작되면 플레이어가 여기에 나타나요. 그대로 둬요.
  • 실수했나요? Ctrl+Z를 눌러 방금 한 일을 취소해요. 다시 누르면 한 단계 더 되돌아가요.
팁. 패널이 안 보이면 Window 메뉴에서 열어요. 예전 버전에서는 View 탭에 있어요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

3
단계 3 / 10

시작 발판 만들기

  1. Home 탭에서 Part를 눌러요. 회색 블록이 나타나요.
  2. Properties에서 Size를 12, 1, 12로 정하고, 이름을 Start로 바꿔요.
  3. Anchored를 켜요. Anchored가 켜진 part는 떨어지지도 움직이지도 않아요.
  4. Color 버튼으로 마음에 드는 색을 골라요.

더 자세히 보기

  • 새 part는 카메라 앞에 나타나고, Explorer에서 이름은 Part예요.
  • 이름을 바꾸려면 Explorer에서 한 번 클릭하고 F2를 누른 다음 Start를 쓰고 Enter를 눌러요.
  • Properties에서 Size 칸을 클릭하고 12, 1, 12를 쓴 다음 Enter를 눌러요. 숫자 세 개는 너비, 높이, 깊이예요.
  • Anchored는 Properties에 있는 체크 상자예요. 체크 표시가 있으면 켜진 거예요.
  • Move 도구(Ctrl+2)로 발판을 SpawnLocation 옆에 놓아요. 그래야 플레이어가 걸어서 올라갈 수 있어요.
자주 하는 실수. Anchored를 깜빡하는 거예요. 편집할 때는 멀쩡해 보이다가, 게임이 시작되면 허공으로 떨어져 버려요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

4
단계 4 / 10

점프 발판 늘리기

  1. Start를 선택하고 Ctrl+D를 눌러 복사해요. Move 도구(Ctrl+2)로 복사본을 앞으로 끌어당겨요.
  2. Scale 도구(Ctrl+3)로 크기를 줄여요. 6, 1, 6 정도가 좋아요.
  3. 발판 사이에 5에서 7 studs 정도 틈을 둬요. 발판이 6개에서 8개가 될 때까지 반복해요.
  4. 코스가 위로 올라가도록 몇몇 발판을 조금 높여 줘요.

더 자세히 보기

  • 복사본은 원본 바로 위에 나타나서 아무 일도 없었던 것처럼 보여요. Move 도구의 파란색이나 빨간색 화살표를 끌면 복사본이 밀려 나와요.
  • Scale 도구로 part에 있는 작은 공을 끌면 크기가 바뀌어요. Properties에 크기를 직접 써도 돼요.
  • Properties의 Position 칸은 part가 어디에 있는지 보여 줘요. 발판 두 개의 숫자를 비교하면 둘 사이의 틈을 잴 수 있어요.
  • 모든 발판은 Anchored여야 해요. Anchored인 part를 복사하면 복사본도 Anchored라서, 새로 만든 part만 확인하면 돼요.
  • F5를 눌러 점프를 직접 해 보고 Shift+F5로 멈춰요. 발판을 두세 개 만들 때마다 해 봐요.
팁. 기본 캐릭터는 7.2 studs 높이까지 점프하고 앞으로 약 8 studs를 넘어가요. 틈이 8 studs보다 크면 거의 건널 수 없어요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

5
단계 5 / 10

플레이어를 처음으로 돌려보내는 용암 만들기

  1. 발판 두 개 사이에 새 Part를 추가해요. 빨간색으로 만들고, Material을 Neon으로 바꾸고, Anchored를 켜고, 이름을 Lava로 해요.
  2. Explorer에서 Lava 위에 마우스를 올리고 + 버튼을 눌러 Script를 골라요.
  3. 이미 적혀 있는 줄은 지우고 이 코드를 붙여 넣어요.
Lava > Script
local lava = script.Parent

lava.Touched:Connect(function(hit)
	local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
	if humanoid then
		humanoid.Health = 0
	end
end)

각 부분이 하는 일

  • script.Parent는 스크립트가 들어 있는 part예요. 여기서는 용암이에요.
  • Touched는 무언가가 part에 닿을 때마다 실행돼요. hit은 닿은 물건이에요. 예를 들면 발이에요.
  • hit.Parent는 캐릭터 전체예요. Humanoid가 있으면 플레이어라는 뜻이라서, 스크립트가 Health를 0으로 만들어요.

더 자세히 보기

  • Material은 Properties에 있는 목록이에요. 클릭해서 Neon을 골라요. Neon은 part를 빛나게 해요.
  • Script를 추가하면 코드가 한 줄 든 새 탭에서 열려요. 코드 안을 클릭하고 Ctrl+A로 전부 선택한 다음 Ctrl+V로 덮어 붙여 넣어요.
  • 내 플레이스 이름이 적힌 탭을 클릭해서 내 세상으로 돌아가요.
  • 테스트하려면 F5를 누르고 용암 속으로 걸어가 봐요. 캐릭터가 흩어졌다가 시작 지점에 다시 나타나요.
  • 용암은 넓고 평평하게 만들어요. 예를 들어 Size를 12, 1, 6으로 하고 발판보다 조금 낮게 놓아요. 점프에 실패하면 용암에 떨어지게요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

6
단계 6 / 10

체크포인트 만들기

  1. Explorer에서 Workspace 위에 마우스를 올리고 +를 눌러 Folder를 추가해요. 이름은 Checkpoints로 해요.
  2. Anchored를 켠 part 세 개를 코스를 따라 놓고 Folder 안으로 끌어넣어요. 이름은 1, 2, 3으로 해요. 1번은 시작 발판 위에 놓아요.
  3. ServerScriptService 위에 마우스를 올리고 +를 눌러 Script를 추가해요. 이 코드를 붙여 넣어요.
ServerScriptService > Script
local Players = game:GetService("Players")
local checkpoints = workspace:WaitForChild("Checkpoints")

Players.PlayerAdded:Connect(function(player)
	local stats = Instance.new("Folder")
	stats.Name = "leaderstats"
	stats.Parent = player

	local stage = Instance.new("IntValue")
	stage.Name = "Stage"
	stage.Value = 1
	stage.Parent = stats

	player.CharacterAdded:Connect(function(character)
		local root = character:WaitForChild("HumanoidRootPart")
		local point = checkpoints:FindFirstChild(tostring(stage.Value))
		if point then
			task.wait(0.1)
			root.CFrame = point.CFrame + Vector3.new(0, 4, 0)
		end
	end)
end)

for _, point in ipairs(checkpoints:GetChildren()) do
	point.Touched:Connect(function(hit)
		local player = Players:GetPlayerFromCharacter(hit.Parent)
		local stats = player and player:FindFirstChild("leaderstats")
		if not stats then return end

		local number = tonumber(point.Name)
		if number == stats.Stage.Value + 1 then
			stats.Stage.Value = number
		end
	end)
end

각 부분이 하는 일

  • leaderstats는 특별한 Folder 이름이에요. 이 안의 값은 플레이어 목록에 나타나서, 모두가 각자의 Stage를 볼 수 있어요.
  • 캐릭터가 나타나면, 스크립트가 그 플레이어의 Stage와 이름이 같은 체크포인트로 캐릭터를 옮겨요.
  • 체크포인트를 밟았을 때 다음 번호일 때만 Stage가 올라가요. 그래서 건너뛸 수 없어요.

더 자세히 보기

  • Folder는 컴퓨터의 폴더처럼 다른 오브젝트를 담아요. 혼자서는 게임에서 아무것도 하지 않아요.
  • part를 Folder 안으로 끌어넣으려면 Explorer에서 part 이름을 Checkpoints라는 이름 위로 끌어다 놓아요. 그러면 part가 Folder 아래에서 한 칸 오른쪽에 나타나요.
  • 체크포인트 part는 얇고 넓게 만들어요. 예를 들어 Size를 6, 0.4, 6으로 하고 발판 위에 얹어요. 색을 다르게 하면 플레이어가 알아보기 쉬워요.
  • 테스트하려면 F5를 누르고 오른쪽 위의 플레이어 목록을 봐요. Stage 1이라고 나와요. 체크포인트 2를 밟으면 2로 바뀌어요.
  • 체크포인트는 순서대로 밟아야 해요. 2보다 3을 먼저 밟으면 아무 일도 일어나지 않아요.
자주 하는 실수. part 이름을 Checkpoint1이나 One으로 짓는 거예요. 스크립트는 1, 2, 3이라는 정확한 이름을 찾아요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

7
단계 7 / 10

사라지는 발판 만들기

  1. 코스 중간에 있는 발판 하나를 골라 Script를 추가해요.
  2. 이 코드를 붙여 넣고 Play를 눌러서 깜빡이는 모습을 봐요.
Platform > Script
local platform = script.Parent

while true do
	task.wait(2)
	platform.Transparency = 1
	platform.CanCollide = false

	task.wait(2)
	platform.Transparency = 0
	platform.CanCollide = true
end

각 부분이 하는 일

  • while true do는 영원히 반복해요.
  • task.wait(2)는 2초 동안 멈춰요.
  • Transparency가 1이면 part가 투명해져요. CanCollide가 false이면 플레이어가 그 사이로 떨어져요.

더 자세히 보기

  • Script를 추가하려면 Explorer에서 발판 이름 위에 마우스를 올리고 +를 누른 다음 Script를 골라요. 용암에서 했던 것과 같아요.
  • 발판은 2초 동안 보이고 2초 동안 사라져요. 플레이어는 타이밍을 맞춰서 점프해야 해요.
  • 첫 번째 숫자는 발판이 보이는 시간이에요. 두 번째 숫자는 사라져 있는 시간이에요.
  • 이 script를 시작 발판이나 체크포인트에 넣으면 안 돼요. 그러면 플레이어가 도착하자마자 떨어져요.
팁. 숫자 두 개를 바꾸면 발판이 더 빨리 또는 더 느리게 깜빡여요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

8
단계 8 / 10

결승선 만들기

  1. 끝에 큰 Anchored part를 놓고 이름을 Finish로 해요. 플레이어가 목표를 알아볼 수 있게 금색으로 만들어요.
  2. Finish에 Script를 추가하고 이 코드를 붙여 넣어요.
Finish > Script
local Players = game:GetService("Players")
local finish = script.Parent
local cooldown = {}

finish.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	local stats = player and player:FindFirstChild("leaderstats")
	if not stats or cooldown[player] then return end

	cooldown[player] = true
	stats.Stage.Value = 1
	player:LoadCharacter()

	task.wait(2)
	cooldown[player] = nil
end)

각 부분이 하는 일

  • GetPlayerFromCharacter는 결승선에 닿은 플레이어가 누구인지 찾아 줘요.
  • cooldown table은 같은 1초 안에 코드가 여러 번 실행되는 걸 막아 줘요.
  • Stage는 1로 돌아가고, LoadCharacter가 플레이어를 시작 지점으로 보내서 다시 도전할 수 있어요.

더 자세히 보기

  • 금색으로 만들려면 Properties에서 Color 칸을 클릭하고 노란색을 골라요. Material을 Neon으로 하면 반짝여요.
  • Size 12, 1, 12가 결승선으로 좋아요. 마지막 점프 뒤에, 다른 발판보다 조금 높게 놓아요.
  • 테스트하려면 F5를 누르고, 코스를 끝까지 가서 금색 part를 밟아요. 시작 지점으로 돌아오고 Stage가 다시 1로 바뀌어요.
  • 2초 쿨다운이 있는 이유는 한 걸음에 part가 여러 번 닿기 때문이에요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

9
단계 9 / 10

게임 테스트하기

  1. F5를 눌러 플레이해요. 코스를 처음부터 끝까지 달려 봐요.
  2. 일부러 용암에 빠져 봐요. 마지막 체크포인트에서 다시 시작해야 해요.
  3. Shift+F5를 눌러 멈춰요.
  4. Window 메뉴에서 Output 창을 열어요. 빨간 글씨는 스크립트에 오류가 있다는 뜻이고, 몇 번째 줄인지도 알려 줘요.

더 자세히 보기

  • F5를 누르면 내 캐릭터와 함께 게임이 시작돼요. 게임이 실행되는 동안 도구 모음이 바뀌어요.
  • 게임이 실행되는 동안 바꾼 것은 멈추면 사라져요. 항상 Shift+F5를 먼저 누른 다음에 고쳐요.
  • Output 창에서 빨간 줄을 클릭하면 Studio가 오류가 있는 줄에서 script를 열어 줘요.
  • 뭔가 안 될 때는 세 가지를 확인해요. part의 이름, script가 있는 곳, 그리고 Anchored가 켜져 있는지예요.
자주 하는 실수. 게임이 시작되면 발판이 떨어져요: Anchored가 꺼져 있어요. part를 만져도 아무 일도 안 일어나요: 스크립트가 엉뚱한 오브젝트에 들어 있거나 이름에 오타가 있어요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

10
단계 10 / 10

게시하기

  1. File → Publish to Roblox를 골라요. 게임 이름과 짧은 설명을 적어요.
  2. Creator Hub 웹사이트에서 내 게임을 열고 Maturity 설문을 채워요. 다른 사람이 플레이하려면 Roblox에서 이 설문이 꼭 필요해요.
  3. 게임을 Public으로 바꾸고 친구에게 링크를 보내요.

더 자세히 보기

  • 처음 게시할 때 Studio가 이름과 설명을 물어봐요. Create를 눌러요. 그다음부터는 File → Publish to Roblox를 누르면 가장 새로운 변경 내용이 올라가요.
  • Creator Hub는 create.roblox.com 웹사이트예요. 같은 계정으로 로그인하고 목록에서 내 게임을 클릭해요.
  • Maturity 설문은 내 게임에 무엇이 들어 있는지 물어봐요. 솔직하게 답해요. 이런 obby에는 폭력도 무서운 것도 없어요.
  • 게임을 공개하려면 Roblox가 더 요구할 수도 있어요. 예를 들면 계정의 나이 확인이에요. 무엇이 빠졌는지 페이지가 알려 줘요.
  • 18세 미만이라면 이 단계는 부모님과 함께 해요.
팁. 친구가 플레이하는 모습을 옆에서 지켜봐요. 친구가 막히는 곳이 가장 먼저 고칠 곳이에요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

이제 직접 바꿔 봐요

  • 네 번째 체크포인트를 추가해 봐요. 이름을 뭐라고 해야 할까요?
  • 서로 다른 속도로 깜빡이는 사라지는 발판을 세 개 만들어 봐요.
  • 용암이 Health를 절반만 깎게 바꿔 봐요. 힌트: humanoid.Health = humanoid.Health - 50