「自分で作った動きで、キャラクターを動かしたい」「アニメーションを作ったのに、ゲームの中で動かない」
ロブロックス(Roblox)スタジオでアニメーションを作る方法を、実際の画像付きで誰でも簡単に分かるように解説します。この記事では、人形が手を上げて下ろす「手を振る」動きを作り、ゲームの中でくり返し動かします。
アニメーションは、作るだけではゲームで使えません。Robloxの公式の説明によると、作った動きは「Robloxに公開」してから、そのID(番号)をゲームの中で使います。そのため、最初に作品を「Robloxに保存」するところから始めます。
上級ステップ4/40 前の記事:ロブロックス(Roblox)のショップの作り方 全体の順番を見る
使うもの:Roblox Studioが起動するパソコン、マウス、キーボード。人形(リグ)の出し方はNPCの作り方で使ったものと同じです。
今回の完成状態:下の画像のように、テストを始めると人形が手を上げ下げし続ければ成功です(赤い枠)。

アニメーションがゲームで動くまでの流れ
| 順番 | すること | 場所 |
|---|---|---|
| 1 | 作品をRobloxに保存する | ファイルメニュー |
| 2 | 動かす人形(リグ)を置く | ホームタブの「キャラクター」 |
| 3 | 動きを作る | アバタータブの「クリップ編集」 |
| 4 | 動きをRobloxに公開して、IDをもらう | アニメーション編集の「…」 |
| 5 | IDを入れたAnimationを、スクリプトで再生する | エクスプローラ |
1. 作品をRobloxに保存する
新しいBaseplateを開き、画面左上の「ファイル」を押して、「Robloxに保存」を押します(赤い枠)。

保存の画面が開きます。「名前」の欄(画像の1)に作品の名前を入れて、「作成」(画像の2)を押します。

ここでは「Asobishift Animation Practice」と入れました(赤い枠)。名前はあとから変えられます。

保存が終わると、上のタブの名前が作品の名前に変わります(赤い枠)。保存しただけでは、ほかの人は遊べません。公開のしかたはゲームを公開する方法で解説しています。

2. 動かす人形を置く
ホームタブの「キャラクター」を押します(画像の1)。「リグを生成」の窓が出たら、リグタイプ「R15」、体型「男子型」のまま、「ブロック型アバター(2012年)」を押します(画像の2)。

エクスプローラのWorkspaceに「Rig」が入り(画像の1)、3D画面に灰色の人形が出ます(画像の2)。

エクスプローラでRigを選んだままF2キーを押し、名前を「Dancer」に変えます(赤い枠)。

エクスプローラでDancerの左の三角を押して中を開き、いちばん下の「HumanoidRootPart」を選びます。プロパティの検索欄に「Anchored」と入力し、チェックを入れて固定します(赤い枠)。固定しておくと、テスト中に人形が倒れたり歩いたりせず、その場で動きだけを見られます。

3. アニメーション編集を開く
上の「アバター」タブ(画像の1)を押し、「クリップ編集」(画像の2)を押します。画面の下に「アニメーション編集」の欄が開きます。

3D画面の人形を押して選びます(赤い枠)。人形の足もとに格子が出て、アニメーション編集の左上に「Dancer」と出ます。初めて開いたときに「顔アニメーション編集」などの説明の窓が出たら、「了解!」を押して閉じます。

4. 腕を上げて下ろす動きを作る
アニメーション編集の「Dancer」の右の「+」を押し(画像の1)、出てきた一覧の「LeftUpperArm」(左の上腕)を押します(画像の2)。

「LeftUpperArm」の行が入ります。左の三角を押して開くと、「Position」(位置)と「Rotation」(回転)の数字の欄が出ます(赤い枠)。

アニメーション編集の上の時間の欄(「0 / 1」の左の数字)に「0.5」と入れてEnterキーを押します(画像の1)。Rotationの「Z」の欄に「-150」と入れてEnterキーを押します(画像の2)。人形の左腕が上がります(画像の3)。

