アニメーションを使用

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

アニメーションを作成したら、スクリプトを使ってエクスペリエンスに含める必要があります。スクリプトから手動でアニメーションを再生するか、プレイヤーキャラクターのデフォルトアニメーションを置き換えるか、またはスクリプトからデフォルトアニメーションを再生することもできます。

スクリプトからアニメーションを再生

たとえば、ユーザーが特定のキーを押すか、特別なアイテムを拾うといった場合、スクリプト内で直接アニメーションを再生する必要があります。

ヒューマノイド

タイプ的なプレイ可能なキャラクターを含むリグでアニメーションを再生するには、次の基本パターンに従ってください:

  1. ローカルプレイヤーの HumanoidAnimator オブジェクトが含まれていることを確認します。
  2. 正しい で新しいインスタンスを作成します。
  3. Animator:LoadAnimation() を介してアニメーションをロードして、AnimationTrack を作成します。
  4. AnimationTrack:Play() でトラックを再生します。

たとえば、次の LocalScriptStarterPlayerScripts に配置すると、プレイヤーのキャラクターに "外すick" アニメーションをロードして再生します。スクリプトはまた、特定の GetMarkerReachedSignal() アニメーションイベントが発生したときを検出するために アニメーションイベント メソッドを使用します。

ローカルスクリプト - プレイヤーキャラクターにカスタムアニメーションを再生する

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
-- キャラクターのヒューマノイドに "Animator" オブジェクトが含まれていることを確認
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- 新しい「アニメーション」インスタンスを作成して、アニメーションアセット ID を割り当てる
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- アニメーターにアニメーションをロードする
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- アニメーショントラックを再生する
kickAnimationTrack:Play()
-- 名前の付いたイベントがアニメーションで定義された場合、「GetMarkerReachedSignal()」に接続します
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)

非ヒューマノイド

アニメーションを再生するには、 含まない リグで、子供の を持つ を作成する必要があります。たとえば、次の Script (リグの直接の子供と推定される)は、「キック」アニメーションをロードし、それを再生します。

スクリプト - キャラクターリグでカスタムアニメーションを再生

local rig = script.Parent
-- 新しい「アニメーション」インスタンスを作成して、アニメーションアセット ID を割り当てる
local kickAnimation = Instance.new("Animation")
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- 新しい "AnimationController" と "Animator" を作成
local animationController = Instance.new("AnimationController")
animationController.Parent = rig
local animator = Instance.new("Animator")
animator.Parent = animationController
-- アニメーターにアニメーションをロードする
local kickAnimationTrack = animator:LoadAnimation(kickAnimation)
-- アニメーショントラックを再生する
kickAnimationTrack:Play()
-- 名前の付いたイベントがアニメーションで定義された場合、「GetMarkerReachedSignal()」に接続します
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)

デフォルトアニメーションを置き換える

