動畫事件

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

您可以在時間範圍內定義動畫 事件標記 並使用 GetMarkerReachedSignal() 來偵測這些標記在動畫運行時。

顯示事件

預設情況下,事件追蹤不可見。要顯示事件追蹤:

  1. 導航到 時間線 右側,然後單擊 裝備 圖示。一個彈出菜單顯示。

  2. 選擇 顯示動畫事件 。這會直接開啟 動畫事件 欄位在媒體和播放控制之下。

您現在可以創建偵測重複事件。

創建事件

事件標記是動畫事件開始的視覺指標。創建事件標記後,您可以將其移動到時間線上的任何框架位置。

要創建新的事件標記:

  1. 導航到 時間線 ,然後單擊並拖動 抹除器 到事件應發生的框架位置。

  2. 導航到 事件追蹤 ,然後單擊 編輯動畫事件 按鈕。顯示 編輯動畫事件 對話框。

  3. 編輯動畫事件 對話框中,點擊 +新增事件 ,然後輸入一個事件名稱。

  4. (可選)參數 欄中,輸入事件的參數字串。

  5. 點擊 儲存 按鈕。在時間線內的事件欄中,新的標記符號在框位置顯示。

偵測事件

要在 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)

重複事件

當您創建事件時,它們將在整個動畫期間可用,不僅在您最初創建它們的框位置。例個體、實例,你可以在角色的 左腳落地 時創建一個「腳步」事件標記,然後在角色的 右腳落地 時使用相同的事件。

要複製事件:

  1. 導航到 時間線 ,然後在 事件欄 中點擊一個 事件標記

  2. 按下 Ctrl C (在 Mac 上按 C)。

  3. 點擊並拖動 清潔器 到你想要複製事件的框位置。

  4. 按下 Ctrl V (在 Mac 上按 V)。

如果原始事件使用參數,但複製的事件應使用修改的參數,請執行以下步驟:

  1. 右鍵單擊複製的事件標記。一個彈出菜單顯示。
  2. 選擇 編輯動畫 事件。顯示 編輯動畫事件 對話框。
  3. 做出變更,然後點擊 儲存 按鈕。