AIツールの活用

AIツールの活用

近年、様々なAIツールが登場しています。私自身もかなり活用しています。様々な場所でAIが活用できますが、まだ一部の人しか使っていないようです。

ChatGPT

今話題のChatGPT(チャットGPT)、OpenAI社が開発したチャットボットです。「ロブロックスと何の関係があるの?」と言いたくなるかもしれませんよね。実はRobloxのゲーム制作においても様々なことに活用できるのです。

https://chat.openai.com/

  • ゲームのアイデアを出してくれる
    ゲームを作りたいんだけどアイデアが浮かばない・・・。そんな時にChatGPTを活用してみましょう。
  • プログラムを作成してくれる
    完璧ではないにしろ十分活用できます。ショートプログラムはもちろん、かなり長いものも出力されます。ただし、出力されたプログラムをどこに配置するのか、正しく動作するのかは検証する必要があります。実際の所、そのプログラムを見て理解できる人でないと難しいかもしれません。まずはそのレベルまでスキルアップする必要があるでしょう。

My GPTs でロブロックス専門の講師「ロブロックス先生」を作成してみました。対象は小学生高学年から中学生になります。こちらは GPTplusに加入していないと使えません。どんな感じの回答をくれるのかはこちらのページをご覧ください。

Robloxアシスタント

ついにRoblox公式のAIアシスタントが公開されました。下記URLより入れますが、Robloxにログインしている必要があります。日本語にも対応していますので、そのまま矢印の「質問する」の欄に聞きたいことを入力すればOKです。

https://create.roblox.com/docs/assistant

使用例

【質問】クリックしたらドアが開くようにするには?

【回答】

クリックするとドアが開くようにするには、以下のステップを実行します。

  1. ドアの下に ClickDetector を追加します。ClickDetector は BasePart または Model に親子関係で追加することができます。
  2. ClickDetector の Script を追加します。このスクリプトで、クリックイベントを検知し、ドアを開くアクションを実行するようにします。
  3. スクリプトで Door オブジェクトを取得し、ドアを開くアクションを実行します。たとえば、Door の CanCollide プロパティを false に設定することで、ドアを開くことができます。

以下は、クリックするとドアが開くようにするための例のスクリプトです。

local clickDetector = script.Parent
local door = clickDetector.Parent.Door

local function onTouched(hit)
    -- ドアを開く
    door.CanCollide = false
end

clickDetector.Touched:Connect(onTouched)

このスクリプトは、クリックイベントが発生したときに、ドアを開くアクションを実行します。

ただし、ClickDetector の MaxActivationDistance プロパティを設定することで、ドアを開くことができる距離を制限することもできます。

local clickDetector = script.Parent
local door = clickDetector.Parent.Door

local function onTouched(hit)
    -- ドアを開く
    door.CanCollide = false
end

clickDetector.MaxActivationDistance = 5 -- ドアを開くことができる距離を 5 studs に設定
clickDetector.Touched:Connect(onTouched)

このスクリプトでは、クリックイベントが発生したときに、ドアを開くアクションを実行し、ドアを開くことができる距離を 5 studs に設定します。

これで、クリックするとドアが開くようにすることができました。


ChatGPT 4oの場合

ChatGPT ではどうでしょうか? 同じ質問をしてみました。

【質問】Robloxのゲーム制作についての質問です。 クリックしたらドアが開くようにするには?

【回答】

Robloxで「クリックしたらドアが開く」ようにするには、ClickDetectorScript を使うのが一般的です。以下のような手順で実装できます。

💡基本的な方法:Clickでドアを回転させて開く

✅ 1. ドアのパーツを用意

Explorerで Part(ドアとして使う)を作り、名前を Door にします。

✅ 2. ClickDetector を追加

Door パーツに以下のように ClickDetector を追加します:

  • 右クリック → 「Insert Object」→ ClickDetector

✅ 3. Script を追加

DoorScript を追加して、以下のようなコードを入れます:

local door = script.Parent
local clickDetector = door:WaitForChild("ClickDetector")
local isOpen = false

clickDetector.MouseClick:Connect(function(player)
    if isOpen then
        -- ドアを閉じる(元の位置に戻す)
        door.CFrame = door.CFrame * CFrame.Angles(0, math.rad(-90), 0)
    else
        -- ドアを開ける(90度回転)
        door.CFrame = door.CFrame * CFrame.Angles(0, math.rad(90), 0)
    end
    isOpen = not isOpen
end)

🔧ポイント解説:

  • MouseClick:プレイヤーがクリックしたときに実行されるイベント
  • CFrame.Angles:ドアの角度を回転させる方法(ここではY軸を90度回転)

🚪もっとリアルな動きにしたいなら…

TweenServiceを使って滑らかに開閉するようにもできます。それが必要なら教えてください、スムーズ開閉バージョンのコードを出します!

必要に応じて「一度しか開かない」「近づいたら開く」「GUIで開ける」なども作れます。そういった応用も興味ありますか?


さらに細かく指示することで、様々なプログラムを作ってくれますので大変便利です。