「ロブロックスのオビーって自分でも作れるの?」「足場を置いたけど、落ちたときにスタートへ戻すにはどうするの?」
ロブロックス(Roblox)のオビーの作り方を、実際の画像付きで誰でも簡単に分かるように解説します。オビーは、足場をジャンプで渡ってゴールを目指すゲームです。この記事では、足場を渡る→赤い床に落ちたらスタートからやり直し→ゴールした人の画面にメッセージが出るところまで作ります。
入門ステップ7/24 前の記事:ロブロックス(Roblox)でスクリプトが動かないときの確認手順 全体の順番を見る
使うもの:Roblox Studioが起動するパソコン、マウス、キーボード。パーツの置き方や保存のしかたはRoblox Studioの使い方、スクリプトの入れ方はスクリプトの作り方で解説しています。
今回の完成状態:下の画像のように、黄色いゴールに乗ると「ゴール! コースを渡れました」と表示されれば成功です。

今回作るオビーのコース
コースは、白いスタート、青い足場3つ、黄色いゴール、その下に広がる赤い床でできています。パーツの名前と大きさ、位置は次の表のとおりです。数字の並びは「X(左右), Y(高さ), Z(奥行き)」で、単位はロブロックス内の長さ「スタッド」です。
| 名前 | 種類 | 大きさ(Size) | 位置(Position) | 色 |
|---|---|---|---|---|
| StartSpawn | SpawnLocation | 12, 1, 12 | 0, 8, 0 | 白(そのまま) |
| Step1 | Part | 8, 1, 8 | 13, 8, 0 | Really blue(真っ青) |
| Step2 | Part | 8, 1, 8 | 24, 8, 0 | Really blue(真っ青) |
| Step3 | Part | 8, 1, 8 | 35, 8, 0 | Really blue(真っ青) |
| Goal | Part | 12, 1, 12 | 48, 8, 0 | New Yeller(黄) |
| Lava | Part | 100, 1, 40 | 24, 0, 0 | Really red(赤) |
足場と足場のすき間は3スタッド。歩きながらジャンプすれば渡れる幅にしてあります。
1. Baseplateを開いて、コース用のフォルダーを作る
Roblox Studioを起動して、ホーム画面の左のメニューから「テンプレート」を開き、「Baseplate」(赤い枠)を押します。画像の赤い枠が「次に押す場所」で、画像を押すと大きく表示できます。ボタンの名前や置き場所は、Roblox側の更新で変わることがあります。

灰色の床と、真ん中に模様の入った白い板(スポーン地点)がある世界が開きます。

コースの部品は、1つのフォルダーにまとめておくと見失いません。右上のエクスプローラで「Workspace」にマウスを乗せると、名前の右に「+」が出るので押します。

入れられる部品の一覧から「Folder」を押します。

エクスプローラにできた「Folder」を右クリックして「名前を変更」を押し、「FirstObby」と入れてEnterキーを押しましょう。


名前の変更は、エクスプローラで選んでからF2キーを押しても同じです。この記事では、このあとも何度も名前を変えます。
2. スタート地点をフォルダーに入れて位置を決める
エクスプローラの「SpawnLocation」を、マウスでつかんで「FirstObby」の上まで動かして離します。「FirstObby」の左に三角が付き、その下に「SpawnLocation」が入れば成功です。

エクスプローラで「FirstObby」の中の「SpawnLocation」を選び、F2キーを押して「StartSpawn」と入力し、Enterキーを押します。大きさは最初から「12, 1, 12」なので、そのままで大丈夫です。
エクスプローラで「StartSpawn」を選んだ状態で、プロパティの検索欄に「Position」と入力します。「Position」はいくつか出てくるので、「▼CFrame」のすぐ下にあるPositionの数字をダブルクリックし、「0, 8, 0」と入れてEnterキーを押します。スタートが空中の高さ8に上がります。

3. 青い足場を3つ並べる
まず、エクスプローラの「FirstObby」にマウスを乗せて出てきた「+」を押してください。

一覧の上の検索欄に「Part」と入れ、出てきた「Part」を押します。

エクスプローラにできた「Part」を選んだ状態でF2キーを押し、「Step1」と入力してEnterキーを押します。
エクスプローラで「Step1」を選んだ状態で、プロパティの検索欄に「Size」と入力します。Sizeの数字を「8, 1, 8」にしてEnterキーを押します。

続けてStep1を選んだまま、プロパティの検索欄を「Position」に書き換えます。「▼CFrame」のすぐ下のPositionを「13, 8, 0」にしてEnterキーを押します。

