Kit NPC

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

I NPC (non-player) possono aggiungere molta profondità a un'esperienza. Tutti i seguenti NPC possono essere personalizzati visivamente, il loro comportamento modificato e gli zombie/soldati possono persino difendere un'area attaccando i giocatori o altri personaggi usando un sistema di etichette per impostare il comportamento.

Per usare un NPC nel tuo Gioco:

  1. Seleziona uno dei seguenti kit NPC:

    Zombie Gocciolante
    Soldati
    RO-01 Robot
    Robot NP-C 9000
  2. Nella pagina dell'elemento NPC, fai clic sul pulsante verde Ottieni e conferma la transazione.

  3. In Roblox Studio, apri la Toolbox ( VisualizzaToolbox ).

  4. Seleziona la tua toolbox Inventario sezione.

  5. Trova il NPC e clicca per aggiungerlo al Posto.

Struttura del personaggio

Ogni modello NPC tipicamente contiene i seguenti oggetti:

Nome dell'oggetto o [Tipo]TipoDescrizione
AnimazioniFolderContiene Animations , come un AttackAnimation o DeathAnimation .
Posizioni inizialiFolderContiene informazioni di posizionamento.
AnimareScriptCarica e riproduce animazioni sulla Piattaforma di testdel personaggio. Vedi Animare per ulteriori dettagli.
[Accessori]AccessoryUno dei possibili più Accessories per l'NPC come cappelli, armi, ecc.
SaluteScriptTipicamente rigenera la salute Humanoid nel tempo. Disabilitando questo impedirà al personaggio di rigenerare la salute.
UmanoideHumanoidGestisce le proprietà Humanoid , come Humanoid.Health, Humanoid.WalkSpeed, 1> Class.Humanoid.DisplayDistanceType1>, ecc.
NPCScript

Defines character-specific behaviors such as roaming, attacking, etc. Parents the following objects:

Maid ( ModuleScript ) defines a class useful in releasing resources used.

2> 3>Ragdoll

Suoni RbxNpcScriptDifini e gestisci comportamenti relativi agli effetti sonori del personaggio come l'esecuzione, la morte, ecc.
Parti del corpoBasePartVarie parti del corpo del personaggio attaccate alla parte superiore dell'albero umano o alle parti del corpo vicine tramite Motor6D o oggetti di limitazione. Vedi BodyParts per ulteriori dettagli.
Parte umanoideBasePartUna parte invisibile speciale che è considerata la radice del Piattaforma di test; questo è anche il PrimaryPart del personaggio's Model .
ConfigurazioneConfigurationContiene oggetti di valore che regolano diversi comportamenti. Vedi Configurazione per ulteriori dettagli.

Note di design

Quando si utilizza il kit NPC, tieni presente le seguenti note di design:

  • L'aspetto visivo di un NPC può essere personalizzato aggiungendo/modificando varie [BodyPart] oggetti e aggiungendo Accessory oggetti.

  • I Soldati, Drooling Zombie e NP-C 9000 Robots utilizzano Rthro come base della loro Piattaforma di test. Tuttavia, i RO-01 Robots utilizzano una base Rthro modificata che aggiunge parti di spinta connesse all' UpperTorso utilizzando WeldConstraints . Utilizzando le semplici articolazioni in questo modo puoi includere una geometria Piattaforma di testper i tuoi person

  • A Livellodi base, le animazioni NPC possono essere personalizzate modificando il AnimationId di esse oggetti di animazione esistenti all'interno della posizione di script Animate o quelle all'interno della cartella Animazioni . Tale

Animazione

L'Animazione Script nella maniglia NPC Model gestisce le configurazioni correlate all'animazione e contiene i seguenti oggetti:

Nome dell'oggetto o [Tipo]TipoDescrizione
ScaleDampeningPercentNumberValueDefine come le velocità di animazione vengono modificate mentre il personaggio viene ingrandito (meno di 1 implica che l'animazione viene riprodotta in modo inversato mentre il personaggio viene ingrandito).
Emote di giocoBindableFunctionQuesto può essere invocato da altri script per forzare l'assunzione di una posa.
[Pose]StringValueRiferimento a una categoria di animazione giocabile come inattiva, Salta, Camminata, ecc. Questo oggetto può essere genitore di qualsiasi numero di Animations . Questi genitori 5> Class.Animation|Animazioni5> sono genitori di un 8> Weight8> ( 1> Class.NumberValue 1> ) che prioritizza una delle

Parti del corpo

The BodyPart BasePart in the NPC Model rappresenta le varie parti del corpo del personaggio e contiene i seguenti oggetti:

Nome dell'oggetto o [Tipo]TipoDescrizione
AvatarPartScaleTypeStringValueDetermina il modo in cui viene ridimensionata la parte; i valori possono essere Classici , ProportioniNormali o ProportioniSlender .
Dimensione originaleVector3ValueDetermina la dimensione della parte quando lo scaling del personaggio è 1.
[Accessorio]AttachmentDifini un punto rispetto alla parte individuale che gli script, gli effetti e gli oggetti come un Tool o un Accessory possono utilizzare durante la posizione.
[Motore6D]Motor6DUn'animazione congiunta tra due parti del corpo. Nota che Animator dipende dal nome di Motor6Ds per essere coerente con quello dell'animazione usata quando è stata creata, quindi evita di rinominare questo oggetto.
[Joint]WeldConstraint , Constraint , JointInstanceUna joint non animata tra due parti del corpo.
[Suono]SoundComunemente trovato nella testa o HumanoidRootPart ; riproduce suoni all'interno del rig controllato dalla script RbxNpcSounds .

Configurazione

Ogni NPC include un oggetto Configuration all'interno della sua gerarchia che agisce come un container di oggetti di valore. Questi vengono utilizzati dal script NPC per ottimizzare diversi comportamenti. A meno che non sia specificato altrimenti, questi si applicano a tutti i personaggi.

Nome dell'oggetto o [Tipo]TipoDescrizione
Destruzione in caso di morteBoolValueCausa l'intero NPC essere distrutto poco dopo la sua morte. Disabilita questo per i ragdolls essere persistenti.
PatrolEnabled:BoolValueCausa il NPC a vagare in un'area intorno alla sua posizione di partenza.
Raggio di PatrouilleNumberValueDefine la distanza massima che un NPC perderà dalla sua posizione di partenza, supponendo che PatrolEnabled sia vero.
RagdollAbilitatoBoolValueFa in modo che il NPC vada incontro a un limbo quando muore, invece di rompersi.
Danno d'attaccoNumberValueDifini quanta salute viene persa da una vittima quando viene attaccata dall'NPC. Questo si applica solo ai kit Zombie e Soldato.
Ritardo di attaccoNumberValueDifini il numero minimo di secondi tra i colpi. Questo si applica solo ai kit dei soldati.
Modalità attaccoNumberValueSpecifica cosa attaccherà il soldato, in base al sistema di etichettatura. Questo si applica solo ai kit del soldato.
Raggio d'attaccoNumberValueDifini la distanza massima che l'NPC deve essere da una potenziale vittima prima di tentare di attaccare. Questo si applica solo ai kit Zombie e Soldato.
Capacità di clipNumberValueDifiniisce il numero di proiettili che il soldato può sparare prima di dover ricaricare. Questo si applica solo ai kit del soldato.
Ritardo di ricaricaNumberValueDifini il numero di secondi prima che il Clip dell'arma del soldato sia ricaricato. Questo si applica solo ai kit del soldato.

Assegnare Tag

Lo script NPC usa CollectionService tags per gestire l'aggressione verso altri personaggi e giocatori. Diversi tag dalla seguente tabella possono essere assegnati come segue:

  • Per assegnare i tag a un altro NPC, assegnali al livello superiore di Model utilizzando la sezione Tag della sua proprietà, o il Editor dei Tag di Studio.

  • Per assegnare un tag a un personaggio Player, puoi aggiungere un Script a StartercharacterScripts con un 1> Class.CollectionService:AddTag()1> chiamata. Ad esempio:


    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
TagScopo
Soldato nemico o Soldato amico

Determina se un soldato, in base alla sua configurazione AttackMode , dovrebbe attaccare un altro personaggio. Quando

ZombieFriend Questa etichetta viene utilizzata dal zombie per determinare se non dovrebbe attaccare un personaggio. Quando viene applicata, la zombie diventa docile verso il personaggio contrassegnato.