ゲーム内のアニメーションを実装するには、スクリプトを使用します。このチュートリアルでは、プレイヤーが遊び終えた後に実装される勝利アニメーションを挙げます。完了したら、このアニメーションを使用してプレイヤーの達成を祝うことができます。
スクリプトアニメーション
アニメーションは スクリプトを使用してアニメーションをトリガーする。 1つのアプローチは、プレイヤーがレベルを終了する、敵を倒す、またはゲーム内の購入を行うなど、さまざまな状況でアニメーションをプレイすることです。
プロジェクトを設定する
このプロジェクトでは、タッチするとプレイヤーのアニメーションをトリガーするパーツを作成します。
アニメーションをプレイするすべてのパーツを整理するには、ワークスペースにフォルダを追加します(ワークスペースの上にマウスポイントを置き、+ をクリック) に名前付けられた TouchPartFolder という名前のフォルダを作成します。
In TouchPartFolder に、パーツを追加します。
アニメーションが意味のある場所に部品が配置されていることを確認してください。たとえば、レベルの終わりやプレイヤーが集めるオブジェクトの近くなどです。
StarterPlayer > StarterCharacterScripts で、TouchPartRegister という名前のローカルスクリプトを作成します。その後、以下のコードをコピーして入力します。
-- 「PlayerAnimationFeedback」スクリプトを使用して、部品のタッチにアニメーションをプレイする-- サービスlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local Players = game:GetService("Players")local player = Players.LocalPlayerlocal 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 thencanTouch = truePlayerAnimationFeedback:PlayAnimation()canTouch = falseendend-- 起動時、アニメーションモジュールの読み込み関数を呼び出しますPlayerAnimationFeedback:LoadAnimation(humanoid)-- また、「Touched」イベントにフォルダのパーツをバインドして「onPartTouch()」を実行するlocal touchPartFolder = workspace:WaitForChild("TouchPartFolder")local touchParts = touchPartFolder:GetChildren()for _, touchPart in touchParts dotouchPart.Touched:Connect(onPartTouch)endこのスクリプトは、TouchPartFolder のすべてのパーツを見つけ、Touched() イベントを与えます。発動時、イベントはプレイヤーのためのアニメーションをプレイする関数を実行します。
次のスクリプトはプレイヤーのアニメーションをトリガーします。ReplicatedStorage で、PlayerAnimationFeedback という名前の新しいモジュールスクリプトを作成します。その後、コードをコピーして以下に入力します。
-- 「TouchPartRegister」スクリプトを使用してプレイヤーにアニメーションをプレイするlocal PlayerAnimationFeedback = {}local feedbackAnimationTracklocal ANIMATION_FADE = 0.3local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"-- プレイヤーのキャラクターにアニメーションをロードする機能function PlayerAnimationFeedback:LoadAnimation(humanoid)local feedbackAnimation = Instance.new("Animation")feedbackAnimation.AnimationId = ANIMATION_IDfeedbackAnimationTrack = humanoid.Animator:LoadAnimation(feedbackAnimation)feedbackAnimationTrack.Priority = Enum.AnimationPriority.ActionfeedbackAnimationTrack.Looped = falseend-- アニメーションを再生する機能function PlayerAnimationFeedback:PlayAnimation()feedbackAnimationTrack:Play(ANIMATION_FADE)task.wait(feedbackAnimationTrack.Length)endreturn PlayerAnimationFeedback
アニメーションを再生する
アニメーションは、スクリプトで識別され、読み込まれ、プレイされなければなりません。
アニメーションの設定
スクリプトはプレイするアニメーションを知る必要があります。エクスポートされたアニメーションを使用するには、ウェブブラウザでその アセット ID を見つけます。その ID は、そのアニメーションをスクリプトで読み込むことができるようになります。
Create ページの アニメーション セクションを開きます。
エクスポートされたアニメーションを見つけてクリックします。
ブラウザの URL から ID をコピーします。
スクリプトで、PlayerAnimationFeedback を置き換え、YOUR_ANIMATION (ライン 8) にコピーした ID を入力します。
プロジェクトを実行し、プレイヤーがパーツに到達すると、アニメーションを見る。
次のステップ
次の方法のいくつかで続けて学びましょう
アニメーションについて学びましょう
まだ、アニメーションを作成し、エクスペリエンスに追加する方法を学びました。続けて学ぶには、アニメーション 概要を訪問することをお勧めします。
そのページでは、アニメーションを改善するための便利なリンクを見つけることができます。たとえば、曲線エディタを使用してスムーズな動作をサポートするために、またはアニメーションを精製するためのヒントを提供しています。
アニメートパーツ
さらに、オプションレッスン アニメーションパーツ を開始して、ティーンをコード化する方法を学びましょう、サーバースケール、回転、および移動をサポートする機能。最終プロジェクトのサンプルは次のところにあります。