次は色を変えます。Step1を選んだまま、3D画面上部メニューのホームタブにある「色」(「素材」の右、「グループ」の左)の右の小さな三角(画像の1)を押すと、色の一覧が出ます。青(画像の2、「Really blue」)を押してから、「色」の丸いボタンを押します。

最後にStep1を選んだまま、同じホームタブの「固定」(赤い枠、「エクスプローラ」ボタンのすぐ左)を押します。固定しないと、テストを始めた瞬間に足場が下へ落ちてしまいます。

Step1ができたら、エクスプローラで選んだままCtrl+Dキーを押します。同じ大きさ・色・固定のままの足場がもう1つでき、エクスプローラに「Step1」が2つ並びます。

Ctrl+Dキーのあとは、新しくできた方の「Step1」が選ばれた状態になっています。そのままF2キーを押し、「Step2」と入力してEnterキーを押します(赤い枠)。

続けてStep2を選んだまま、プロパティの検索欄に「Position」と入力し、「▼CFrame」のすぐ下のPositionを「24, 8, 0」にしてEnterキーを押します(赤い枠)。

次にStep3を作ります。エクスプローラで「Step2」を選んだ状態でCtrl+Dキーを押すと、新しくできた方の「Step2」が選ばれた状態になります。そのままF2キーを押し、「Step3」と入力してEnterキーを押します(赤い枠)。

続けてStep3を選んだまま、プロパティの検索欄に「Position」と入力し、「▼CFrame」のすぐ下のPositionを「35, 8, 0」にしてEnterキーを押します(赤い枠)。

スタートの横に、青い足場が3つ並べば成功です。

4. 黄色いゴールと赤い床を置く
エクスプローラで「Step3」を選んだ状態でCtrl+Dキーを押します。新しくできた方が選ばれた状態のままF2キーを押し、「Goal」と入力してEnterキーを押します(赤い枠)。

続けてGoalを選んだまま、プロパティの検索欄に「Size」と入力し、Sizeを「12, 1, 12」にしてEnterキーを押します(赤い枠)。

Goalを選んだまま、プロパティの検索欄を「Position」に書き換え、「▼CFrame」のすぐ下のPositionを「48, 8, 0」にしてEnterキーを押します(赤い枠)。

Goalを選んだまま、ホームタブの「色」の右の小さな三角を押して色の一覧を開き、黄色の「New Yeller(ニューイエロー)」を押します。マスにマウスを乗せると色の名前が出ます。そのあと「色」の丸いボタンを押すと、Goalが黄色になります。

続いて、エクスプローラで「Goal」を選んだ状態でCtrl+Dキーを押します。新しくできた方が選ばれた状態のままF2キーを押し、「Lava」と入力してEnterキーを押します(赤い枠)。

続けてLavaを選んだまま、プロパティの検索欄に「Size」と入力し、Sizeを「100, 1, 40」にしてEnterキーを押します(赤い枠)。この時点では、Goalから複製したので黄色の大きな床になります。

Lavaを選んだまま、プロパティの検索欄を「Position」に書き換え、「▼CFrame」のすぐ下のPositionを「24, 0, 0」にしてEnterキーを押します(赤い枠)。

Lavaを選んだまま、ホームタブの「色」の右の小さな三角を押して色の一覧を開き、赤の「Really red(真紅)」を押します。そのあと「色」の丸いボタンを押すと、コースの下に大きな赤い床が広がります。

最後に、もともとあった灰色の床を消します。エクスプローラで「Baseplate」(赤い枠)を選んでDeleteキーを押します。床が残っていると、足場を飛ばずに下を歩いてゴールへ行けてしまうためです。消すのは「Baseplate」だけで、「Workspace」や「FirstObby」は消しません。

灰色の床が消えて、空中の足場と赤い床だけになればコースは完成です。

部品の「CanCollide」(ぶつかるか)と「CanTouch」(触れたことを知らせるか)は、最初からオンになっています。このままで大丈夫です。
5. 赤い床とゴールのスクリプトを入れる
エクスプローラの「ServerScriptService」にマウスを乗せて「+」を押します。

一覧の「Script」を押します。似た名前の「LocalScript」ではなく、ここでは必ず「Script」を選びます。

