Abilità nella Libreria del Controllore del Personaggio (CCL) valutano ciò che un personaggio può fare, come la capacità di correre, saltare, arrampicarsi e nuotare. Invece di fare affidamento su stati di personaggio definiti rigidamente dal motore come quelli in Enum.HumanoidStateType, la CCL consente una composizione comportamentale flessibile, come un personaggio che può muoversi mentre mira e si accovaccia.
Abilita CCL
La CCL è opzionale tramite la finestra Impostazioni dell'Avatar di Studio. Per abilitarla:
Dalla scheda Avatar, apri Impostazioni dell'Avatar.

Seleziona la scheda Movimento sul lato sinistro della finestra e, nella sezione Abilità, seleziona Libreria del Controller del Personaggio.

Tutte le abilità standard come Corsa, Salto e Arrampicata sono abilitate per impostazione predefinita. Per disabilitarne alcune durante il runtime, deseleziona la casella associata.
Configurazione
Mentre il tuo gioco è in esecuzione (o tramite uno script che viene eseguito da ServerScriptService), puoi sperimentare con le configurazioni di abilità integrate. Puoi anche modificare specifici controller per regolare la simulazione fisica del personaggio e la sua interazione con l'ambiente, come la velocità di movimento di base del personaggio.
Esecuzione
Per sperimentare con le configurazioni delle abilità durante l'esecuzione:
Inizia un test di gioco.
Seleziona una delle abilità integrate e, all'interno della sua sezione Attributi della finestra Proprietà, personalizza attributi come quelli indicati di seguito.
Abilità Attributi Arrampicata - SpeedMultiplier — Moltiplicatore per la proprietà ClimbController.MoveSpeedFactor quando il personaggio sta arrampicandosi.
Morte - Abilitato — Il personaggio muore quando la salute è 0 o meno.
- Salute ⇔ Humanoid.Health
- MaxHealth ⇔ Humanoid.MaxHealth
- RequiresNeck ⇔ Humanoid.RequiresNeck
DirezioneDiMovimento - Abilitato ⇔ Humanoid.AutoRotate
Caduta CadutaLibera - SpeedMultiplier — Moltiplicatore per la proprietà AirController.MoveSpeedFactor quando il personaggio è in caduta libera. Nota che l'effetto potrebbe essere sottile quando il personaggio è in caduta libera per una durata molto breve.
Alzarsi Saltare - JumpHeight ⇔ Humanoid.JumpHeight
- JumpPower ⇔ Humanoid.JumpPower
- UseJumpPower ⇔ Humanoid.UseJumpPower
NessunMovimento Corsa - SpeedMultiplier — Moltiplicatore per la proprietà GroundController.MoveSpeedFactor quando il personaggio sta correndo.
Seduto Nuoto - EnableFastRise — Risali in superficie più rapidamente tenendo premuto l'input di salto.
- SpeedMultiplier — Moltiplicatore per la proprietà SwimController.MoveSpeedFactor quando il personaggio sta nuotando.
Programmato
Per impostare le configurazioni delle abilità per tutti i personaggi tramite uno script:
Crea un nuovo Script lato server all'interno di ServerScriptService e rinominalo in AbilitiesScript.
Copia e incolla il seguente codice nel nuovo script. Questo esempio moltiplica la velocità di movimento di base per l'abilità Corsa per 2. Sentiti libero di modificare altri attributi di abilità come quelli descritti nella tabella sopra.
Script in ServerScriptServicelocal Players = game:GetService("Players")local function onCharacterAdded(character)local AbilityManagerActor = character:WaitForChild("AbilityManagerActor")local Abilities = AbilityManagerActor:WaitForChild("Abilities")local Running = Abilities:FindFirstChild("Running")if Running then-- Raddoppia la velocità di movimento di baseRunning:SetAttribute("SpeedMultiplier", 2)endendlocal function onPlayerAdded(player)if player.Character thenonCharacterAdded(player.Character)endplayer.CharacterAdded:Connect(onCharacterAdded)endPlayers.PlayerAdded:Connect(onPlayerAdded)