Rotationなどの項目の右にある時間の線(アニメーション)には、0と0.5の位置に小さなひし形(キーフレーム)が付きます。キーフレームは「この時間にこの形」という目印で、あいだの動きはStudioが自動でつなぎます。
続けて、時間の欄に「1」と入れてEnterキーを押し、RotationのZに「0」と入れてEnterキーを押します。1の位置にもひし形が付き、腕が下りた形に戻ります。
| 時間 | RotationのZ | 腕 |
|---|---|---|
| 0 | 0 | 下りている |
| 0.5 | -150 | 上がっている |
| 1 | 0 | 下りている |
Zを「150」にすると、腕が頭の前を横切って反対側へ回ります。外側へ上げるときはマイナスの数にします。
5. くり返し動くようにする
アニメーション編集の上の、矢印がまるくなったボタン(赤い枠)を押して、青くします。これでループ(くり返し)になります。

6. 動きを保存して、Robloxに公開する
アニメーション編集の左上の名前の右にある「…」を押し、「保存」(画像の1)を押します。保存した動きは、エクスプローラのServerStorageの「RBX_ANIMSAVES」の中に入ります。
もう一度「…」を押し、「Robloxに公開」(画像の2)を押します。

「Asset Configuration」の窓が開きます。「題名」の欄に動きの名前を入れて(画像の1)、「保存」を押します(画像の2)。ここでは「手を振る」にしました。

「送信できました!」と出て、「ID」の数字が出ます(赤い枠)。この数字が、ゲームの中でこの動きを呼び出す番号です。右のコピーのボタンを押すと、数字をコピーできます。メモ帳などに控えてから、「閉じる」を押します。

公開した動きは、自分のアカウントのアセットになります。窓に出ているとおり、ツールボックスかウェブ上で見つけられます。
アニメーション編集の右上の「×」を押して閉じます。
7. 動きのIDを人形に入れる
エクスプローラの「Dancer」の左の三角を押して閉じ、「Dancer」にマウスを乗せて、右に出る「+」を押します(赤い枠)。

一覧の検索欄に「Animation」と入れ、一覧の「Animation」を押します(赤い枠)。

エクスプローラで選んだままF2キーを押し、名前を「WaveAnim」に変えます(赤い枠)。

プロパティの検索欄に「AnimationId」と入力し、AnimationIdの欄に「rbxassetid://」に続けて、控えたIDの数字を入れます(赤い枠)。

8. 動きを再生するスクリプトを入れる
エクスプローラの「Dancer」にマウスを乗せて、右に出る「+」を押します(赤い枠)。

一覧の検索欄に「Script」と入れ、一覧の「Script」を押します(赤い枠)。

Scriptが入り、中身の画面が開きます。エクスプローラで「Script」を押して選び、F2キーを押して名前を「WavePlayer」に変えます(赤い枠)。

プロパティの検索欄に「RunContext」と入れて、「▼動作」の欄にあるRunContextの一覧から「Server」を選びます(赤い枠)。

開いているWavePlayerの画面で、中身を全部消して、次のコードを貼り付けます。
local dancer = script.Parent
local humanoid = dancer:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
local waveAnim = dancer:WaitForChild("WaveAnim")
-- アニメーションを読み込んで、くり返し再生する
local track = animator:LoadAnimation(waveAnim)
track.Looped = true
track:Play()
貼り付けたら、エクスプローラのDancerの中に「WavePlayer」があるかを確かめます(赤い枠)。

| コードの部分 | していること |
|---|---|
| humanoid:WaitForChild("Animator") | 人形の中の、動きを再生する部品(Animator)を探す |
| animator:LoadAnimation(waveAnim) | WaveAnimに入れたIDの動きを読み込む |
| track.Looped = true | 最後まで動いたら、また最初から動かす |
| track:Play() | 動きを始める |
9. テストで動きを確かめる
上の作品のタブを押して3D画面に戻り、F5キーでテストを始めます。人形が左腕を上げて、また下ろす動きをくり返します(赤い枠)。
画像は、人形が見えるようにカメラを固定して写しています。右上の名前の欄はモザイクにしています。

