【Roblox Studio】Animation Eventsについて【AnimationEditor③】

Animation

1. イベントトリガーの実装方法

本記事では、AnimationEditorを使用して、アバターのアニメーションを作成する方法と、Animation Eventsの設定方法を詳しく解説します。具体的な手順とコードの実装を通じて、アニメーション中の特定のタイミングでイベントをトリガーする方法を学びます。

2. 使用する機能

・AnimationEditor
・Animation Events

3. 手順

まず、Roblox Studioを起動します。今回は、テンプレート「Baseplate」を使用します。

アバターを用意しましょう。「AVATER」タブから「RigBuilder」をクリックし、「Generate Rig」を選択。次に「Block Avatar」をクリックして、アバターを追加します。

すると、以下画像のようなアバターが追加されます。

「AVATER」タブから「AnimationEditor」をクリック。「AnimationEditor」ウィンドウが表示されます。

ここで先ほど追加したアバターをクリックし、アニメーション名を入力して”Create”をクリックします。

今回は、左腕を上げるアニメーションを作成してみましょう。左腕を動かすと、キーフレームが追加されます。

青いラインを動かして、左腕の角度を調整し、キーフレームを追加します。「Animation Editor」の再生マークをクリックして、動作を確認しましょう。

では、本題の「Animation Events」を見てみましょう。「Animation Editor」ウィンドウの右側の歯車マークをクリックすると、「Show Animation Events」が表示されます。

「Show Animation Events」をクリックすると、Animation Editorの上側にAnimation Eventsの行が追加されます。

設定したアニメーションの中でイベントを発生させる箇所を右クリックし、Add Animation Event Hereをクリックします。

すると、Edit Animation Eventsウィンドウが表示されます。
Event Nameにイベント名(event)を記入し、Saveをクリックします。

今回は、実際にゲームをプレイした状態でアニメーションを動作させるため、設定したアニメーションを保存していきます。Animation Editorの左側にある「…」マークをクリックし、Publish to Robloxをクリックします。

Titleを記入し、Submitをクリックします。

表示されるIDをコピーします。

アバター(Rig)の子要素にあるHumanoidの子要素にAnimationを追加します。AnimationのプロパティにあるAnimationIdに先ほどコピーしたIDを記入します。

Humanoidの子要素にScriptを追加し、以下のコードを記入します。また、さきほどのAnimationをScriptの子要素に移動させます。

local function onAnimationEvent()
	print("event")
end

local humanoid = script.Parent.Parent:WaitForChild('Humanoid')
local animation = script:WaitForChild('Animation')

local animationTrack = humanoid:LoadAnimation(animation)
animationTrack:GetMarkerReachedSignal("event"):Connect(onAnimationEvent)

wait(5)

animationTrack:Play()

上記コードの簡単な解説は以下となります。

  1. local function onAnimationEvent()
    onAnimationEventという関数を定義しています。この関数が呼び出されると、”event”という文字列を出力します。
  2. local humanoid = script.Parent.Parent:WaitForChild(‘Humanoid’)
    スクリプトの親の親オブジェクトからHumanoidという名前の子オブジェクトを探して、humanoidという変数に代入しています。
  3. local animation = script:WaitForChild(‘Animation’)
    スクリプトの子オブジェクトからAnimationという名前のオブジェクトを探して、animationという変数に代入しています。
  4. local animationTrack = humanoid:LoadAnimation(animation)
    humanoidオブジェクトのLoadAnimationメソッドを使用して、先ほど取得したanimationオブジェクトをロードし、その結果をanimationTrackという変数に代入しています。
  5. animationTrack:GetMarkerReachedSignal(“event”):Connect(onAnimationEvent)
    animationTrackのGetMarkerReachedSignalメソッドを使用して、”event”という名前のマーカーが到達したときのシグナルを取得し、そのシグナルにonAnimationEvent関数を接続しています。これにより、アニメーション中に”event”マーカーが到達したときに、onAnimationEvent関数が呼び出されます。
  6. wait(5)
    スクリプトの実行を5秒間一時停止します。
  7. animationTrack:Play()
    animationTrackのPlayメソッドを呼び出して、アニメーションを再生します。

    全体として、このコードは特定のアニメーションをロードし、5秒後にそのアニメーションを再生するものです。また、アニメーション中に”event”という名前のマーカーが到達したときには、”event”という文字列を出力します。

この状態でゲームをプレイしてみます。
アバターのアニメーションが実施され、Output(出力)ウィンドウに「event」と表示されれば、Animation Eventが正しく機能しています。

この記事を通じて、Roblox StudioのAnimationEditorを活用してアバターのアニメーションを作成する基本的な手順と、Animation Eventsの設定方法を学びました。特定のタイミングでイベントを発生させることで、ゲームのインタラクションをよりリッチにすることができます。

チュートリアル系電子書籍の紹介
Roblox Studioでゲーム制作を始めてみませんか?
日本語版 ※英語版あり 「10時間でできる Roblox Studio アクションゲーム制作入門」では、Roblox Studioでのゲーム制作の基本から応用までを短時間で効率的に学びます。この一冊で、初心者でも簡単にアクションゲームを制作できるようになり、ゲーム制作の面白さと達成感を存分に味わうことができます。Roblox Studioの世界への扉を開き、あなたのクリエイティブな旅を始めましょう。
Luaに関する電子書籍の紹介
Roblox Studioで使用するLua言語の基本を学ぼう!
日本語版 ※英語版あり 「5時間でできる Roblox Studio を使ったLuaの基本」では、Roblox Studioで使用するプログラミング言語Luaの基本をRoblox Studio上で学びます。また、学んだ知識を活かして、Roblox StudioでLuaを使用する応用部分も一部盛り込まれています。この一冊でLuaの基本を学ぶことで、よりRoblox Studioでのゲーム制作を楽しめるようになります。
アニメーション制作系電子書籍の紹介
Roblox Studioでアニメーションを作ってみよう!
「5時間でできる Roblox Studio アニメーション制作入門」では、Roblox Studioでのアニメーション制作の基本から実際に作るところまでを短時間で効率的に学びます。この一冊で、アニメーション制作の第一歩を踏み出すことができます。Roblox Studioで自由自在にアニメーションを作成し、よりクリエイティブなゲームを作りましょう!
AnimationAnimationsAvatarScripting
シェアする
hideをフォローする
Roblox Studio 制作tips

コメント

タイトルとURLをコピーしました