アニメーションの実行中にそのマーカーを検出するために、タイムラインスパンにアニメーションイベントマーカーを定義し、GetMarkerReachedSignal()を使用できます。
デフォルトでは、イベントトラックは表示されていません。イベントトラックを表示するには:
タイムラインの右側に移動し、設定アイコンをクリックします。ポップアップメニューが表示されます。

アニメーションイベントを表示を選択します。これにより、メディアおよび再生コントロールのすぐ下にアニメーションイベントバーが開きます。

イベントの作成
イベントマーカーはアニメーションイベントが始まる場所の視覚的インジケーターです。イベントマーカーを作成した後は、タイムライン上の任意のフレーム位置に移動させることができます。
新しいイベントマーカーを作成するには:
タイムラインに移動し、スクラバーをクリックしてドラッグしてイベントが発生するフレーム位置に移動させます。
イベントトラックに移動し、アニメーションイベントを編集ボタンをクリックします。

ダイアログで、+ イベントを追加をクリックし、イベント名を入力します。
- 任意パラメーターフィールドに、イベントのためのパラメータ文字列を入力します。
保存ボタンをクリックします。タイムライン内のイベントバーに、新しいマーカーシンボルがフレーム位置に表示されます。

イベントの検出
LocalScriptでアニメーションイベントを検出するには、GetMarkerReachedSignal()関数に関数を接続します。例えば:
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- 新しい "Animation" インスタンスを作成
local walkAnim = Instance.new("Animation")
-- 対応するアニメーションアセットIDに "AnimationId" を設定
walkAnim.AnimationId = "rbxassetid://5432167890"
-- アニメーターにアニメーションを読み込む
local walkAnimTrack = animator:LoadAnimation(walkAnim)
-- 特定の名前付きキーフレームに "GetMarkerReachedSignal" イベントを接続
walkAnimTrack:GetMarkerReachedSignal("FootStep"):Connect(function(paramString)
print(paramString)
end)
イベントの重複
イベントを作成すると、それらは元の作成位置だけでなく、アニメーション全体で使用可能になります。たとえば、キャラクターの左足が地面に着くポイントでFootStepイベントマーカーを作成し、その後キャラクターの右足が地面に着くときに同じイベントを使用できます。
イベントを複製するには:
イベントバーのイベントマーカーを右クリックし、コンテキストメニューから選択したものをコピーを選択します。

タイムラインの別の時間を右クリックし、イベントを貼り付けを選択します。コピーしたイベントは、クリックした位置に最も近い時間位置に挿入されます。
- 任意元のイベントがパラメーターを使用しているが、複製されたイベントが変更されたパラメーターを使用する必要がある場合、次の手順を実行します:
- 複製されたイベントマーカーを右クリックし、コンテキストメニューからアニメーションイベントを編集を選択します。アニメーションイベントの編集ダイアログが表示されます。
- 変更を行い、保存ボタンをクリックします。