時間軸のスペンでアニメーションの イベントマーカー を定義し、GetMarkerReachedSignal() を使用して、それらのマーカーをアニメーションが実行されるときに検出できます。
イベントを表示
デフォルトで、イベントトラックは表示されません。イベントトラックを表示するには:
ナビゲート to the right of the timeline , then click the Gear アイコン。ポップアップメニューが表示されます。
Select アニメーションイベントを表示 。これにより、 アニメーションイベント バーがメディアと再生コントロールの直接下に開きます。
あなたは以下を作成できます:create、detect、およびduplicateイベント。
イベントの作成
イベントマーカーは、アニメーションイベントが開始する場所の視覚的なインジケーターです。イベントマーカーを作成した後、Timeline の任意のフレームポジションに移動できます。
新しいイベントマーカーを作成するには:
ナビゲート to the タイムライン , then click-and-drag the スクラベラ to the frame position where the event should occur.
ナビゲート to the イベントトラック , then click the イベント編集ツール ボタン。 The 編集アニメーションイベント ダイアログが表示されます。
In the 編集アニメーションイベント ダイアログ, click イベントを追加 , then enter an event name.
(オプション) イベントのパラメーターストリングを入力する パラメーター フィールドに入力します。
クリックします[保存]ボタン。 イベントバー内のフレームポジションで新しいマーカーシンボルが表示されます。
イベントを検知する
Class.LocalScript でアニメーションイベントを検出するには、GetMarkerReachedSignal() の AnimationTrack 機能に関数を接続します。たとえば:
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")
-- 新しい「アニメーション」インスタンスを作成
local walkAnim = Instance.new("Animation")
-- 「AnimationId」を対応するアニメーションアセット ID に設定
walkAnim.AnimationId = "rbxassetid://5432167890"
-- アニメーターにアニメーションをロードする
local walkAnimTrack = animator:LoadAnimation(walkAnim)
-- 「GetMarkerReachedSignal」イベントを特定の名前のキーフレームに接続する
walkAnimTrack:GetMarkerReachedSignal("FootStep"):Connect(function(paramString)
print(paramString)
end)
イベントを複製する
イベントを作成すると、フレーム位置で作成した場所以外のすべてのアニメーションで使用できます。たとえば、「足踏み」イベントマーカーを、キャラクターの左足が下に着地するポイントで作成し、その後、キャラクターの右足が下に着地するポイントで同じイベントを使用できます。
イベントを複製するには:
ナビゲート to the timeline , then click an イベントマーカー in the イベントバー .
Press Ctrl C ( ⌘ C on Mac).
クリックしてドラッグして スクラベル をフレームポジションにクリックして、イベントを複製したい場所に дублиケートします。
Press Ctrl V ( ⌘ V on Mac).
オリジナルのイベントがパラメーターを使用する場合、重複するイベントは変更されたパラメーターを使用する必要があります。次のステップを実行してください:
- 複製されたイベントマーカーを右クリックします。ポップアップメニューが表示されます。
- Select アニメーションの編集 イベント。 アニメーションの編集イベント ダイアログが表示されます。
- 変更を加えたら、 保存 ボタンをクリックします。