アニメーションを追加する

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

ゲーム内のアニメーションを実装するには、スクリプトを使用します。このチュートリアルでは、プレイヤーが遊び終えた後に実装される勝利アニメーションを挙げます。完了したら、このアニメーションを使用してプレイヤーの達成を祝うことができます。

スクリプトアニメーション

アニメーションは スクリプトを使用してアニメーションをトリガーする。 1つのアプローチは、プレイヤーがレベルを終了する、敵を倒す、またはゲーム内の購入を行うなど、さまざまな状況でアニメーションをプレイすることです。

プロジェクトを設定する

このプロジェクトでは、タッチするとプレイヤーのアニメーションをトリガーするパーツを作成します。

  1. アニメーションをプレイするすべてのパーツを整理するには、ワークスペースにフォルダを追加します(ワークスペースの上にマウスポイントを置き、+ をクリック) に名前付けられた TouchPartFolder という名前のフォルダを作成します。

  2. In TouchPartFolder に、パーツを追加します。

    アニメーションが意味のある場所に部品が配置されていることを確認してください。たとえば、レベルの終わりやプレイヤーが集めるオブジェクトの近くなどです。

    勝利のパーツの例
    インタラクションパーツの例
  3. StarterPlayer > StarterCharacterScripts で、TouchPartRegister という名前のローカルスクリプトを作成します。その後、以下のコードをコピーして入力します。


    -- 「PlayerAnimationFeedback」スクリプトを使用して、部品のタッチにアニメーションをプレイする
    -- サービス
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local humanoid = character:WaitForChild("Humanoid")
    local canTouch = false
    -- フィードバックアニメーションモジュールを含める
    local PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))
    -- パーツにタッチされたときに呼び出される関数
    local function onPartTouch(otherPart)
    if humanoid and canTouch == false then
    canTouch = true
    PlayerAnimationFeedback:PlayAnimation()
    canTouch = false
    end
    end
    -- 起動時、アニメーションモジュールの読み込み関数を呼び出します
    PlayerAnimationFeedback:LoadAnimation(humanoid)
    -- また、「Touched」イベントにフォルダのパーツをバインドして「onPartTouch()」を実行する
    local touchPartFolder = workspace:WaitForChild("TouchPartFolder")
    local touchParts = touchPartFolder:GetChildren()
    for _, touchPart in touchParts do
    touchPart.Touched:Connect(onPartTouch)
    end

    このスクリプトは、TouchPartFolder のすべてのパーツを見つけ、Touched() イベントを与えます。発動時、イベントはプレイヤーのためのアニメーションをプレイする関数を実行します。

  4. 次のスクリプトはプレイヤーのアニメーションをトリガーします。ReplicatedStorage で、PlayerAnimationFeedback という名前の新しいモジュールスクリプトを作成します。その後、コードをコピーして以下に入力します。


    -- 「TouchPartRegister」スクリプトを使用してプレイヤーにアニメーションをプレイする
    local PlayerAnimationFeedback = {}
    local feedbackAnimationTrack
    local ANIMATION_FADE = 0.3
    local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"
    -- プレイヤーのキャラクターにアニメーションをロードする機能
    function PlayerAnimationFeedback:LoadAnimation(humanoid)
    local feedbackAnimation = Instance.new("Animation")
    feedbackAnimation.AnimationId = ANIMATION_ID
    feedbackAnimationTrack = humanoid.Animator:LoadAnimation(feedbackAnimation)
    feedbackAnimationTrack.Priority = Enum.AnimationPriority.Action
    feedbackAnimationTrack.Looped = false
    end
    -- アニメーションを再生する機能
    function PlayerAnimationFeedback:PlayAnimation()
    feedbackAnimationTrack:Play(ANIMATION_FADE)
    task.wait(feedbackAnimationTrack.Length)
    end
    return PlayerAnimationFeedback

アニメーションを再生する

アニメーションは、スクリプトで識別され、読み込まれ、プレイされなければなりません。

アニメーションの設定

スクリプトはプレイするアニメーションを知る必要があります。エクスポートされたアニメーションを使用するには、ウェブブラウザでその アセット ID を見つけます。その ID は、そのアニメーションをスクリプトで読み込むことができるようになります。

  1. Create ページの アニメーション セクションを開きます。

  2. エクスポートされたアニメーションを見つけてクリックします。

  3. ブラウザの URL から ID をコピーします。

  4. スクリプトで、PlayerAnimationFeedback を置き換え、YOUR_ANIMATION (ライン 8) にコピーした ID を入力します。

  5. プロジェクトを実行し、プレイヤーがパーツに到達すると、アニメーションを見る。

次のステップ

次の方法のいくつかで続けて学びましょう

アニメーションについて学びましょう

まだ、アニメーションを作成し、エクスペリエンスに追加する方法を学びました。続けて学ぶには、アニメーション 概要を訪問することをお勧めします。

そのページでは、アニメーションを改善するための便利なリンクを見つけることができます。たとえば、曲線エディタを使用してスムーズな動作をサポートするために、またはアニメーションを精製するためのヒントを提供しています。

アニメートパーツ

さらに、オプションレッスン アニメーションパーツ を開始して、ティーンをコード化する方法を学びましょう、サーバースケール、回転、および移動をサポートする機能。最終プロジェクトのサンプルは次のところにあります。