Animasyonlar ekleyin

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oyun içinde animasyonlar uygulamak için, senaryoları kullanın.Bu eğitim için, önceden yapılmış zafer animasyonunu önceden hazırlanmış bir senaryo kullanarak uygulayacaksınız.Bittiğinde, bu animasyon bir oyuncunun başarısını kutlamak için kullanılabilir, örneğin bir obby'nin sonuna ulaşmak veya bir sırrı bulmak.

Senaryo animasyonları

Animasyonlar kriptleri kullanarak tetiklenir.Bir yaklaşım, oyuncunun bir seviyeyi bitirmesi, bir düşmanı yenmesi veya hatta oyun içi satın alma yapması gibi çeşitli durumlarda animasyon oynamak için olayları kullanmaktır.

Projeyi kurun

Bu proje için, dokunduğunda bu oyuncuya bir animasyon tetikleyen parçalar oluşturacaksınız.

  1. animasyonoynayacak tüm parçaları düzenlemek için, çalışma alanına bir klasör ekleyin (çalışma üzerine gelin ve + tıklayın) adı TouchPartFolder olan.

  2. TouchPartFolder'a bir parça ekleyin.

    Parçanın animasyonu oynatmanın mantıklı olacağı yere yerleştirildiğinden emin olun, örneğin bir seviyenin sonu veya oyuncuların topladığı bir nesnenin yakını gibi.

    Örnek Zafer Parçası
    >

    Örnek Etkileşim Parçası
    >

  3. StarterPlayer > StarterCharacterScripts'te, TouchPartRegister adlı yerel bir kod oluşturun. Ardından aşağıdaki kodu kopyalayıp yapıştırın.


    -- Parça dokunuşlarında animasyon oynatmak için "PlayerAnimationFeedback" kılavuzuyla kullanılır
    -- Hizmetler
    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
    -- Geri bildirim animasyon modunu içerez
    local PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))
    -- Bir parça dokunduğunda çağrılan işlev
    local function onPartTouch(otherPart)
    if humanoid and canTouch == false then
    canTouch = true
    PlayerAnimationFeedback:PlayAnimation()
    canTouch = false
    end
    end
    -- Başlangıçta, animasyon modülü yükleme işlevini çağır
    PlayerAnimationFeedback:LoadAnimation(humanoid)
    -- Ayrıca bir klasör parçaları "Dokunulmuş" olayına bağlayın, böylece "onPartTouch()" çalışsın
    local touchPartFolder = workspace:WaitForChild("TouchPartFolder")
    local touchParts = touchPartFolder:GetChildren()
    for _, touchPart in touchParts do
    touchPart.Touched:Connect(onPartTouch)
    end

    Bu senaryo, TouchPartFolder'daki tüm parçaları bulur ve onlara Touched() etkinlikler verir.Ateşlendiğinde, olay bir oyuncu için bir animasyon oynayan bir işlev çalar.

  4. Sonraki senaryo bir oyuncu için animasyonlar tetikler.ReplicatedStorage'da, oyuncu animasyon geri bildirimi adlı yeni bir ModülScript oluşturun.Sonra, aşağıdaki kodu kopyalayıp yapıştırın.


    -- Bir oyuncu için animasyon oynamak için "TouchPartRegister" kılavuzuyla kullanılır
    local PlayerAnimationFeedback = {}
    local feedbackAnimationTrack
    local ANIMATION_FADE = 0.3
    local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"
    -- oyuncukarakterine animasyon yükleme işlevi
    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
    -- animasyonoynamak için işlev
    function PlayerAnimationFeedback:PlayAnimation()
    feedbackAnimationTrack:Play(ANIMATION_FADE)
    task.wait(feedbackAnimationTrack.Length)
    end
    return PlayerAnimationFeedback

Animasyonları oynat

Animasyonlar bir senaryoda tanımlanmalı, yüklenmeli ve oynanmalıdır.

animasyonayarla

Senaryonun hangi animasyonu oynayacağını bilmesi gerekir.İhracat edilen bir animasyonu kullanmak için, web tarayıcısı aracılığıyla varlık kimliğini bulun .Bu ID, animasyonun senaryoda yüklenmesine izin verecektir.

  1. Yaratma sayfasının Animasyonlar bölümünü açın.

  2. İhracat edilen bir animasyonu bul ve tıkla.

  3. tarayıcıURL'den kimliğini kopyalayın.

  4. Senaryoda, OyuncuAnimasyonGeri Bildirimi, yer tutucuyu, YOUR_ANIMATION (Satır 8), kopyaladığınız ID ile değiştirin.

  5. Projeyi çalıştırın ve bir oyuncu parçaya vurduğunda, animasyonu gördüğünüzü test edin.

Sonraki adımlar

Aşağıda öğrenmeye devam etmenin birkaç yolu var

animasyonöğrenin

Şimdiye kadar, animasyonları nasıl oluşturacağınızı ve deneyimlere nasıl ekleyeceğinizi öğrendiniz.Öğrenmeye devam etmek için, Animasyon genel bakışını ziyaret etmenizi öneririz.

Bu sayfada, pürüzsüz hareket için eğriler editörünü kullanmak veya animasyonları işlemede ipuçlar gibi animasyonları geliştirmek için yararlı bağlantılar bulacaksınız.

Parçaları animasyonlaştır

Ayrıca, gençlerin nasıl kodlanacağını öğrenmek için seçici ders Parçaları Animasyonu başlatın, ölçeklendirmenizi, döndürmenizi ve parçaları hareket ettirmenizi sağlayan bir özellik.Son projenin bir örneği aşağıda verilmiştir.