| 試したこと | 結果 |
|---|---|
| F5でテストを始める | 人形が左腕を上げ下げし続けた |
数字を変えて調整する
| 変えたいこと | 変える場所 | 例 |
|---|---|---|
| 腕を上げる高さ | 0.5のキーフレームのRotationのZ | 数を0に近づけるほど、上げる高さが低くなる |
| 速さ | キーフレームの位置と、全体の長さ | 0.5と1のキーフレームを0.25と0.5に動かし、全体の長さを0.5にすると2倍の速さ(やり方は表の下) |
| 1回だけ動かす | WavePlayerの track.Looped = true の行 | track.Looped = false に書きかえる。この行が true のままだと、アニメーションのループのボタンをオフにしても、くり返して動く |
速さを変えるときは、先にキーフレームを動かします。全体の長さ(アニメーション編集の上の「0 / 1」の右の数字)を先に「0.5」にしようとしても、1の位置にキーフレームが残っているので、「1」に戻ってしまいます。
- Rotationなどの項目の右にある時間の線で、0.5の位置のひし形をマウスで押したまま、0.25の位置までドラッグします
- 1の位置のひし形を、同じように0.5の位置までドラッグします
- 時間の線の何もない所を押して、ひし形を選んでいない状態にします。そのあと「0 / 1」の右の数字を押して「0.5」と入れ、Tabキーを押します
動きを直したら、もう一度「保存」と「Robloxに公開」をします。新しく公開するとIDが変わるので、WaveAnimのAnimationIdも新しいIDに入れかえます。
動きが再生されないときの確かめ方
| 症状 | 見るところ | 直し方 |
|---|---|---|
| 人形がまったく動かない | AnimationId | 「rbxassetid://」のあとに、公開したときのIDの数字が入っているか |
| 出力に「Infinite yield possible」と出る | 名前 | Dancerの中に「WaveAnim」と「Humanoid」があるか。この表示の読み方はInfinite yield possibleの直し方で解説しています |
| テストを始めると人形が倒れる | HumanoidRootPart | Anchoredにチェックが入っているか |
| アニメーション編集に人形が出ない | 選び方 | 3D画面で人形を押して選んだか |
AIに相談するときの伝え方
Roblox Studioでアニメーションを作っています。
アニメーション編集で作った動きをRobloxに公開し、リグ「Dancer」の中のAnimation「WaveAnim」のAnimationIdに入れました。
Dancerの中のScript(RunContext Server)で、Humanoid.Animator:LoadAnimationで読み込み、Looped=trueでPlayしています。
プレイヤーが近づいたときだけ手を振るようにしたいです。
よくある質問
作品をRobloxに保存しないと、アニメーションは作れない?
アニメーション編集で動きを作って「保存」するところまでは、作品の中だけでできます。Robloxの公式の説明によると、ゲームで使うときは「Robloxに公開」した動きを使います。この記事では、作った動きをゲームで確かめられるように、最初に作品を保存しました。
プレイヤーの走り方やジャンプも変えられる?
Robloxの公式の説明によると、走る・跳ぶなどの決まった動きを置きかえることもできます。この記事では、人形(NPC)の動きだけを確かめました。
次は、触るとはじける粒と、ゴールへの光の線を作ります。次のステップ(上級 5/40)
次に知りたいことを選ぶ
- 次のステップ:触るとはじける粒と、ゴールへの光の線を作ります → ロブロックス(Roblox)のエフェクトの作り方
- 人形に話しかけられるようにしたい → ロブロックス(Roblox)スタジオでNPCを作る方法
- 近づくと開くドアを作りたい → ロブロックス(Roblox)スタジオでドアを作る方法
- お店の画面を作りたい → ロブロックス(Roblox)スタジオでショップを作る方法