Wydarzenia animacji

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Możesz zdefiniować animację wydarzeń znaczników w całym okresie czasu i użyć GetMarkerReachedSignal() aby wykryć te znaczniki, gdy animacja biega.

Pokazywanie wydarzeń

Domyślnie nie jest widoczna ścieżka wydarzeń. Aby pokazać ścieżkę wydarzeń:

  1. Przejdź do prawego kalendarza, a następnie kliknij na ikę ikona. Wyświetli się menu.

  2. Wybierz Pokaż wydarzenia animacji . Otwiera to Animacje wydarzenia bar bezpośrednio pod wtyczkami mediów i sterowania elementy sterujące.

Możesz teraz tworzyć, wykrywać i duplikować wydarzenia.

Tworzenie wydarzeń

Markery wydarzeń są wizualnymi wskazówkami, w których pojawia się wydarzenie animacji. Po utworzeniu znaku wydarzenia możesz go przesunąć do dowolnej pozycji na pasku czasu.

Aby utworzyć nowy identyfikator wydarzenia:

  1. Przejdź do linii czasowej, a następnie kliknij i przeciągnij ścieraczka do pozycji ramy, w której powinno się występowaćwydarzenie.

  2. Przejdź do toru wydarzeń, a następnie kliknij przycisk Edytuj wydarzenia animacji. Wyświetlana jest Edytuj wydarzenia animacji okienko dialogowe.

  3. W dialogu Edytuj wydarzenia animacji, kliknij + Dodaj wydarzenie, a następnie wpisz imię wydarzenia.

  4. (Opcjonalne) W polu Parametr wpisz stronę parametru dla wydarzenia.

  5. Kliknij przycisk Zapisz. W oknie wydarzeń w pozycji klatki ramowej wyświetla się nowy znak zapisu.

Wykrywanie wydarzeń

Aby wykryć wydarzenia animacji w LocalScript , połącz funkcję z funkcją GetMarkerReachedSignal() funkcji AnimationTrack . Na przykład:


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")
-- Utwórz nową instancja"Animacji"
local walkAnim = Instance.new("Animation")
-- Ustaw "AnimationId" na odpowiadającym ID animacji
walkAnim.AnimationId = "rbxassetid://5432167890"
-- Załaduj animację na animatorze
local walkAnimTrack = animator:LoadAnimation(walkAnim)
-- Połącz wydarzenie "GetMarkerReachedSignal" z określonym, nazwanym kluczowym ramieniem
walkAnimTrack:GetMarkerReachedSignal("FootStep"):Connect(function(paramString)
print(paramString)
end)

Duplikowanie wydarzeń

Gdy tworzysz wydarzenia, stają się one dostępne do użycia przez całą animacja, nie tylko w pozycji klatki, w której pierwotnie je stworzyłeś. Na instancjamożesz utworzyć znacznik wydarzenia "FootStep" na pozycji, w której kiedykolwiek dotknie się noga postaci, a następnie użyć tego samego znacznika wydarzenia, gdy kiedykolwiek dotknie się noga postaci.

Aby duplikować wydarzenie:

  1. Przejdź do linii czasowej, a następnie kliknij znacznik wydarzenia w szklepie wydarzeń.

  2. Naciśnij CtrlC ( C na Mac).

  3. Kliknij i przeciągnij ścieraczka do pozycji ramy, w której chcesz duplikować wydarzenie.

  4. Naciśnij CtrlV ( V na Mac).

Jeśli oryginalne wydarzenie używa parametru, ale duplikowane wydarzenie używa zmodyfikowanego parametru, wykonaj następujące kroki:

  1. Kliknij prawym przyciskiem na duplikowanym znaczniku wydarzenia. Wyświetla się menu pop-up.
  2. Wybierz Edytuj Animację Event. The Edytuj Animację Event dialog displays.
  3. Zmierz swoje zmiany, a następnie kliknij przycisk Zapisz .