[Roblox Studio] Luaスクリプトの準備方法と当たり判定のオン、オフを作ってみる。

環境:M1Mac Book Air

※2025.03.02更新しました。

まずはワールドの準備

Roblox Studioを起動させます。
画像左上の「新規」をクリックし、「Baseplate」をクリック。ゲーム制作画面が開きます。

ゲーム制作画面になったら画面上の「パーツ」をクリック。

「ブロック」をクリックすると画面に「Part」という名前のブロックが出てきます。

こんな感じになると思います。

「Part」の下に「プロパティ」という項目が出てきます。
ブロックの情報がいろいろあるので、簡単なLuaスクリプトで動かしてみます。

Part右の + をクリック、Scriptをクリックする。

赤枠にスクリプトを書いていきます。

お試しスクリプトを書いてみる。

「Part」プロパティにある「CanCollide」のチェックがオンだとブロックに当たり判定が出ます。チェックがオフだとブロックの当たり判定が消えます。これをLuaスクリプトで動かします。

ブロックの当たり判定がスタートして5秒後にオフ、その5秒後にオン、その5秒後にオフ、その5秒後にオン。というスクリプトを書いてみます。

local part = script.parent

wait(5)
part.CanCollide = false
wait(5)
part.CanCollide = true
wait(5)
part.CanCollide = false
wait(5)
part.CanCollide = true

↑ 上の文字をコピーして、RobloxStudioのエディターにペーストできます。一応動作確認済。

falseはオフ、trueはオン。wait(5)の数字を変更すると好きな秒数に変更できます。

プレイをクリックしてPartの当たり判定を確認してみましょう。
5秒ごとにブロック「Part」の当たり判定がオフ、オン、オフ、オンとなれば成功です。

ずっと動き続けるように改良してみます。コメント追加しました。

local part = script.Parent --スクリプトから見たPartの場所

while true do --ずっと動き続けるプログラムの中身
part.CanCollide = true --当たり判定が出る
wait(5) --5秒待つ
part.CanCollide = false --当たり判定が消える
wait(5) --5秒待つ
end --ここまでがずっと動き続けるプログラム

①:当たり判定が出る →
②:5秒待つ →
③:当たり判定が消える →
④:5秒待つ →
①に戻る。

プレイをクリックしてPartの当たり判定を確認してみましょう。

次に当たり判定の見た目をわかりやすくします。

local part = script.Parent --スクリプトから見たPartの場所

while true do --ずっと動き続けるプログラムの中身
part.CanCollide = true --当たり判定が出る
part.Transparency = 0 --透明度を0にする:見える
wait(5) --5秒待つ
part.CanCollide = false --当たり判定が消える
part.Transparency = 1 --透明度を1にする:見えない
wait(5) --5秒待つ
end --ここまでがずっと動き続けるプログラム

Transparency = 透明度。(見える:0 〜 1:透明)
小数点で透明度を調整できます。

数字をいじって遊んでみてください。↓雑に作ってみました。

local part = script.Parent --スクリプトから見たPartの場所

while true do --ずっと動き続けるプログラムの中身
part.CanCollide = true --当たり判定が出る
part.Transparency = 0 --透明度を0にする:見える
wait(0.2) --0.2秒待つ
part.Transparency = 0.1 --透明度を0.1にする
wait(0.2) --0.2秒待つ
part.Transparency = 0.2 --透明度を0.2にする
wait(0.2) --0.2秒待つ
part.Transparency = 0.3 --透明度を0.3にする
wait(0.2) --0.2秒待つ
part.Transparency = 0.4 --透明度を0.4にする
wait(0.2) --0.2秒待つ
part.Transparency = 0.5 --透明度を0.5にする
wait(0.2) --0.2秒待つ
part.Transparency = 0.6 --透明度を0.6にする
wait(0.2) --0.2秒待つ
part.Transparency = 0.7 --透明度を0.7にする
wait(0.2) --0.2秒待つ
part.Transparency = 0.8 --透明度を0.8にする
wait(0.2) --0.2秒待つ
part.Transparency = 0.9 --透明度を0.9にする
wait(0.2) --0.2秒待つ
part.Transparency = 1 --透明度を1にする:見えない
part.CanCollide = false --当たり判定が消える
wait(2) --2秒待つ
end --ここまでがずっと動き続けるプログラム