スクリプトの編集画面が開くので、中身を全部消して、次のコードを貼り付けます。
local Players = game:GetService("Players")
local course = workspace:WaitForChild("FirstObby")
local lava = course:WaitForChild("Lava")
local goal = course:WaitForChild("Goal")
local start = course:WaitForChild("StartSpawn")
assert(start:IsA("SpawnLocation"), "StartSpawnはSpawnLocationにしてください")
local function getPlayer(hit)
local character = hit:FindFirstAncestorOfClass("Model")
local player = character and Players:GetPlayerFromCharacter(character)
local humanoid = character and character:FindFirstChildOfClass("Humanoid")
if player and humanoid and humanoid.Health > 0 then
return player, humanoid
end
end
local function setup(player)
player.RespawnLocation = start
player:SetAttribute("CourseCleared", false)
player.CharacterAdded:Connect(function()
player:SetAttribute("CourseCleared", false)
end)
end
Players.PlayerAdded:Connect(setup)
for _, player in Players:GetPlayers() do setup(player) end
lava.Touched:Connect(function(hit)
local player, humanoid = getPlayer(hit)
if player then humanoid.Health = 0 end
end)
goal.Touched:Connect(function(hit)
local player = getPlayer(hit)
if player and not player:GetAttribute("CourseCleared") then
player:SetAttribute("CourseCleared", true)
end
end)

エクスプローラで「ServerScriptService」の中の「Script」を選んだ状態でF2キーを押し、「ObbyRules」と入力してEnterキーを押します。
続けてObbyRulesを選んだまま、プロパティの検索欄に「RunContext」と入れ、右の三角を押して一覧から「Server」を選んでください。RunContextは、スクリプトをサーバーとプレイヤーのどちらで動かすかを決める設定です。Serverは、サーバー(ゲームの正しい状態を持っている側)で動かすという意味です。

このスクリプトは、赤い床に触れた人の体力を0にして、スタートからやり直させます。ゴールに触れた人には「ゴールした」という印(CourseCleared)を、その人だけに付けます。
6. ゴールした人の画面にメッセージを出す
エクスプローラの「StarterPlayer」の左の三角を押して開き、中の「StarterPlayerScripts」にマウスを乗せて「+」を押しましょう。

検索欄に「LocalScript」と入れて、「LocalScript」を押します。こちらは、遊ぶ人それぞれの画面で動くスクリプトです。

中身を全部消して次のコードを貼り付け、エクスプローラで名前を「ObbyMessage」に変えます。
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "ObbyResult"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local message = Instance.new("TextLabel")
message.AnchorPoint = Vector2.new(0.5, 0)
message.Position = UDim2.new(0.5, 0, 0.12, 0)
message.Size = UDim2.new(0.8, 0, 0, 60)
message.BackgroundColor3 = Color3.fromRGB(20, 60, 45)
message.TextColor3 = Color3.new(1, 1, 1)
message.Text = "ゴール! コースを渡れました"
message.TextSize = 22
message.TextWrapped = true
message.Visible = false
message.Parent = gui
local function update()
message.Visible = player:GetAttribute("CourseCleared") == true
end
player:GetAttributeChangedSignal("CourseCleared"):Connect(update)
update()

メッセージの部品はこのコードが作るので、画面の部品を手で追加する必要はありません。
7. テストプレイで最後まで遊んでみる
3D画面の上の作品のタブ「Place5」を押して3D画面に戻り、F5キーでテストを始めます(タブの名前はパソコンによって違います)。アバターが白いスタートの上に出てきます。

まずは、わざと赤い床に落ちてみましょう。落ちた瞬間にアバターが倒れ、数秒後にスタートの上へ戻ってくれば、赤い床のスクリプトは成功です。


次は、Dキーで足場の方へ歩きながらスペースキーでジャンプして、足場を順番に渡ります。歩くキーを押したままジャンプすると、すき間を飛び越えやすくなります。黄色いゴールに乗って、画面の上に「ゴール! コースを渡れました」と出れば成功です。

ゴールのあとに赤い床へ落ちてスタートに戻ると、メッセージは消えます。もう一度挑戦できる仕組みです。確かめたら、Shift + F5キーでテストを停止します。
8. 2人で遊んで、ゴール表示が混ざらないか確かめる
みんなで遊ぶゲームでは、1人がゴールしたときに、ほかの人の画面にまで表示が出てしまわないかを確かめます。Studioでは、1台のパソコンで2人分のテストが可能です。
Studioの窓の左上で、青い再生ボタンの左にある「テスト」の右の「∨」を押して、「サーバーとクライアント」を選びます。

人の形のアイコンの横の数字を、右の上向き三角(画像の1)で「2」にして、青い三角の再生ボタン(画像の2)を押します。

