Dodaj animacje

*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.

Aby wdrożyć animacje w grze, użyj skryptów.W tym samouczku zaimplementujesz wcześniej stworzoną animację zwycięstwa za pomocą gotowego skryptu.Po zakończeniu ta animacja może być używana do świętowania osiągnięć gracza, takich jak dotarcie do końca obby lub znalezienie sekretu.

Animacje skryptów

Animacje są uruchamiane za pomocą skryptów .Jednym ze sposobów jest wykorzystanie wydarzeń do odtwarzania animacji w różnych sytuacjach, takich jak gracz kończy poziom, pokonuje wróg, przeciwniklub nawet dokonuje kupowaćw grze.

Ustaw projekt

W tym projekcie utworzysz części, które po dotknięciu uruchomią animację dla tego gracza.

  1. Aby zorganizować wszystkie części, które odtwarzają animacja, dodaj folder w przestrzeni roboczej (przejdź nad przestrzenią roboczą i kliknij +) o nazwie TouchPartFolder.

  2. W TouchPartFolder dodaj część.

    Upewnij się, że część jest umieszczona tam, gdzie odtwarzanie animacji będzie miało sens, na przykład na końcu poziomu lub w pobliżu obiektu, który zbierają gracze.

    Przykładowa część zwycięska
    >

    Przykład części interakcji
    >

  3. W StarterPlayer > StarterCharacterScripts utwórz lokalny skrypt o nazwie TouchPartRegister. Następnie skopiuj i wklej kod poniżej.


    -- Używany z skryptem "PlayerAnimationFeedback", aby odtwarzać animacje na dotkniętych częściach
    -- Usługi
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local humanoid = character:WaitForChild("Humanoid")
    local canTouch = false
    -- Zawór moduł animacji zwrotnej
    local PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))
    -- Funkcja wywoływana, gdy część jest dotykana
    local function onPartTouch(otherPart)
    if humanoid and canTouch == false then
    canTouch = true
    PlayerAnimationFeedback:PlayAnimation()
    canTouch = false
    end
    end
    -- Podczas uruchamiania, funkcja ładowania modułu animacji
    PlayerAnimationFeedback:LoadAnimation(humanoid)
    -- Również przypisz folder części do wydarzenia "Touched", aby uruchomić "onPartTouch()"
    local touchPartFolder = workspace:WaitForChild("TouchPartFolder")
    local touchParts = touchPartFolder:GetChildren()
    for _, touchPart in touchParts do
    touchPart.Touched:Connect(onPartTouch)
    end

    Ten skrypt znajduje wszystkie części w TouchPartFolder i daje im Touched() wydarzenia.Po wystrzeleniu wydarzenie uruchamia funkcję, która odtwarza animację dla gracza.

  4. Następny skrypt uruchamia animacje dla gracza.W ReplicatedStorage utwórz nowy ModułScript o nazwie PlayerAnimationFeedback.Następnie skopiuj i wklej kod poniżej.


    -- Używany z skryptem "TouchPartRegister", aby odtwarzać animacje dla gracza
    local PlayerAnimationFeedback = {}
    local feedbackAnimationTrack
    local ANIMATION_FADE = 0.3
    local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"
    -- Funkcja ładowania animacji na postaci gracza
    function PlayerAnimationFeedback:LoadAnimation(humanoid)
    local feedbackAnimation = Instance.new("Animation")
    feedbackAnimation.AnimationId = ANIMATION_ID
    feedbackAnimationTrack = humanoid.Animator:LoadAnimation(feedbackAnimation)
    feedbackAnimationTrack.Priority = Enum.AnimationPriority.Action
    feedbackAnimationTrack.Looped = false
    end
    -- Funkcja odtwarzania animacja
    function PlayerAnimationFeedback:PlayAnimation()
    feedbackAnimationTrack:Play(ANIMATION_FADE)
    task.wait(feedbackAnimationTrack.Length)
    end
    return PlayerAnimationFeedback

Odtwarzaj animacje

Animacje muszą być zidentyfikowane w skrypcie, załadowane i odtworzone.

Ustaw animacja

Skrypt musi wiedzieć, jaką animację grać.Aby użyć eksportowanej animacja, znajdź jej identyfikator zasobu za pośrednictwem przeglądarki przeglądarka.Ta identyfikator następnie pozwoli na załadowanie tej animacji w skrypcie.

  1. Otwórz sekcję Animacje na stronie Twórz.

  2. Zlokalizuj i kliknij eksportowaną animacja.

  3. Skopiuj jego ID z URL w swojej przeglądarka.

  4. W skrypcie, PlayerAnimationFeedback, zastąp pustą linię YOUR_ANIMATION (linia 8) kopiowanym ID .

  5. Wykonaj projekt i przetestuj, że gdy gracz uderzy w część, zobaczysz animacja.

Kolejne kroki

Poniżej znajduje się kilka sposobów na kontynuowanie nauki

Dowiedz się o animacja

Do tej pory nauczyłeś się tworzyć animacje i dodawać je do doświadczeń.Aby kontynuować naukę, polecamy odwiedzenie przegladu Animacji.

Na tej stronie znajdziesz przydatne linki do poprawy animacji, takie jak używanie edytora krzywych do płynnego przesuwania lub wskazówki w ulepszaniu animacji.

Animuj części

Ponadto rozpocznij opcjonalną lekcję Animowanie części, aby nauczyć się, jak kodować nastolatków, funkcję, która pozwala skalować, obracać i przesuwać części.Próbka ostatecznego projektu jest poniżej.