デフォルトでは、Roblox プレイヤーキャラクターには、走る、登る、泳ぐ、ジャンプなどの一般的なアニメーションが含まれています。これらの デフォルトアニメーションカタログ からのアニメーション、または自分の カスタム アニメーションで置き換えることができます。

  1. 新しいアニメーションの アセットID を以下のように取得する:

  2. エクスプローラー ウィンドウで、 サーバースクリプトサービス に新しい を追加します。

    1. Hover over ServerScriptService とクリックする ⊕ ボタン。
    2. コンテキストメニューから、 スクリプト を挿入します。
  3. 新しいスクリプトでは、次のコードを貼り付けます:

    スクリプト - デフォルトキャラクターアニメーションを置換

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- ヒューマノイドでアニメーターを取得
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- すべてのアニメーショントラックを停止
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    --animateScript.run.RunAnim.AnimationId = "rbxassetid://"
    --animateScript.walk.歩行alkAnim.AnimationId = "rbxassetid://"
    --animateScript.jump.JumpAnim.AnimationId = "rbジャンプassetid://"
    --animateScript.待機dle.Animation1.AnimationId = "rbxassetid://"
    --animateScript.待機dle.Animation2.AnimationId = "rbxassetid://"
    --animateScript.落下all.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.水泳im.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.climb.登るlimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  4. 各行に デフォルトキャラクターアニメーション を参照するためのコメントを解除し、rbxassetid:// の後に置換 IDを貼り付けます。たとえば、デフォルトの実行アニメーションを ニンジャラン バリアントに変更するには:

    スクリプト - デフォルトキャラクターアニメーションを置換

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    -- ヒューマノイドでアニメーターを取得
    local humanoid = character:WaitForChild("Humanoid")
    local animator = humanoid:WaitForChild("Animator")
    -- すべてのアニメーショントラックを停止
    for _, playingTrack in animator:GetPlayingAnimationTracks() do
    playingTrack:Stop(0)
    end
    local animateScript = character:WaitForChild("Animate")
    animateScript.run.RunAnim.AnimationId = "rbxassetid://656118852"
    --animateScript.walk.歩行alkAnim.AnimationId = "rbxassetid://"
    --animateScript.jump.JumpAnim.AnimationId = "rbジャンプassetid://"
    --animateScript.待機dle.Animation1.AnimationId = "rbxassetid://"
    --animateScript.待機dle.Animation2.AnimationId = "rbxassetid://"
    --animateScript.落下all.FallAnim.AnimationId = "rbxassetid://"
    --animateScript.水泳im.Swim.AnimationId = "rbxassetid://"
    --animateScript.swimidle.SwimIdle.AnimationId = "rbxassetid://"
    --animateScript.climb.登るlimbAnim.AnimationId = "rbxassetid://"
    end
    local function onPlayerAdded(player)
    player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)

アニメーション重量を設定

同じアクションに複数のアニメーションを使用できます。たとえば、コードサンプルで idle の 2 種類の変化があり、デフォルトのアニメーションを置換する

キャラクター状態に複数のアニメーションが存在する場合、 アニメート スクリプトはランダムにどれを再プレイするかを選択しますが、アニメーションの Weight 値を次の式で設定することで結果に影響を与えることができます:

  • アニメーション重量/すべての状態アニメーションの総重量 次の例では、idle.Animation1 がキャラクターが待機している時間の ⅓ を再生し、idle.Animation2 が ⅔ の時間を再生します。
スクリプト - デフォルトキャラクターアニメーションを置換

animateScript.idle.Animation1.AnimationId = "rbxassetid://656117400"
animateScript.idle.Animation2.AnimationId = "rbxassetid://656118341"
animateScript.idle.Animation1.Weight.Value = 5
animateScript.idle.Animation2.Weight.Value = 10

アニメーションの参照

デフォルトキャラクターアニメーション

次の表には、カタログアニメーションまたは自分のカスタムアニメーションで置き換えることができるデフォルトのキャラクターアニメーションがすべて含まれています。注意してください、 待機 には、より多くまたはより少なく頻繁にプレイするために 重量 を変更できる 2つの変種があります。

キャラクターアクショ操作スクリプト参照をアニメート
実行 animateScript.run.RunAnim.AnimationId
歩く animateScript.walk.WalkAnim.AnimationId
ジャンプ animateScript.jump.JumpAnim.AnimationId
待機

animateScript.idle.Animation1.AnimationId animateScript.idle.Animation2.AnimationId

落ちる animateScript.fall.FallAnim.AnimationId
泳ぐ

animateScript.swim.Swim.AnimationId

泳ぐ (待機)

animateScript.swimidle.SwimIdle.AnimationId

登る animateScript.climb.ClimbAnim.AnimationId

カタログアニメーション

アバターアニメーションバンドルを使用して デフォルトのアニメーションを置き換える ときは、それぞれのアセットIDに次の参照を使用します。たとえば、ニンジャジャンプアニメーションを適用したい場合は、656117878を使用します。注意してください、 待機 には複数の変種があります。