30秒ほどで、サーバーの窓と、Player1・Player2の窓が開きます。2人のテスト中は、画面の下のタスクバーにStudioの窓が4つ並びます。元のStudioの窓は、作品の名前(ここでは「Place5」)が付いたもの(赤い枠)です。「サーバー」と2つの「Place1」はテスト用の窓です。

2つの「Place1」の窓のどちらがPlayer1かは、窓の中で見分けます。テストの窓の右上に、参加している人の一覧が出ます。一覧では、その窓の人の名前が白く、もう1人の名前は灰色で出ます。一覧が出ないときは、窓の3D画面を1回押してからTabキーを押すと出ます。
Player1の窓だけを使ってゴールまで進みます。下の画像は、Player1とPlayer2の窓を左右に並べたものです。左がPlayer1、右がPlayer2の画面です。Player1にだけメッセージが出て、スタートにいるPlayer2には出ていなければ成功です。

確かめたら元のStudioの窓に戻り、左上の赤い丸の「終了」ボタン(赤い枠)を押して2人のテストを閉じます。

9. 保存して、開き直して確かめる
3D画面上部メニューの「ファイル」を押し、一覧の「Robloxに保存」を押します。名前の欄(画像の1)にゲームの名前を入れ(この記事では「Asobishift Practice 3」)、右下の青い「保存」(画像の2)を押してください。

作品を閉じて、ホーム画面の「バーチャル空間」から開き直します。足場とゴール、赤い床がそのまま残っていれば保存は成功です。

オビーがうまく動かないときの直し方
| 困ったこと | 確かめること | 直し方 |
|---|---|---|
| テストを始めると足場が落ちる | 「固定」が押されているか | テストを止めて、足場を選んで「固定」を押す |
| 赤い床に乗っても倒れない | ObbyRulesが「ServerScriptService」にあり、RunContextが「Server」か | 置き場所と設定を直す |
| スタート以外の場所から始まる | 別のSpawnLocationが残っていないか | 余分なSpawnLocationを消す |
| ゴールしてもメッセージが出ない | ObbyMessageが「LocalScript」で、「StarterPlayerScripts」の中にあるか | 種類と置き場所を直す |
| 出力に赤い文字が出る | 「FirstObby」「Lava」「Goal」「StartSpawn」の名前が表と同じか(大文字・小文字も) | エクスプローラで名前を直す |
| 足場に届かない | 足場の位置の数字 | エクスプローラで足場を選び、プロパティの検索欄に「Position」と入力して、「▼CFrame」のすぐ下のPositionの最初の数字を小さくし、前の足場に近づける |
出力の赤い文字の読み方やAIへの伝え方は、スクリプトの作り方の「スクリプトが動かないときの直し方」で紹介しています。
AIでコースを自分らしく変える
動くオビーができたら、ChatGPTやClaudeなどのAIに相談しながら自分のコースに育てていきます。まず今の作品を保存してから、1つずつ変えていくのが安全です。
Roblox Studioで、足場3つの短いオビーを作りました。
スタート→青い足場3つ→黄色いゴールで、赤い床に落ちるとスタートに戻ります。
テーマを「雲の上の配達」に変えたいです。
足場の位置とスクリプトは変えずに、色・名前・飾りだけでテーマを伝える案を3つ出してください。
難しくするときは、最初の足場は渡りやすいまま残すのがコツです。遊ぶ人が操作に慣れてから、難しい区間に進めます。
よくある質問
スマホやタブレットでもオビーは作れる?
作れません。オビーを作るRoblox Studioはパソコン用のソフトです。作ったオビーを遊ぶのはスマホでもできるので、公開前にスマホの画面で遊べるかを確かめておきます。確かめ方はゲームを公開する方法で解説しています。
足場をもっと増やすには?
エクスプローラでいちばん後ろの足場を選んでCtrl+Dキーで複製し、プロパティでPositionの最初の数字(X)を11ずつ増やします。足場を増やしたら、Goalの位置も同じだけ先に動かします。
次は、歩く速さとジャンプの高さを変え、乗ると速くなる床を作ります。次のステップ(入門 8/24)
次に知りたいことを選ぶ
- 次のステップ:歩く速さとジャンプの高さを変え、乗ると速くなる床を作ります → ロブロックス(Roblox)スタジオで移動速度を変える方法
- 先に途中から復活できるようにしたい → ロブロックス(Roblox)のチェックポイントの作り方
- Studioの操作で困っている → Robloxで困ったとき