動畫事件

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

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

顯示事件

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

  1. 導航到 時間線 的右邊,然後點擊 裝備 圖示。一個Pop-up菜單會顯示。

  2. 選擇 顯示動畫事件 。這會在媒體和播放控制直接下方的 動畫事件 欄中打開。

您現在可以 創建、檢測 和 複製 事件。

創建事件

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

要創建新的事件標記:

  1. 導航至時間條,然後按一下並拖曳清除器到框位位置,在事件發生時將其拖曳到位置。

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

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

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

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

偵測事件

要偵測 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")
-- 建立新 "動畫" 實個體、實例
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)

重複事件

當您創建事件時,它們會在整個動畫中提供使用,不僅在您原創的位置,而是在角色的 腳觸地時,然後使用相同的事件來在角色的 腳觸地時使用。例個體、實例,您可以在角色的 左 腳觸地時創建一個 1>腳步1> 事件標

要複製事件:

  1. 導航到 時間條 ,然後在 事件條 中單擊一個 事件標記

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

  3. 按一下並拖曳 掃描機 到你想要複製事件的框位。

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

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

  1. 右鍵單擊複製的事件標記。一個 pop-up 菜單顯示。
  2. 選擇 編輯動畫 事件。顯示 編輯動畫事件 對話框。
  3. 然後按一下 儲存 按鈕。