宇宙飛行士
実行 891636393
歩行 891636393
ジャンプ 891627522
待機 891621366, 891633237, 1047759695
落下 891617961
泳ぐ 891639666
泳ぐ (待機) 891663592
バブリー
実行 910025107
歩行 910034870
ジャンプ 910016857
待機 910004836, 910009958, 1018536639
待機 (待機) 910001910
泳ぐ 910028158
泳ぐ (待機) 910030921
カートゥーン
実行 742638842
歩行 742640026
ジャンプ 742637942
待機 742637544, 742638445, 885477856
待機 (待機) 742637151
泳ぐ 742639220
泳ぐ (待機) 742639812
エルダー
実行 845386501
歩行 845403856
ジャンプ 845398858
待機 845397899, 845400520, 901160519
落下 (待機) 845396048
泳ぐ 845401742
泳ぐ (待機) 845392038
騎士
実行 657564596
歩行 657552124
ジャンプ 658409194
待機 657595757, 657568135, 885499184
落下 (待機) 657600338
泳ぐ 657560551
泳ぐ (待機) 657557095
浮動
実行 616010382
歩行 616013216
ジャンプ 616008936
待機 616006778, 616008087, 886862142
落下 (待機) 616005863
泳ぐ 616011509
泳ぐ (待機) 616003713
魔法使い
実行 707861613
歩行 707897309
ジャンプ 707853694
待機 707742142, 707855907, 885508740
待機 (待機) 707829716
泳ぐ 707876443
泳ぐ (待機) 707894699
ニンジャ
実行 656118852
歩行 656121766
ジャンプ 656117878
待機 656117400, 656118341, 886742569
待機 (待機) 656115606, 656118341, 886742569
泳ぐ 656119721
泳ぐ (待機) 656121397
海賊
実行 750783738
歩行 750785693
ジャンプ 750782230
待機 750781874, 750782770, 885515365
待機 (待機) 750780242, 750782770, 885515365
泳ぐ 750784579
泳ぐ (待機) 750785176
ロボット
実行 616091570
歩行 616095330
ジャンプ 616088211, 616089559, 885531463
待機 616087089, 616089559, 885531463
泳ぐ 616087089
泳ぐ (待機) 616094091
泳ぐ (待機) 616086039
Rthro
実行 2510198475
歩行 2510202577
ジャンプ 2510197830
待機 2510197257, 2510196951, 3711062489
待機 (待機) 2510195892
泳ぐ 2510201162
泳ぐ (待機) 2510192778
スタイリッシュ
実行 616140816
歩行 616146177
ジャンプ 616139451
待機 616136790, 616138447, 886888594
落下 (待機) 616134815
泳ぐ 616143378
泳ぐ (待機) 616144772
スーパーヒーロー
実行 616117076
歩行 616122287
ジャンプ 616115533
待機 616111295, 616113536, 885535855
落下 (待機) 616108001, 616113536, 885535855
泳ぐ 616119360
泳ぐ (待機) 616120861
おもちゃ
実行 782842708
歩行 782843345
ジャンプ 782847020
待機 782841498, 782845736, 980952228
落下 (待機) 782846423
泳ぐ 782844582
泳ぐ (待機) 782845186
ヴァンパイア
実行 1083462077
歩行 1083473930
ジャンプ 1083455352
待機 1083445855, 1083450166, 1088037547
待機 (待機) 1083443587
泳ぐ 1083464683
泳ぐ (待機) 1083467779
ウェアウルフ
実行 1083216690
歩行 1083178339
ジャンプ 1083218792
待機 1083195517, 1083214717, 1099492820
待機 (待機) 1083189019
泳ぐ 1083222527
泳ぐ (待機) 1083225406
ゾンビ
実行 616163682
歩行 616168032
ジャンプ 616161997
待機 616158929, 616160636, 885545458
落下 (待機) 616157476
泳ぐ 616165109
泳ぐ (待機) 616166655