AnimationController
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Un oggetto che consente alle animazioni di essere caricate e applicate a un personaggio o modello invece di un Humanoid .Crea un Animator e carica le animazioni per aggiornare Motor6Ds del personaggio indicato per reagire nel modo descritto all'interno della risorsa di animazione a cui fa riferimento un oggetto Animation.
Si noti che il metodo LoadAnimation() di questa classe è stato Deprecare.Invece, dovresti chiamare Animator:LoadAnimation() direttamente da un Animator che può essere creato manualmente in Studio e direttamente referenziato negli script.Quando il metodo deprecato viene chiamato da un AnimationController , il controller stesso non fa nulla riguardo all'animazione destinata a essere caricata, tranne generare automaticamente un Animator , sul quale viene trasferita la chiamata di caricamento e l'ID dell'animazione.In questo modo, il AnimationController può essere considerato come nulla più di una shell vuota per un oggetto figlio Animator che gestisce qualsiasi funzionalità reale per le animazioni.
Campioni di codice
Questo esempio di codice mostra come un AnimationController può essere utilizzato al posto di un Humanoid per gli oggetti di caratteri non giocatori.
Un rig di base viene caricato utilizzando InsertService e il predefinito Humanoid viene sostituito con un AnimationController . Un AnimationTrack viene quindi creato e giocato.
local InsertService = game:GetService("InsertService")
-- Carica un modello per la dimostrazione
local npcModel = InsertService:LoadAsset(516159357):GetChildren()[1]
npcModel.Name = "NPC"
npcModel.PrimaryPart.Anchored = true
npcModel:SetPrimaryPartCFrame(CFrame.new(0, 5, 0))
npcModel.Parent = workspace
-- Sostituisci l'umanoide con un animazione controller
local humanoid = npcModel:FindFirstChildOfClass("Humanoid")
humanoid:Destroy()
local animationController = Instance.new("AnimationController")
animationController.Parent = npcModel
-- Crea e carica un'animazione
local animation = Instance.new("Animation")
animation.AnimationId = "http://www.roblox.com/asset/?id=507771019" -- Emoticon di danza Roblox
local animationTrack = animationController:LoadAnimation(animation)
-- Riproduci l'animazione
animationTrack:Play()