1. プレイヤーのランニングアニメーションの変更
本記事では、プレイヤーに最初から適用されているランニングアニメーションを他のランニングアニメーションに変更する方法を紹介します。その方法を学ぶことでプレイヤーのデフォルトアニメーション(歩行やジャンプなど)の変更方法を知ることができます。
2. 使用する機能
・Script
3. 手順
まず、Roblox Studioを起動します。今回は、テンプレート「Baseplate」を使用します。
エクスプローラーにあるServerScriptServiceの子要素にScriptを追加します。
Scriptに以下のコードを記入します。
local Players = game:GetService("Players")
local run = "rbxassetid://891636393"
local function applyRunAnimation(character)
local humanoid = character:WaitForChild("Humanoid")
local animate = character:WaitForChild("Animate")
animate.run.RunAnim.AnimationId = run
end
local function onPlayerAdded(player)
player.CharacterAppearanceLoaded:Connect(applyRunAnimation)
end
Players.PlayerAdded:Connect(onPlayerAdded)
上記コードの簡単な解説は以下となります。
- local Players = game:GetService(“Players”)
Playersサービスを取得し、それをローカル変数Playersに格納しています。このサービスを通じてプレイヤー関連のイベントにアクセスできます。 - local run = “rbxassetid://891636393”
ランニングアニメーションのアセットIDを文字列としてローカル変数runに格納しています。今回はAstronautのランニングアニメーションのアセットIDを使用しました。他のアニメーションのIDは、こちらに記載されています。Using Animations | 文書 – Roblox クリエーターハブ - local function applyRunAnimation(character)
キャラクターにランニングアニメーションを適用する関数applyRunAnimationを定義しています。 - local humanoid = character:WaitForChild(“Humanoid”)
キャラクターのHumanoidオブジェクトがロードされるのを待ち、それをローカル変数humanoidに格納します。 - local animate = character:WaitForChild(“Animate”)
キャラクターのAnimateスクリプトがロードされるのを待ち、それをローカル変数animateに格納します。 - animate.run.RunAnim.AnimationId = run
Animateスクリプト内のランニングアニメーションのIDを、先に定義したrun変数の値に設定しています。今回はランニングアニメーションの変更のため、RunAnimを変更しています。他にも、歩行アニメーションのWalkAnim、ジャンプアニメーションのJumpAnimなどがあります。 - local function onPlayerAdded(player)
プレイヤーがゲームに参加したときに呼び出される関数onPlayerAddedを定義しています。 - player.CharacterAppearanceLoaded:Connect(applyRunAnimation)
CharacterAppearanceLoadedイベントが発火した時(プレイヤーのキャラクターがロードされた時)、applyRunAnimation関数が呼ばれるように接続しています。 - Players.PlayerAdded:Connect(onPlayerAdded)
プレイヤーがゲームに追加されたときに、onPlayerAdded関数が呼び出されるようにPlayerAddedイベントに接続しています。
全体として、新しいプレイヤーがゲームに参加するたびに、そのプレイヤーのキャラクターのデフォルトのランニングアニメーションをカスタムのアニメーションに変更することです。
この状態でプレイしてみます。
プレイヤーのランニングアニメーションが変更されていれば成功です。
この記事を通じて、デフォルトアニメーションの変更方法を学びました。具体的には、スクリプトにより、プレイヤーのアニメーションを設定しているIDを他のIDに変更することで実現しています。
コメント