タイムラインスパン全体でアニメーション イベントマーカー を定義し、GetMarkerReachedSignal() を使用して、アニメーションが実行されるときにそれらのマーカーを検出できます。
イベントを表示
デフォルトでは、イベントトラックは表示されません。イベントトラックを表示するには:
ナビゲート to the right of the タイムライン , then click the ギア アイコン。ポップアップメニューが表示される
Select アニメーションイベントを表示 。これにより、メディアと再生コントロールの下に直接 アニメーションイベント バーが開きます。
イベントを作成
イベントマーカーは、アニメーションイベントが開始する場所の視覚的な指標です。イベントマーカーを作成した後、タイムラインの任意のフレームポジションに移動できます。
新しいイベントマーカーを作成するには:
ナビゲート to the タイムライン 、 then click-and-drag the スクラバー to the frame position where the event should occur。
ナビゲート to the イベントトラック , then click the アニメーションイベントを編集 button. The アニメーションイベントを編集 dialog displays.
アニメーションイベントの編集 ダイアログで、 + イベントを追加 をクリックし、イベント名を入力します。
(オプション) イン パラメータ フィールドに、イベントのパラメーターストリングを入力します。
クリックする 保存 ボタン。タイムライン内のイベントバーに新しいマーカーシンボルがフレーム位置に表示されます。
イベントを検出
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")
-- 「アニメーションID」を対応するアニメーションアセット IDに設定
walkAnim.AnimationId = "rbxassetid://5432167890"
-- アニメーターにアニメーションをロードする
local walkAnimTrack = animator:LoadAnimation(walkAnim)
-- 「GetMarkerReachedSignal」イベントを特定の名前のキーフレームに接続する
walkAnimTrack:GetMarkerReachedSignal("FootStep"):Connect(function(paramString)
print(paramString)
end)
イベントを複製する
イベントを作成すると、フレーム位置で最初に作成したのとは異なり、全体のアニメーション中に使用できるようになります。たとえば、キャラクターの 足が下がった 地点で「フットステップ」イベントマーカーを作成し、キャラクターの 右足が下がった 時に同じイベントを使用できます。
イベントを複製するには:
ナビゲート to the タイムライン 、 then click an イベントマーカー in the イベントバー 。
プレス Ctrl C ( ⌘ C オン Mac)。
クリックしてドラッグして スクラバー をフレームの位置に移動し、イベントを複製したい位置に配置します。
プレス Ctrl V ( ⌘ V オン Mac)。
オリジナルのイベントがパラメータを使用しているが、複製されたイベントは変更されたパラメータを使用する必要がある場合は、次の手順を実行してください:
- 複製されたイベントマーカーを右クリックします。ポップアップメニューが表示されます。
- アニメーション編集 イベントを選択。 アニメーション編集イベント ダイアログが表示されます。
- 変更を行ってから、 保存 ボタンをクリックします。